Migrate
Release xbps for amd64 / compilation-amd64 (push) Failing after 1m22s Details

This commit is contained in:
ITmodulo 2024-01-27 16:06:25 +01:00
parent fa622d31ed
commit fc8212c51e
22 changed files with 383 additions and 2 deletions

View File

@ -0,0 +1,53 @@
name: 'Release xbps for amd64'
on:
push:
branches:
- release
jobs:
compilation-amd64:
runs-on: void-glibc-current-pv
steps:
- name: Update xbps tool
shell: sh
run: xbps-install -Su xbps -y
- name: Update utilities
shell: sh
run: xbps-install -Su -y
- name: Install needed tools
shell: sh
run: xbps-install -Su nodejs bash git wget curl fuse-sshfs -y
- name: Import ITmodulo repo
run: |
echo 'repository=https://static.itmodulo.eu/dl/repo/void' > /etc/xbps.d/itmodulo.conf
cd /var/db/xbps/keys
wget "https://static.itmodulo.eu/dl/repo/public_keys/void/0e:7e:cc:e6:2b:a7:7b:ee:31:33:5c:5d:35:be:43:64.plist"
xbps-install -Su -y
- name: Checkout
uses: actions/checkout@v3
- name: Compile in sequence and upload
run: |
echo "user_allow_other" >> /etc/fuse.conf
groupadd -g 1001 runner
useradd runner -u 1001 -g 1001
su - runner -c 'git clone --depth 1 https://github.com/void-linux/void-packages.git'
su - runner -c 'cd void-packages && ./xbps-src binary-bootstrap'
mv srcpkgs /home/runner && chown runner:runner /home/runner/srcpkgs
mv shlibs_local /home/runner && chown runner:runner /home/runner/shlibs_local
su - runner -c 'cp -r srcpkgs/* void-packages/srcpkgs'
su - runner -c 'cd void-packages && echo "repository=https://static.itmodulo.eu/dl/repo/void" >> etc/xbps.d/repos-remote.conf && cp /var/db/xbps/keys/0e\:7e\:cc\:e6\:2b\:a7\:7b\:ee\:31\:33\:5c\:5d\:35\:be\:43\:64.plist masterdir/var/db/xbps/keys'
su - runner -c 'cat shlibs_local >> void-packages/common/shlibs'
su - runner -c 'cd void-packages && for i in $(ls ../srcpkgs/ | grep -v "\-doc" | grep -v "\-devel" | grep -v "lv2\-rnnoise" | grep -v "lxvst\-rnnoise" | grep -v "vst3\-rnnoise") ; do ./xbps-src pkg $i; done'
rm /home/runner/void-packages/hostdir/binpkgs/x86_64-repodata
su - runner -c 'mkdir hole'
echo "${{ secrets.REPO_LOGIN }}" > /home/runner/id_ecdsa && chown runner:runner /home/runner/id_ecdsa && chmod 600 /home/runner/id_ecdsa
su - runner -c 'sshfs -p "${{ secrets.LOGIN_PORT }}" -o StrictHostKeyChecking=accept-new -o default_permissions,allow_other -o IdentityFile=/home/runner/id_ecdsa "${{ secrets.SERVER_LOGIN_AND_ADDRESS }}":"${{ secrets.SERVER_REPO_PATH }}" /home/runner/hole'
su - runner -c 'ls -lah /home/runner/hole'
su - runner -c 'rm -rf hole/*.xbps*'
su - runner -c 'rm -rf hole/*.sig2'
su - runner -c 'xbps-rindex -c /home/runner/hole'
su - runner -c 'cp void-packages/hostdir/binpkgs/* hole/'
echo "${{ secrets.REPO_PRIVKEY }}" > /home/runner/private.pem && chown runner:runner /home/runner/private.pem
su - runner -c 'xbps-rindex -a /home/runner/hole/*.xbps'
su - runner -c 'xbps-rindex --privkey private.pem --sign --signedby "ITmodulo <itmodulo.eu>" /home/runner/hole'
su - runner -c 'xbps-rindex --privkey private.pem --sign-pkg hole/*.xbps'

View File

@ -1,3 +1,47 @@
# linux_void
# Public custom voidlinux repo
Template files and build system (public logs available) for https://static.itmodulo.eu/dl/repo/void
Template files and build system (public logs available) for https://static.itmodulo.eu/dl/repo/void
# Disclaimer
1. Don't use this repo if you don't know what you are doing. It may break your great voidlinux experience
2. I won't upstream this as some packages here may break [requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements) like git repo has no tags or package may be cutom kernel.
3. If you want to upstream, go ahead but don't engage me -> You maintain. Although You can reference as working example.
4. Builds here will be only **glibc-x86-64** for now, altough I may consider other variants if you donate me every month
5. I may rename/remove package without prior notification.
# Why
## To maintain own repo
Official repo is good quality for desktop usage however:
- Sometimes your PR is stale for long time
- According to guidelines they won't include some specific forks
- You want some feature needed mostly by you
- Some packages are not released
- I don't use flatpak for personal reason (mostly size of packages and sdks based mostly on ubuntu I don't really like)
- Instead flatpaks I use AppImages that are not so easy to update in large quantity
- Void toolchains are up-to-date
## To use repo actions for builds
- It's easy to maintain
- Public build logs are more trustowrthy
- Clear and simple repo structure similar to official one
# Builds
- Built on docker with actions on this repo
- Signed with private key
- Triggered on push to release branch
- Release branch always compile
- New packages tested on other branches
## How does it work
1. Set up void docker container, instal needed tools
2. Checkout to some x dir
3. Replace dir "srcpkgs" from official github to one from this repo
4. Iterate over its dirs and trigger `./xbps-src pkg`
5. If all succeed, will mount remote path on server
6. Remove all packages there, clean index
7. Upload packages
8. Update index and sign packages with ITmodulo privkey
# LICENSE
Actions workflow file and template files are licensed under BSD-3-Clause-no-military
This should not impact the original source code licenses

4
shlibs_local Normal file
View File

@ -0,0 +1,4 @@
libsstp_api-0.so libsstp-1.0.19_1
libfuturesql5.so qt5-futuresql-0.1git_1
libfuturesql5.so.0 qt5-futuresql-0.1git_1
librnnoise_ladspa.so ladspa-rnnoise-1.03_2

View File

@ -0,0 +1,14 @@
# Template file for audiotube
pkgname=audiotube
version=23.08.4
revision=1
build_style=cmake
hostmakedepends="pkg-config extra-cmake-modules python3 qt5-host-tools AppStream-qt kcoreaddons"
makedepends="yt-dlp python3-ytmusicapi1 qt5-devel kcoreaddons-devel kwidgetsaddons-devel kpackage-devel kcoreaddons-devel kconfig-devel knotifications-devel kirigami-addons kirigami2-devel qt5-quickcontrols2-devel qt5-svg-devel qt5-tools qt5-imageformats AppStream-devel libiodbc-devel qt5-plugin-odbc qt5-plugin-mysql qt5-plugin-pgsql qt5-plugin-sqlite qt5-plugin-tds qt5-multimedia-devel kworkspace ki18n-devel kcrash-devel gettext-devel python3-pybind11 qt5-futuresql-devel qcoro-qt5-devel"
depends="yt-dlp python3-ytmusicapi1"
short_desc="KDE Plasma Mobile kirigami client for YouTube Music"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="GPL-3.0-or-later"
homepage="https://apps.kde.org/audiotube"
distfiles="https://invent.kde.org/multimedia/${pkgname}/-/archive/v${version}/${pkgname}-v${version}.tar.gz"
checksum=8bdc3101cb8fc57b232c3cdc9db9d209861136ad0d83d657462b0b3b5d7250c0

12
srcpkgs/cie/template Normal file
View File

@ -0,0 +1,12 @@
# Template file for 'cie'
pkgname=cie
version=0.1.1
revision=1
build_style=go
go_import_path="github.com/michalszmidt/cie"
short_desc="CLI ICal Editor"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="BSD-3-Clause"
homepage="https://github.com/michalszmidt/cie"
distfiles="https://github.com/michalszmidt/${pkgname}/archive/refs/tags/${version}.tar.gz"
checksum=24a61f6e7fa5e3a6e872d8844578c9a20d8fd709187cd7aa7515dd9a77073cc3

14
srcpkgs/haruna/template Normal file
View File

@ -0,0 +1,14 @@
# Template file for haruna
pkgname=haruna
version=0.9.2
revision=1
build_style=cmake
hostmakedepends="pkg-config extra-cmake-modules qt5-host-tools AppStream-qt kcoreaddons breeze"
makedepends="yt-dlp youtube-dl qt5-devel kio-devel kio-extras kiconthemes-devel kcoreaddons-devel kwidgetsaddons-devel kpackage-devel kcoreaddons-devel kconfig-devel knotifications-devel kirigami2-devel kirigami-addons qt5-svg-devel qt5-tools qt5-imageformats AppStream-devel libiodbc-devel qt5-plugin-odbc qt5-plugin-mysql qt5-plugin-pgsql qt5-plugin-sqlite qt5-plugin-tds qt5-multimedia-devel kworkspace ki18n-devel kcrash-devel gettext-devel mpv-devel qt5-dbus qt5-x11extras-devel kfilemetadata5-devel"
depends="yt-dlp youtube-dl"
short_desc="KDE media player built with Qt/QML and libmpv"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="GPL-3.0-or-later"
homepage="https://apps.kde.org/haruna"
distfiles="https://invent.kde.org/multimedia/${pkgname}/-/archive/v${version}/${pkgname}-v${version}.tar.bz2"
checksum=0b26e496e15d455a6beb8392eb929a601e0fd614f48f696a92bd483899aba544

17
srcpkgs/hctl/template Normal file
View File

@ -0,0 +1,17 @@
# Template file for 'hctl'
pkgname=hctl
version=0.2.5
revision=1
build_style=cargo
hostmakedepends="pkg-config"
makedepends="openssl-devel"
short_desc="CLI tool to merge hostlists for dns blocker like pihole"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="BSD-3-Clause"
homepage="https://github.com/michalszmidt/hctl"
distfiles="https://github.com/michalszmidt/hctl/archive/refs/tags/${version}.tar.gz"
checksum=d9a67093de0d9de99d3241a031ead07ac11db783e7a190389a879fa9f3360616
post_install() {
vlicense LICENSE
}

14
srcpkgs/koi/template Normal file
View File

@ -0,0 +1,14 @@
# Templaet file for koi
pkgname=koi
version=0.2.4
revision=1
build_wrksrc=src
build_style=cmake
hostmakedepends="pkg-config extra-cmake-modules qt5-host-tools hicolor-icon-theme desktop-file-utils fdupes"
makedepends="kcoreaddons-devel qt5-devel kwidgetsaddons-devel kpackage-devel kcoreaddons-devel kconfig-devel"
short_desc="Switch between light and dark themes on KDE Plasma"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="LGPL-3.0"
homepage="https://github.com/baduhai/Koi"
distfiles="https://github.com/baduhai/Koi/archive/refs/tags/${version}.tar.gz"
checksum=e8c976f4f635bed614124fa6afb8853cc9669ec9132c16b140cc64fb4be0166b

View File

@ -0,0 +1,33 @@
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Xiph's rnnoise ladspa plugin"
media.name = "Noise Canceling mic"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 50.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]

View File

@ -0,0 +1,43 @@
# Template file for 'ladspa-rnnoise'
pkgname=ladspa-rnnoise
version=1.03
revision=2
build_style=cmake
hostmakedepends="pkg-config extra-cmake-modules lv2 freetype"
makedepends="rnnoise-devel ladspa-sdk alsa-lib-devel alsa-tools-devel freetype-devel webkit2gtk-devel gtk4-devel libcurl-devel curlpp-devel libX11-devel libsanitizer-devel"
depends="rnnoise"
short_desc="Noise suppression based on Xiph's RNNoise (with SIMD optimize) - ladspa plugin"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="GPL-3.0-or-later"
homepage="https://github.com/JellyBrick/noise-suppression-for-voice-simd"
distfiles="https://github.com/JellyBrick/noise-suppression-for-voice-simd/archive/refs/tags/v${version}.tar.gz"
checksum=9737e50bc8e88158bcbf70f04348d99dd9c8f43eb222aacb6aa63005f7a09d68
shlib_provides="librnnoise_ladspa.so"
post_install(){
vinstall "${FILESDIR}/99-input-denoising.conf" 644 usr/share/ladspa-rnnoise
}
lv2-rnnoise_package(){
depends="rnnoise"
short_desc="Noise suppression based on Xiph's RNNoise (with SIMD optimize) - lv2 plugin"
pkg_install() {
vmove usr/lib/lv2
}
}
lxvst-rnnoise_package(){
depends="rnnoise"
short_desc="Noise suppression based on Xiph's RNNoise (with SIMD optimize) - lxvst plugin"
pkg_install() {
vmove usr/lib/lxvst
}
}
vst3-rnnoise_package() {
depends="rnnoise"
short_desc="Noise suppression based on Xiph's RNNoise (with SIMD optimize) - vst3 plugin"
pkg_install() {
vmove usr/lib/vst3
}
}

1
srcpkgs/libsstp Symbolic link
View File

@ -0,0 +1 @@
sstp-client

1
srcpkgs/lv2-rnnoise Symbolic link
View File

@ -0,0 +1 @@
ladspa-rnnoise

1
srcpkgs/lxvst-rnnoise Symbolic link
View File

@ -0,0 +1 @@
ladspa-rnnoise

View File

@ -0,0 +1,14 @@
pkgname=network-manager-sstp
version=1.3.2
revision=2
build_style=gnu-configure
configure_script=./autogen.sh
hostmakedepends="pkg-config autoconf automake libtool intltool gettext-devel-tools"
makedepends="NetworkManager-devel sstp-client-devel ppp-devel libnma-devel libsecret-devel glib-devel dbus-devel gtk+3-devel gettext-devel"
depends="sstp-client>=1.0.19_1"
short_desc="Secure Socket Tunneling Protocol Extention for Network Manager"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="GPL-2.0"
homepage="https://gitlab.gnome.org/GNOME/network-manager-sstp"
distfiles="https://gitlab.gnome.org/GNOME/${pkgname}/-/archive/release-${version}-1/${pkgname}-${version}-1.tar.gz"
checksum=1ecb4dbeb165ae27b816151eb553dacdcc2da47ba5c89aa91fe550fc9a78a440

View File

@ -0,0 +1,19 @@
# Template file for 'python3-ytmusicapi1'
pkgname=python3-ytmusicapi1
version=1.1.0
revision=2
build_style=python3-pep517
hostmakedepends="python3-setuptools_scm python3-wheel"
depends="python3-requests"
conflicts="python3-ytmusicapi"
checkdepends="$depends python3-coverage"
short_desc="Unofficial API for YouTube Music legacy kept as KDE audiotube hard dependency"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="MIT"
homepage="https://github.com/sigma67/ytmusicapi"
distfiles="${PYPI_SITE}/y/ytmusicapi/ytmusicapi-${version}.tar.gz"
checksum=3286de79e94a914e4a14814fffe372d24b734e784acd7f9fa734ee383adf8c6d
post_install() {
vlicense LICENSE
}

1
srcpkgs/qt5-futuresql-devel Symbolic link
View File

@ -0,0 +1 @@
qt5-futuresql

View File

@ -0,0 +1,23 @@
# Template file for qt5-futuresql
pkgname=qt5-futuresql
version=0.1git
revision=1
build_style=cmake
hostmakedepends="pkg-config extra-cmake-modules qt5-host-tools ecm"
makedepends="qt5-devel kpackage-devel kconfig-devel qt5-tools libiodbc-devel qt5-plugin-odbc qt5-plugin-mysql qt5-plugin-pgsql qt5-plugin-sqlite ki18n-devel kcrash-devel gettext-devel qt5-sql qt5-plugin-tds qcoro-qt5-devel ecm-devel"
short_desc="KDE non-blocking sql database framework for Qt5 inspired by rust Diesel."
maintainer="ITmodulo <itmodulo@disroot.org>"
license="LGPL-3.0-only"
shlib_provides="libfuturesql5.so libfuturesql5.so.0"
homepage="https://invent.kde.org/libraries/futuresql"
distfiles="https://invent.kde.org/libraries/futuresql/-/archive/ea6d55f0152db52bfc2022b3c34fa979a0dc88bc/futuresql-ea6d55f0152db52bfc2022b3c34fa979a0dc88bc.tar.bz2"
checksum=3f98d5a0532104912ad73dbb08723664d0ab3cc8cd6de880abda3db7019f58e0
qt5-futuresql-devel_package(){
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/cmake
}
}

1
srcpkgs/sstp-client-devel Symbolic link
View File

@ -0,0 +1 @@
sstp-client

1
srcpkgs/sstp-client-doc Symbolic link
View File

@ -0,0 +1 @@
sstp-client

View File

@ -0,0 +1,45 @@
# Template file for 'sstp-client'
pkgname=sstp-client
version=1.0.19
revision=1
build_style=gnu-configure
configure_script=./autogen.sh
hostmakedepends="pkg-config autoconf automake libtool"
makedepends="libevent-devel ppp-devel libtls-devel"
depends="libsstp>=${version}_${revision}"
short_desc="A client implementation of Secure Socket Tunneling Protocol (SSTP)"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="GPL-3.0-or-later"
homepage="https://gitlab.com/eivnaes/sstp-client"
distfiles="https://gitlab.com/eivnaes/sstp-client/-/archive/${version}/sstp-client-${version}.tar.gz"
checksum=e2652365f69f5037102e78f4e115ff764a390b27bb3fd513a8a50b10a61bb613
pppd_plugin_version=2.4.7
sstp-client-devel_package(){
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove usr/lib/pkgconfig
vmove "usr/lib/pppd/${pppd_plugin_version}/*.a"
}
}
sstp-client-doc_package(){
short_desc+=" - documentation files"
pkg_install() {
vmove usr/share/doc
vmove usr/share/man
}
}
libsstp_package(){
short_desc+="sstp-client (libsstp_api-X.so sstp-pppd-plugin.so) - shared libraries"
shlib_provides="libsstp_api-0.so sstp-pppd-plugin.so"
pkg_install() {
vmove "usr/lib/pppd/${pppd_plugin_version}/*.so"
vmove "usr/lib/*.so"
}
}

View File

@ -0,0 +1,25 @@
# Template file for 'supersonic-desktop'
pkgname=supersonic-desktop
version=0.8.2
revision=2
build_style=go
go_import_path="github.com/dweymouth/supersonic"
hostmakedepends="pkg-config gcc"
makedepends="libglvnd-devel mpv-devel libX11-devel libayatana-appindicator-devel libsecret-devel libXxf86vm-devel"
depends="libsecret libayatana-appindicator"
short_desc="Full-featured, mpv-based music player for Subsonic and Jellyfin servers"
maintainer="ITmodulo <itmodulo@disroot.org>"
license="GPL-3.0-or-later"
homepage="https://github.com/dweymouth/supersonic"
distfiles="https://github.com/dweymouth/supersonic/archive/refs/tags/v${version}.tar.gz"
checksum=55ce49566d3350fe789934310509763dc2646ea09cc5c8d364daca49d692b185
post_install() {
# go install command has no possibility to change name
# https://github.com/golang/go/issues/47176
# There is confilicting supersonic package on GitHub, see repology
# https://repology.org/projects/?search=supersonic
mv ${DESTDIR}/usr/bin/supersonic "${DESTDIR}/usr/bin/supersonic-desktop"
vinstall res/appicon.png 644 usr/share/pixmaps supersonic-desktop.png
vinstall res/supersonic-desktop.desktop 644 usr/share/applications
}

1
srcpkgs/vst3-rnnoise Symbolic link
View File

@ -0,0 +1 @@
ladspa-rnnoise