From 4a31d538c6169500b72adfc5c8f3f1142c9220a2 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Fri, 3 Oct 2025 14:40:51 -0400 Subject: [PATCH] added liveebuilds --- .../hyprgraphics-9999.ebuild | 28 +++++++ .../hyprland-qt-support-9999.ebuild | 35 ++++++++ .../hyprland-qtutils-9999.ebuild | 26 ++++++ .../hyprlang-9999.ebuild | 25 ++++++ .../hyprwayland-scanner-9999.ebuild | 37 ++++++++ .../illogical-impulse-hyprland-1.0.ebuild | 7 +- dist-gentoo/illogical-impulse-hyprland/things | 9 ++ .../quickshell-9999.ebuild | 84 +++++++++++++++++++ dist-gentoo/install-deps.sh | 47 +++++++---- dist-gentoo/install-setups.sh | 6 +- dist-gentoo/keywords | 12 ++- dist-gentoo/keywords-user | 12 ++- 12 files changed, 308 insertions(+), 20 deletions(-) create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/things create mode 100644 dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild new file mode 100644 index 000000000..95c36237c --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake git-r3 + +DESCRIPTION="Hyprland graphics / resource utilities (live/HEAD)" +HOMEPAGE="https://github.com/hyprwm/hyprgraphics" + +# For live ebuilds, Portage clones the git repo +EGIT_REPO_URI="https://github.com/hyprwm/hyprgraphics.git" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=gui-libs/hyprutils-0.1.1:= + media-libs/libjpeg-turbo:= + media-libs/libjxl:= + media-libs/libspng + media-libs/libwebp:= + sys-apps/file + x11-libs/cairo +" +DEPEND="${RDEPEND}" + diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild new file mode 100644 index 000000000..11b5d1aa2 --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild @@ -0,0 +1,35 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake git-r3 + +DESCRIPTION="QML style provider for hypr* Qt apps" +HOMEPAGE="https://github.com/hyprwm/hyprland-qt-support" +EGIT_REPO_URI="https://github.com/hyprwm/hyprland-qt-support.git" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + dev-qt/qtbase:6 + dev-qt/qtdeclarative:6 + >=dev-libs/hyprlang-0.6.0 +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + virtual/pkgconfig +" + +src_configure() { + local mycmakeargs=( + -DINSTALL_QML_PREFIX="${EPFREIX}/$(get_libdir)/qt6/qml" + ) + + cmake_src_configure +} diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild new file mode 100644 index 000000000..15eaed2ec --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild @@ -0,0 +1,26 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake git-r3 + +DESCRIPTION="Hyprland QT/qml utility apps" +HOMEPAGE="https://github.com/hyprwm/hyprland-qtutils" +EGIT_REPO_URI="https://github.com/hyprwm/hyprland-qtutils.git" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-qt/qtbase:6 + dev-qt/qtdeclarative:6 + dev-qt/qtwayland:6 + gui-libs/hyprutils:= + gui-libs/hyprland-qt-support + kde-frameworks/qqc2-desktop-style:6 +" + +DEPEND="${RDEPEND}" diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild new file mode 100644 index 000000000..aa1557128 --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild @@ -0,0 +1,25 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs git-r3 + +DESCRIPTION="Official implementation library for the hypr config language" +HOMEPAGE="https://github.com/hyprwm/hyprlang" +EGIT_REPO_URI="https://github.com/hyprwm/hyprlang.git" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=">=gui-libs/hyprutils-0.7.1:=" +DEPEND="${RDEPEND}" +BDEPEND="|| ( >=sys-devel/gcc-14:* >=llvm-core/clang-18:* )" + +pkg_setup() { + [[ ${MERGE_TYPE} == binary ]] && return + + tc-check-min_ver gcc 14 + tc-check-min_ver clang 18 +} diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild new file mode 100644 index 000000000..1ee36c663 --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild @@ -0,0 +1,37 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs + +DESCRIPTION="A Hyprland implementation of wayland-scanner, in and for C++" +HOMEPAGE="https://github.com/hyprwm/hyprwayland-scanner/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/hyprwm/hyprwayland-scanner.git" + inherit git-r3 +else + SRC_URI="https://github.com/hyprwm/hyprwayland-scanner/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" +fi + +LICENSE="BSD" +KEYWORDS="amd64 arm64 x86" +SLOT="0" + +RDEPEND=">=dev-libs/pugixml-1.14" +DEPEND="${RDEPEND}" + +pkg_setup() { + [[ ${MERGE_TYPE} == binary ]] && return + + if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then + eerror "Hyprland requires >=sys-devel/gcc-13 to build" + eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc" + die "GCC version is too old to compile Hyprland!" + elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then + eerror "Hyprland requires >=llvm-core/clang-16 to build" + eerror "Please upgrade Clang: emerge -v1 llvm-core/clang" + die "Clang version is too old to compile Hyprland!" + fi +} diff --git a/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild b/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild index bf1ec5dc0..e86b04a2d 100644 --- a/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild +++ b/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild @@ -8,14 +8,13 @@ HOMEPAGE="" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 x86" RESTRICT="strip" DEPEND="" RDEPEND=" gui-apps/hypridle gui-libs/hyprcursor - gui-wm/hyprland gui-libs/hyprland-qtutils gui-libs/hyprland-qt-support dev-libs/hyprlang @@ -23,6 +22,10 @@ RDEPEND=" gui-apps/hyprpicker gui-apps/hyprsunset gui-libs/hyprutils + dev-libs/hyprland-protocols + dev-libs/hyprgraphics + gui-libs/aquamarine + gui-wm/hyprland dev-util/hyprwayland-scanner gui-libs/xdg-desktop-portal-hyprland gui-apps/wl-clipboard diff --git a/dist-gentoo/illogical-impulse-hyprland/things b/dist-gentoo/illogical-impulse-hyprland/things new file mode 100644 index 000000000..e8d811b6b --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/things @@ -0,0 +1,9 @@ +hyprland +hyprgraphics +hyprutils +hyprlang +hyprwayland-scanner +hyprcursor + +hypr-qt-support +hypr-qt-utils diff --git a/dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild b/dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild new file mode 100644 index 000000000..89a092516 --- /dev/null +++ b/dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Toolkit for building desktop widgets using QtQuick" +HOMEPAGE="https://quickshell.org/" + +if [[ "${PV}" = *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/quickshell-mirror/${PN^}.git" +else + SRC_URI="https://github.com/quickshell-mirror/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +fi + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +# Upstream recommends leaving all build options enabled by default +IUSE="+breakpad +jemalloc +sockets +wayland +layer-shell +session-lock +toplevel-management +screencopy +X +pipewire +tray +mpris +pam +hyprland +hyprland-global-shortcuts +hyprland-focus-grab +i3 +i3-ipc +bluetooth" + +RDEPEND=" + dev-qt/qtbase:6 + dev-qt/qtsvg:6 + jemalloc? ( dev-libs/jemalloc ) + wayland? ( + dev-libs/wayland + dev-qt/qtwayland:6 + ) + screencopy? ( + x11-libs/libdrm + media-libs/mesa + ) + X? ( x11-libs/libxcb ) + pipewire? ( media-video/pipewire ) + mpris? ( dev-qt/qtdbus ) + pam? ( sys-libs/pam ) + bluetooth? ( net-wireless/bluez ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + || ( >=sys-devel/gcc-14:* >=llvm-core/clang-17:* ) + dev-build/cmake + dev-build/ninja + virtual/pkgconfig + dev-cpp/cli11 + dev-util/spirv-tools + dev-qt/qtshadertools:6 + breakpad? ( dev-util/breakpad ) + wayland? ( + dev-util/wayland-scanner + dev-libs/wayland-protocols + ) +" + +src_configure(){ + mycmakeargs=( + -DCMAKE_BUILD_TYPE=RelWithDebInfo + -DDISTRIBUTOR="Gentoo GURU" + -DINSTALL_QML_PREFIX="lib64/qt6/qml" + -DCRASH_REPORTER=$(usex breakpad ON OFF) + -DUSE_JEMALLOC=$(usex jemalloc ON OFF) + -DSOCKETS=$(usex sockets ON OFF) + -DWAYLAND=$(usex wayland ON OFF) + -DWAYLAND_WLR_LAYERSHELL=$(usex layer-shell ON OFF) + -DWAYLAND_SESSION_LOCK=$(usex session-lock ON OFF) + -DWAYLAND_TOPLEVEL_MANAGEMENT=$(usex toplevel-management ON OFF) + -DSCREENCOPY=$(usex screencopy ON OFF) + -DX11=$(usex X ON OFF) + -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF) + -DSERVICE_STATUS_NOTIFIER=$(usex tray ON OFF) + -DSERVICE_MPRIS=$(usex mpris ON OFF) + -DSERVICE_PAM=$(usex pam ON OFF) + -DHYPRLAND=$(usex hyprland ON OFF) + -DHYPRLAND_GLOBAL_SHORTCUTS=$(usex hyprland-global-shortcuts) + -DHYPRLAND_FOCUS_GRAB=$(usex hyprland-focus-grab) + -DI3=$(usex i3 ON OFF) + -DI3_IPC=$(usex i3-ipc ON OFF) + -DBLUETOOTH=$(usex bluetooth ON OFF) + ) + cmake_src_configure +} diff --git a/dist-gentoo/install-deps.sh b/dist-gentoo/install-deps.sh index 2b043bd07..c08c5809a 100644 --- a/dist-gentoo/install-deps.sh +++ b/dist-gentoo/install-deps.sh @@ -9,9 +9,10 @@ fi arch=$(portageq envvar ACCEPT_KEYWORDS) +# Exclude hyprland, will deal with that separately metapkgs=(illogical-impulse-{audio,backlight,basic,bibata-modern-classic-bin,fonts-themes,hyprland,kde,microtex-git,oneui4-icons-git,portal,python,screencapture,toolkit,widgets}) -ebuild_dir="/var/db/repos/localrepo/app-misc" +ebuild_dir="/var/db/repos/localrepo" # Unmasks x cp ./dist-gentoo/keywords ./dist-gentoo/keywords-user @@ -22,24 +23,42 @@ v sudo cp ./dist-gentoo/keywords-user /etc/portage/package.accept_keywords/end4 v sudo cp ./dist-gentoo/useflags /etc/portage/package.use/end4 # Update system -#v sudo emerge --sync -#v sudo emerge --ask --verbose --newuse --update --deep @world -#v sudo emerge --depclean +v sudo emerge --sync +v sudo emerge --ask --verbose --newuse --update --deep @world +v sudo emerge --depclean # Remove old ebuilds (if this isn't done the wildcard will fuck upon a version change) -x sudo rm -r ${ebuild_dir}/illogical-impulse-* +x sudo rm -fr ${ebuild_dir}/app-misc/illogical-impulse-* + +###### LIVE EBUILDS START +HYPR_DIR="illogical-impulse-hyprland" +x sudo mkdir -p ${ebuild_dir}/dev-libs/hyprgraphics/ +x sudo mkdir -p ${ebuild_dir}/gui-libs/hyprland-qt-support +x sudo mkdir -p ${ebuild_dir}/gui-libs/hyprland-qtutils +x sudo mkdir -p ${ebuild_dir}/dev-libs/hyprlang +x sudo mkdir -p ${ebuild_dir}/dev-libs/hyprlang +x sudo mkdir -p ${ebuild_dir}/dev-util/hyprwayland-scanner + +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprgraphics*.ebuild ${ebuild_dir}/dev-libs/hyprgraphics +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprland-qt-support*.ebuild ${ebuild_dir}/gui-libs/hyprland-qt-support +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprland-qtutils*.ebuild ${ebuild_dir}/gui-libs/hyprland-qtutils +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprlang*.ebuild ${ebuild_dir}/dev-libs/hyprlang +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprwayland-scanner*.ebuild ${ebuild_dir}/dev-util/hyprwayland-scanner + +v sudo ebuild ${ebuild_dir}/dev-libs/hyprgraphics/hyprgraphics*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/gui-libs/hyprland-qt-support/hyprland-qt-support*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/gui-libs/hyprland-qtutils/hyprland-qtutils*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/dev-libs/hyprlang/hyprlang*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/dev-util/hyprwayland-scanner/hyprwayland-scanner*9999.ebuild digest +###### LIVE EBUILDS END + # Install dependencies -to_install="" for i in "${metapkgs[@]}"; do - x sudo mkdir -p ${ebuild_dir}/${i} - v sudo cp ./dist-gentoo/${i}/${i}*.ebuild ${ebuild_dir}/${i}/ - v sudo ebuild ${ebuild_dir}/${i}/*.ebuild digest - to_install+="app-misc/${i} " + x sudo mkdir -p ${ebuild_dir}/app-misc/${i} + v sudo cp ./dist-gentoo/${i}/${i}*.ebuild ${ebuild_dir}/app-misc/${i}/ + v sudo ebuild ${ebuild_dir}/app-misc/${i}/*.ebuild digest + v sudo emerge --quiet app-misc/${i} done -# Easier to debug when it's all installed at once -#v sudo emerge --quiet ${to_install} - - diff --git a/dist-gentoo/install-setups.sh b/dist-gentoo/install-setups.sh index b7077d587..d97460ba8 100644 --- a/dist-gentoo/install-setups.sh +++ b/dist-gentoo/install-setups.sh @@ -25,8 +25,10 @@ else echo "test" fi -v sudo chown $(whoami):$(whoami) ~/.local/share/icons -v sudo chown $(whoami):$(whoami) ~/.local/share/konsole +v sudo chown -R $(whoami):$(whoami) ~/.local/share/icons/ +v sudo chown -R $(whoami):$(whoami) ~/.local/share/konsole/ +v sudo chown -R $(whoami):$(whoami) ~/.config/hypr/ +v sudo chown -R $(whoami):$(whoami) ~/.config/quickshell/ v gsettings set org.gnome.desktop.interface font-name 'Rubik 11' v gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' diff --git a/dist-gentoo/keywords b/dist-gentoo/keywords index 84c1fe0f7..7a065f345 100644 --- a/dist-gentoo/keywords +++ b/dist-gentoo/keywords @@ -23,6 +23,16 @@ gui-apps/hyprshot gui-apps/wf-recorder gui-apps/wtype gui-apps/fuzzel -gui-apps/quickshell +gui-apps/quickshell ** gui-apps/wlogout dev-cpp/sdbus-c++ +dev-libs/hyprland-protocols ** +gui-libs/aquamarine ** +gui-libs/hyprutils ** +dev-util/hyprwayland-scanner ** +dev-libs/hyprlang ** +dev-libs/hyprgraphicss ** +gui-libs/hyprcursor ** +gui-libs/hyprland-qt-support ** +gui-libs/hyprland-qtutils ** +gui-wm/hyprland ** diff --git a/dist-gentoo/keywords-user b/dist-gentoo/keywords-user index 501f81a56..d3dfcc2fd 100644 --- a/dist-gentoo/keywords-user +++ b/dist-gentoo/keywords-user @@ -23,6 +23,16 @@ gui-apps/hyprshot ~amd64 gui-apps/wf-recorder ~amd64 gui-apps/wtype ~amd64 gui-apps/fuzzel ~amd64 -gui-apps/quickshell ~amd64 +gui-apps/quickshell ** ~amd64 gui-apps/wlogout ~amd64 dev-cpp/sdbus-c++ ~amd64 +dev-libs/hyprland-protocols ** ~amd64 +gui-libs/aquamarine ** ~amd64 +gui-libs/hyprutils ** ~amd64 +dev-util/hyprwayland-scanner ** ~amd64 +dev-libs/hyprlang ** ~amd64 +dev-libs/hyprgraphicss ** ~amd64 +gui-libs/hyprcursor ** ~amd64 +gui-libs/hyprland-qt-support ** ~amd64 +gui-libs/hyprland-qtutils ** ~amd64 +gui-wm/hyprland ** ~amd64