tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
vtfedit: init at 1.3.3
Pavel Sobolev
1 year ago
54c06b3a
f0b484fb
+112
4 changed files
expand all
collapse all
unified
split
pkgs
by-name
vt
vtfedit
mimetype.xml
package.nix
vtfedit.bash
top-level
all-packages.nix
+7
pkgs/by-name/vt/vtfedit/mimetype.xml
···
1
1
+
<?xml version="1.0" encoding="UTF-8"?>
2
2
+
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
3
3
+
<mime-type type="application/x-vtfedit">
4
4
+
<comment xml:lang="en">Valve Texture Format</comment>
5
5
+
<glob pattern="*.vtf"/>
6
6
+
</mime-type>
7
7
+
</mime-info>
+80
pkgs/by-name/vt/vtfedit/package.nix
···
1
1
+
{
2
2
+
lib,
3
3
+
stdenv,
4
4
+
fetchzip,
5
5
+
fetchurl,
6
6
+
makeDesktopItem,
7
7
+
8
8
+
copyDesktopItems,
9
9
+
makeWrapper,
10
10
+
wine,
11
11
+
winetricks,
12
12
+
}:
13
13
+
14
14
+
stdenv.mkDerivation rec {
15
15
+
pname = "vtfedit";
16
16
+
version = "1.3.3";
17
17
+
18
18
+
src = fetchzip {
19
19
+
url = "https://nemstools.github.io/files/vtfedit${lib.replaceStrings [ "." ] [ "" ] version}.zip";
20
20
+
hash = "sha256-6a8YuxgYm7FB+2pFcZAMtE1db4hqpEk0z5gv2wHl9bI=";
21
21
+
stripRoot = false;
22
22
+
};
23
23
+
24
24
+
icon = fetchurl {
25
25
+
url = "https://web.archive.org/web/20230906220249im_/https://valvedev.info/tools/vtfedit/thumb.png";
26
26
+
hash = "sha256-Jpqo/s1wO2U5Z1DSZvADTfdH+8ycr0KF6otQbAE+jts=";
27
27
+
};
28
28
+
29
29
+
nativeBuildInputs = [
30
30
+
copyDesktopItems
31
31
+
makeWrapper
32
32
+
];
33
33
+
34
34
+
nativeRuntimeInputs = lib.makeBinPath [
35
35
+
wine
36
36
+
winetricks
37
37
+
];
38
38
+
39
39
+
installPhase = ''
40
40
+
runHook preInstall
41
41
+
42
42
+
mkdir -p $out/bin
43
43
+
mkdir -p $out/share/icons/hicolor/256x256/apps
44
44
+
mkdir -p $out/share/lib
45
45
+
mkdir -p $out/share/mime/packages
46
46
+
47
47
+
substitute ${./vtfedit.bash} $out/bin/vtfedit \
48
48
+
--replace-fail "@out@" "${placeholder "out"}" \
49
49
+
--replace-fail "@path@" "${nativeRuntimeInputs}"
50
50
+
chmod +x $out/bin/vtfedit
51
51
+
52
52
+
cp ${icon} $out/share/icons/hicolor/256x256/apps/vtfedit.png
53
53
+
cp -r ${if wine.meta.mainProgram == "wine64" then "x64" else "x86"}/* $out/share/lib
54
54
+
cp ${./mimetype.xml} $out/share/mime/packages/vtfedit.xml
55
55
+
56
56
+
runHook postInstall
57
57
+
'';
58
58
+
59
59
+
desktopItems = [
60
60
+
(makeDesktopItem {
61
61
+
name = pname;
62
62
+
desktopName = "VTFEdit";
63
63
+
exec = "vtfedit %f";
64
64
+
icon = "vtfedit";
65
65
+
terminal = false;
66
66
+
categories = [ "Graphics" ];
67
67
+
comment = meta.description;
68
68
+
mimeTypes = [ "application/x-vtfedit" ];
69
69
+
})
70
70
+
];
71
71
+
72
72
+
meta = {
73
73
+
description = "VTF file viewer/editor";
74
74
+
homepage = "https://nemstools.github.io/pages/VTFLib.html";
75
75
+
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
76
76
+
license = lib.licenses.lgpl21Plus;
77
77
+
inherit (wine.meta) platforms;
78
78
+
maintainers = with lib.maintainers; [ paveloom ];
79
79
+
};
80
80
+
}
+21
pkgs/by-name/vt/vtfedit/vtfedit.bash
···
1
1
+
#!/usr/bin/env bash
2
2
+
3
3
+
set -e
4
4
+
5
5
+
OUT="@out@"
6
6
+
PATH="@path@:$PATH"
7
7
+
8
8
+
PKGNAME="vtfedit"
9
9
+
PKGBIN="$OUT/share/lib/VTFEdit.exe"
10
10
+
11
11
+
export WINEDEBUG="-all"
12
12
+
export WINEPREFIX="$HOME/.local/share/$PKGNAME/wine"
13
13
+
14
14
+
if [[ ! -d "$WINEPREFIX" ]]; then
15
15
+
echo "Initialising the Wine prefix..."
16
16
+
WINEDLLOVERRIDES="mscoree=" winetricks -q winxp
17
17
+
echo "Installing DLLs..."
18
18
+
winetricks -q dlls dotnet20 vcrun2005
19
19
+
fi
20
20
+
21
21
+
wine "$PKGBIN" "$@"
+4
pkgs/top-level/all-packages.nix
···
11027
11027
gtkVersion = "4";
11028
11028
};
11029
11029
11030
11030
+
vtfedit = callPackage ../by-name/vt/vtfedit/package.nix {
11031
11031
+
wine = wineWowPackages.staging;
11032
11032
+
};
11033
11033
+
11030
11034
vtk_9 = libsForQt5.callPackage ../development/libraries/vtk/9.x.nix { };
11031
11035
11032
11036
vtk_9_withQt5 = vtk_9.override { enableQt = true; };