Commit Graph

188 Commits

Author SHA1 Message Date
Moritz Bunkus
0b91f3c4b6
bump version number, set release codename 2022-07-09 18:19:14 +02:00
Moritz Bunkus
9979f76803
Debian packaging: create rules & control with distro/release-specific values
For Ubuntu 22.04 and later the GUI will be built with Qt 6 instead of
Qt 5 due to severe issues with 22.04, Qt 5 and high DPI displays. See
issue #3358 for more information.

Unfortunately Debian's package tooling isn't powerful enough to
express complex dependencies, and it cannot express things based on
the distribution & version the package is built for. The packaging for
Qt 6 requires different libraries than the packaging for Qt 5,
obviously.

The only thing one could do in a single `control` file is using ORed
dependencies such as `libqt6svg6 | libqt5svg5`, but that can lead to
situations where the user has `libqt5svg5` installed, doesn't have
`libqt6svg6` installed, and then MKVToolNix built with Qt 6 will
install just fine but all the icons will be missing as it cannot load
the SVG plugin dynamically.

Therefore the `control` & `rules` files are now built from templates,
and a Ruby script called `packaging/debian/create_files.rb` is used to
create the files from their templates. The user can specify the
distribution & version to create for with command line arguments. If
not specified, the script will attempt to guess the distribution &
version it's running on.

Only Debian ≥ 10 & Ubuntu ≥ 20.04 are supported, same as before.
2022-05-29 17:07:13 +02:00
Moritz Bunkus
521ee8687a
RPM spec file: build with Qt 6 on recent distros 2022-05-28 21:42:37 +02:00
Moritz Bunkus
6a55c58d23
MacOS: deploy Qt's SVG support 2022-05-22 20:52:46 +02:00
Moritz Bunkus
b25b097dfb
bump version number, set release code name 2022-05-22 20:16:02 +02:00
Moritz Bunkus
e6bca6745d
Debian rules: build with internal fmt on Debian 11 armhf
For some reason Debian's own fmt throws an exception on the call of
`fmt::format("{}", fmt::join(…))` on the armhf architecture, while the
same code works fine on Debian 11 on other architectures (i386,
amd64). The same code works fine on armhf with Debian 10's fmt & my
own bundled version, so just the latter one.
2022-05-22 19:59:59 +02:00
Moritz Bunkus
909712cca8
MXE setup: use package cache if PKG_CACHE is set 2022-05-20 17:47:34 +02:00
Moritz Bunkus
f845a5c5ff
RPM spec: link binaries in stages
Otherwise LTO might completely overwhelm available memory on my
Ryzen 9 5950X with heavy parallelism.
2022-04-29 18:55:30 +02:00
Moritz Bunkus
b2395c8c10
AppImage: include SVG plugins
Part of the fix of #3335.
2022-04-25 18:59:46 +02:00
Moritz Bunkus
bff1469dd2
Windows installer: don't try to install mkvtoolnix.xml man pages 2022-04-23 21:15:21 +02:00
Moritz Bunkus
1ccce1a9bf
Windows MSIX: don't sign with custom certificate by default 2022-04-12 10:06:22 +02:00
Moritz Bunkus
49001033fb
packaging: use bundled drake part 2 2022-04-11 23:39:34 +02:00
Moritz Bunkus
0e34984bae
packaging: use bundled drake 2022-04-11 21:39:49 +02:00
Moritz Bunkus
9c20b95ab4
MXE setup: compile with gcc 11; compile Qt 6 2022-04-11 19:02:17 +02:00
Moritz Bunkus
b730b04836
RPM spec file: call configure from %build section, not %prep/%setup
Otherwise it'll lead to a gcc failure during configure run:

configure:4114: checking whether the C compiler works
configure:4136: gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -Wl,-dT,/home/mosu/build/rpm/BUILD/.package_note-mkvtoolnix-67.0.0-1.x86_64.ld conftest.c  >&5
/usr/bin/ld: cannot open linker script file /home/mosu/build/rpm/BUILD/.package_note-mkvtoolnix-67.0.0-1.x86_64.ld: No such file or directory
collect2: error: ld returned 1 exit status
2022-04-10 19:00:25 +02:00
Moritz Bunkus
0d9fe1dae3
bump version number, set release code name 2022-04-10 15:54:33 +02:00
Moritz Bunkus
7e0f170c1a
GUI: use Opus-in-WebM variants of the default GUI job sounds
My previous statement that WAV was the only widely supported format
seems to have been wrong, somewhat. WebM seems to be fine, too.
2022-04-09 13:58:28 +02:00
Moritz Bunkus
55c68c79e5
Windows installer: don't install mkvtoolnix.exe wrapper for the time being 2022-03-13 22:10:38 +01:00
Moritz Bunkus
14619edb8f
bump version number, set release code name 2022-03-13 13:54:07 +01:00
Moritz Bunkus
873e9d6f4a
only build the mkvtoolnix wrapper binary if enabled via configure 2022-03-13 10:43:57 +01:00
Moritz Bunkus
f64638b47c
Debian rules: remove mkvtoolnix binary & man pages as they aren't packaged 2022-03-12 23:41:42 +01:00
Moritz Bunkus
2f2a17400b
RPM spec: remove mkvtoolnix binary & man pages as they aren't packaged 2022-03-12 23:22:51 +01:00
Moritz Bunkus
6c84708d4b
Windows installer: include 'mkvtoolnix' executable 2022-03-12 22:04:37 +01:00
Moritz Bunkus
c8cf655933
Windows installer: support for installing Qt6 translations 2022-03-05 12:33:16 +01:00
Moritz Bunkus
ca6405324c
GUI: Windows: use native code for taskbar progress instead of Qt's QWinTaskbarProgress
The "Windows extras" module was removed in Qt6.
2022-02-20 16:29:00 +01:00
Moritz Bunkus
d0ce7eaba4
MSIX creation: fix path name mangling for UNC paths 2022-02-06 15:19:55 +01:00
Moritz Bunkus
3d2909e4ad
bump version number, set release codename 2022-02-06 13:32:17 +01:00
Moritz Bunkus
61c4802798
bump version number, set release codename 2021-12-27 12:04:12 +01:00
Moritz Bunkus
f745178c2a
RPM spec: use full toolchain from devtoolset, not just gcc; use gcc 11 2021-12-20 19:35:43 +01:00
Moritz Bunkus
0602c3985e
bump version number, set release codename 2021-11-14 10:38:04 +01:00
Moritz Bunkus
9146837cd0
bump version number, set release codename 2021-10-10 12:35:17 +02:00
Moritz Bunkus
e1cfea7851
packaging: include bluray_dump, ebml_validator, hevcc_dump, xvc_dump in all packages 2021-09-05 11:07:44 +02:00
Moritz Bunkus
d596c62bfd
bump version number, set release codename 2021-08-30 16:11:50 +02:00
Moritz Bunkus
f0e75b492d
HEVC dump: rename to xvc_dump & extend to cover AVC/H.264 2021-08-25 20:27:51 +02:00
Moritz Bunkus
0856b3a6bd
bump version number, set release codename 2021-07-31 14:25:23 +02:00
Moritz Bunkus
96a013f4ae
macOS packaging: fix library paths in all executables
Needed since even the command-line utilities use Qt.

Fixes #3161.
2021-07-10 18:29:32 +02:00
Moritz Bunkus
8d08c82c6e
bump version number, set release code name 2021-07-10 12:31:42 +02:00
Moritz Bunkus
4342cc89c3
Debian packaging: compile with clang on Debian 11 Bullseye
The next stable release of Debian, version 11 "Bullseye", will ship
with a gcc version that produces an "internal compiler error"
segmentation fault when compiling current versions of MKVToolNix. This
error has been fixed in gcc upstream as well as the gcc in Debian
testing, but it won't be backported to the one in Bullseye.

There are two possible workarounds:

1. Compile with clang instead (this is what this commit does)
2. Compile with gcc 9 which Bullseye also ships

As I've been using clang in parallel to gcc for years, I've opted to
compile with it instead of the older gcc 9 for Bullseye.

Ubuntu releases don't suffer from this issue:

* 20.04 comes with gcc 9.3.0
* 20.10 & 21.04 come with gcc 10.3
2021-07-10 11:40:42 +02:00
Moritz Bunkus
96268fa972
macOS build: build the gmp library 2021-07-04 14:03:39 +02:00
Moritz Bunkus
7a21dcc7ed
MXE setup: remove the file library 2021-07-04 12:50:34 +02:00
Moritz Bunkus
e285856943
MXE setup: compile the gmp library 2021-07-04 12:49:25 +02:00
Moritz Bunkus
95a1fa6ac8
MXE setup: use gcc 10 2021-07-04 12:49:17 +02:00
Moritz Bunkus
213ed8514a
use gmp backend for Boost Multiprecision 2021-07-04 12:44:36 +02:00
Moritz Bunkus
a8b1eab3dc
remove remaining occurrences of PCRE2 & JPCRE2 2021-06-27 12:53:38 +02:00
Moritz Bunkus
0004affd77
macOS: update various libraries 2021-06-19 14:42:20 +02:00
Moritz Bunkus
0075ce2d62
installer: fix usage of deprecated arguments for xargs 2021-06-16 20:05:12 +02:00
Moritz Bunkus
799a8baba4
installer: "share" directory is no longer needed after magic.mgc removal 2021-06-16 20:02:20 +02:00
Moritz Bunkus
4108cfe65a
remove remaining traces of support for bz2 & lzo 2021-06-16 19:57:00 +02:00
Moritz Bunkus
3174f70f76
configure: remove --enable-appimage & auto-detect location of locale dir
Part of the fix of #3137.
2021-06-16 16:42:25 +02:00
Moritz Bunkus
80cbad698d
remove usage of the magic library
Part of the fix of #3137.
2021-06-16 16:42:01 +02:00