tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
limo: init at 1.0.8.2
TomaSajt
1 year ago
b5711fd0
0f9bf051
+124
2 changed files
expand all
collapse all
unified
split
pkgs
by-name
li
limo
package.nix
remove-unrar.patch
+82
pkgs/by-name/li/limo/package.nix
···
1
1
+
{
2
2
+
lib,
3
3
+
stdenv,
4
4
+
fetchFromGitHub,
5
5
+
6
6
+
cmake,
7
7
+
pkg-config,
8
8
+
9
9
+
jsoncpp,
10
10
+
libarchive,
11
11
+
libcpr,
12
12
+
libloot,
13
13
+
pugixml,
14
14
+
15
15
+
libsForQt5,
16
16
+
17
17
+
withUnrar ? true,
18
18
+
unrar, # has an unfree license
19
19
+
}:
20
20
+
21
21
+
stdenv.mkDerivation (finalAttrs: {
22
22
+
pname = "limo";
23
23
+
version = "1.0.8.2";
24
24
+
25
25
+
src = fetchFromGitHub {
26
26
+
owner = "limo-app";
27
27
+
repo = "limo";
28
28
+
rev = "refs/tags/v${finalAttrs.version}";
29
29
+
hash = "sha256-6rv1IjWb/nrymd57CtrlAjX2KfMYlYNnfiodiRAJ1Ok=";
30
30
+
};
31
31
+
32
32
+
patches = lib.optionals (!withUnrar) [
33
33
+
# remove `unrar` as fallback when libarchive fails
34
34
+
./remove-unrar.patch
35
35
+
];
36
36
+
37
37
+
strictDeps = true;
38
38
+
39
39
+
nativeBuildInputs = [
40
40
+
cmake
41
41
+
pkg-config
42
42
+
libsForQt5.wrapQtAppsHook
43
43
+
];
44
44
+
45
45
+
buildInputs =
46
46
+
[
47
47
+
jsoncpp
48
48
+
libarchive
49
49
+
libcpr
50
50
+
libloot
51
51
+
pugixml
52
52
+
53
53
+
libsForQt5.qtbase
54
54
+
libsForQt5.qtsvg
55
55
+
libsForQt5.qtwayland
56
56
+
]
57
57
+
++ lib.optionals withUnrar [
58
58
+
unrar
59
59
+
];
60
60
+
61
61
+
cmakeFlags =
62
62
+
[
63
63
+
(lib.cmakeFeature "LIMO_INSTALL_PREFIX" (placeholder "out"))
64
64
+
(lib.cmakeBool "USE_SYSTEM_LIBUNRAR" true)
65
65
+
]
66
66
+
++ lib.optionals (!withUnrar) [
67
67
+
(lib.cmakeFeature "LIBUNRAR_PATH" "")
68
68
+
(lib.cmakeFeature "LIBUNRAR_INCLUDE_DIR" "")
69
69
+
];
70
70
+
71
71
+
meta = {
72
72
+
description = "General purpose mod manager with support for the NexusMods API and LOOT";
73
73
+
homepage = "https://github.com/limo-app/limo";
74
74
+
license = lib.licenses.gpl3Plus;
75
75
+
mainProgram = "Limo";
76
76
+
maintainers = with lib.maintainers; [
77
77
+
tomasajt
78
78
+
MattSturgeon
79
79
+
];
80
80
+
platforms = lib.platforms.linux;
81
81
+
};
82
82
+
})
+42
pkgs/by-name/li/limo/remove-unrar.patch
···
1
1
+
diff --git a/src/core/installer.cpp b/src/core/installer.cpp
2
2
+
index ea384a8..aab8be0 100644
3
3
+
--- a/src/core/installer.cpp
4
4
+
+++ b/src/core/installer.cpp
5
5
+
@@ -7,7 +7,6 @@
6
6
+
#include <ranges>
7
7
+
#include <regex>
8
8
+
#define _UNIX
9
9
+
-#include <dll.hpp>
10
10
+
11
11
+
namespace sfs = std::filesystem;
12
12
+
namespace pu = path_utils;
13
13
+
@@ -35,6 +34,8 @@ void Installer::extract(const sfs::path& source_path,
14
14
+
}
15
15
+
catch(CompressionError& error)
16
16
+
{
17
17
+
+ throw error;
18
18
+
+ /*
19
19
+
std::string extension = source_path.extension().string();
20
20
+
std::transform(extension.begin(),
21
21
+
extension.end(),
22
22
+
@@ -48,6 +49,7 @@ void Installer::extract(const sfs::path& source_path,
23
23
+
}
24
24
+
else
25
25
+
throw error;
26
26
+
+ */
27
27
+
}
28
28
+
for(const auto& dir_entry : sfs::recursive_directory_iterator(dest_path))
29
29
+
{
30
30
+
@@ -428,6 +430,7 @@ void Installer::extractWithProgress(const sfs::path& source_path,
31
31
+
sfs::current_path(working_dir);
32
32
+
}
33
33
+
34
34
+
+/*
35
35
+
void Installer::extractRarArchive(const sfs::path& source_path, const sfs::path& dest_path)
36
36
+
{
37
37
+
log(Log::LOG_DEBUG, "Using fallback rar extraction");
38
38
+
@@ -459,3 +462,4 @@ void Installer::extractRarArchive(const sfs::path& source_path, const sfs::path&
39
39
+
throw CompressionError("Failed to extract RAR archive.");
40
40
+
RARCloseArchive(hArcData);
41
41
+
}
42
42
+
+*/