From 966c2ed234d5468d322efeedd58e75ffb49104ac Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 16 Aug 2020 15:18:25 +0200 Subject: [PATCH] xxe-pe: init at 9.4.0 Add a proprietary DocBook editor free for personal use. https://www.xmlmind.com/xmleditor/ --- pkgs/applications/editors/xxe-pe/default.nix | 77 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 79 insertions(+) create mode 100644 pkgs/applications/editors/xxe-pe/default.nix diff --git a/pkgs/applications/editors/xxe-pe/default.nix b/pkgs/applications/editors/xxe-pe/default.nix new file mode 100644 index 00000000000..e7cfe6284e3 --- /dev/null +++ b/pkgs/applications/editors/xxe-pe/default.nix @@ -0,0 +1,77 @@ +{ stdenv +, fetchurl +, lib +, unzip +, makeWrapper +, openjdk11 +, makeDesktopItem +, icoutils +, config +, acceptLicense ? config.xxe-pe.acceptLicense or false +}: + +let + pkg_path = "$out/lib/xxe"; + + desktopItem = makeDesktopItem { + name = "XMLmind XML Editor Personal Edition"; + exec = "xxe"; + icon = "xxe"; + desktopName = "xxe"; + genericName = "XML Editor"; + categories = "Development;IDE;TextEditor;Java"; + }; +in +stdenv.mkDerivation rec { + pname = "xxe-pe"; + version = "9.4.0"; + + src = + assert !acceptLicense -> throw '' + You must accept the XMLmind XML Editor Personal Edition License at + https://www.xmlmind.com/xmleditor/license_xxe_perso.html + by setting nixpkgs config option `xxe-pe.acceptLicense = true;` + or by using `xxe-pe.override { acceptLicense = true; }` package. + ''; + fetchurl { + url = "https://www.xmlmind.com/xmleditor/_download/xxe-perso-${builtins.replaceStrings [ "." ] [ "_" ] version}.zip"; + sha256 = "FKPdf9cOpgm/WG2i8bFnR6MmEifpiq5ykw2zHA8HnT8="; + }; + + nativeBuildInputs = [ + unzip + makeWrapper + icoutils + ]; + + dontStrip = true; + + installPhase = '' + mkdir -p "${pkg_path}" + mkdir -p "${pkg_path}" "$out/share/applications" + cp -a * "${pkg_path}" + ln -s ${desktopItem}/share/applications/* $out/share/applications + + icotool -x "${pkg_path}/bin/icon/xxe.ico" + ls + for f in xxe_*.png; do + res=$(basename "$f" ".png" | cut -d"_" -f3 | cut -d"x" -f1-2) + mkdir -pv "$out/share/icons/hicolor/$res/apps" + mv "$f" "$out/share/icons/hicolor/$res/apps/xxe.png" + done; + ''; + + postFixup = '' + mkdir -p "$out/bin" + makeWrapper "${pkg_path}/bin/xxe" "$out/bin/xxe" \ + --prefix PATH : ${lib.makeBinPath [ openjdk11 ]} + ''; + + meta = with lib; { + description = "Strictly validating, near WYSIWYG, XML editor with DocBook support"; + homepage = "https://www.xmlmind.com/xmleditor/"; + license = licenses.unfree; + maintainers = [ maintainers.jtojnar ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 10227d8ff10..1db04c79ad1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11433,6 +11433,8 @@ in xxdiff = libsForQt5.callPackage ../development/tools/misc/xxdiff { }; + xxe-pe = callPackage ../applications/editors/xxe-pe { }; + xxdiff-tip = xxdiff; yaml2json = callPackage ../development/tools/yaml2json { };