summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Grozin <grozin@gentoo.org>2019-07-01 22:56:49 +0700
committerAndrey Grozin <grozin@gentoo.org>2019-07-01 22:56:49 +0700
commit41db5a91e80068c61fccea9669aeeb0623c2b8ee (patch)
tree1a6c1a949f1e2f9e9670c490e652684641ffc940
parentsci-electronics/gwave: Use xdg_icon_cache_update (diff)
downloadgentoo-41db5a91.tar.gz
gentoo-41db5a91.tar.bz2
gentoo-41db5a91.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>
-rw-r--r--x11-wm/lumina/files/lumina-session90
-rw-r--r--x11-wm/lumina/lumina-1.5.0-r1.ebuild96
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
+}