%global srcname lumina %global srcurl https://github.com/trueos/%{srcname} %global relsuffix -p2 %global srcdirname %{version}-Release%{?relsuffix} # get latest translations with fixes from git %global localecommit0 bc08e907119117ba4dbe79caa240a007ef0d3472 %global localehash %(c=%{localecommit0}; echo ${c:0:7} ) %global localedir %{srcname}-i18n-%{localecommit0} Summary: A lightweight, portable desktop environment Name: %{srcname}-desktop Version: 1.0.0 Release: 2%(r=%{?relsuffix}; echo $r |tr - . ).L%{localehash}%{?dist} License: BSD URL: http://%{name}.org # Main source Source0: %{srcurl}/archive/v%{srcdirname}/%{srcdirname}.tar.gz # Translations Source1: %{srcurl}-i18n/archive/%{localecommit0}/%{localedir}.tar.gz # Exclude IBM ESA/390 and ESA System/z architectures ExcludeArch: s390 s390x # Compiler requirements BuildRequires: gcc-c++ # Qt requirements BuildRequires: qt5-qttools-devel BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtmultimedia-devel BuildRequires: qt5-qtdeclarative-devel BuildRequires: qt5-qtsvg-devel BuildRequires: qt5-qtx11extras-devel # X component requirements BuildRequires: xcb-util-image-devel BuildRequires: xcb-util-wm-devel BuildRequires: libxcb-devel BuildRequires: xcb-util-devel BuildRequires: libXcomposite-devel BuildRequires: libXdamage-devel BuildRequires: libXrender-devel BuildRequires: desktop-file-utils # Runtime requirements Requires: alsa-utils%{?_isa}, acpi%{?_isa}, numlockx%{?_isa} Requires: pavucontrol%{?_isa}, sysstat%{?_isa} Requires: xscreensaver%{?_isa}, xbacklight%{?_isa}, xterm%{?_isa} Requires: qt5-style-oxygen%{?_isa}, plasma-oxygen%{?_isa} Requires: fluxbox%{?_isa} # Enforce the library subpackage version requirement Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-data = %{version}-%{release} # Desktop extensions %if 0%{?fedora} Suggests: %{srcname}-wallpapers = %{version}-%{release} Suggests: %{srcname}-open%{?_isa} = %{version}-%{release} Suggests: %{srcname}-config%{?_isa} = %{version}-%{release} Suggests: %{srcname}-fm%{?_isa} = %{version}-%{release} Suggests: %{srcname}-screenshot%{?_isa} = %{version}-%{release} Suggests: %{srcname}-search%{?_isa} = %{version}-%{release} Suggests: %{srcname}-info%{?_isa} = %{version}-%{release} Suggests: %{srcname}-xconfig%{?_isa} = %{version}-%{release} Suggests: %{srcname}-fileinfo%{?_isa} = %{version}-%{release} Suggests: %{srcname}-textedit%{?_isa} = %{version}-%{release} %endif %description The Lumina Desktop Environment is a lightweight system interface that is designed for use on any Unix-like operating system. %package data Summary: Data for Lumina Desktop BuildArch: noarch Requires: %{name} = %{version}-%{release} %description data This package provides the data files for the Lumina Desktop Environment: Colors, desktop background, theme templates. %package libs Summary: Libraries for Lumina Desktop %description libs This package provides the libraries for the Lumina Desktop Environment. %package devel Summary: Development libraries for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel This package provides the files needed to develop plugins or extensions for the Lumina Desktop Environment, or to develop applications that use Lumina Desktop libraries. %package wallpapers Summary: Wallpapers for Lumina Desktop BuildArch: noarch Requires: kde-filesystem %description wallpapers Optional wallpapers recommended for Lumina Desktop. %package -n %{srcname}-open Summary: xdg-open style utility for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-open This package provides %{srcname}-open, which handles opening of files and URLs according to the system-wide mimetype association. It also provides an optional selector if more than one application is assigned with the given url or file type. %package -n %{srcname}-config Summary: Configuration utility for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-config This package provides %{srcname}-config, which allows changing various aspects of %{srcname} and fluxbox, like the wallpaper being used, theme, icons, panel (and plugins), startup and default applications, desktop menu and more. %package -n %{srcname}-fm Summary: File manager for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-fm This package provides %{srcname}-fm, which is a simple file manager with support for multiple view modes, tabbed browsing, including an integrated slideshow-based picture viewer. %package -n %{srcname}-screenshot Summary: Screenshot utility for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-screenshot This package provides %{srcname}-screenshot, which is a simple screenshot utility that allows to snapshot the whole desktop or a single window after a configurable delay. Optionally the window border can be hidden when taking a screenshot of a single window. %package -n %{srcname}-search Summary: Search utility for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-search This package provides %{srcname}-search, which is a simple search utility that allows to search for applications or files and directories in the home directory and launch or open them. %package -n %{srcname}-info Summary: Basic information utility for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-info This package provides %{srcname}-info, which is a simple utility that displays various information about the Lumina installation, like paths, contributors, license or version. %package -n %{srcname}-xconfig Summary: X server display configuration tool for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-xconfig This package provides %{srcname}-xconfig, which is a simple multi-head aware display configuration tool for configuring the X server. %package -n %{srcname}-fileinfo Summary: Desktop file editor for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-fileinfo This package provides %{srcname}-fileinfo, which is an advanced desktop file (menu) editor. %package -n %{srcname}-textedit Summary: Text file editor for Lumina Desktop Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n %{srcname}-textedit This package provides %{srcname}-textedit, which is an text file editor. ######################################################################################## %prep %autosetup -n%{srcname}-%{version}-Release%{?relsuffix} # translations tar xf %{SOURCE1} # issues/2, ts/hi/lumina-fileinfo.ts does not parse # commit/a96928d68364529cce670e4f64d9f988d5cc1a8c sed -i -r -e 's::\0\n:' -e 's::\n\n\0:'\ %{localedir}/ts/hi/lumina-fileinfo.ts # bug with make -C sed -i -r -e '/cp defaults\//d' -e 's:(INSTALLS.*)defaults:\1:' \ src-qt5/core/%{srcname}-desktop/*.pro %build mkdir -p %{_target_platform} pushd %{_target_platform} %qmake_qt5 ../*.pro \ CONFIG+=configure \ LIBPREFIX="%{_libdir}" \ L_BINDIR="%{_bindir}" \ L_LIBDIR=%{_libdir} \ L_SHAREDIR=%{_datadir} \ L_ETCDIR=%{_sysconfdir} \ L_INCLUDEDIR=%{_includedir} \ QT5LIBDIR="%{_qt5_prefix}" popd %make_build -C %{_target_platform} # see https://github.com/trueos/lumina-i18n/blob/master/scripts/mkrelease.sh mkdir qm for i in $(find %{localedir} -name \*.ts) do NLANG=$(dirname $i |xargs basename) QMNAME=$(basename $i .ts)_$NLANG.qm lrelease-qt5 $i -qm qm/$QMNAME done %install # Install the desktop %if 0%{?rhel} install -d %{buildroot}%{_sysconfdir} %endif %make_install -C %{_target_platform} INSTALL_ROOT=%{buildroot} install -d %{buildroot}%{_datadir}/%{name}/i18n install -m0644 -D -t %{buildroot}%{_datadir}/%{name}/i18n qm/*.qm # split locales into subpackages %find_lang %{name} --with-qt %find_lang %{srcname}-open --with-qt %find_lang %{srcname}-config --with-qt %find_lang %{srcname}-fm --with-qt %find_lang %{srcname}-screenshot --with-qt %find_lang %{srcname}-search --with-qt %find_lang %{srcname}-info --with-qt %find_lang %{srcname}-xconfig --with-qt %find_lang %{srcname}-fileinfo --with-qt %find_lang %{srcname}-textedit --with-qt # Move config folder to correct location install -m0644 -D src-qt5/core/%{name}/defaults/%{srcname}Desktop.conf \ -t %{buildroot}%{_sysconfdir} # Other missing files in cmake installation install -m0644 -D src-qt5/core/%{name}/defaults/desktop-background.jpg \ -t %{buildroot}%{_datadir}/%{name} # Fix paths in desktop files find %{buildroot}%{_datadir}/applications -name *.desktop -print -exec \ desktop-file-edit --remove-only-show-in=Lumina --add-only-show-in=X-Lumina '{}' \; desktop-file-edit --remove-key=Categories \ %{buildroot}%{_datadir}/applications/%{srcname}-support.desktop %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{srcname}-*.desktop ######################################################################################## %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %post -n %{srcname}-fm /usr/bin/update-desktop-database &> /dev/null || : %postun -n %{srcname}-fm /usr/bin/update-desktop-database &> /dev/null || : %post -n %{srcname}-textedit /usr/bin/update-desktop-database &> /dev/null || : %postun -n %{srcname}-textedit /usr/bin/update-desktop-database &> /dev/null || : ######################################################################################## %files -f %{name}.lang %{_bindir}/%{name} %{_bindir}/start-%{name} %config(noreplace) %{_sysconfdir}/%{srcname}Desktop.conf %{_datadir}/pixmaps/Lumina-DE.png %{_datadir}/xsessions/Lumina-DE.desktop %{_datadir}/applications/%{srcname}-support.desktop %files data %{_datadir}/%{name}/ %exclude %{_datadir}/%{name}/i18n %files libs %license LICENSE %{_libdir}/libLuminaUtils.so.* # each binary expects its locale files in the common folder %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/i18n %files devel %license LICENSE %{_libdir}/libLuminaUtils.so %{_includedir}/Lumina*.h %files wallpapers %license LICENSE %{_datadir}/wallpapers/Lumina-DE/ %files -n %{srcname}-open -f %{srcname}-open.lang %{_bindir}/%{srcname}-open %files -n %{srcname}-config -f %{srcname}-config.lang %{_bindir}/%{srcname}-config %{_datadir}/applications/%{srcname}-config.desktop %files -n %{srcname}-fm -f %{srcname}-fm.lang %{_bindir}/%{srcname}-fm %{_datadir}/pixmaps/Insight-FileManager.png %{_datadir}/applications/%{srcname}-fm.desktop %files -n %{srcname}-screenshot -f %{srcname}-screenshot.lang %{_bindir}/%{srcname}-screenshot %{_datadir}/applications/%{srcname}-screenshot.desktop %files -n %{srcname}-search -f %{srcname}-search.lang %{_bindir}/%{srcname}-search %{_datadir}/applications/%{srcname}-search.desktop %files -n %{srcname}-info -f %{srcname}-info.lang %license src-qt5/core/%{srcname}-info/LICENSE %{_bindir}/%{srcname}-info %{_datadir}/applications/%{srcname}-info.desktop %files -n %{srcname}-xconfig -f %{srcname}-xconfig.lang %{_bindir}/%{srcname}-xconfig %{_datadir}/applications/%{srcname}-xconfig.desktop %files -n %{srcname}-fileinfo -f %{srcname}-fileinfo.lang %{_bindir}/%{srcname}-fileinfo %{_datadir}/applications/%{srcname}-fileinfo.desktop %files -n %{srcname}-textedit -f %{srcname}-textedit.lang # W: dangling-symlink /usr/bin/lte /usr/bin/lumina-textedit %exclude %{_bindir}/lte %{_bindir}/%{srcname}-textedit %{_datadir}/applications/%{srcname}-textedit.desktop ######################################################################################## %changelog * Sat Aug 27 2016 Raphael Groner - 1.0.0-2.p2.Lbc08e90 - update to patchset 2 - fix E: script-without-shebang - [epel] fix creation of folder etc * Sun Aug 14 2016 Raphael Groner - 1.0.0-1.p1.Lbc08e90 - use official upstream release - clean up build deps - update translations from git - drop langpacks and include in binary subpackages - disable weak dependencies for epel * Sun Aug 07 2016 Raphael Groner - 1.0.0-0.3.Beta4.Tfbab63e - Beta4 * Sun Aug 07 2016 Raphael Groner - 1.0.0-0.2.Beta2.Tfbab63e - avoid dangling-symlink /usr/bin/lte - drop implicit BR: gcc - drop Group tags - compile translations and split into individual langpacks * Fri Jul 15 2016 Raphael Groner - 1.0.0-0.1.Beta2 - version 1.0.0 Beta2 - prepare for review - split more subpackages: i18n, wallpapers * Wed Dec 23 2015 Neal Gompa - Update to 0.8.8 - Bring it closer to Fedora guidelines - Break out Lumina Desktop package into subpackages - Unify 32-bit and 64-bit packaging * Tue Oct 27 2015 Jesse Smith - Update to 0.8.7 * Thu Aug 20 2015 Jesse Smith - Updated for 32-bit * Thu Jul 30 2015 Jesse Smith - Initial build