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

This commit is contained in:
Emily Trau 2024-10-23 08:40:57 +11:00 committed by GitHub
commit d75577c34f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 118 additions and 0 deletions

View File

@ -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";

View File

@ -0,0 +1,44 @@
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

View File

@ -0,0 +1,68 @@
{
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;
};
})