diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/xmind')
-rw-r--r-- | nixpkgs/pkgs/applications/misc/xmind/default.nix | 92 | ||||
-rw-r--r-- | nixpkgs/pkgs/applications/misc/xmind/java-env-config-fixes.patch | 40 |
2 files changed, 132 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/xmind/default.nix b/nixpkgs/pkgs/applications/misc/xmind/default.nix new file mode 100644 index 000000000000..5f71f9099266 --- /dev/null +++ b/nixpkgs/pkgs/applications/misc/xmind/default.nix @@ -0,0 +1,92 @@ +{ stdenv, lib, fetchzip, fetchurl, gtk2, jre, libXtst, makeWrapper, makeDesktopItem, runtimeShell }: + +stdenv.mkDerivation rec { + pname = "xmind"; + version = "8-update8"; + + src = fetchzip { + url = "https://xmind.net/xmind/downloads/${pname}-${version}-linux.zip"; + stripRoot = false; + sha256 = "1p68z0b4brgiyybz190alqv716ncql49vsksm41y90mcjd8s4jhn"; + }; + + srcIcon = fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/xmind.png?h=xmind"; + sha256 = "0jxq2fiq69q9ly0m6hx2qfybqad22sl42ciw636071khpqgc885f"; + }; + + preferLocalBuild = true; + + patches = [ ./java-env-config-fixes.patch ]; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + dontPatchELF = true; + dontStrip = true; + + libPath = lib.makeLibraryPath [ gtk2 libXtst ]; + + desktopItem = makeDesktopItem { + name = "XMind"; + exec = "XMind"; + icon = "xmind"; + desktopName = "XMind"; + comment = meta.description; + categories = "Office;"; + mimeType = "application/xmind;x-scheme-handler/xmind"; + }; + + installPhase = let + targetDir = if stdenv.hostPlatform.system == "i686-linux" + then "XMind_i386" + else "XMind_amd64"; + in '' + mkdir -p $out/{bin,libexec/configuration/,share/{applications/,fonts/,icons/hicolor/scalable/apps/}} + cp -r ${targetDir}/{configuration,p2,XMind{,.ini}} $out/libexec + cp -r {plugins,features} $out/libexec/ + cp -r fonts $out/share/fonts/ + cp "${desktopItem}/share/applications/XMind.desktop" $out/share/applications/XMind.desktop + cp ${srcIcon} $out/share/icons/hicolor/scalable/apps/xmind.png + + patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + $out/libexec/XMind + + wrapProgram $out/libexec/XMind \ + --prefix LD_LIBRARY_PATH : "${libPath}" + + # Inspired by https://aur.archlinux.org/cgit/aur.git/tree/?h=xmind + cat >$out/bin/XMind <<EOF + #! ${runtimeShell} + if [ ! -d "\$HOME/.xmind" ]; then + mkdir -p "\$HOME/.xmind/configuration-cathy/" + cp -r $out/libexec/configuration/ \$HOME/.xmind/configuration-cathy/ + fi + + exec "$out/libexec/XMind" "\$@" + EOF + chmod +x $out/bin/XMind + + ln -s ${jre} $out/libexec/jre + ''; + + meta = with lib; { + description = "Mind-mapping software"; + longDescription = '' + XMind is a mind mapping and brainstorming software. In addition + to the management elements, the software can capture ideas, + clarify thinking, manage complex information, and promote team + collaboration for higher productivity. + + It supports mind maps, fishbone diagrams, tree diagrams, + organization charts, spreadsheets, etc. Normally, it is used for + knowledge management, meeting minutes, task management, and + GTD. Meanwhile, XMind can read FreeMind and MindManager files, + and save to Evernote. + ''; + homepage = "https://www.xmind.net/"; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ michalrus ]; + }; +} diff --git a/nixpkgs/pkgs/applications/misc/xmind/java-env-config-fixes.patch b/nixpkgs/pkgs/applications/misc/xmind/java-env-config-fixes.patch new file mode 100644 index 000000000000..f359a9c2ba46 --- /dev/null +++ b/nixpkgs/pkgs/applications/misc/xmind/java-env-config-fixes.patch @@ -0,0 +1,40 @@ +diff --git a/XMind_amd64/XMind.ini b/XMind_amd64/XMind.ini +index bdd8a37..5f35daf 100644 +--- a/XMind_amd64/XMind.ini ++++ b/XMind_amd64/XMind.ini +@@ -1,11 +1,11 @@ + -configuration +-./configuration ++@user.home/.xmind/configuration-cathy_linux_64 + -data +-../workspace ++@user.home/.xmind/workspace-cathy + -startup +-../plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar ++plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar + --launcher.library +-../plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444 ++plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444 + --launcher.defaultAction + openFile + --launcher.GTK_version +diff --git a/XMind_i386/XMind.ini b/XMind_i386/XMind.ini +index 4ed3225..1d74258 100644 +--- a/XMind_i386/XMind.ini ++++ b/XMind_i386/XMind.ini +@@ -1,11 +1,11 @@ + -configuration +-./configuration ++@user.home/.xmind/configuration-cathy_linux_64 + -data +-../workspace ++@user.home/.xmind/workspace-cathy + -startup +-../plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar ++plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar + --launcher.library +-../plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.400.v20160518-1444 ++plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.400.v20160518-1444 + --launcher.defaultAction + openFile + --launcher.GTK_version |