tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
mkvtoolnix: 7.8.0 -> 7.9.0
codyopel
10 years ago
46d30ae2
19dbe42a
+54
-27
2 changed files
expand all
collapse all
unified
split
pkgs
applications
video
mkvtoolnix
default.nix
top-level
all-packages.nix
+52
-27
pkgs/applications/video/mkvtoolnix/default.nix
···
1
1
-
{ stdenv, fetchurl
2
2
-
, libmatroska
3
3
-
, flac
4
4
-
, libvorbis
5
5
-
, file
6
6
-
, boost
7
7
-
, xdg_utils
8
8
-
, expat
9
9
-
, withGUI ? true
10
10
-
, wxGTK
11
11
-
, zlib
12
12
-
, ruby
13
13
-
, gettext
14
14
-
, pkgconfig
15
15
-
, curl
1
1
+
{ stdenv, fetchurl, gettext, pkgconfig, ruby
2
2
+
, boost, expat, file, flac, libebml, libmatroska, libogg, libvorbis, xdg_utils, zlib
3
3
+
# pugixml (not packaged)
4
4
+
, buildConfig ? "all"
5
5
+
, withGUI ? false, qt5 ? null # Disabled for now until upstream issues are resolved
6
6
+
, legacyGUI ? true, wxGTK ? null
7
7
+
# For now both qt5 and wxwidgets gui's are enabled, if wxwidgets is disabled the
8
8
+
# build system doesn't install desktop entries, icons, etc...
16
9
}:
17
10
18
18
-
assert withGUI -> wxGTK != null;
11
11
+
let
12
12
+
inherit (stdenv.lib) enableFeature optional;
13
13
+
in
14
14
+
15
15
+
assert withGUI -> qt5 != null;
16
16
+
assert legacyGUI -> wxGTK != null;
19
17
20
18
stdenv.mkDerivation rec {
21
21
-
version = "7.8.0";
22
19
name = "mkvtoolnix-${version}";
20
20
+
version = "7.9.0";
23
21
24
22
src = fetchurl {
25
23
url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
26
26
-
sha256 = "0m7y9115bkfsm95hv2nq0hnd9w73jymsm071jm798w11vdskm8af";
24
24
+
sha256 = "0jmsgfkxrnplpmwlzynqdb4xf3x1z3dminz97gmddswwgnjqyy1r";
27
25
};
28
26
27
27
+
patchPhase = ''
28
28
+
patchShebangs ./rake.d/
29
29
+
patchShebangs ./Rakefile
30
30
+
# Force ruby encoding to use UTF-8 or else when enabling qt5 the Rakefile may
31
31
+
# fail with `invalid byte sequence in US-ASCII' due to UTF-8 characters
32
32
+
# This workaround replaces an arbitrary comment in the drake file
33
33
+
sed -e 's,#--,Encoding.default_external = Encoding::UTF_8,' -i ./drake
34
34
+
'';
35
35
+
36
36
+
configureFlags = [
37
37
+
"--with-boost-libdir=${boost.lib}/lib"
38
38
+
"--without-curl"
39
39
+
] ++ (
40
40
+
if (withGUI || legacyGUI) then [
41
41
+
"--with-mkvtoolnix-gui"
42
42
+
"--enable-gui"
43
43
+
(enableFeature withGUI "qt")
44
44
+
(enableFeature legacyGUI "wxwidgets")
45
45
+
] else [
46
46
+
"--disable-gui"
47
47
+
]
48
48
+
);
49
49
+
50
50
+
nativeBuildInputs = [ gettext pkgconfig ruby ];
51
51
+
29
52
buildInputs = [
30
30
-
libmatroska flac libvorbis file boost xdg_utils
31
31
-
expat zlib ruby gettext pkgconfig curl
32
32
-
] ++ stdenv.lib.optional withGUI wxGTK;
53
53
+
boost expat file flac libebml libmatroska libogg libvorbis xdg_utils zlib
54
54
+
] ++ optional withGUI qt5
55
55
+
++ optional legacyGUI wxGTK;
33
56
34
34
-
configureFlags = "--with-boost-libdir=${boost.lib}/lib";
57
57
+
enableParallelBuilding = true;
58
58
+
35
59
buildPhase = ''
36
36
-
ruby ./drake
60
60
+
./drake
37
61
'';
38
62
39
63
installPhase = ''
40
40
-
ruby ./drake install
64
64
+
./drake install
41
65
'';
42
66
43
43
-
meta = {
67
67
+
meta = with stdenv.lib; {
44
68
description = "Cross-platform tools for Matroska";
45
69
homepage = http://www.bunkus.org/videotools/mkvtoolnix/;
46
46
-
license = stdenv.lib.licenses.gpl2;
47
47
-
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
70
70
+
license = licenses.gpl2;
71
71
+
maintainers = with maintainers; [ codyopel fuuzetsu ];
72
72
+
platforms = platforms.unix;
48
73
};
49
74
}
+2
pkgs/top-level/all-packages.nix
···
7144
7144
7145
7145
mkvtoolnix-cli = mkvtoolnix.override {
7146
7146
withGUI = false;
7147
7147
+
qt5 = null;
7148
7148
+
legacyGUI = false;
7147
7149
wxGTK = null;
7148
7150
};
7149
7151