diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/desktops/lumina | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/desktops/lumina')
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch | 26 | ||||
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch | 11 | ||||
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/default.nix | 84 |
3 files changed, 121 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch b/nixpkgs/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch new file mode 100644 index 000000000000..6ddd9c76591b --- /dev/null +++ b/nixpkgs/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[ <name>::::<url> ]; ) + QStringList LOS::RSSFeeds(){ return QStringList(); } + diff --git a/nixpkgs/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch b/nixpkgs/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch new file mode 100644 index 000000000000..f5ef6cba41f6 --- /dev/null +++ b/nixpkgs/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/nixpkgs/pkgs/desktops/lumina/default.nix b/nixpkgs/pkgs/desktops/lumina/default.nix new file mode 100644 index 000000000000..00ebfd8a7253 --- /dev/null +++ b/nixpkgs/pkgs/desktops/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 ]; + }; +} |