From 4b15ff0b1abc220b0d0b43aeeb47dcd9a109f92d Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 27 Oct 2023 18:40:15 +0200 Subject: [PATCH] Add static-compat-pianobooster and dependencies It builds but doesn't work yet because the OpenGL widget is apprently not working in static-compat-qt6-base. --- fluidsynth/static-compat/PKGBUILD | 38 +++++++++++++++++ ftgl/static-compat/PKGBUILD | 49 ++++++++++++++++++++++ glu/static-compat/PKGBUILD | 39 ++++++++++++++++++ pianobooster/custom/PKGBUILD | 4 +- pianobooster/static-compat/PKGBUILD | 63 +++++++++++++++++++++++++++++ 5 files changed, 191 insertions(+), 2 deletions(-) create mode 100644 fluidsynth/static-compat/PKGBUILD create mode 100644 ftgl/static-compat/PKGBUILD create mode 100644 glu/static-compat/PKGBUILD create mode 100644 pianobooster/static-compat/PKGBUILD diff --git a/fluidsynth/static-compat/PKGBUILD b/fluidsynth/static-compat/PKGBUILD new file mode 100644 index 00000000..7396347e --- /dev/null +++ b/fluidsynth/static-compat/PKGBUILD @@ -0,0 +1,38 @@ +_pkgname=fluidsynth +pkgname=static-compat-$_pkgname +pkgver=2.3.4 +pkgrel=1 +pkgdesc="A real-time software synthesizer based on the SoundFont 2 specifications" +arch=(x86_64) +url="https://www.fluidsynth.org/" +license=(LGPL-2.1-or-later) +depends=(static-compat-glib2 static-compat-alsa-lib) +makedepends=(static-compat-cmake ninja) +source=($_pkgname-$pkgver.tar.gz::https://github.com/$_pkgname/$_pkgname/archive/v$pkgver.tar.gz) +sha512sums=('79891116d78b9be1c38bce9e5759b9bb732c3d8ee31c6e57d1a3e2b5548879b91d19582e73ee7fb0fd243beba3bf1bbc341a26aab0b6440eef36fc55dce3e8b0') +b2sums=('5146c1f0243ac1fcc3d4f29ea65bb03b326c59bf9de1f53def447f4a924c7fdde31f8b33300051d2e7765087fb8bbdba3643b03c537e3366b02ca42b3b9d4311') + +build() { + source static-compat-environment + local cmake_options=( + -G Ninja + -B build + -D LIB_SUFFIX="" + -S $_pkgname-$pkgver + -W no-dev + -Denable-aufile=0 -Denable-dbus=0 -Denable-ipv6=0 -Denable-jack=0 -Denable-ladspa=0 -Denable-midishare=0 -Denable-opensles=0 -Denable-oboe=0 -Denable-oss=0 -Denable-readline=0 -Denable-winmidi=1 -Denable-waveout=0 -Denable-network=0 -Denable-pulseaudio=0 -Denable-dsound=0 -Denable-alsa=0 -Denable-libinstpatch=0 -Denable-portaudio=0 -Denable-wasapi=0 -Denable-openmp=1 -Denable-libsndfile=0 -Denable-sdl2=0 + ) + + static-compat-cmake "${cmake_options[@]}" + cmake --build build --verbose +} + +check() { + source static-compat-environment + ctest build +} + +package() { + source static-compat-environment + DESTDIR="$pkgdir" cmake --install build +} diff --git a/ftgl/static-compat/PKGBUILD b/ftgl/static-compat/PKGBUILD new file mode 100644 index 00000000..b6859d3c --- /dev/null +++ b/ftgl/static-compat/PKGBUILD @@ -0,0 +1,49 @@ +_pkgname=ftgl +pkgname=static-compat-$_pkgname +pkgver=2.4.0 +pkgrel=1 +pkgdesc="OpenGL library to use arbitrary fonts" +arch=(x86_64) +url="https://github.com/frankheckenbach/ftgl" +license=(MIT) +depends=(static-compat-freetype2 static-compat-glu) +makedepends=(static-compat-cmake git ninja) +_commit=483639219095ad080538e07ceb5996de901d4e74 # tags/v2.4.0 +source=("git+https://github.com/frankheckenbach/ftgl#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $_pkgname + git describe --tags | sed 's/^v//;s/-/+/g' +} + +prepare() { + source static-compat-environment + cd $_pkgname + git cherry-pick -n 835f2ba7911a6c15a1a314d5e3267fa089b5a319 +} + +build() { + check_buildoption ccache y && ccache_args=' + -DCMAKE_C_COMPILER_LAUNCHER=ccache + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache' + source static-compat-environment + export PATH=$PWD:$PATH + printf '#!/usr/bin/bash\nexec /usr/bin/pkg-config --static "$@"\n' > pkg-config + chmod +x pkg-config + + static-compat-cmake -G Ninja -B build -S "${srcdir}/${_pkgname}" + VERBOSE=1 cmake --build build +} + +package() { + source static-compat-environment + DESTDIR="$pkgdir" cmake --install build + + # FS#23283: install missing headers for OpenCascade + #install -Dt "$pkgdir/$static_compat_prefix/include/FTGL" -m644 src/FT{Face,Size}.h + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $_pkgname/COPYING +} + +# vim:set sw=2 et: diff --git a/glu/static-compat/PKGBUILD b/glu/static-compat/PKGBUILD new file mode 100644 index 00000000..10e22fa7 --- /dev/null +++ b/glu/static-compat/PKGBUILD @@ -0,0 +1,39 @@ +_pkgname=glu +pkgname=static-compat-$_pkgname +pkgver=9.0.3 +pkgrel=1 +pkgdesc="Mesa OpenGL utility library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/mesa/glu" +license=('LGPL') +depends=('static-compat-libglvnd') +makedepends=('static-compat-meson') +source=(https://mesa.freedesktop.org/archive/glu/glu-$pkgver.tar.xz{,.sig}) +sha512sums=('b2781059c0e176192c3fc0d7244645020937a463311171efddb9f35fb94ee43faabcf627fa7f429d48fceaf6dd9c5adb69c86c7a21ec4ea490f4ab143d52e3ba' + 'SKIP') +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner " +validpgpkeys=('57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom + +build() { + source static-compat-environment + + export PKG_CONFIG_PATH=$PWD:$PKG_CONFIG_PATH + cp $static_compat_prefix/lib/pkgconfig/libglvnd.pc opengl.pc + + static-compat-meson glu-$pkgver build + + # Print config + meson configure build + + meson compile -C build +} + +check() { + source static-compat-environment + meson test -C build --print-errorlogs +} + +package() { + source static-compat-environment + meson install -C build --destdir "$pkgdir" +} diff --git a/pianobooster/custom/PKGBUILD b/pianobooster/custom/PKGBUILD index 90cdee62..cf1cf97f 100644 --- a/pianobooster/custom/PKGBUILD +++ b/pianobooster/custom/PKGBUILD @@ -1,5 +1,5 @@ -_pkgname='pianobooster' -pkgname='pianobooster-custom' +_pkgname=pianobooster +pkgname=pianobooster-custom pkgdesc='A MIDI file player that teaches you how to play the piano (with custom, experimental patches)' pkgver=1.0.1 pkgrel=1 diff --git a/pianobooster/static-compat/PKGBUILD b/pianobooster/static-compat/PKGBUILD new file mode 100644 index 00000000..34e27a93 --- /dev/null +++ b/pianobooster/static-compat/PKGBUILD @@ -0,0 +1,63 @@ +_pkgname=pianobooster +pkgname=static-compat-pianobooster +pkgdesc='A MIDI file player that teaches you how to play the piano (with custom, experimental patches)' +pkgver=1.0.1 +pkgrel=1 +depends=('static-compat-fluidsynth' 'static-compat-qtutilities' 'static-compat-qt6-svg' 'static-compat-qt6-wayland' 'static-compat-openssl' 'static-compat-ftgl') +makedepends=('static-compat-cmake' 'git' 'clang' 'static-compat-qt6-tools' 'static-compat-qt6-translations' 'breeze-icons' 'ninja' 'ftgl') +arch=('x86_64') +url='https://github.com/Martchus/PianoBooster' +license=('GPL3') +source=("${_pkgname}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/PianoBooster.git#branch=custom") +sha256sums=(SKIP) + +pkgver() { + cd "${srcdir}/${_pkgname}" + echo "$(git rev-list --count HEAD).$(git rev-parse --short HEAD)" +} + +build () { + check_buildoption ccache y && ccache_args=' + -DCMAKE_C_COMPILER_LAUNCHER=ccache + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache' + export CXXFLAGS+=' -static-libgcc -static-libstdc++' + export LDFLAGS+=' -static-libgcc -static-libstdc++' + + source static-compat-environment + + export PATH=$PWD:$PATH + printf '#!/usr/bin/bash\nexec /usr/bin/pkg-config --static "$@"\n' > pkg-config + chmod +x pkg-config + + export PKG_CONFIG_PATH=$PWD:$PKG_CONFIG_PATH + cp $static_compat_prefix/lib/pkgconfig/libglvnd.pc opengl.pc + cp /usr/lib/pkgconfig/ftgl.pc ftgl.pc + + static-compat-cmake -G Ninja -B build -S "${srcdir}/${_pkgname}" \ + $ccache_args \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DQT_PACKAGE_PREFIX:STRING='Qt6' \ + -DBUILTIN_TRANSLATIONS:BOOL=ON \ + -DBUILTIN_TRANSLATIONS_OF_QT:BOOL=ON \ + -DBUILTIN_ICON_THEMES:STRING='breeze;breeze-dark' \ + -DBUILTIN_ICON_THEMES_SEARCH_PATH:STRING="/usr/share/icons" \ + -DIMAGE_FORMAT_SUPPORT:STRING='Gif;ICO;Jpeg' \ + -DSVG_SUPPORT:BOOL=ON \ + -DSVG_ICON_SUPPORT:BOOL=ON \ + -DGLIB2_USE_PKG_CONFIG:BOOL=ON \ + -DWAYLAND_USE_PKG_CONFIG:BOOL=ON \ + -DCMAKE_DISABLE_FIND_PACKAGE_harfbuzz=TRUE \ + -DUSE_SYSTEM_FONT=ON \ + -DUSE_JACK=OFF \ + -DUSE_BUNDLED_RTMIDI=ON \ + -DWITH_INTERNAL_FLUIDSYNTH=ON \ + -DBUILTIN_TRANSLATIONS:BOOL=ON \ + -DQT_PACKAGE_PREFIX=Qt6 \ + -DWITH_MAN=OFF + VERBOSE=1 cmake --build build +} + +package () { + source static-compat-environment + DESTDIR="$pkgdir" cmake --install build +}