File makemkv.spec of Package MakeMKV
169
1
#
2
# spec file for package makemkv
3
#
4
# Copyright (c) 2025 SUSE LLC
5
#
6
# All modifications and additions to the file contributed by third parties
7
# remain the property of their copyright owners, unless otherwise agreed
8
# upon. The license for this file, and modifications and additions to the
9
# file, is the same license as for the pristine package itself (unless the
10
# license for the pristine package is not an Open Source License, in which
11
# case the license is the MIT License). An "Open Source License" is a
12
# license that conforms to the Open Source Definition (Version 1.9)
13
# published by the Open Source Initiative.
14
15
# Please submit bugfixes or comments via http://bugs.opensuse.org/
16
#
17
18
19
%define majordriveio 0
20
%define libdriveio libdriveio
21
%define libnamedriveio %{libdriveio}%{majordriveio}
22
%define majormakemkv 1
23
%define libmakemkv libmakemkv
24
%define libnamemakemkve %{libmakemkv}%{majormakemkv}
25
%define majormmbd 0
26
%define libmmbd libmmbd
27
%define libnamemmbd %{libmmbd}%{majormmbd}
28
29
Name: makemkv
30
Summary: DVD and BlueRay Ripping tool
31
Version: 1.17.9
32
Release: 0
33
License: Beerware
34
Group: Productivity/Multimedia/Video/Editors and Convertors
35
Url: http://www.makemkv.com
36
Source0: %{name}-oss-%{version}.tar.gz
37
Source1: %{name}-bin-%{version}.tar.gz
38
Source2: %{name}-sha-%{version}.txt
39
Patch0: fix-reproducible-builds.patch
40
Patch1: silence-return-type.patch
41
Requires: %{libnamedriveio} = %{version}-%{release}
42
Requires: %{libnamemakemkve} = %{version}-%{release}
43
Requires: %{libnamemmbd} = %{version}-%{release}
44
BuildRequires: coreutils
45
BuildRequires: grep
46
BuildRequires: libopenssl-devel
47
BuildRequires: libexpat-devel
48
BuildRequires: zlib-devel
49
BuildRequires: pkgconfig(Qt5Core)
50
BuildRequires: pkgconfig(Qt5DBus)
51
BuildRequires: pkgconfig(Qt5Gui)
52
BuildRequires: pkgconfig(Qt5Widgets)
53
BuildRequires: pkgconfig(libavcodec) >= 61
54
BuildRequires: pkgconfig(libavutil) >= 59
55
BuildRequires: update-desktop-files
56
ExclusiveArch: i586 x86_64
57
58
%description
59
MakeMKV is your one-click solution to convert video that you own into
60
free and patents-unencumbered format that can be played everywhere.
61
MakeMKV is a format converter, otherwise called "transcoder". It
62
converts the video clips from proprietary (and usually encrypted)
63
disc into a set of MKV files, preserving most information but not
64
changing it in any way. The MKV format can store multiple video/audio
65
tracks with all meta-information and preserve chapters. There are many
66
players that can play MKV files nearly on all platforms, and there are
67
tools to convert MKV files to many formats, including DVD and Blu-ray
68
discs.
69
70
Additionally MakeMKV can instantly stream decrypted video without
71
intermediate conversion to wide range of players, so you may watch
72
Blu-ray and DVD discs with your favorite player on your favorite OS
73
or on your favorite device.
74
75
* Reads DVD and Blu-ray discs
76
* Reads Blu-ray discs protected with latest versions of AACS and BD+
77
* Preserves all video and audio tracks, including HD audio
78
* Preserves chapters information
79
* Preserves all meta-information (track language, audio type)
80
* Fast conversion - converts as fast as your drive can read data.
81
* No additional software is required for conversion or decryption.
82
* Available for Windows, Mac OS X and Linux
83
* Functionality to open DVD discs is free and will always stay free.
84
* All features (including Blu-ray decryption and processing) are free during BETA.
85
86
87
%package -n %{libnamedriveio}
88
Group: System/Libraries
89
Summary: MakeMKV %{libdriveio}
90
Provides: %{libdriveio} = %{version}-%{release}
91
92
%description -n %{libnamedriveio}
93
MakeMKV %{libdriveio} shared library
94
95
96
%package -n %{libnamemakemkve}
97
Group: System/Libraries
98
Summary: MakeMKV %{libmakemkv}
99
Provides: %{libmakemkv} = %{version}-%{release}
100
101
%description -n %{libnamemakemkve}
102
MakeMKV %{libmakemkv} shared library
103
104
105
%package -n %{libnamemmbd}
106
Group: System/Libraries
107
Summary: MakeMKV %{libmmbd}
108
Provides: %{libmmbd} = %{version}-%{release}
109
110
%description -n %{libnamemmbd}
111
MakeMKV %{libmmbd} shared library
112
113
114
%prep
115
[ "$(grep $(basename %{SOURCE0}) %{SOURCE2} | cut -d' ' -f1)" == "$(sha256sum < %{SOURCE0} | cut -d' ' -f1)" ] || exit 1
116
[ "$(grep $(basename %{SOURCE1}) %{SOURCE2} | cut -d' ' -f1)" == "$(sha256sum < %{SOURCE1} | cut -d' ' -f1)" ] || exit 1
117
%autosetup -n %{name}-oss-%{version} -p1
118
119
%build
120
export CC="gcc -fcommon" # see <https://gcc.gnu.org/gcc-10/porting_to.html#common>
121
%configure
122
%make_build
123
124
%install
125
%make_install
126
%suse_update_desktop_file -c makemkv makemkv "makemkv" makemkv makemkv.png AudioVideo AudioVideoEditing
127
tar xaf %{SOURCE1}
128
%ifarch x86_64
129
%{__install} -m 755 %{name}-bin-%{version}/bin/amd64/makemkvcon %{buildroot}%{_bindir}/
130
%else
131
%{__install} -m 755 %{name}-bin-%{version}/bin/i386/makemkvcon %{buildroot}%{_bindir}/
132
%endif
133
chmod 755 %{buildroot}%{_libdir}/%{libdriveio}.so.%{majordriveio}* \
134
%{buildroot}%{_libdir}/%{libmakemkv}.so.%{majormakemkv}* \
135
%{buildroot}%{_libdir}/%{libmmbd}.so.%{majormmbd}*
136
137
mkdir -p -m 755 %{buildroot}%{_datadir}/MakeMKV
138
%{__install} -m 644 %{name}-bin-%{version}/src/share/* %{buildroot}%{_datadir}/MakeMKV/
139
140
141
%post -n %{libnamedriveio} -p /sbin/ldconfig
142
%postun -n %{libnamedriveio} -p /sbin/ldconfig
143
144
%post -n %{libnamemakemkve} -p /sbin/ldconfig
145
%postun -n %{libnamemakemkve} -p /sbin/ldconfig
146
147
%post -n %{libnamemmbd} -p /sbin/ldconfig
148
%postun -n %{libnamemmbd} -p /sbin/ldconfig
149
150
151
%files
152
%doc %{name}-bin-%{version}/src/eula_en_linux.txt
153
%{_bindir}/*
154
%{_datadir}/MakeMKV
155
%{_datadir}/icons/hicolor
156
%{_datadir}/applications/makemkv.desktop
157
158
%files -n %{libnamedriveio}
159
%{_libdir}/%{libdriveio}.so.%{majordriveio}*
160
161
%files -n %{libnamemakemkve}
162
%{_libdir}/%{libmakemkv}.so.%{majormakemkv}*
163
164
%files -n %{libnamemmbd}
165
%{_libdir}/%{libmmbd}.so.%{majormmbd}*
166
167
168
%changelog
169