about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2023-01-09 15:44:55 +0100
committerGitHub <noreply@github.com>2023-01-09 15:44:55 +0100
commitfd8d0a5be6e407b57be880534da60f2b0a06544d (patch)
tree10f2d3265103cfa35a34a2b76b1609d0a2208a7a
parent41fe886f68082cde1176d706c2e94bc469a77a8c (diff)
parent6d934670db8a1c2a198f10da567fa0777bfe0c91 (diff)
Merge pull request #208752 from totoroot/qownnotes-darwin-support
-rw-r--r--pkgs/applications/office/qownnotes/default.nix61
1 files changed, 49 insertions, 12 deletions
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index bb27f0d4ec906..158c2389a3139 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -1,29 +1,66 @@
-{ mkDerivation, lib, stdenv, fetchurl
-, qmake, qttools, qtbase, qtsvg, qtdeclarative, qtxmlpatterns, qtwebsockets
-, qtx11extras, qtwayland
+{ lib
+, stdenv
+, fetchurl
+, qmake
+, qttools
+, qtbase
+, qtdeclarative
+, qtsvg
+, qtwayland
+, qtwebsockets
+, qtx11extras
+, qtxmlpatterns
+, makeWrapper
+, wrapQtAppsHook
 }:
 
-mkDerivation rec {
+let
   pname = "qownnotes";
-  version = "22.12.3";
+  appname = "QOwnNotes";
+  version = "23.1.0";
+in
+stdenv.mkDerivation {
+  inherit pname appname version;
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
-    # Fetch the checksum of current version with curl:
-    # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
-    sha256 = "sha256-fpI7RYOGmWwmau6tF8FPmY2/FtN9foWRX8/WgrNU6E8=";
+    sha256 = "sha256-HMs8DTL2BDSDmchadpVvbShjJMPP6W587F38uiixCuQ=";
   };
 
-  nativeBuildInputs = [ qmake qttools ];
+  nativeBuildInputs = [
+    qmake
+    qttools
+    wrapQtAppsHook
+  ] ++ lib.optionals stdenv.isDarwin [ makeWrapper ];
 
-  buildInputs = [ qtbase qtsvg qtdeclarative qtxmlpatterns qtwebsockets qtx11extras ]
-    ++ lib.optionals stdenv.isLinux [ qtwayland ];
+  buildInputs = [
+    qtbase
+    qtdeclarative
+    qtsvg
+    qtwebsockets
+    qtx11extras
+    qtxmlpatterns
+  ] ++ lib.optionals stdenv.isLinux [ qtwayland ];
+
+  postInstall =
+  # Create a lowercase symlink for Linux
+  lib.optionalString stdenv.isLinux ''
+    ln -s $out/bin/${appname} $out/bin/${pname}
+  ''
+  # Wrap application for macOS as lowercase binary
+  + lib.optionalString stdenv.isDarwin ''
+    mkdir -p $out/Applications
+    mv $out/bin/${appname}.app $out/Applications
+    makeWrapper $out/Applications/${appname}.app/Contents/MacOS/${appname} $out/bin/${pname}
+  '';
 
   meta = with lib; {
     description = "Plain-text file notepad and todo-list manager with markdown support and Nextcloud/ownCloud integration";
     homepage = "https://www.qownnotes.org/";
+    changelog = "https://www.qownnotes.org/changelog.html";
+    downloadPage = "https://github.com/pbek/QOwnNotes/releases/tag/v${version}";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ totoroot ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }