diff options
author | Andrey Grozin <grozin@gentoo.org> | 2019-07-01 22:56:49 +0700 |
---|---|---|
committer | Andrey Grozin <grozin@gentoo.org> | 2019-07-01 22:56:49 +0700 |
commit | 41db5a91e80068c61fccea9669aeeb0623c2b8ee (patch) | |
tree | 1a6c1a949f1e2f9e9670c490e652684641ffc940 /x11-wm/lumina | |
parent | sci-electronics/gwave: Use xdg_icon_cache_update (diff) | |
download | gentoo-41db5a91e80068c61fccea9669aeeb0623c2b8ee.tar.gz gentoo-41db5a91e80068c61fccea9669aeeb0623c2b8ee.tar.bz2 gentoo-41db5a91e80068c61fccea9669aeeb0623c2b8ee.zip |
x11-wm/lumina: fix dependencies, install icons and session file
Closes: https://bugs.gentoo.org/show_bug.cgi?id=597324
Closes: https://bugs.gentoo.org/show_bug.cgi?id=645380
Closes: https://bugs.gentoo.org/show_bug.cgi?id=688880
Package-Manager: Portage-2.3.67, Repoman-2.3.16
Signed-off-by: Andrey Grozin <grozin@gentoo.org>
Diffstat (limited to 'x11-wm/lumina')
-rw-r--r-- | x11-wm/lumina/files/lumina-session | 90 | ||||
-rw-r--r-- | x11-wm/lumina/lumina-1.5.0-r1.ebuild | 96 |
2 files changed, 186 insertions, 0 deletions
diff --git a/x11-wm/lumina/files/lumina-session b/x11-wm/lumina/files/lumina-session new file mode 100644 index 000000000000..9fb7a418b2af --- /dev/null +++ b/x11-wm/lumina/files/lumina-session @@ -0,0 +1,90 @@ +#!/bin/sh +# lumina Xsession starter, based on Xsession shipped by x11-apps/xinit-1.0.5-r1 + +# redirect errors to a file in user's home directory if we can +for errfile in "$HOME/.fluxbox-errors" "${TMPDIR-/tmp}/fluxbox-$USER" "/tmp/fluxbox-$USER" +do + if ( cp /dev/null "$errfile" 2> /dev/null ) + then + chmod 600 "$errfile" + exec > "$errfile" 2>&1 + break + fi +done + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +userxkbmap=$HOME/.Xkbmap + +sysresources=/etc/X11/Xresources +sysmodmap=/etc/X11/Xmodmap +sysxkbmap=/etc/X11/Xkbmap + +rh6sysresources=/etc/X11/xinit/Xresources +rh6sysmodmap=/etc/X11/xinit/Xmodmap + + +# merge in defaults +if [ -f "$rh6sysresources" ]; then + xrdb -merge "$rh6sysresources" +fi + +if [ -f "$sysresources" ]; then + xrdb -merge "$sysresources" +fi + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +# merge in keymaps +if [ -f "$sysxkbmap" ]; then + setxkbmap `cat "$sysxkbmap"` + XKB_IN_USE=yes +fi + +if [ -f "$userxkbmap" ]; then + setxkbmap `cat "$userxkbmap"` + XKB_IN_USE=yes +fi + +# +# Eeek, this seems like too much magic here +# +if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then + if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then + xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config /etc/X11/xorg.conf` + if [ -n "$xkbsymbols" ]; then + setxkbmap -symbols "$xkbsymbols" + XKB_IN_USE=yes + fi + fi +fi + +# xkb and xmodmap don't play nice together +if [ -z "$XKB_IN_USE" ]; then + if [ -f "$rh6sysmodmap" ]; then + xmodmap "$rh6sysmodmap" + fi + + if [ -f "$sysmodmap" ]; then + xmodmap "$sysmodmap" + fi + + if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" + fi +fi + +unset XKB_IN_USE + +# run all system xinitrc shell scripts. +if [ -d /etc/X11/xinit/xinitrc.d ]; then + for i in /etc/X11/xinit/xinitrc.d/* ; do + if [ -x "$i" ]; then + . "$i" + fi + done +fi + +exec /usr/bin/start-lumina-desktop diff --git a/x11-wm/lumina/lumina-1.5.0-r1.ebuild b/x11-wm/lumina/lumina-1.5.0-r1.ebuild new file mode 100644 index 000000000000..69a2ededf215 --- /dev/null +++ b/x11-wm/lumina/lumina-1.5.0-r1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PLOCALES="af ar az bg bn bs ca cs cy da de el en_AU en_GB en_ZA es et eu fa fi fr fr_CA fur gl he hi hr hu id is it ja ka ko lt lv mk mn ms mt nb ne nl pa pl pt pt_BR ro ru sa sk sl sr sv sw ta tg th tr uk ur uz vi zh_CN zh_HK zh_TW zu" + +inherit qmake-utils l10n xdg-utils +DESCRIPTION="Lumina desktop environment" +HOMEPAGE="https://lumina-desktop.org/" +SRC_URI="https://github.com/trueos/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="desktop-utils" + +COMMON_DEPEND="dev-qt/qtcore:5 + dev-qt/qtconcurrent:5 + dev-qt/qtmultimedia:5[widgets] + dev-qt/qtsvg:5 + dev-qt/qtnetwork:5[ssl] + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + dev-qt/qtgui:5 + dev-qt/qtdeclarative:5 + dev-qt/qtprintsupport:5 + dev-qt/qtdbus:5 + x11-libs/libxcb:0 + x11-libs/xcb-util + x11-libs/xcb-util-image + x11-libs/xcb-util-wm + desktop-utils? ( app-text/poppler[qt5] )" + +DEPEND="$COMMON_DEPEND + dev-qt/linguist-tools:5" + +RDEPEND="$COMMON_DEPEND + sys-fs/inotify-tools + x11-misc/numlockx + x11-wm/fluxbox + || ( x11-apps/xbacklight + sys-power/acpilight ) + media-sound/alsa-utils + sys-power/acpi + app-admin/sysstat" + +S="${WORKDIR}/${P/_/-}" + +PATCHES=( + "${FILESDIR}/1.2.0-desktop-files.patch" +) + +DOCS=( README.md ) + +src_prepare(){ + default + + if use !desktop-utils ; then + rm -rf src-qt5/desktop-utils || die + sed -e "/desktop-utils/d" -i src-qt5/src-qt5.pro || die + fi + + l10n_find_plocales_changes "${S}/src-qt5/core/${PN}-desktop/i18n" "${PN}-desktop_" '.ts' +} + +src_configure(){ + eqmake5 PREFIX="${EPREFIX}/usr" LIBPREFIX="${EPREFIX}/usr/$(get_libdir)" \ + CONFIG+=WITH_I18N QMAKE_CFLAGS_ISYSTEM= +} + +src_install(){ + emake install INSTALL_ROOT="${D}" + einstalldocs + mkdir -p "${D}"/usr/share/icons/hicolor/64x64/apps || die "cannot create the icons dir" + mv "${D}"/usr/share/icons/hicolor/scalable/apps/*.png "${D}"/usr/share/icons/hicolor/64x64/apps || die "cannot mv png icons" + exeinto /etc/X11/Sessions + newexe "${FILESDIR}/lumina-session" lumina ||die + + remove_locale() { + rm -f "${ED%/}"/usr/share/${PN}-desktop/i18n/l*_${1}.qm + + } + l10n_for_each_disabled_locale_do remove_locale +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_mimeinfo_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_mimeinfo_database_update + xdg_icon_cache_update +} |