From 7fa2ffc14e791c86519656ce06548c445bdec8fa Mon Sep 17 00:00:00 2001 From: jwihardi Date: Wed, 1 Oct 2025 19:54:04 -0400 Subject: [PATCH] added an installer and use flags --- gentoo-ebuild/end4-1.0.ebuild | 42 +++++---- gentoo-ebuild/end4-recommended-use-flags | 114 +++++++++++++++++++++++ gentoo-ebuild/end4-unmasks | 0 gentoo-ebuild/gentoo-installer.sh | 70 ++++++++++++++ 4 files changed, 210 insertions(+), 16 deletions(-) create mode 100644 gentoo-ebuild/end4-recommended-use-flags create mode 100644 gentoo-ebuild/end4-unmasks create mode 100755 gentoo-ebuild/gentoo-installer.sh diff --git a/gentoo-ebuild/end4-1.0.ebuild b/gentoo-ebuild/end4-1.0.ebuild index bed3b1aa0..7f1fed1f0 100644 --- a/gentoo-ebuild/end4-1.0.ebuild +++ b/gentoo-ebuild/end4-1.0.ebuild @@ -35,16 +35,16 @@ RDEPEND=" dev-libs/libdbusmenu[gtk3] media-sound/playerctl - app-misc/brightnessctl app-misc/geoclue + app-misc/brightnessctl app-misc/ddcutil - sys-apps/coreutils net-misc/axel sys-devel/bc + sys-apps/coreutils app-misc/cliphist - net-misc/curl dev-build/cmake + net-misc/curl net-misc/rsync net-misc/wget sys-apps/ripgrep @@ -52,6 +52,29 @@ RDEPEND=" dev-build/meson x11-misc/xdg-user-dirs + kde-plasma/breeze + sys-apps/eza + app-shells/fish + media-libs/fontconfig + x11-terms/kitty + x11-misc/matugen + app-shells/starship + media-fonts/jetbrains-mono + media-fonts/twemoji + + gui-apps/hypridle + gui-libs/hyprcursor + gui-wm/hyprland + gui-libs/hyprland-qtutils + gui-libs/hyprland-qt-support + dev-libs/hyprlang + gui-apps/hyprlock + gui-apps/hyprpicker + gui-apps/hyprsunset + gui-libs/hyprutils + dev-util/hyprwayland-scanner + gui-apps/wl-clipboard + kde-plasma/bluedevil gnome-base/gnome-keyring net-misc/networkmanager @@ -68,10 +91,7 @@ RDEPEND=" dev-python/clang dev-python/uv gui-libs/gtk - gui-libs/libadwaita - net-libs/libsoup dev-libs/gobject-introspection - dev-lang/sassc media-libs/opencv gui-apps/hyprshot @@ -104,16 +124,6 @@ RDEPEND=" gui-apps/quickshell app-i18n/translate-shell gui-apps/wlogout - - kde-plasma/breeze - app-shells/fish - sys-apps/eza - media-libs/fontconfig - x11-terms/kitty - x11-misc/matugen - app-shells/starship - media-fonts/twemoji - media-fonts/jetbrains-mono " # Source directories diff --git a/gentoo-ebuild/end4-recommended-use-flags b/gentoo-ebuild/end4-recommended-use-flags new file mode 100644 index 000000000..cab28df84 --- /dev/null +++ b/gentoo-ebuild/end4-recommended-use-flags @@ -0,0 +1,114 @@ +################### AUDIO ################### +media-sound/cava pipewire -pulseaudio +#media-sound/pavucontrol-qt (no use flags) +#media-video/wireplumber (no use flags) +dev-libs/libdbusmenu gtk3 introspection +media-sound/playerctl introspection + +################### BACKLIGHT ################### +app-misc/geoclue introspection +#app-misc/brightnessctl +app-misc/ddcutil X + +################### BASIC ################### +net-misc/axel nls ssl +sys-devel/bc readline +sys-apps/coreutils acl nls openssl xattr gmp +#app-misc/cliphist (no use flags) +dev-build/cmake ncurses +net-misc/curl adns alt-svvc ftp hsts http2 http3 httpsrr imap openssl pop3 psl quic smtp ssl lftp websockets idn brotli zstd +net-misc/rsync acl iconv ssl xattr +net-misc/wget nls pore ssl zlib idn +sys-apps/ripgrep pcre +#dev-python/jq (nothing needed) +#dev-build/meson (nothing needed) +#x11-misc/xdg-user-dirs (nothing needed) + +################### FONTS & THEMES ################### +#kde-plasma/breeze (nothing needed) +sys-apps/eza git +app-shell/fish nls +media-libs/fontconfig nls +x11-terms/kitty X wayland +#x11-misc/matugen +#app-shell/starship (nothing needed) +media-fonts/jetbrains-mono X +media-fonts/twemoji X +# The rest are handled in the ebuild + + +################### HYPRLAND ################### +#gui-apps/hypridle (no use flags) +#gui-libs/hyprcursor (no use flags) +gui-wm/hyprland X qtutils +#gui-libs/hyprland-qtutils (no use flags) +#gui-libs/hyprland-qt-support (no use flags) +#dev-libs/hyprlang (no use flags) +#gui-apps/hyprlock (no use flags) +#gui-apps/hyprpicker (no use flags) +#gui-apps/hyprsunset (no use flags) +#gui-libs/hyprutils (no use flags) +#dev-util/hyprwayland-scanner (no use flags) +#gui-apps/wl-clipboard (no use fags) + + +################### KDE ################### +kde-plasma/bluedevil -handbook +gnome-base/gnome-keyring pam ssh-agent +net-misc/networkmanager concheck introspection nss ppp tools wifi -wext -modemmanager +#kde-plasma/plasma-nm (nothing needed) +#kde-plasma/polkit-kde-agent (nothing needed) +kde-apps/dolphin -handbook +kde-plasma/systemsettings -handbook + +################### PORTAL ################### +sys-apps/xdg-desktop-portal seccomp +#sys-plasma/xdg-desktop-portal-kde (nothing needed) +sys-apps/xdg--desktop-portal-gtk X wayland +#gui-libs/xdg-desktop-portal-hyprland (elogiind maybe) + +################### PYTHON ################### +#dev-python/clang (nothing needed) +#dev-python/uv (nothing needed) +gui-libs/gtk X introspection wayland +#dev-libs/gobject-introspection (nothing needed) +# dart-sassc handled in the ebuild +media-libs/opencv eigen ffmpeg jpeg opencl opengl python wayland gtk3 webp + + +################### SCREENCAPTURE ################### +#gui-apps/hyprshot (no use flags) +gui-apps/slurp -man +#gui-apps/swappy (no use flags) +app-text/tesseract jpeg openmp png webp +gui-apps/wf-recorder pipewire + + +################### TOOLKIT ################### +kde-apps/kdialog X +dev-qt/qt5compat gui icu qml +dev-qt/qtbase X concurrent cups dbus gui icu libinput libproxy network nls opengl sql sqlite ssl udev wayland widgets xml zstd +dev-qt/qtdeclarative jit network opengl sql ssl svg widgets +#dev-qt/qtimageformats (nothing needed) +dev-qt/qtmultimedia X dbus ffmpeg opengl pipewire qml wayland v4l +dev-qt/qtpositioning qml geoclue +#dev-qt/qtquicktimeline (nothing needed) +#dev-qt/qtsensors (nothing needed) +#dev-qt/qtsvg (nothing needed) +dev-qt/qttools assistant linguist opengl qdbus widgets zstd +#dev-qt/qttranslations (no use flags) +dev-qt/qtvirtualkeyboard sound spell +#dev-qt/qtwayland (nothing needed) +#kde-framework/syntax-highlighting (nothing needed) +sys-power/upower introspection +#gui-apps/wtype (no use flags) +#x11-misc/ydotool (no use flags) + +################### WIDGETS ################### +gui-apps/fuzzel png svg +dev-libs/glib dbus elf introspection mime xattr +# ngl idk about nm-connection-editor. Works fine without +gui-apps/quickshell -X -i3 -i3-ipc -breakpad bluetooth hyprland hyprland-focus-grab hyprland-global-shortcuts jemalloc layer-shell mpris pam pipewire screencopy session-lock sockets toplevel-management tray wayland +#app-i18n/translate-shell (nothing needed) +#gui-apps/wlogout (no use flags) + diff --git a/gentoo-ebuild/end4-unmasks b/gentoo-ebuild/end4-unmasks new file mode 100644 index 000000000..e69de29bb diff --git a/gentoo-ebuild/gentoo-installer.sh b/gentoo-ebuild/gentoo-installer.sh new file mode 100755 index 000000000..c7456f116 --- /dev/null +++ b/gentoo-ebuild/gentoo-installer.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +latest_gcc_ver=15 +ebuild_name="end4-1.0.ebuild" +arch=$(portageq envvar ACCEPT_KEYWORDS) + +print_message () { + message=$1 + echo -e "\033[34m$message\033[0m" +} +get_input () { + input_message=$1 + answer="" + bool_answer=-1 + while true; do + read -p "$(print_message "$input_message ([\033[32mY\033[34m]/\033[31mn\033[0m): ")" answer + case "$answer" in + [Yy]* | "" ) + bool_answer=0 + break + ;; + [Nn]* ) + bool_answer=1 + break + ;; + * ) + echo -e "\033[31mInput not understood ([\033[32mY\033[34m]/\033[31mn\033[0m)\033[0m)" + ;; + esac + done +} + +exec_cmd () { + cmd=$1 + message=$2 + terminate=$3 + get_input "$message" + case "$bool_answer" in + 0 ) + echo -e "\033[32m+\033[2m $cmd\033[0m" + [ ! -z "$cmd" ] && eval "$cmd" + ;; + 1 ) + echo -e "\033[32m-\033[2m $cmd\033[0m" + [ "$terminate" == "y" ] && exit 1 + ;; + * ) + exit 1 + ;; + esac + cmd="" +} + +print_message "IF YOU WANT TO USE THE LATESt HYPRlAND VERSION YOU MUSt UNMASK it, CHANGE GCC VERSIONS TO A COMPATIBLE ONE, THEN EMERGE @world IF YOU YOUR CURRENT GCC WASN'T THE SAME." +echo "" +print_message "ARCHITECTURE DETECTED IS \033[32m$arch\033[0m" + +exec_cmd "sudo emerge --sync" "Sync portage" +exec_cmd "sudo emerge --ask --verbose --update --deep --newuse @world" "Update @world" +exec_cmd "sudo eselect repository create localrepo || true" "Create local repository" +exec_cmd "sudo eselect repository enable localrepo || true" "Enable local repository" +exec_cmd "sudo mkdir -p /var/db/repos/localrepo/app-misc/end4 || true" "Create directory for the eBuild" +exec_cmd "sudo cp end4-1.0.ebuild /var/db/repos/localrepo/app-misc/end4" "Import the eBuild" +exec_cmd "sudo ebuild /var/db/repos/localrepo/app-misc/end4/${ebuild_name} digest" "Digest the eBuild" +exec_cmd "sudo cp end4-recommended-use-flags /etc/portage/package.use/end4" "Use recommended use flags" + + + + +