added an installer and use flags

This commit is contained in:
jwihardi
2025-10-01 19:54:04 -04:00
parent e8e67912ec
commit 7fa2ffc14e
4 changed files with 210 additions and 16 deletions
+26 -16
View File
@@ -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
+114
View File
@@ -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)
View File
+70
View File
@@ -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"