about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-05-28 08:32:03 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-05-28 08:32:03 +0200
commit36a6746f2178141465761ce36de888389bc2968a (patch)
tree5c04c72e71624722e8f004b407712ff297c73ead /pkgs/desktops
parent8809ebe42a6e2ebd4fd8e742efbebb343f422572 (diff)
parent2a56ea3593aa0702a61313572c2211ef947f4d1f (diff)
downloadnixlib-36a6746f2178141465761ce36de888389bc2968a.tar
nixlib-36a6746f2178141465761ce36de888389bc2968a.tar.gz
nixlib-36a6746f2178141465761ce36de888389bc2968a.tar.bz2
nixlib-36a6746f2178141465761ce36de888389bc2968a.tar.lz
nixlib-36a6746f2178141465761ce36de888389bc2968a.tar.xz
nixlib-36a6746f2178141465761ce36de888389bc2968a.tar.zst
nixlib-36a6746f2178141465761ce36de888389bc2968a.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/enlightenment/terminology.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix10
-rw-r--r--pkgs/desktops/lumina/default.nix98
-rw-r--r--pkgs/desktops/lumina/lumina-calculator/default.nix32
-rw-r--r--pkgs/desktops/lumina/lumina-pdf/default.nix38
-rw-r--r--pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch (renamed from pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch)0
-rw-r--r--pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch (renamed from pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch)0
-rw-r--r--pkgs/desktops/lumina/lumina/default.nix89
8 files changed, 193 insertions, 82 deletions
diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix
index 5c8aba4d882f..a2cd8ee192d0 100644
--- a/pkgs/desktops/enlightenment/terminology.nix
+++ b/pkgs/desktops/enlightenment/terminology.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, efl, pcre, mesa_noglu, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "terminology-${version}";
-  version = "1.4.0";
+  pname = "terminology";
+  version = "1.4.1";
 
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
-    sha256 = "0q1y7fadj42n23aspx9y8hm4w4xlc316wc3415wnf75ibsx08ngd";
+    url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0mm9v5a94369is3kaarnr3a28wy42wslzi1mcisaidlcldgv7f6p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index 4b0ae91d78f5..6e7f0716eefb 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,5 +1,6 @@
 { fetchFromGitLab
 , stdenv
+, fetchpatch
 , meson
 , ninja
 , pkgconfig
@@ -50,6 +51,15 @@ stdenv.mkDerivation rec {
     sha256 = "1klq8j70q8r8hyqv1wi6jcx8g76yh46bh8614y82zzggn4cx6y3r";
   };
 
+
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-11459.patch";
+      url = "https://gitlab.gnome.org/GNOME/evince/commit/3e38d5ad724a042eebadcba8c2d57b0f48b7a8c7.patch";
+      sha256 = "1ds6iwr2r9i86nwrly8cx7p1kbvf1gljjplcffa67znxqmwx4n74";
+    })
+  ];
+
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
diff --git a/pkgs/desktops/lumina/default.nix b/pkgs/desktops/lumina/default.nix
index 00ebfd8a7253..10e75eea38f0 100644
--- a/pkgs/desktops/lumina/default.nix
+++ b/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/pkgs/desktops/lumina/lumina-calculator/default.nix b/pkgs/desktops/lumina/lumina-calculator/default.nix
new file mode 100644
index 000000000000..70e0f2e3511c
--- /dev/null
+++ b/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/pkgs/desktops/lumina/lumina-pdf/default.nix b/pkgs/desktops/lumina/lumina-pdf/default.nix
new file mode 100644
index 000000000000..62d59d18cc55
--- /dev/null
+++ b/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/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch b/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch
index 6ddd9c76591b..6ddd9c76591b 100644
--- a/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch
+++ b/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch
diff --git a/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch b/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch
index f5ef6cba41f6..f5ef6cba41f6 100644
--- a/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch
+++ b/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch
diff --git a/pkgs/desktops/lumina/lumina/default.nix b/pkgs/desktops/lumina/lumina/default.nix
new file mode 100644
index 000000000000..c758fc38a1b9
--- /dev/null
+++ b/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 ];
+  };
+}