diff options
author | José Romildo Malaquias <malaquias@gmail.com> | 2019-05-24 08:33:26 -0300 |
---|---|---|
committer | José Romildo Malaquias <malaquias@gmail.com> | 2019-05-24 08:33:26 -0300 |
commit | dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb (patch) | |
tree | 561a8dbcfbf6fde6c7b2502b2b8f5e5075851c7c /pkgs/desktops/lumina/lumina | |
parent | 0ca30f22f1a7c42c274a5fc60c433cbf03906666 (diff) | |
download | nixpkgs-dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb.tar nixpkgs-dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb.tar.gz nixpkgs-dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb.tar.bz2 nixpkgs-dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb.tar.lz nixpkgs-dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb.tar.xz nixpkgs-dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb.tar.zst nixpkgs-dd5a92a1fbddd1e9bb22c0e66f4fcb84672484bb.zip |
lumina: move to pkgs/desktops/lumina/lumina
Diffstat (limited to 'pkgs/desktops/lumina/lumina')
-rw-r--r-- | pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch | 26 | ||||
-rw-r--r-- | pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch | 11 | ||||
-rw-r--r-- | pkgs/desktops/lumina/lumina/default.nix | 84 |
3 files changed, 121 insertions, 0 deletions
diff --git a/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch b/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch new file mode 100644 index 00000000000..6ddd9c76591 --- /dev/null +++ b/pkgs/desktops/lumina/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[ <name>::::<url> ]; ) + QStringList LOS::RSSFeeds(){ return QStringList(); } + diff --git a/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch b/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch new file mode 100644 index 00000000000..f5ef6cba41f --- /dev/null +++ b/pkgs/desktops/lumina/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/lumina/default.nix b/pkgs/desktops/lumina/lumina/default.nix new file mode 100644 index 00000000000..00ebfd8a725 --- /dev/null +++ b/pkgs/desktops/lumina/lumina/default.nix @@ -0,0 +1,84 @@ +{ stdenv, fetchFromGitHub, fluxbox, xscreensaver, desktop-file-utils, + numlockx, xorg, qtbase, qtsvg, qtmultimedia, qtx11extras, qmake, + qttools, poppler, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + name = "lumina-${version}"; + version = "1.4.0-p1"; + + src = fetchFromGitHub { + owner = "trueos"; + repo = "lumina"; + rev = "v${version}"; + sha256 = "0jin0a2s6pjbpw7w1bz67dgqp0xlpw1a7nh8zv0qwdf954zczanp"; + }; + + nativeBuildInputs = [ + qmake + qttools + wrapGAppsHook + ]; + + buildInputs = [ + xorg.libxcb + xorg.libXdamage + xorg.xcbutilwm + xorg.xcbutilimage + qtbase + qtsvg + qtmultimedia + qtx11extras + poppler + 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 poppler-qt5.h + substituteInPlace src-qt5/desktop-utils/lumina-pdf/mainUI.h \ + --replace '#include <poppler-qt5.h>' '#include <poppler/qt5/poppler-qt5.h>' + + # Fix plugin dir + substituteInPlace src-qt5/core/lumina-theme-engine/lthemeengine.pri \ + --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" + + # 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" + "CONFIG+=WITH_I18N" + "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" + ]; + + 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 ]; + }; +} |