From a25e6bc8dbeac64de77b81c46d9116989b2b483c Mon Sep 17 00:00:00 2001 From: romildo Date: Tue, 1 Nov 2016 17:06:39 -0200 Subject: lumina: init at 1.1.0-p1 --- pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch | 26 ++++++++ .../lumina/avoid-absolute-path-on-sessdir.patch | 11 ++++ pkgs/desktops/lumina/default.nix | 69 ++++++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch create mode 100644 pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch create mode 100644 pkgs/desktops/lumina/default.nix (limited to 'pkgs/desktops') diff --git a/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch b/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch new file mode 100644 index 0000000000000..6ddd9c76591b1 --- /dev/null +++ b/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch @@ -0,0 +1,26 @@ +diff --git a/src-qt5/core/libLumina/LuminaOS-NixOS.cpp b/src-qt5/core/libLumina/LuminaOS-NixOS.cpp +index b92d1b0..441b1bf 100644 +--- a/src-qt5/core/libLumina/LuminaOS-NixOS.cpp ++++ b/src-qt5/core/libLumina/LuminaOS-NixOS.cpp +@@ -13,17 +13,17 @@ + //can't read xbrightness settings - assume invalid until set + static int screenbrightness = -1; + +-QString LOS::OSName(){ return "Gentoo Linux"; } ++QString LOS::OSName(){ return "NixOS"; } + + //OS-specific prefix(s) + // NOTE: PREFIX, L_ETCDIR, L_SHAREDIR are defined in the OS-detect.pri project file and passed in + QString LOS::LuminaShare(){ return (L_SHAREDIR+"/lumina-desktop/"); } //Install dir for Lumina share files +-QString LOS::AppPrefix(){ return "/usr/"; } //Prefix for applications +-QString LOS::SysPrefix(){ return "/"; } //Prefix for system ++QString LOS::AppPrefix(){ return PREFIX+"/usr"; } //Prefix for applications ++QString LOS::SysPrefix(){ return PREFIX; } //Prefix for system + + //OS-specific application shortcuts (*.desktop files) + QString LOS::ControlPanelShortcut(){ return ""; } //system control panel +-QString LOS::AppStoreShortcut(){ return LOS::AppPrefix() + "/share/applications/porthole.desktop"; } //graphical app/pkg manager ++QString LOS::AppStoreShortcut(){ return ""; } //graphical app/pkg manager + //OS-specific RSS feeds (Format: QStringList[ :::: ]; ) + QStringList LOS::RSSFeeds(){ return QStringList(); } + diff --git a/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch b/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch new file mode 100644 index 0000000000000..f5ef6cba41f6a --- /dev/null +++ b/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch @@ -0,0 +1,11 @@ +diff -Naur lumina-1.0.0-Release-p1-OLD/src-qt5/OS-detect.pri lumina-1.0.0-Release-p1-PATCH/src-qt5/OS-detect.pri +--- lumina-1.0.0-Release-p1-OLD/src-qt5/OS-detect.pri 2016-08-09 12:04:30.000000000 -0300 ++++ lumina-1.0.0-Release-p1-PATCH/src-qt5/OS-detect.pri 2016-08-13 17:32:18.272137900 -0300 +@@ -55,7 +55,6 @@ + #Use the defaults for everything else + + }else : linux-*{ +- L_SESSDIR=/usr/share/xsessions + OS=Linux + LIBS += -L/usr/local/lib -L/usr/lib -L/lib + diff --git a/pkgs/desktops/lumina/default.nix b/pkgs/desktops/lumina/default.nix new file mode 100644 index 0000000000000..66229420cf62c --- /dev/null +++ b/pkgs/desktops/lumina/default.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchFromGitHub, fluxbox, xscreensaver, desktop_file_utils, + numlockx, xorg, qt5, kde5 +}: + +stdenv.mkDerivation rec { + name = "lumina-${version}"; + version = "1.1.0-p1"; + + src = fetchFromGitHub { + owner = "trueos"; + repo = "lumina"; + rev = "v${version}"; + sha256 = "1kkb6v6p6w5mx1qdmcrq3r674k9ahpc6wlsb9pi2lq8qk9yaid0m"; + }; + + nativeBuildInputs = [ + qt5.qmakeHook + qt5.qttools + ]; + + buildInputs = [ + xorg.libxcb + xorg.xcbutilwm + xorg.xcbutilimage + qt5.qtbase + qt5.qtsvg + qt5.qtmultimedia + qt5.qtx11extras + kde5.oxygen-icons5 + fluxbox + xscreensaver + desktop_file_utils + numlockx + ]; + + patches = [ + ./avoid-absolute-path-on-sessdir.patch + ./LuminaOS-NixOS.cpp.patch + ]; + + prePatch = '' + # Copy Gentoo setup as NixOS setup and then patch it + # TODO: write a complete NixOS setup? + cp -a src-qt5/core/libLumina/LuminaOS-Gentoo.cpp src-qt5/core/libLumina/LuminaOS-NixOS.cpp + ''; + + postPatch = '' + # Fix location of fluxbox styles + substituteInPlace src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp \ + --replace 'LOS::AppPrefix()+"share/fluxbox' "\"${fluxbox}/share/fluxbox" + ''; + + qmakeFlags = [ "LINUX_DISTRO=NixOS" ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A lightweight, portable desktop environment"; + longDescription = '' + The Lumina Desktop Environment is a lightweight system interface + that is designed for use on any Unix-like operating system. It + is based on QT5. + ''; + homepage = https://lumina-desktop.org; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} -- cgit 1.4.1 From 167e0a7d460e1e8b52a1299e6cff245d8f2079b2 Mon Sep 17 00:00:00 2001 From: romildo Date: Wed, 9 Nov 2016 09:07:55 -0200 Subject: lumina: install the translation files --- pkgs/desktops/lumina/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/desktops') diff --git a/pkgs/desktops/lumina/default.nix b/pkgs/desktops/lumina/default.nix index 66229420cf62c..dcacabc39c1ee 100644 --- a/pkgs/desktops/lumina/default.nix +++ b/pkgs/desktops/lumina/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { --replace 'LOS::AppPrefix()+"share/fluxbox' "\"${fluxbox}/share/fluxbox" ''; - qmakeFlags = [ "LINUX_DISTRO=NixOS" ]; + qmakeFlags = [ "LINUX_DISTRO=NixOS" "CONFIG+=WITH_I18N" ]; enableParallelBuilding = true; -- cgit 1.4.1