diff --git a/package/libcpp-utilities/package b/package/libcpp-utilities/package new file mode 100644 index 000000000..a6504d4bf --- /dev/null +++ b/package/libcpp-utilities/package @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +# Copyright (c) 2021 The Toltec Contributors +# SPDX-License-Identifier: MIT + +pkgnames=(libcpp-utilities libcpp-utilities-dev) +pkgdesc="Common C++ classes and routines used by Martchus' applications" +url=https://github.com/Martchus/cpp-utilities +pkgver=5.31.0-1 +timestamp=2025-09-20T23:53Z +section="devel" +maintainer="Tom Parker-Shemilt " +license=GPL-2.0-or-later +image=base:v3.3 +source=( + https://github.com/Martchus/cpp-utilities/archive/refs/tags/v5.31.0.zip + targets.cmake.patch +) +sha256sums=( + cbdf3ef53c47fc3c1d8ee20bb1f65290db878408530afe46a285b401af2839a2 + SKIP +) + +build() { + cmake -B build \ + -DCMAKE_TOOLCHAIN_FILE="/usr/share/cmake/$CHOST.cmake" \ + -DCMAKE_INSTALL_PREFIX="/opt" \ + -DBUILD_SHARED_LIBS=ON + cmake --build build + cmake --build build --target install -- DESTDIR=../install +} + +libcpp-utilities() { + package() { + install -d "$pkgdir"/opt/lib "$pkgdir"/usr/lib + cp --no-dereference "$srcdir"/install/opt/lib/lib*.so* "$pkgdir"/opt/lib + + for file in "$pkgdir"/opt/lib/lib*.so*; do + base="${file#"$pkgdir"}" + ln -s "$base" "${file/\/opt/\/usr}" + done + } +} + +libcpp-utilities-dev() { + pkgdesc="$pkgdesc - development files" + installdepends=("libcpp-utilities=$pkgver") + + package() { + install -d "$pkgdir"/opt/lib + cp -r "$srcdir"/install/opt/lib/pkgconfig "$pkgdir"/opt/lib + cp -r "$srcdir"/install/opt/share "$pkgdir"/opt + (cd $pkgdir/opt/share/c++utilities/cmake && patch -p0 < $srcdir/targets.cmake.patch) + cp -r "$srcdir"/install/opt/include "$pkgdir"/opt + } +} diff --git a/package/libcpp-utilities/targets.cmake.patch b/package/libcpp-utilities/targets.cmake.patch new file mode 100644 index 000000000..b206d0eaf --- /dev/null +++ b/package/libcpp-utilities/targets.cmake.patch @@ -0,0 +1,20 @@ +--- c++utilitiesTargets.cmake.orig 2025-11-03 20:33:08.016186953 +0000 ++++ c++utilitiesTargets.cmake 2025-11-03 20:33:55.701608765 +0000 +@@ -55,7 +55,7 @@ + + set_target_properties(c++utilities PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "CPP_UTILITIES_USE_NATIVE_FILE_BUFFER" +- INTERFACE_INCLUDE_DIRECTORIES "/opt/include" ++ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + # Create imported target c++utilities-headers +@@ -63,7 +63,7 @@ + + set_target_properties(c++utilities-headers PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "CPP_UTILITIES_USE_NATIVE_FILE_BUFFER" +- INTERFACE_INCLUDE_DIRECTORIES "/opt/include" ++ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + if(CMAKE_VERSION VERSION_LESS 3.0.0) diff --git a/package/qtforkawesome/package b/package/qtforkawesome/package new file mode 100644 index 000000000..81ef0969b --- /dev/null +++ b/package/qtforkawesome/package @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +# Copyright (c) 2021 The Toltec Contributors +# SPDX-License-Identifier: MIT + +pkgnames=(libqtforkawesome libqtforkawesome-dev) +pkgdesc="Library that bundles ForkAwesome for use within Qt applications" +url=https://github.com/Martchus/qtforkawesome +pkgver=0.3.2-1 +timestamp=2025-11-04T20:54Z +section="devel" +maintainer="Tom Parker-Shemilt " +license=GPL-2.0-or-later +image=qt:v3.3 +source=( + "https://github.com/Martchus/qtforkawesome/archive/refs/tags/v0.3.2.zip" + "https://raw.githubusercontent.com/ForkAwesome/Fork-Awesome/1e3849530d0266ece3a883649e1398414b92241d/fonts/forkawesome-webfont.ttf" + "https://raw.githubusercontent.com/ForkAwesome/Fork-Awesome/0237ab8eafeeacb896e008f744be6d9d717f44b0/src/icons/icons.yml" +) +noextract=(icons.yml forkawesome-webfont.ttf) +sha256sums=( + 945fee08e5de7521571f4abb2fbe37fd3013079b3ffeb1cc6c36aaff538c6d47 + 4f319287827e35f841069eb471c092eccf97d2f7830aa4d8bd7301ded418bf49 + 1e588fc6c93737add8443a98d2bbd6b75537d173da6b613e37aaff3fc1f80c92 +) +makedepends=(build:cmake host:libcpp-utilities-dev host:libcpp-utilities host:libqtutilities host:libqtutilities-dev build:libyaml-libyaml-perl) + +build() { + cmake -B build \ + -DCMAKE_TOOLCHAIN_FILE="/usr/share/cmake/$CHOST.cmake" \ + -DCMAKE_INSTALL_PREFIX="/opt" \ + -DBUILD_SHARED_LIBS=ON \ + -DFORK_AWESOME_ICON_DEFINITIONS=$(realpath $srcdir/icons.yml) + cmake --build build + rm -f build/qtforkawesome/forkawesome-webfont.ttf + cp $(realpath $srcdir/forkawesome-webfont.ttf) build/qtforkawesome/forkawesome-webfont.ttf + cmake --build build --target install -- DESTDIR=../install +} + +libqtforkawesome() { + package() { + install -d "$pkgdir"/opt/lib "$pkgdir"/usr/lib + cp --no-dereference "$srcdir"/install/opt/lib/lib*.so* "$pkgdir"/opt/lib + + for file in "$pkgdir"/opt/lib/lib*.so*; do + base="${file#"$pkgdir"}" + ln -s "$base" "${file/\/opt/\/usr}" + done + } +} + +libqtforkawesome-dev() { + pkgdesc="$pkgdesc - development files" + installdepends=("libqtforkawesome=$pkgver") + + package() { + install -d "$pkgdir"/opt/lib + cp -r "$srcdir"/install/opt/lib/pkgconfig "$pkgdir"/opt/lib + cp -r "$srcdir"/install/opt/share "$pkgdir"/opt + cp -r "$srcdir"/install/opt/include "$pkgdir"/opt + } +} diff --git a/package/qtutilities/package b/package/qtutilities/package new file mode 100644 index 000000000..2fc45ebb2 --- /dev/null +++ b/package/qtutilities/package @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +# Copyright (c) 2021 The Toltec Contributors +# SPDX-License-Identifier: MIT + +pkgnames=(libqtutilities libqtutilities-dev) +pkgdesc="Common Qt related C++ classes and routines used by Martchus' applications" +url=https://github.com/Martchus/qtutilities +pkgver=6.18.2-1 +timestamp=2025-09-24T09:03Z +section="devel" +maintainer="Tom Parker-Shemilt " +license=GPL-2.0-or-later +image=qt:v3.3 +source=( + https://github.com/Martchus/qtutilities/archive/refs/tags/v6.18.2.zip + targets.cmake.patch +) +sha256sums=( + 7a1047622c1a92760aaf448eee7c4a1b3c30c65bffdce7de1322c402ca0e9e1a + SKIP +) +makedepends=(build:cmake host:libcpp-utilities-dev host:libcpp-utilities) + +build() { + cmake -B build \ + -DCMAKE_TOOLCHAIN_FILE="/usr/share/cmake/$CHOST.cmake" \ + -DCMAKE_INSTALL_PREFIX="/opt" \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_QT_TRANSLATIONS=OFF \ + -DWIDGETS_GUI=OFF + cmake --build build + cmake --build build --target install -- DESTDIR=../install +} + +libqtutilities() { + package() { + install -d "$pkgdir"/opt/lib "$pkgdir"/usr/lib + cp --no-dereference "$srcdir"/install/opt/lib/lib*.so* "$pkgdir"/opt/lib + + for file in "$pkgdir"/opt/lib/lib*.so*; do + base="${file#"$pkgdir"}" + ln -s "$base" "${file/\/opt/\/usr}" + done + } +} + +libqtutilities-dev() { + pkgdesc="$pkgdesc - development files" + installdepends=("libqtutilities=$pkgver") + + package() { + install -d "$pkgdir"/opt/lib + cp -r "$srcdir"/install/opt/lib/pkgconfig "$pkgdir"/opt/lib + cp -r "$srcdir"/install/opt/share "$pkgdir"/opt + (cd $pkgdir/opt/share/qtutilities/cmake && patch -p0 < $srcdir/targets.cmake.patch) + cp -r "$srcdir"/install/opt/include "$pkgdir"/opt + } +} diff --git a/package/qtutilities/targets.cmake.patch b/package/qtutilities/targets.cmake.patch new file mode 100644 index 000000000..f4f209f3e --- /dev/null +++ b/package/qtutilities/targets.cmake.patch @@ -0,0 +1,20 @@ +--- qtutilitiesTargets.cmake.orig 2025-11-03 22:15:18.324436027 +0000 ++++ qtutilitiesTargets.cmake 2025-11-03 22:15:38.028569434 +0000 +@@ -55,7 +55,7 @@ + + set_target_properties(qtutilities PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS" +- INTERFACE_INCLUDE_DIRECTORIES "/opt/include" ++ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "Qt5::Gui;Qt5::Core" + ) + +@@ -64,7 +64,7 @@ + + set_target_properties(qtutilities-headers PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS" +- INTERFACE_INCLUDE_DIRECTORIES "/opt/include" ++ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + if(CMAKE_VERSION VERSION_LESS 3.0.0) diff --git a/package/syncthingctl/package b/package/syncthingctl/package new file mode 100755 index 000000000..2b4fe5dc8 --- /dev/null +++ b/package/syncthingctl/package @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +# Copyright (c) 2025 The Toltec Contributors +# SPDX-License-Identifier: MIT + +pkgnames=(syncthingctl) +pkgdesc="CLI that orchestrates syncthing" +url="https://martchus.github.io/syncthingtray/" +pkgver=2.0.3-1 +timestamp=2025-11-04T22:54:13Z +section=utils +maintainer="Tom Parker-Shemilt " +license=GPL-2.0-or-later +image=qt:v3.3 +makedepends=(build:cmake host:libcpp-utilities-dev host:libcpp-utilities host:libqtutilities host:libqtutilities-dev) +installdepends=(libcpp-utilities libqtutilities syncthing) +source=( + https://github.com/Martchus/syncthingtray/archive/refs/tags/v2.0.3.zip +) +sha256sums=( + 8edeb6e6934ba54f175dccf0e3f7063aa01c2f07bf2e2361334bfe004e3a92ce +) + +build() { + cmake -B build \ + -DCMAKE_TOOLCHAIN_FILE="/usr/share/cmake/$CHOST.cmake" \ + -DCMAKE_INSTALL_PREFIX="/opt" \ + -DENABLE_QT_TRANSLATIONS=OFF \ + -DUSE_BOOST_PROCESS=OFF \ + -DNO_MODEL=ON \ + -DNO_FILE_ITEM_ACTION_PLUGIN=ON \ + -DNO_PLASMOID=ON \ + -DNO_WIDGETS=ON \ + -DNO_TRAY=ON + cmake --build build + cmake --build build --target install -- DESTDIR=../install +} + +package() { + install -D -m 755 -t "$pkgdir"/opt/bin \ + "$srcdir"/install/opt/bin/syncthingctl +}