Unverified Commit d75577c3 authored by Emily Trau's avatar Emily Trau Committed by GitHub
Browse files

detect-it-easy: init at 3.09 (#349841)

parents 5a95c262 d6cd2901
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -9493,6 +9493,12 @@
    githubId = 1318743;
    name = "Ivar";
  };
  ivyfanchiang = {
    email = "dev@ivyfanchiang.ca";
    github = "hexadecimalDinosaur";
    githubId = 36890802;
    name = "Ivy Fan-Chiang";
  };
  iwanb = {
    email = "tracnar@gmail.com";
    github = "iwanb";
+44 −0
Original line number Diff line number Diff line
diff --git a/XOptions/xoptions.cpp b/XOptions/xoptions.cpp
index ca5723e..30574a5 100755
--- a/XOptions/xoptions.cpp
+++ b/XOptions/xoptions.cpp
@@ -1531,14 +1531,7 @@ bool XOptions::checkNative(const QString &sIniFileName)
 #if defined(Q_OS_MAC)
     bResult = true;
 #elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
-    QString sApplicationDirPath = qApp->applicationDirPath();
-
-    if ((sApplicationDirPath == "/bin") || (sApplicationDirPath == "/usr/bin") || (sApplicationDirPath == "/usr/local/bin") ||
-        (sApplicationDirPath.contains("/usr/local/bin$")) || isAppImage()) {
-        bResult = true;
-    } else {
-        bResult = false;
-    }
+    bResult = true;
 #elif defined(Q_OS_WIN)
     QString sApplicationDirPath = qApp->applicationDirPath();
 
@@ -1565,22 +1558,7 @@ QString XOptions::getApplicationDataPath()
 #ifdef Q_OS_MAC
     sResult = sApplicationDirPath + "/../Resources";
 #elif defined(Q_OS_LINUX)
-    if (isNative()) {
-        if (sApplicationDirPath.contains("/usr/local/bin$")) {
-            QString sPrefix = sApplicationDirPath.section("/usr/local/bin", 0, 0);
-
-            sResult += sPrefix + QString("/usr/local/lib/%1").arg(qApp->applicationName());
-        } else {
-            if (sApplicationDirPath.contains("/tmp/.mount_"))  // AppImage
-            {
-                sResult = sApplicationDirPath.section("/", 0, 2);
-            }
-
-            sResult += QString("/usr/lib/%1").arg(qApp->applicationName());
-        }
-    } else {
-        sResult = sApplicationDirPath;
-    }
+    sResult = sApplicationDirPath + "/../lib/die";
 #elif defined(Q_OS_FREEBSD)
     sResult = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).at(1) + QDir::separator() + qApp->applicationName();
 #else
+68 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  libsForQt5,
  freetype,
  graphite2,
  icu,
  krb5,
  systemdLibs,
  imagemagick,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "detect-it-easy";
  version = "3.09";

  src = fetchFromGitHub {
    owner = "horsicq";
    repo = "DIE-engine";
    rev = finalAttrs.version;
    fetchSubmodules = true;
    hash = "sha256-A9YZBlGf3j+uSefPiDhrS1Qtu6vaLm4Yodt7BioGD2Q=";
  };

  patches = [ ./0001-remove-hard-coded-paths-in-xoptions.patch ];

  buildInputs = [
    libsForQt5.qtbase
    libsForQt5.qtscript
    libsForQt5.qtsvg
    graphite2
    freetype
    icu
    krb5
    systemdLibs
  ];
  nativeBuildInputs = [
    libsForQt5.wrapQtAppsHook
    libsForQt5.qmake
    imagemagick
  ];

  enableParallelBuilding = true;

  # work around wrongly created dirs in `install.sh`
  # https://github.com/horsicq/DIE-engine/issues/110
  preInstall = ''
    mkdir -p $out/bin
    mkdir -p $out/share/applications
    mkdir -p $out/share/icons
  '';

  # clean up wrongly created dirs in `install.sh` and broken .desktop file
  postInstall = ''
    rm -r $out/lib/{bin,share}
    grep -v "Version=#VERSION#" $src/LINUX/die.desktop > $out/share/applications/die.desktop
  '';

  meta = {
    description = "Program for determining types of files for Windows, Linux and MacOS.";
    mainProgram = "die";
    homepage = "https://github.com/horsicq/Detect-It-Easy";
    maintainers = with lib.maintainers; [ ivyfanchiang ];
    platforms = [ "x86_64-linux" ];
    license = lib.licenses.mit;
  };
})