{ mkDerivation, lib, stdenv, fetchurl , qmake, qttools, qtbase, qtsvg, qtdeclarative, qtxmlpatterns, qtwebsockets , qtx11extras, qtwayland }: let pname = "qownnotes"; appname = "QOwnNotes"; version = "22.12.3"; 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-.tar.xz.sha256 sha256 = "sha256-fpI7RYOGmWwmau6tF8FPmY2/FtN9foWRX8/WgrNU6E8="; }; nativeBuildInputs = [ qmake qttools wrapQtAppsHook ] ++ lib.optionals stdenv.isDarwin [ makeWrapper ]; buildInputs = [ qtbase qtsvg qtdeclarative qtxmlpatterns qtwebsockets qtx11extras ] ++ 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/"; license = licenses.gpl2Only; maintainers = with maintainers; [ totoroot ]; platforms = platforms.unix; }; }