forked from Shinonome/dots-hyprland
renamed gentoo-ebuild to gentoo-support
This commit is contained in:
@@ -0,0 +1,206 @@
|
||||
# Copyright 2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
Bibata_VER=2.0.6
|
||||
DART_SASS_VER=1.78.0
|
||||
|
||||
DESCRIPTION="For End-4 dot-files with icons, themes, fonts, adw-gtk3, and Dart Sass"
|
||||
HOMEPAGE=""
|
||||
SRC_URI="
|
||||
https://github.com/end-4/OneUI4-Icons/archive/main.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/ful1e5/Bibata_Cursor/releases/download/v${Bibata_VER}/Bibata-Modern-Classic.tar.xz -> bibata-modern-classic.tar.xz
|
||||
https://github.com/Bali10050/Darkly/archive/refs/heads/main.tar.gz -> ${P}-darkly.tar.gz
|
||||
https://github.com/naipefoundry/gabarito/archive/refs/heads/main.tar.gz -> ${P}-gabarito.tar.gz
|
||||
https://github.com/luisbocanegra/kde-material-you-colors/archive/refs/heads/main.tar.gz -> ${P}-kde-material-you-colors.tar.gz
|
||||
https://github.com/googlefonts/rubik/archive/refs/heads/main.tar.gz -> ${P}-rubik.tar.gz
|
||||
https://github.com/ThomasJockin/readexpro/archive/refs/heads/master.tar.gz -> ${P}-readexpro.tar.gz
|
||||
https://github.com/google/material-design-icons/archive/refs/heads/main.tar.gz -> ${P}-material-design-icons.tar.gz
|
||||
https://github.com/mjkim0727/breeze-plus/archive/refs/heads/main.tar.gz -> ${P}-breeze-plus.tar.gz
|
||||
https://github.com/lassekongo83/adw-gtk3/archive/refs/heads/main.tar.gz -> ${P}-adw-gtk3.tar.gz
|
||||
https://github.com/sass/dart-sass/releases/download/${DART_SASS_VER}/dart-sass-${DART_SASS_VER}-linux-x64.tar.gz -> dart-sass.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
RESTRICT="strip"
|
||||
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
media-sound/cava
|
||||
media-sound/pavucontrol-qt
|
||||
media-video/wireplumber
|
||||
dev-libs/libdbusmenu[gtk3]
|
||||
media-sound/playerctl
|
||||
|
||||
app-misc/geoclue
|
||||
app-misc/brightnessctl
|
||||
app-misc/ddcutil
|
||||
|
||||
net-misc/axel
|
||||
sys-devel/bc
|
||||
sys-apps/coreutils
|
||||
app-misc/cliphist
|
||||
dev-build/cmake
|
||||
net-misc/curl
|
||||
net-misc/rsync
|
||||
net-misc/wget
|
||||
sys-apps/ripgrep
|
||||
dev-python/jq
|
||||
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
|
||||
kde-plasma/plasma-nm
|
||||
kde-plasma/polkit-kde-agent
|
||||
kde-apps/dolphin
|
||||
kde-plasma/systemsettings
|
||||
|
||||
sys-apps/xdg-desktop-portal
|
||||
kde-plasma/xdg-desktop-portal-kde
|
||||
sys-apps/xdg-desktop-portal-gtk
|
||||
gui-libs/xdg-desktop-portal-hyprland
|
||||
|
||||
dev-python/clang
|
||||
dev-python/uv
|
||||
gui-libs/gtk
|
||||
dev-libs/gobject-introspection
|
||||
media-libs/opencv
|
||||
|
||||
gui-apps/hyprshot
|
||||
gui-apps/slurp
|
||||
gui-apps/swappy
|
||||
app-text/tesseract
|
||||
gui-apps/wf-recorder
|
||||
|
||||
kde-apps/kdialog
|
||||
dev-qt/qt5compat
|
||||
dev-qt/qtbase
|
||||
dev-qt/qtdeclarative
|
||||
dev-qt/qtimageformats
|
||||
dev-qt/qtmultimedia
|
||||
dev-qt/qtpositioning
|
||||
dev-qt/qtquicktimeline
|
||||
dev-qt/qtsensors
|
||||
dev-qt/qtsvg
|
||||
dev-qt/qttools
|
||||
dev-qt/qttranslations
|
||||
dev-qt/qtvirtualkeyboard
|
||||
dev-qt/qtwayland
|
||||
kde-frameworks/syntax-highlighting
|
||||
sys-power/upower
|
||||
gui-apps/wtype
|
||||
x11-misc/ydotool
|
||||
|
||||
gui-apps/fuzzel
|
||||
dev-libs/glib
|
||||
gui-apps/quickshell
|
||||
app-i18n/translate-shell
|
||||
gui-apps/wlogout
|
||||
"
|
||||
|
||||
# Source directories
|
||||
S="${WORKDIR}"
|
||||
S_BIBATA="${S}/Bibata-Modern-Classic"
|
||||
S_ONEUI="${S}/OneUI4-Icons-main"
|
||||
S_DARKLY="${S}/Darkly-main"
|
||||
S_GABARITO="${S}/gabarito-main"
|
||||
S_KDE_MATERIAL_YOU_COLORS="${S}/kde-material-you-colors-main"
|
||||
S_RUBIK="${S}/rubik-main"
|
||||
S_READEXPRO="${S}/readexpro-master"
|
||||
S_MATERIAL_DESIGN_ICONS="${S}/material-design-icons-main"
|
||||
S_ADW_GTK3="${S}/adw-gtk3-main"
|
||||
S_BREEZE_PLUS="${S}/breeze-plus-main"
|
||||
S_DART_SASS="${S}/dart-sass"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
mv "${WORKDIR}/dart-sass-${DART_SASS_VER}-linux-x64" "${S_DART_SASS}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "${S_DARKLY}"
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. -DBUILD_QT5=OFF -DBUILD_QT6=ON
|
||||
cmake --build . --parallel=$(nproc)
|
||||
|
||||
cd "${S_ADW_GTK3}"
|
||||
meson setup build
|
||||
meson compile -C build
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/libexec/dart-sass
|
||||
doins -r "${S_DART_SASS}"/*
|
||||
fperms +x /usr/libexec/dart-sass/sass
|
||||
fperms +x /usr/libexec/dart-sass/src/dart
|
||||
|
||||
dodir /usr/bin
|
||||
cat > "${D}/usr/bin/sass" <<-EOF || die
|
||||
#!/bin/bash
|
||||
exec /usr/libexec/dart-sass/sass "\$@"
|
||||
EOF
|
||||
fperms +x /usr/bin/sass
|
||||
|
||||
insinto /usr/share/icons
|
||||
doins -r "${S_BIBATA}"
|
||||
for theme in "OneUI" "OneUI-dark" "OneUI-light"; do
|
||||
doins -r ${S_ONEUI}/${theme}
|
||||
done
|
||||
|
||||
cd "${S_DARKLY}/build"
|
||||
cmake --install . --destdir="${D}"
|
||||
|
||||
insinto /usr/share/fonts/ttf-gabarito
|
||||
doins "${S_GABARITO}"/fonts/ttf/*.ttf
|
||||
|
||||
cd "${S_KDE_MATERIAL_YOU_COLORS}"
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build . --parallel=$(nproc)
|
||||
cmake --install . --destdir="${D}"
|
||||
|
||||
insinto /usr/share/fonts/ttf-readex-pro
|
||||
doins "${S_READEXPRO}"/fonts/ttf/*.ttf
|
||||
|
||||
insinto /usr/share/fonts/ttf-material-design-icons
|
||||
doins "${S_MATERIAL_DESIGN_ICONS}"/font/*.ttf
|
||||
|
||||
insinto /usr/share/themes
|
||||
doins -r "${S_BREEZE_PLUS}"/src/breeze-plus*
|
||||
|
||||
cd "${S_ADW_GTK3}"
|
||||
meson install -C build --destdir="${D}"
|
||||
|
||||
fc-cache -f
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
Executable
+70
@@ -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"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user