diff --git a/dev/libs/fmt/ympbuild b/dev/libs/fmt/ympbuild new file mode 100644 index 00000000..180adb63 --- /dev/null +++ b/dev/libs/fmt/ympbuild @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +name='fmt' +release='1' +version='11.0.2' +url='https://github.com/fmtlib/fmt' +description='A modern formatting library' +email='aliriza.keskin@pardus.org.tr' +maintainer='aliriza' +license=('GPLv3') +source=("https://github.com/fmtlib/fmt/archive/refs/tags/$version.tar.gz") +depends=() +makedepends=() +sha256sums=('6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f') +group=(dev.libs) +uses=() +arch=('x86_64') + +cd $name-$version + +setup () { + cmake -B build -G Ninja\ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON \ + -Wno-dev +} + +build () { + ninja -C build $jobs +} + +package () { + ninja -C build install $jobs +} + diff --git a/dev/libs/jsoncpp/ympbuild b/dev/libs/jsoncpp/ympbuild new file mode 100644 index 00000000..5f63a09f --- /dev/null +++ b/dev/libs/jsoncpp/ympbuild @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +name='jsoncpp' +release='1' +version='1.9.6' +url='https://github.com/open-source-parsers/jsoncpp' +description='A C++ library for interacting with JSON.' +email='aliriza.keskin@pardus.org.tr' +maintainer='aliriza' +license=('GPLv3') +source=("https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/$version.tar.gz") +depends=() +makedepends=() +sha256sums=('f93b6dd7ce796b13d02c108bc9f79812245a82e577581c4c9aabe57075c90ea2') +group=(dev.libs) +uses=() +arch=('x86_64') + +cd $name-$version + +setup () { + meson setup build \ + --prefix=/usr +} + +build () { + ninja -C build $jobs +} + +package () { + ninja -C build install $jobs +} + diff --git a/dev/libs/spdlog/ympbuild b/dev/libs/spdlog/ympbuild new file mode 100644 index 00000000..738f81b0 --- /dev/null +++ b/dev/libs/spdlog/ympbuild @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +name='spdlog' +release='1' +version='1.15.0' +url='https://github.com/gabime/spdlog' +description='Fast C++ logging library.' +email='aliriza.keskin@pardus.org.tr' +maintainer='aliriza' +license=('GPLv3') +source=("https://github.com/gabime/spdlog/archive/refs/tags/v$version.tar.gz") +depends=() +makedepends=() +sha256sums=('9962648c9b4f1a7bbc76fd8d9172555bad1871fdb14ff4f842ef87949682caa5') +group=(dev.libs) +uses=() +arch=('x86_64') + +cd $name-$version + +setup () { + cmake -B build -G Ninja\ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DSPDLOG_BUILD_SHARED=ON +} + +build () { + ninja -C build $jobs +} + +package () { + ninja -C build install $jobs +} + diff --git a/gui/apps/waybar/fix-systray.patch b/gui/apps/waybar/fix-systray.patch new file mode 100644 index 00000000..978fb9b8 --- /dev/null +++ b/gui/apps/waybar/fix-systray.patch @@ -0,0 +1,119 @@ +From f60c291b82181b6e871b4807625fbcc7818d3c36 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Sat, 14 Sep 2024 07:36:23 -0700 +Subject: [PATCH 1/2] chore: update fmt wrap to 11.0.2 + +--- + subprojects/fmt.wrap | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/subprojects/fmt.wrap b/subprojects/fmt.wrap +index 42b615963..fd508477f 100644 +--- a/subprojects/fmt.wrap ++++ b/subprojects/fmt.wrap +@@ -1,13 +1,13 @@ + [wrap-file] +-directory = fmt-11.0.1 +-source_url = https://github.com/fmtlib/fmt/archive/11.0.1.tar.gz +-source_filename = fmt-11.0.1.tar.gz +-source_hash = 7d009f7f89ac84c0a83f79ed602463d092fbf66763766a907c97fd02b100f5e9 +-patch_filename = fmt_11.0.1-1_patch.zip +-patch_url = https://wrapdb.mesonbuild.com/v2/fmt_11.0.1-1/get_patch +-patch_hash = 0a8b93d1ee6d84a82d3872a9bfb4c3977d8a53f7f484d42d1f7ed63ed496d549 +-source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/fmt_11.0.1-1/fmt-11.0.1.tar.gz +-wrapdb_version = 11.0.1-1 ++directory = fmt-11.0.2 ++source_url = https://github.com/fmtlib/fmt/archive/11.0.2.tar.gz ++source_filename = fmt-11.0.2.tar.gz ++source_hash = 6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f ++patch_filename = fmt_11.0.2-1_patch.zip ++patch_url = https://wrapdb.mesonbuild.com/v2/fmt_11.0.2-1/get_patch ++patch_hash = 90c9e3b8e8f29713d40ca949f6f93ad115d78d7fb921064112bc6179e6427c5e ++source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/fmt_11.0.2-1/fmt-11.0.2.tar.gz ++wrapdb_version = 11.0.2-1 + + [provide] + fmt = fmt_dep + +From 0006e4713ae19776528038b3242ded05db884ba5 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Sat, 14 Sep 2024 07:37:37 -0700 +Subject: [PATCH 2/2] fix(tray): revert ustring formatting changes + +This reverts commit a4d31ab10d1630cb9104c695d7b777ca12468904. +--- + src/modules/sni/item.cpp | 23 +++++++++-------------- + 1 file changed, 9 insertions(+), 14 deletions(-) + +diff --git a/src/modules/sni/item.cpp b/src/modules/sni/item.cpp +index 8afb39fb3..6c4ec8c06 100644 +--- a/src/modules/sni/item.cpp ++++ b/src/modules/sni/item.cpp +@@ -104,11 +104,9 @@ void Item::proxyReady(Glib::RefPtr& result) { + this->updateImage(); + + } catch (const Glib::Error& err) { +- spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, +- std::string(err.what())); ++ spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, err.what()); + } catch (const std::exception& err) { +- spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, +- std::string(err.what())); ++ spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, err.what()); + } + } + +@@ -126,15 +124,14 @@ ToolTip get_variant(const Glib::VariantBase& value) { + result.text = get_variant(container.get_child(2)); + auto description = get_variant(container.get_child(3)); + if (!description.empty()) { +- result.text = fmt::format("{}\n{}", std::string(result.text), std::string(description)); ++ result.text = fmt::format("{}\n{}", result.text, description); + } + return result; + } + + void Item::setProperty(const Glib::ustring& name, Glib::VariantBase& value) { + try { +- spdlog::trace("Set tray item property: {}.{} = {}", id.empty() ? bus_name : id, +- std::string(name), get_variant(value)); ++ spdlog::trace("Set tray item property: {}.{} = {}", id.empty() ? bus_name : id, name, value); + + if (name == "Category") { + category = get_variant(value); +@@ -179,12 +176,10 @@ void Item::setProperty(const Glib::ustring& name, Glib::VariantBase& value) { + } + } catch (const Glib::Error& err) { + spdlog::warn("Failed to set tray item property: {}.{}, value = {}, err = {}", +- id.empty() ? bus_name : id, std::string(name), get_variant(value), +- std::string(err.what())); ++ id.empty() ? bus_name : id, name, value, err.what()); + } catch (const std::exception& err) { + spdlog::warn("Failed to set tray item property: {}.{}, value = {}, err = {}", +- id.empty() ? bus_name : id, std::string(name), get_variant(value), +- std::string(err.what())); ++ id.empty() ? bus_name : id, name, value, err.what()); + } + } + +@@ -226,9 +221,9 @@ void Item::processUpdatedProperties(Glib::RefPtr& _result) { + + this->updateImage(); + } catch (const Glib::Error& err) { +- spdlog::warn("Failed to update properties: {}", std::string(err.what())); ++ spdlog::warn("Failed to update properties: {}", err.what()); + } catch (const std::exception& err) { +- spdlog::warn("Failed to update properties: {}", std::string(err.what())); ++ spdlog::warn("Failed to update properties: {}", err.what()); + } + update_pending_.clear(); + } +@@ -250,7 +245,7 @@ static const std::map> signal2props + + void Item::onSignal(const Glib::ustring& sender_name, const Glib::ustring& signal_name, + const Glib::VariantContainerBase& arguments) { +- spdlog::trace("Tray item '{}' got signal {}", id, std::string(signal_name)); ++ spdlog::trace("Tray item '{}' got signal {}", id, signal_name); + auto changed = signal2props.find(signal_name.raw()); + if (changed != signal2props.end()) { + if (update_pending_.empty()) { diff --git a/gui/apps/waybar/ympbuild b/gui/apps/waybar/ympbuild new file mode 100644 index 00000000..b38cd42f --- /dev/null +++ b/gui/apps/waybar/ympbuild @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +name='waybar' +release='1' +version='0.11.0' +url='https:///github.com/Alexays/Waybar' +description='Highly customizable Wayland bar for Sway and Wlroots based compositors.' +email='aliriza.keskin@pardus.org.tr' +maintainer='aliriza' +license=('GPLv3') +source=("https://github.com/Alexays/Waybar/archive/refs/tags/0.11.0.tar.gz" + "fix-systray.patch" +) +depends=(fmt gtk-layer-shell gtkmm3 jack2 jsoncpp libdbusmenu libinput + libnl libxkbcommon pipewire spdlog upower wireplumber) +makedepends=() +sha256sums=('6a0e9f0f7f2eff503951958cbb16dc39041c0b67e86c35154e8507677c61be9d' + 'SKIP') +group=(gui.apps) +uses=() +arch=('x86_64') + +cd Waybar-$version + +prepare(){ + patch -Np1 -i ../fix-systray.patch +} + +setup () { + meson setup build \ + --prefix=/usr \ + -Dcpp_std=c++20 \ + -Dexperimental=true \ + -Dcava=disabled \ + -Dpulseaudio=disabled \ + -Dsndio=disabled + + + +} + +build () { + ninja -C build $jobs +} + +package () { + ninja -C build install $jobs +} + diff --git a/gui/libs/gtk-layer-shell/ympbuild b/gui/libs/gtk-layer-shell/ympbuild new file mode 100644 index 00000000..596f6121 --- /dev/null +++ b/gui/libs/gtk-layer-shell/ympbuild @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +name='gtk-layer-shell' +release='1' +version='0.9.0' +url='https://github.com/wmww/gtk-layer-shell' +description='A library to create panels and other desktop components for Wayland using the Layer Shell protocol' +email='aliriza.keskin@pardus.org.tr' +maintainer='aliriza' +license=('GPLv3') +source=("https://github.com/wmww/gtk-layer-shell/archive/refs/tags/v$version.tar.gz") +depends=(gtk3) +makedepends=() +sha256sums=('3809e5565d9ed02e44bb73787ff218523e8760fef65830afe60ea7322e22da1c') +group=(gui.libs) +uses=() +arch=('x86_64') + +cd $name-$version + +setup () { + meson setup build \ + --prefix=/usr +} + +build () { + ninja -C build $jobs +} + +package () { + ninja -C build install $jobs +} +