nixpkgs/pkgs/applications/graphics/write_stylus/default.nix
K900 cb2cfba6f7 treewide: switch all desktop file generators to new API
Notably:
- remove explicit arguments that match the defaults
- convert everything to the right Nix types
2022-02-25 13:40:38 -08:00

62 lines
1.7 KiB
Nix

{ mkDerivation, stdenv, lib, qtbase, qtsvg, libglvnd, libX11, libXi, fetchurl, makeDesktopItem }:
let
desktopItem = makeDesktopItem {
name = "Write";
exec = "Write";
comment = "A word processor for handwriting";
icon = "write_stylus";
desktopName = "Write";
genericName = "Write";
categories = [ "Office" "Graphics" ];
};
in
mkDerivation rec {
pname = "write_stylus";
version = "300";
src = fetchurl {
url = "http://www.styluslabs.com/write/write${version}.tar.gz";
sha256 = "0h1wf3af7jzp3f3l8mlnshi83d7a4v4y8nfqfai4lmskyicqlz7c";
};
sourceRoot = ".";
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
cp -R Write $out/
# symlink the binary to bin/
ln -s $out/Write/Write $out/bin/Write
# Create desktop item
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications/
mkdir -p $out/share/icons
ln -s $out/Write/Write144x144.png $out/share/icons/write_stylus.png
'';
preFixup = let
libPath = lib.makeLibraryPath [
qtbase # libQt5PrintSupport.so.5
qtsvg # libQt5Svg.so.5
stdenv.cc.cc.lib # libstdc++.so.6
libglvnd # libGL.so.1
libX11 # libX11.so.6
libXi # libXi.so.6
];
in ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
$out/Write/Write
'';
meta = with lib; {
homepage = "http://www.styluslabs.com/";
description = "Write is a word processor for handwriting";
platforms = platforms.linux;
license = lib.licenses.unfree;
maintainers = with maintainers; [ oyren ];
};
}