Unverified Commit 3b2d431a authored by Anderson Torres's avatar Anderson Torres Committed by GitHub
Browse files

Merge pull request #191820 from AndersonTorres/vym

vym: 2.7.1 -> 2.8.42
parents 57b25e9d 169d4a17
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
diff -Naur source-old/src/main.cpp source-new/src/main.cpp
--- source-old/src/main.cpp	1969-12-31 21:00:01.000000000 -0300
+++ source-new/src/main.cpp	2022-10-23 22:30:00.463905363 -0300
@@ -286,13 +286,10 @@
     // Platform specific settings
     vymPlatform = QSysInfo::prettyProductName();
 
-#if defined(Q_OS_WINDOWS)
-    // Only Windows 10 has tar. Older windows versions not supported.
-    zipToolPath = "tar";
-#else
-    zipToolPath = "/usr/bin/zip";
-    unzipToolPath = "/usr/bin/unzip";
-#endif
+    // Nixpkgs-specific hack
+    zipToolPath = "@zipPath@";
+    unzipToolPath = "@unzipPath@";
+
     iconPath = vymBaseDir.path() + "/icons/";
     flagsPath = vymBaseDir.path() + "/flags/";
 
+54 −44
Original line number Diff line number Diff line
{ lib, mkDerivation, fetchurl, pkg-config, qmake, qtscript, qtsvg }:
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, qmake
, qtbase
, qtscript
, qtsvg
, substituteAll
, unzip
, wrapQtAppsHook
, zip
}:

mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "vym";
  version = "2.7.1";
  version = "2.8.42";

  src = fetchurl {
    url = "mirror://sourceforge/project/vym/${version}/${pname}-${version}.tar.bz2";
    sha256 = "0lyf0m4y5kn5s47z4sg10215f3jsn3k1bl389jfbh2f5v4srav4g";
  src = fetchFromGitHub {
    owner = "insilmaril";
    repo = "vym";
    rev = "89f50bcba953c410caf459b0a4bfbd09018010b7"; # not tagged yet (why??)
    hash = "sha256-xMXvc8gt3nfKWbU+WoS24wCUTGDQRhG0Q9m7yDhY5/w=";
  };

  # Hardcoded paths scattered about all have form share/vym
  # which is encouraging, although we'll need to patch them (below).
  qmakeFlags = [
    "DATADIR=${placeholder "out"}/share"
    "DOCDIR=${placeholder "out"}/share/doc/vym"
  patches = [
    (substituteAll {
      src = ./000-fix-zip-paths.diff;
      zipPath = "${zip}/bin/zip";
      unzipPath = "${unzip}/bin/unzip";
    })
  ];

  postPatch = ''
    for x in \
      exportoofiledialog.cpp \
      main.cpp \
      mainwindow.cpp \
      tex/*.{tex,lyx}; \
    do
      substituteInPlace $x \
        --replace /usr/share/vym $out/share/vym \
        --replace /usr/local/share/vym $out/share/vym \
        --replace /usr/share/doc $out/share/doc/vym
    done
  '';

  hardeningDisable = [ "format" ];
  nativeBuildInputs = [
    cmake
    pkg-config
    wrapQtAppsHook
  ];

  nativeBuildInputs = [ pkg-config qmake ];
  buildInputs = [ qtscript qtsvg ];
  buildInputs = [
    qtbase
    qtscript
    qtsvg
  ];

  postInstall = ''
    install -Dm755 -t $out/share/man/man1 doc/*.1.gz
  '';
  qtWrapperArgs = [
    "--prefix PATH : ${lib.makeBinPath [ unzip zip ]}"
  ];

  meta = with lib; {
    homepage = "http://www.insilmaril.de/vym/";
    description = "A mind-mapping software";
    longDescription = ''
      VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts.
      Such maps can help you to improve your creativity and effectivity. You can use them
      for time management, to organize tasks, to get an overview over complex contexts,
      to sort your ideas etc.

      Maps can be drawn by hand on paper or a flip chart and help to structure your thoughs.
      While a tree like structure like shown on this page can be drawn by hand or any drawing software
      vym offers much more features to work with such maps.
      VYM (View Your Mind) is a tool to generate and manipulate maps which show
      your thoughts. Such maps can help you to improve your creativity and
      effectivity. You can use them for time management, to organize tasks, to
      get an overview over complex contexts, to sort your ideas etc.

      Maps can be drawn by hand on paper or a flip chart and help to structure
      your thoughs. While a tree like structure like shown on this page can be
      drawn by hand or any drawing software vym offers much more features to
      work with such maps.
    '';
    homepage = "http://www.insilmaril.de/vym/";
    license = licenses.gpl2;
    license = licenses.gpl2Plus;
    maintainers = [ maintainers.AndersonTorres ];
    platforms = platforms.linux;
  };
}
})
+3 −1
Original line number Diff line number Diff line
@@ -32607,7 +32607,9 @@ with pkgs;
  yeahwm = callPackage ../applications/window-managers/yeahwm { };
  vym = qt5.callPackage ../applications/misc/vym { };
  vym = callPackage ../applications/misc/vym {
    inherit (libsForQt5) qmake qtscript qtsvg qtbase wrapQtAppsHook;
  };
  wad = callPackage ../tools/security/wad { };