commit:     41db5a91e80068c61fccea9669aeeb0623c2b8ee
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  1 15:56:49 2019 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Mon Jul  1 15:56:49 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41db5a91

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 <AT> gentoo.org>

 x11-wm/lumina/files/lumina-session   | 90 +++++++++++++++++++++++++++++++++
 x11-wm/lumina/lumina-1.5.0-r1.ebuild | 96 ++++++++++++++++++++++++++++++++++++
 2 files changed, 186 insertions(+)

diff --git a/x11-wm/lumina/files/lumina-session 
b/x11-wm/lumina/files/lumina-session
new file mode 100644
index 00000000000..9fb7a418b2a
--- /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 00000000000..69a2ededf21
--- /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
+}

Reply via email to