about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/editors/mindforger/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/mindforger/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/editors/mindforger/default.nix40
1 files changed, 32 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/applications/editors/mindforger/default.nix b/nixpkgs/pkgs/applications/editors/mindforger/default.nix
index 512e0f124411..6b93153ec041 100644
--- a/nixpkgs/pkgs/applications/editors/mindforger/default.nix
+++ b/nixpkgs/pkgs/applications/editors/mindforger/default.nix
@@ -1,14 +1,16 @@
-{ mkDerivation
+{ lib
+, stdenv
 , cmark-gfm
 , fetchurl
+, fetchpatch
 , qmake
 , qtbase
-, qtwebkit
-, lib
+, qtwebengine
 , wrapGAppsHook
+, wrapQtAppsHook
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "mindforger";
   version = "1.52.0";
 
@@ -17,19 +19,41 @@ mkDerivation rec {
     sha256 = "1pghsw8kwvjhg3jpmjs0n892h2l0pm0cs6ymi8b23fwk0kfj67rd";
   };
 
-  nativeBuildInputs = [ qmake wrapGAppsHook ] ;
-  buildInputs = [ qtbase qtwebkit cmark-gfm ] ;
+  nativeBuildInputs = [ qmake wrapGAppsHook wrapQtAppsHook ];
+  buildInputs = [ qtbase qtwebengine cmark-gfm ];
 
   doCheck = true;
 
-  patches = [ ./build.patch ] ;
+  patches = [
+    # this makes the package relocatable - removes hardcoded references to /usr
+    ./paths.patch
+    #  this fixes compilation with QtWebEngine - referencing a commit trying to upstream the change - see https://github.com/dvorka/mindforger/pull/1357
+    (fetchpatch {
+      url = "https://github.com/dvorka/mindforger/commit/d28e2bade0278af1b5249953202810540969026a.diff";
+      sha256 = "sha256-qHKQQNGSc3F9seaOHV0gzBQFFqcTXk91LpKrojjpAUw=";
+    })
+  ];
 
   postPatch = ''
     substituteInPlace lib/src/install/installer.cpp --replace /usr "$out"
     substituteInPlace app/resources/gnome-shell/mindforger.desktop --replace /usr "$out"
+    for f in app/app.pro lib/lib.pro; do
+      substituteInPlace "$f" --replace "QMAKE_CXX = g++" ""
+    done
   '';
 
-  qmakeFlags = [ "-r mindforger.pro" "CONFIG+=mfnoccache" ] ;
+  qmakeFlags = [
+    "-r"
+    "mindforger.pro"
+    "CONFIG+=mfnoccache"
+    "CONFIG+=mfwebengine"
+  ];
+
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    mkdir "$out"/Applications
+    mv app/mindforger.app "$out"/Applications/
+    wrapQtApp "$out"/Applications/mindforger.app/Contents/MacOS/mindforger
+  '';
 
   meta = with lib; {
     description = "Thinking Notebook & Markdown IDE";