diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-06-12 09:59:45 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-06-18 18:14:17 +0000 |
commit | c5571a126859eb658ffd7340cb580f7d91f12bb6 (patch) | |
tree | 577573c3bf14d9849246d52daece719a10eaf138 /nixpkgs/pkgs/desktops/lumina | |
parent | 828bd4e8ddcbcd354ddfd99f55af69ee8ff5d9e7 (diff) | |
parent | 98e3b90b6c8f400ae5438ef868eb992a64b75ce5 (diff) | |
download | nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.gz nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.bz2 nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.lz nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.xz nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.zst nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.zip |
Merge commit '98e3b90b6c8f400ae5438ef868eb992a64b75ce5'
Diffstat (limited to 'nixpkgs/pkgs/desktops/lumina')
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/default.nix | 98 | ||||
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/lumina-calculator/default.nix | 32 | ||||
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/lumina-pdf/default.nix | 38 | ||||
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch (renamed from nixpkgs/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch) | 0 | ||||
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch (renamed from nixpkgs/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch) | 0 | ||||
-rw-r--r-- | nixpkgs/pkgs/desktops/lumina/lumina/default.nix | 89 |
6 files changed, 179 insertions, 78 deletions
diff --git a/nixpkgs/pkgs/desktops/lumina/default.nix b/nixpkgs/pkgs/desktops/lumina/default.nix index 00ebfd8a7253..10e75eea38f0 100644 --- a/nixpkgs/pkgs/desktops/lumina/default.nix +++ b/nixpkgs/pkgs/desktops/lumina/default.nix @@ -1,84 +1,26 @@ -{ stdenv, fetchFromGitHub, fluxbox, xscreensaver, desktop-file-utils, - numlockx, xorg, qtbase, qtsvg, qtmultimedia, qtx11extras, qmake, - qttools, poppler, wrapGAppsHook -}: +{ pkgs, libsForQt5 }: -stdenv.mkDerivation rec { - name = "lumina-${version}"; - version = "1.4.0-p1"; +let + packages = self: with self; { - 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 - ''; + lumina = callPackage ./lumina { }; + lumina-calculator = callPackage ./lumina-calculator { }; + lumina-pdf = callPackage ./lumina-pdf { }; - 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>' + preRequisitePackages = [ + pkgs.fluxbox + pkgs.libsForQt5.kwindowsystem + pkgs.numlockx + pkgs.qt5.qtsvg + pkgs.xscreensaver + ]; - # Fix plugin dir - substituteInPlace src-qt5/core/lumina-theme-engine/lthemeengine.pri \ - --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" + corePackages = [ + lumina + lumina-calculator + lumina-pdf + ]; - # 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 ]; }; -} + +in pkgs.lib.makeScope libsForQt5.newScope packages diff --git a/nixpkgs/pkgs/desktops/lumina/lumina-calculator/default.nix b/nixpkgs/pkgs/desktops/lumina/lumina-calculator/default.nix new file mode 100644 index 000000000000..70e0f2e3511c --- /dev/null +++ b/nixpkgs/pkgs/desktops/lumina/lumina-calculator/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, qmake, qtbase, qttools }: + +stdenv.mkDerivation rec { + pname = "lumina-calculator"; + version = "2019-04-27"; + + src = fetchFromGitHub { + owner = "lumina-desktop"; + repo = pname; + rev = "ccb792fc713aa7163fffd37fc20c83ffe9ca7523"; + sha256 = "0cdyz94znycsc3qxg5bmg51bwms7586d4ja1bsmj8cb9pd3lv980"; + }; + + sourceRoot = "source/src-qt5"; + + nativeBuildInputs = [ qmake qttools ]; + + buildInputs = [ qtbase ]; + + qmakeFlags = [ + "CONFIG+=WITH_I18N" + "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" + ]; + + meta = with stdenv.lib; { + description = "Scientific calculator for the Lumina Desktop"; + homepage = https://github.com/lumina-desktop/lumina-calculator; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/lumina/lumina-pdf/default.nix b/nixpkgs/pkgs/desktops/lumina/lumina-pdf/default.nix new file mode 100644 index 000000000000..62d59d18cc55 --- /dev/null +++ b/nixpkgs/pkgs/desktops/lumina/lumina-pdf/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, poppler }: + +stdenv.mkDerivation rec { + pname = "lumina-pdf"; + version = "2019-04-27"; + + src = fetchFromGitHub { + owner = "lumina-desktop"; + repo = pname; + rev = "645ed591ef91c3607d3ab87dd86f7acfd08b05c9"; + sha256 = "0gl943jb9c9rcgb5wksx3946hwlifghfd27r97skm9is8ih6k0vn"; + }; + + sourceRoot = "source/src-qt5"; + + nativeBuildInputs = [ qmake qttools ]; + + buildInputs = [ qtbase poppler ]; + + postPatch = '' + sed -i '1i\#include <memory>\' Renderer-poppler.cpp + ''; + + qmakeFlags = [ + "CONFIG+=WITH_I18N" + "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" + ]; + + enableParallelBuilding = false; + + meta = with stdenv.lib; { + description = "PDF viewer for the Lumina Desktop"; + homepage = https://github.com/lumina-desktop/lumina-pdf; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch b/nixpkgs/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch index 6ddd9c76591b..6ddd9c76591b 100644 --- a/nixpkgs/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch +++ b/nixpkgs/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch diff --git a/nixpkgs/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch b/nixpkgs/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch index f5ef6cba41f6..f5ef6cba41f6 100644 --- a/nixpkgs/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch +++ b/nixpkgs/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch diff --git a/nixpkgs/pkgs/desktops/lumina/lumina/default.nix b/nixpkgs/pkgs/desktops/lumina/lumina/default.nix new file mode 100644 index 000000000000..c758fc38a1b9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/lumina/lumina/default.nix @@ -0,0 +1,89 @@ +{ stdenv, + fetchFromGitHub, + desktop-file-utils, + fluxbox, + numlockx, + qmake, + qtbase, + qtmultimedia, + qtsvg, + qttools, + qtx11extras, + xorg, + xscreensaver, + wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "lumina"; + version = "1.5.0"; + + src = fetchFromGitHub { + owner = "lumina-desktop"; + repo = pname; + rev = "v${version}"; + sha256 = "0rj2gzifr98db7i82cg3hg7l5yfik810pjpawg6n54qbzq987z25"; + }; + + nativeBuildInputs = [ + qmake + qttools + wrapGAppsHook + ]; + + buildInputs = [ + xorg.libxcb + xorg.libXcursor + xorg.libXdamage + xorg.xcbutilwm + xorg.xcbutilimage + qtbase + qtsvg + qtmultimedia + qtx11extras + 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 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" + ]; + + 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 ]; + }; +} |