Unverified Commit 9144c748 authored by Pol Dellaiera's avatar Pol Dellaiera Committed by GitHub
Browse files

xmind: 8-update9 -> 25.01.01061-202501070800 (#393425)

parents 0363e5fd cd6825c7
Loading
Loading
Loading
Loading
+0 −40
Original line number Diff line number Diff line
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
+85 −98
Original line number Diff line number Diff line
{
  stdenv,
  lib,
  fetchzip,
  stdenv,
  fetchurl,
  dpkg,
  autoPatchelfHook,
  glib,
  at-spi2-atk,
  cairo,
  pango,
  gtk3,
  jre8,
  libXtst,
  makeWrapper,
  makeDesktopItem,
  runtimeShell,
  nss,
  nspr,
  cups,
  dbus,
  libdrm,
  libxkbcommon,
  alsa-lib,
  expat,
  xorg,
  libgbm,
  systemd,
  libGL,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "xmind";
  version = "8-update9";

  src = fetchzip {
    url = "https://www.xmind.app/xmind/downloads/${pname}-${version}-linux.zip";
    stripRoot = false;
    sha256 = "9769c4a9d42d3370ed2c2d1bed5a5d78f1fc3dc5bd604b064b56101fc7f90bb4";
  };
  version = "25.01.01061-202501070800";

  srcIcon = fetchurl {
    url = "https://aur.archlinux.org/cgit/aur.git/plain/xmind.png?h=xmind&id=41936c866b244b34d7dfbee373cbb835eed7860b";
    sha256 = "0jxq2fiq69q9ly0m6hx2qfybqad22sl42ciw636071khpqgc885f";
  src = fetchurl {
    url = "https://dl3.xmind.app/Xmind-for-Linux-amd64bit-${finalAttrs.version}.deb";
    hash = "sha256-Mp2aC/yHoB29t9QY4Tnbgn//J8Gordt5S1JrJn0BvXg=";
  };

  preferLocalBuild = true;

  patches = [ ./java-env-config-fixes.patch ];

  nativeBuildInputs = [ makeWrapper ];

  dontBuild = true;
  dontPatchELF = true;
  dontStrip = true;
  nativeBuildInputs = [
    dpkg
    autoPatchelfHook
  ];

  libPath = lib.makeLibraryPath [
  buildInputs = [
    (lib.getLib stdenv.cc.cc)
    xorg.libX11
    xorg.libXext
    xorg.libxcb
    xorg.libXcomposite
    xorg.libXdamage
    xorg.libXfixes
    xorg.libXrandr
    xorg.libxkbfile
    glib
    at-spi2-atk
    cairo
    pango
    gtk3
    libXtst
    nss
    nspr
    cups
    dbus
    libdrm
    libxkbcommon
    alsa-lib
    expat
    libgbm
  ];

  desktopItem = makeDesktopItem {
    name = "XMind";
    exec = "XMind";
    icon = "xmind";
    desktopName = "XMind";
    comment = meta.description;
    categories = [ "Office" ];
    mimeTypes = [
      "application/xmind"
      "x-scheme-handler/xmind"
  runtimeDependencies = map lib.getLib [
    systemd
  ];
  };

  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
  installPhase = ''
    runHook preInstall

        exec "$out/libexec/XMind" "\$@"
      EOF
      chmod +x $out/bin/XMind
    cp -r usr $out
    substituteInPlace $out/share/applications/xmind.desktop \
      --replace-fail "/opt/Xmind/xmind" "/opt/Xmind/"
    mkdir -p $out/opt $out/bin
    cp -r opt/Xmind $out/opt/xmind
    ln -s $out/opt/xmind/xmind $out/bin/xmind

      ln -s ${jre8} $out/libexec/jre
    runHook postInstall
  '';

  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.
  preFixup = ''
    patchelf --add-needed libGL.so.1 \
      --add-rpath ${
        lib.makeLibraryPath [
          libGL
        ]
      } $out/opt/xmind/xmind
  '';
    homepage = "https://www.xmind.net/";
    sourceProvenance = with sourceTypes; [
      binaryBytecode
      binaryNativeCode
    ];
    mainProgram = "XMind";
    license = licenses.unfree;
    platforms = platforms.linux;
    maintainers = with maintainers; [ michalrus ];

  meta = {
    description = "All-in-one thinking tool featuring mind mapping, AI generation, and real-time collaboration";
    homepage = "https://xmind.app";
    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
    mainProgram = "xmind";
    license = lib.licenses.unfree;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [ michalrus ];
  };
}
})