Removed tvheadend

This commit is contained in:
Torsten Kurbad 2025-10-01 16:01:01 +02:00
parent 062704968a
commit ef8349d83f
17 changed files with 726 additions and 263 deletions

View File

@ -0,0 +1,3 @@
DIST redis-6.2.0.tgz 379865 BLAKE2B 3ed8776d1e53e3a1b08e5d18511ccf3ed1f896d0ae28b54ce47615d58ca4c9cbc29c00b2a10301cd7e9fd533f54335bbf3878f8f59ddff82ad2b16da03d45e77 SHA512 fd4d79cd4f7a3d25c865ae52daea4e6d9e805f55c3b7004633ac23ed6724a30b85ed3034bddee86c42146b39215309cb9c96f5659b248e6b859295cdf10e02f1
EBUILD pecl-redis-6.2.0.ebuild 1425 BLAKE2B e025a961acf4c518dcf7b3553b03b6a3c933fdfb7592931e801420abc4053140ad58b3dfb9e7fbb749b19a04b33f1462bc0ac033033b057c039e7d9f89945c74 SHA512 14a0f6fe2d5774960ddb875c0e3334c38f43031aaaf7f2d0051624584e2dc7959c4410468c8e67a78ef26e54d7e565f2b6ec919dcc27889f3d17ead71f158324
MISC metadata.xml 384 BLAKE2B 4a1a6b326526bb3f5b9d9d57158d6abbfe3c65b1cfc11980ce849d5f7278558ee0daf580aefc521939aae175cd8e2cb990e046fce8faf6774348b24fa6465ef8 SHA512 851e1fb9f6612105640028262a4821f0da5b1ee5949fdd99067e821ce1d22c41888ee53e102becc93c918a605c2b8dbb2d493cd7cad516530912fec652011364

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>php-bugs@gentoo.org</email>
<name>PHP</name>
</maintainer>
<use>
<flag name="igbinary">Enables igbinary serialisation support</flag>
<flag name="json">Enables json serializer support</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,60 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PHP_EXT_NAME="redis"
USE_PHP="php8-1 php8-2 php8-3 php8-4"
PHP_EXT_NEEDED_USE="json(+)?,session(-)?"
MY_P="${PN/pecl-/}-${PV/_rc/RC}"
PHP_EXT_PECL_FILENAME="${MY_P}.tgz"
PHP_EXT_S="${WORKDIR}/${MY_P}"
inherit php-ext-pecl-r3
DESCRIPTION="PHP extension for interfacing with Redis"
LICENSE="PHP-3.01"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64"
IUSE="igbinary +json lz4 +session zstd"
DEPEND="
igbinary? ( >=dev-php/igbinary-3.0.1-r1[php_targets_php8-2(-)?,php_targets_php8-3(-)?] )
lz4? ( app-arch/lz4:= )
zstd? ( app-arch/zstd:= )
"
RDEPEND="${DEPEND}
!dev-php/pecl-redis:7"
# The test suite requires network access.
RESTRICT=test
S="${WORKDIR}/${MY_P}"
src_configure() {
local PHP_EXT_ECONF_ARGS=(
--enable-redis
--disable-redis-lzf
--disable-redis-msgpack
$(use_enable igbinary redis-igbinary)
$(use_enable json redis-json)
$(use_enable lz4 redis-lz4)
$(use_with lz4 liblz4)
$(use_enable session redis-session)
$(use_enable zstd redis-zstd)
$(use_with zstd libzstd)
)
php-ext-source-r3_src_configure
}
src_test() {
local slot
for slot in $(php_get_slots); do
php_init_slot_env "${slot}"
# Run tests for Redis class
${PHPCLI} -d extension=modules/redis.so \
tests/TestRedis.php \
--class Redis \
--host ${PECL_REDIS_HOST} || die 'test suite failed'
done
}

View File

@ -1,7 +0,0 @@
AUX tvheadend-4.0.9-use_system_queue.patch 296 BLAKE2B 0986117969d9bb3463123e984aba7a73c8caf89b16f0c10e870a9b49857f8c946958a31900d99c5d332f5635cbd49ae544c2cc97f1e8a211c352bcaba965fe76 SHA512 56180b9c2fbb092530963229213805ec63e3d941c67d967e38b46f778db85db981234fe5727b5a8dcf64ab3a9e24c9d10b681abf275249e0d6f0ad63e391ecc4
AUX tvheadend-4.2.2-dtv_scan_tables.patch 463 BLAKE2B 4e52d89d75c05d8a3cc645280794dd4570953bb5452d1067442177d7eb4c85779a8bcb96f1f8d3fbbcb6a34e770ff014bb262103eae5a92556ac4586038cdd9e SHA512 9bdecbac57ee1f30be91f9145e32f89949b5631090edc85cd5383915b09949ec9211f62474bd06afb4600e431093ce2ee5550d204b08c64b5b2e1a1cd38a517d
AUX tvheadend.confd 355 BLAKE2B 36ba5a3466838b643beb877050ef6cc481adb91a433efa7429977104c9db1e6ef54901750d14dc0f43a20c89ddf504a9fc28a10a88d68105e5a5f07820696d50 SHA512 64ae0cca1e1b46a3ecb2fb4a4ba69ad1dd6a72ce57944b44be28768d293f9cca2ab29067335023f384433e8c75d976fbc4610ca574c930b9891a2f1c75ff4c0b
AUX tvheadend.initd 375 BLAKE2B 6fbf53a0a67957ee5756b56189d42b741adb7603b5590aa5fa0fd6b2a1d1ba930af05de8ebedba343302aa861f7fb42d3eb25b67acf6b43aa7c956d4965ab944 SHA512 6f17fa6bee502f586b4500c5f5541c9c6ce095deed7ddb3c1d1ad129a2e22fa66de0e72b712866659f7080753c73f67154d6dcdbf8539d6c8a942bea29bb1aa7
AUX tvheadend.service 577 BLAKE2B f6762aef0f9370a7ad1e438aa4b35c500c40240bd7d66db5e32b061c0dc9776adc2b8de2c395b2299151bd5c6fc8735944a8384828b873b29fbf6c1ed76bafde SHA512 1192b98da179503bc249e0b0d3a0e6c2bf420bfb7d14a72b917fe9e1975a42d1647b5d951ead8f18419999f4c74c352b21e58c28bacc65419012d46bb83270d4
EBUILD tvheadend-9999.ebuild 3674 BLAKE2B 71a6801412227f202ce26bba04ead2e5bf84354af6e2a6b5a2912c98ac6809407aed1cf2556b98a636de2d88a70392ac3698ad4ef7f7018d9c1066dc45f592e3 SHA512 2043b325975a864f27e4817c25ff5e99003ba1f70f21989b4650e7b9e12373f953379e09ae84eedc59decfc69f22d8ac5ad12317b0f62a18480085c9ccf6701c
MISC metadata.xml 1445 BLAKE2B f71dc280d5fce7c0945939bcaf75d0d7f294aea6055c956b04e9e439199c2a6c107c800be6d18a0c58d154bdf7cdd0cd7d874e5cde5fc93f9b24160f536d21d8 SHA512 e26b94f14a619051e637b018d0f47ce86381821dd5207ba5b34429e0c0f83c55bfa9c37871e722af85719cf3e06322703d4709cbbd771b8f092efb8e85cb5b72

View File

@ -1,12 +0,0 @@
diff -up ./src/queue.h.orig ./src/queue.h
--- ./src/queue.h.orig 2016-03-14 10:10:57.000000000 +0100
+++ ./src/queue.h 2016-07-04 17:47:22.480252171 +0200
@@ -5,7 +5,7 @@
#ifndef HTSQ_H
#define HTSQ_H
-#include "../vendor/include/sys/queue.h"
+#include <sys/queue.h>
/*
* Extra LIST-ops

View File

@ -1,12 +0,0 @@
diff -up ./src/input/mpegts/scanfile.c.orig ./src/input/mpegts/scanfile.c
--- ./src/input/mpegts/scanfile.c.orig 2017-05-16 13:15:24.000000000 +0200
+++ ./src/input/mpegts/scanfile.c 2017-06-01 22:30:29.150834135 +0200
@@ -903,7 +903,7 @@ scanfile_init ( const char *muxconf_path
#elif defined(PLATFORM_FREEBSD)
path = "/usr/local/share/dtv-scan-tables";
#else
- path = "/usr/share/dvb";
+ path = "/usr/share/dvbv5";
#endif
if (!initialized) {

View File

@ -1,14 +0,0 @@
# /etc/conf.d/tvheadend: config file for /etc/init.d/tvheadend
# See the tvheadend(1) manpage for more info.
# Run Tvheadend as this user.
TVHEADEND_USER="tvheadend"
# Run Tvheadend as this group.
TVHEADEND_GROUP="video"
# Path to Tvheadend config.
TVHEADEND_CONFIG="/etc/tvheadend"
# Other options you want to pass to Tvheadend.
TVHEADEND_OPTIONS=""

View File

@ -1,19 +0,0 @@
#!/sbin/openrc-run
depend() {
use net
}
start() {
ebegin "Starting Tvheadend"
start-stop-daemon --start --quiet --exec /usr/bin/tvheadend \
-- -f -C -u ${TVHEADEND_USER} -g ${TVHEADEND_GROUP} \
-c ${TVHEADEND_CONFIG} ${TVHEADEND_OPTIONS}
eend $?
}
stop() {
ebegin "Stopping Tvheadend"
start-stop-daemon --stop --quiet --pidfile /var/run/tvheadend.pid
eend $?
}

View File

@ -1,26 +0,0 @@
[Unit]
Description=tvheadend
After=network.target
[Service]
Type=simple
User=tvheadend
Group=video
RuntimeDirectory=tvheadend
PIDFile=/run/tvheadend/tvheadend.pid
EnvironmentFile=/etc/conf.d/tvheadend
ExecStart=/usr/bin/tvheadend -p /run/tvheadend/tvheadend.pid -c "${TVHEADEND_CONFIG}" ${TVHEADEND_OPTIONS}
TimeoutStartSec=1m
TimeoutStopSec=20s
Restart=always
RestartSec=5s
DevicePolicy=closed
DeviceAllow=char-DVB rw
DeviceAllow=char-drm rw
RestrictAddressFamilies=AF_INET AF_INET6
ProtectSystem=yes
ProtectHome=yes
NoNewPrivileges=yes
[Install]
WantedBy=multi-user.target

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
<name>James Le Cuirot</name>
</maintainer>
<use>
<flag name="capmt">Enable support for capmt (dvbapi) protocol</flag>
<flag name="constcw">Enable support for the constcw protocol</flag>
<flag name="cwc">Enable support for the cwc (newcamd) protocol</flag>
<flag name="ddci">Enable support for DDCI hardware</flag>
<flag name="dvbcsa">Enable decryption of the DVB Common Scrambling Algorithm</flag>
<flag name="dvben50221">Enable support for hardware CAM</flag>
<flag name="hdhomerun">Enable support for the HDHomeRun device</flag>
<flag name="imagecache">Enable support for image caching</flag>
<flag name="iptv">Enable support for Internet Protocol TV</flag>
<flag name="satip">Enable support for IP-based Satellite TV</flag>
<flag name="timeshift">Enable TimeShift support</flag>
<flag name="uriparser">Use <pkg>dev-libs/uriparser</pkg></flag>
<flag name="vpx">Enable transcoding with the VP8/VP9 video codecs</flag>
<flag name="x264">Enable transcoding with the H.264 video codec</flag>
<flag name="x265">Enable transcoding with the HEVC video codec</flag>
<flag name="xmltv">Use <pkg>media-tv/xmltv</pkg></flag>
</use>
<upstream>
<remote-id type="github">tvheadend/tvheadend</remote-id>
</upstream>
</pkgmetadata>

View File

@ -1,144 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit git-r3 linux-info systemd toolchain-funcs user
DESCRIPTION="Tvheadend is a TV streaming server and digital video recorder"
HOMEPAGE="https://tvheadend.org/"
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS=""
IUSE="dbus debug +ddci dvbcsa +dvb +ffmpeg hdhomerun +imagecache +inotify iptv libressl opus satip systemd +timeshift uriparser vpx x264 x265 xmltv zeroconf zlib"
BDEPEND="
sys-devel/gettext
virtual/pkgconfig"
RDEPEND="
virtual/libiconv
dbus? ( sys-apps/dbus )
dvbcsa? ( media-libs/libdvbcsa )
ffmpeg? ( media-video/ffmpeg:0=[opus?,vpx?,x264?,x265?] )
hdhomerun? ( media-libs/libhdhomerun )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
uriparser? ( dev-libs/uriparser )
zeroconf? ( net-dns/avahi )
zlib? ( sys-libs/zlib )"
# ffmpeg sub-dependencies needed for headers only. Check under
# src/transcoding/codec/codecs/libs for include statements.
DEPEND="
${RDEPEND}
dvb? ( virtual/linuxtv-dvb-headers )
ffmpeg? (
opus? ( media-libs/opus )
vpx? ( media-libs/libvpx )
x264? ( media-libs/x264 )
x265? ( media-libs/x265 )
)"
RDEPEND+="
dvb? ( media-tv/dtv-scan-tables )
xmltv? ( media-tv/xmltv )"
REQUIRED_USE="
ddci? ( dvb )
"
# Some patches from:
# https://github.com/rpmfusion/tvheadend
PATCHES=(
"${FILESDIR}"/${PN}-4.0.9-use_system_queue.patch
"${FILESDIR}"/${PN}-4.2.2-dtv_scan_tables.patch
)
DOCS=( README.md )
pkg_setup() {
use inotify &&
CONFIG_CHECK="~INOTIFY_USER" linux-info_pkg_setup
enewuser tvheadend -1 -1 /etc/tvheadend video
}
# We unconditionally enable codecs that do not require additional
# dependencies when building tvheadend. If support is missing from
# ffmpeg at runtime then tvheadend will simply disable these codecs.
# It is not necessary to specific all the --disable-*-static options as
# most of them only take effect when --enable-ffmpeg_static is given.
src_configure() {
CC="$(tc-getCC)" \
PKG_CONFIG="${CHOST}-pkg-config" \
econf \
--disable-bundle \
--disable-ccache \
--disable-dvbscan \
--disable-ffmpeg_static \
--disable-hdhomerun_static \
--enable-libfdkaac \
--enable-libtheora \
--enable-libvorbis \
--nowerror \
$(use_enable dbus dbus_1) \
$(use_enable debug trace) \
$(use_enable ddci) \
$(use_enable dvb linuxdvb) \
$(use_enable dvbcsa) \
$(use_enable dvbcsa capmt) \
$(use_enable dvbcsa cccam) \
$(use_enable dvbcsa constcw) \
$(use_enable dvbcsa cwc) \
$(use_enable ffmpeg libav) \
$(use_enable hdhomerun hdhomerun_client) \
$(use_enable imagecache) \
$(use_enable inotify) \
$(use_enable iptv) \
$(use_enable opus libopus) \
$(use_enable satip satip_server) \
$(use_enable satip satip_client) \
$(use_enable systemd libsystemd_daemon) \
$(use_enable timeshift) \
$(use_enable uriparser) \
$(use_enable vpx libvpx) \
$(use_enable x264 libx264) \
$(use_enable x265 libx265) \
$(use_enable zeroconf avahi) \
$(use_enable zlib)
}
src_compile() {
emake CC="$(tc-getCC)"
}
src_install() {
default
newinitd "${FILESDIR}"/tvheadend.initd tvheadend
newconfd "${FILESDIR}"/tvheadend.confd tvheadend
use systemd &&
systemd_dounit "${FILESDIR}"/tvheadend.service
dodir /etc/tvheadend
fperms 0700 /etc/tvheadend
fowners tvheadend:video /etc/tvheadend
}
pkg_postinst() {
elog "The Tvheadend web interface can be reached at:"
elog "http://localhost:9981/"
elog
elog "Make sure that you change the default username"
elog "and password via the Configuration / Access control"
elog "tab in the web interface."
}

View File

@ -0,0 +1,7 @@
AUX makemkv-path.patch 1579 BLAKE2B 6ca7ed6c854c0357fea864bedc3f65a1051a466a52db1380bf1904c97bfa2b455beeb7ff9852fe57f6d224ed659df63d02db96a281be7a14f0587bece9aff75b SHA512 9294d3645b953fdb7ca24e83066becfbf07e03cab01d0aaf4527cf2d54fb0990649da1f766836a0f3efea9c363c8f00116b4624c49fd7bcfa197cae2ef17e6ed
AUX makemkv-qt6.patch 7366 BLAKE2B ad453f067aeb60377c43618c9eaba5c44df6c60b0f69afa2454477f4bb30dffba440cfe0340a98c9c5dc7e39e6380710f8b5753c2b00207c4c6ed6944ddb41ac SHA512 6966b2c2bbef4312b4394c9e8701c730227b1577d7403874c14ec5d409f09330767a78d2d344da4448f72d103bf86f8da3612a30ca41d1a1d4770283d2251873
AUX makemkvcon.1 6118 BLAKE2B bf8f7665d7b367e4dc5cfb12136cb91271087991d86bb0c2bfe6fe41def407539276114f95548cd867c49bc10bed25cec51ac00dbd6defe5df7fd82f2fe29b25 SHA512 a9334a96fcc90932a109c2d74b1769ab60e652a1e860399d8a486bd36ba02fbdabf55816059e0c51e3e4826824b7798f86b85cb5e22a4d13c2e18a2944522ac4
DIST makemkv-bin-1.18.2.tar.gz 17916113 BLAKE2B a0372519087db6881207b2a2f828a08d9ebbe57a6166391a3141ae5074a3b1b03314f57aecb7e3bd594064fcae6d1f97bb8db2d52658b398fef2a44689c00ee8 SHA512 01e8a8a6e5b4ad34a6944fb62a01bd0bfea1ac8d846c5dd7b42e35a62ea2196aae1abb635a620dfc5541987db2af832d4cb73cfde28eaafaf4c61eed81da66a0
DIST makemkv-oss-1.18.2.tar.gz 6638329 BLAKE2B b15088a01835dbe576b400d8e08e16ce4e58ec61a4956120abc507b01981707cdf4e2004a9d7b673306a110f8c3567506d62c48942d7f7d38321767308cae595 SHA512 45ae82da88d0bcc3c13d1eb4a5b3fcb4844f2af4a45da0cc1f1b854f573c3f69d40a439425170b257ecdf0faee708d46cce5ea0d9a493586794b0c06fe542d77
EBUILD makemkv-1.18.2.ebuild 3060 BLAKE2B d0d1ead1b8263955ba5c4e6f8102899b7e5e770ffc44980587e27dfbdf591447534bb7c7b6959fde80ccba3749e50b100ee49b9c42107144b949d95e1ab50ae0 SHA512 cadd17bd1a901917e015b28e95af49a4cd8969dc7442f422e9a42b335cb72fba4da37ed047d1fbb06c8900a886fbb839755a5c5ff988425208936659113e4494
MISC metadata.xml 1272 BLAKE2B 7c02bfcb2638d2f33c6fbee2d0e79b6d7d270b8209f7ec82ec51d7cf0e19b94936ee599b618f9a6b9df280fc403b0890b2c8e2323525f6d50b79fc19d26c8756 SHA512 8de92a5802b26a98984be7b5e3c0868b249c14a77a690a186dc4361db1508b79c7ebccd261e7fe9251b2d4abbbe2b93aec8a91efeafc00baada2839020a9207f

View File

@ -0,0 +1,47 @@
diff -Naur makemkv-oss-1.9.10.orig/makemkvgui/src/api_posix.cpp makemkv-oss-1.9.10/makemkvgui/src/api_posix.cpp
--- makemkv-oss-1.9.10.orig/makemkvgui/src/api_posix.cpp 2016-04-15 21:35:36.000000000 +0100
+++ makemkv-oss-1.9.10/makemkvgui/src/api_posix.cpp 2016-05-08 13:51:48.761885862 +0100
@@ -54,8 +54,6 @@
if (AppName[0]==':')
{
- bool app_found = false;
- const char* const* app_locations = ApGetAppLocations();
const char* p_env = getenv("MAKEMKVCON");
AppName++;
@@ -63,6 +61,13 @@
if (p_env!=NULL)
{
strcpy(app_path,p_env);
+ } else {
+ strcpy(app_path,AppName);
+ }
+ } else {
+ strcpy(app_path,AppName);
+ }
+/*
app_found = true;
} else {
for (size_t i=0;app_locations[i]!=NULL;i++)
@@ -105,7 +110,7 @@
}
strcpy(p,AppName);
}
-
+*/
strcpy(str_guiserver,"guiserver");
strcpy(str_apver,verstr);
diff -Naur makemkv-oss-1.9.10.orig/makemkvgui/src/spawn_posix.cpp makemkv-oss-1.9.10/makemkvgui/src/spawn_posix.cpp
--- makemkv-oss-1.9.10.orig/makemkvgui/src/spawn_posix.cpp 2016-04-15 21:35:36.000000000 +0100
+++ makemkv-oss-1.9.10/makemkvgui/src/spawn_posix.cpp 2016-05-08 10:52:37.137598384 +0100
@@ -70,7 +70,7 @@
}
}
- err = posix_spawn(&pid,argv[0],&spawn_actions,&spawn_attr,argv,envp);
+ err = posix_spawnp(&pid,argv[0],&spawn_actions,&spawn_attr,argv,envp);
posix_spawn_file_actions_destroy(&spawn_actions);
posix_spawnattr_destroy(&spawn_attr);

View File

@ -0,0 +1,206 @@
--- a/configure
+++ b/configure
@@ -662,8 +662,8 @@
QT_LIB
QT_CFLAGS
QT_INC
-qt5_LIBS
-qt5_CFLAGS
+qt6_LIBS
+qt6_CFLAGS
ffmpeg_LIBS
ffmpeg_CFLAGS
PKG_CONFIG_LIBDIR
@@ -777,7 +777,7 @@
with_sysroot
enable_libtool_lock
enable_gui
-enable_qt5
+enable_qt6
enable_noec
enable_debug
'
@@ -800,8 +800,8 @@
PKG_CONFIG_LIBDIR
ffmpeg_CFLAGS
ffmpeg_LIBS
-qt5_CFLAGS
-qt5_LIBS'
+qt6_CFLAGS
+qt6_LIBS'
# Initialize some variables set by options.
@@ -1431,7 +1431,7 @@
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
--disable-gui do not build GUI (default is build GUI)
- --disable-qt5 do not use Qt5
+ --disable-qt6 do not use Qt6
--enable-noec use private ECDSA code (default - use openssl ECDSA
if available)
--enable-debug keep debug symbols in binarfies (default - strip
@@ -1471,8 +1471,8 @@
ffmpeg_CFLAGS
C compiler flags for ffmpeg, overriding pkg-config
ffmpeg_LIBS linker flags for ffmpeg, overriding pkg-config
- qt5_CFLAGS C compiler flags for qt5, overriding pkg-config
- qt5_LIBS linker flags for qt5, overriding pkg-config
+ qt6_CFLAGS C compiler flags for qt6, overriding pkg-config
+ qt6_LIBS linker flags for qt6, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -12545,12 +12545,12 @@
#AM_CONDITIONAL([ENABLE_GUI],[test "x$enable_gui" = "xyes"])
-# Check whether --enable-qt5 was given.
-if test ${enable_qt5+y}
+# Check whether --enable-qt6 was given.
+if test ${enable_qt6+y}
then :
- enableval=$enable_qt5;
+ enableval=$enable_qt6;
else $as_nop
- enable_qt5=yes
+ enable_qt6=yes
fi
@@ -17312,7 +17312,7 @@
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
- ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=true
+ ax_cxx_compile_alternatives="17" ax_cxx_compile_cxx11_required=true
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -18295,24 +18295,24 @@
if test "x$enable_gui" != "xno"
then :
- if test "x$enable_qt5" != "xno"
+ if test "x$enable_qt6" != "xno"
then :
pkg_failed=no
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Qt5Core Qt5Gui Qt5Widgets Qt5DBus" >&5
-printf %s "checking for Qt5Core Qt5Gui Qt5Widgets Qt5DBus... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Qt6Core Qt6Gui Qt6Widgets Qt6DBus" >&5
+printf %s "checking for Qt6Core Qt6Gui Qt6Widgets Qt6DBus... " >&6; }
-if test -n "$qt5_CFLAGS"; then
- pkg_cv_qt5_CFLAGS="$qt5_CFLAGS"
+if test -n "$qt6_CFLAGS"; then
+ pkg_cv_qt6_CFLAGS="$qt6_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core Qt5Gui Qt5Widgets Qt5DBus\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Qt5Core Qt5Gui Qt5Widgets Qt5DBus") 2>&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt6Core Qt6Gui Qt6Widgets Qt6DBus\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "Qt6Core Qt6Gui Qt6Widgets Qt6DBus") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_qt5_CFLAGS=`$PKG_CONFIG --cflags "Qt5Core Qt5Gui Qt5Widgets Qt5DBus" 2>/dev/null`
+ pkg_cv_qt6_CFLAGS=`$PKG_CONFIG --cflags "Qt6Core Qt6Gui Qt6Widgets Qt6DBus" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -18320,16 +18320,16 @@
else
pkg_failed=untried
fi
-if test -n "$qt5_LIBS"; then
- pkg_cv_qt5_LIBS="$qt5_LIBS"
+if test -n "$qt6_LIBS"; then
+ pkg_cv_qt6_LIBS="$qt6_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core Qt5Gui Qt5Widgets Qt5DBus\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Qt5Core Qt5Gui Qt5Widgets Qt5DBus") 2>&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt6Core Qt6Gui Qt6Widgets Qt6DBus\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "Qt6Core Qt6Gui Qt6Widgets Qt6DBus") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_qt5_LIBS=`$PKG_CONFIG --libs "Qt5Core Qt5Gui Qt5Widgets Qt5DBus" 2>/dev/null`
+ pkg_cv_qt6_LIBS=`$PKG_CONFIG --libs "Qt6Core Qt6Gui Qt6Widgets Qt6DBus" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -18350,12 +18350,12 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- qt5_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "Qt5Core Qt5Gui Qt5Widgets Qt5DBus" 2>&1`
+ qt6_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "Qt6Core Qt6Gui Qt6Widgets Qt6DBus" 2>&1`
else
- qt5_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "Qt5Core Qt5Gui Qt5Widgets Qt5DBus" 2>&1`
+ qt6_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "Qt6Core Qt6Gui Qt6Widgets Qt6DBus" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
- echo "$qt5_PKG_ERRORS" >&5
+ echo "$qt6_PKG_ERRORS" >&5
qt_ok=no
elif test $pkg_failed = untried; then
@@ -18363,16 +18363,16 @@
printf "%s\n" "no" >&6; }
qt_ok=no
else
- qt5_CFLAGS=$pkg_cv_qt5_CFLAGS
- qt5_LIBS=$pkg_cv_qt5_LIBS
+ qt6_CFLAGS=$pkg_cv_qt6_CFLAGS
+ qt6_LIBS=$pkg_cv_qt6_LIBS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- QT_INC="$qt5_CFLAGS";
+ QT_INC="$qt6_CFLAGS";
QT_CFLAGS="-fPIC";
- QT_LIB="$qt5_LIBS";
- qt5_host_bins=`$PKG_CONFIG --variable host_bins "Qt5Core" 2>/dev/null`;
- QT_MOC="$qt5_host_bins/moc";
+ QT_LIB="$qt6_LIBS";
+ qt6_libexecdir=`$PKG_CONFIG --variable libexecdir "Qt6Core" 2>/dev/null`;
+ QT_MOC="$qt6_libexecdir/moc";
qt_ok=yes
fi
--- a/makemkvgui/src/dirselectbox.cpp
+++ b/makemkvgui/src/dirselectbox.cpp
@@ -121,7 +121,7 @@
if ( (dir.at(dlen-(alen+1))==QLatin1Char('/')) ||
(dir.at(dlen-(alen+1))==QLatin1Char('\\')) )
{
- if (dir.endsWith(appendName)) {
+ if (dir.endsWith(*appendName)) {
dir.chop(alen+1);
}
}
--- a/makemkvgui/src/mainwnd.cpp
+++ b/makemkvgui/src/mainwnd.cpp
@@ -35,7 +35,7 @@
Qt::MacWindowToolBarButtonHint |
Qt::WindowMinMaxButtonsHint ;
#else
- 0;
+ Qt::Widget;
#endif
MainWnd::MainWnd(CGUIApClient* App,const char* AppDir)
--- a/makemkvgui/src/qtgui.h
+++ b/makemkvgui/src/qtgui.h
@@ -46,7 +46,7 @@
#include <QtWidgets/QProgressBar>
#include <QtWidgets/QStackedWidget>
#include <QtWidgets/QComboBox>
-#include <QtWidgets/QAction>
+#include <QtGui/QAction>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QBoxLayout>

View File

@ -0,0 +1,242 @@
'\" t
.\" Title: makemkvcon
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\" Date: 05/20/2020
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "MAKEMKVCON" "1" "05/20/2020" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
makemkvcon \- MakeMKV console application
.SH "SYNOPSIS"
.sp
\fBmakemkvcon\fR [\fIOPTIONS\fR] <backup|info|mkv> [\fIPARAMETERS\fR]
.SH "DESCRIPTION"
.sp
Command\-line options for MakeMKV\&.
.sp
Configuration options and setup keys are located in ~/\&.MakeMKV/
.SH "OPTIONS"
.sp
General options:
.PP
\fB\-\-messages=\fR\fIFILE\fR
.RS 4
Output all messgaes to a file\&. Special file names: stdout, stderr, null\&. Default is to stdout\&.
.RE
.PP
\fB\-\-progress=\fR\fIFILE\fR
.RS 4
Output all progress messages to a file\&. Special file names: stdout, stderr, null\&. Use
\fB\-same\fR
to use
\fB\-\-messages\fR
argument\&. Default is no output\&.
.RE
.PP
\fB\-\-debug\fR[=\fIFILE\fR]
.RS 4
Enables debug messages\&. Optionally saves to output file\&.
.RE
.PP
\fB\-\-directio=[true|false]\fR
.RS 4
Enables or disables direct disc access\&.
.RE
.PP
\fB\-\-noscan\fR
.RS 4
Don\(cqt access any media during disc scan and do not check for media insertion and removal\&. Helpful when other applications are already accessing discs in other drives\&.
.RE
.PP
\fB\-\-cache=\fR\fISIZE\fR
.RS 4
Specifies size of read cache in megabytes\&. By default program uses a huge amount of memory\&. About 128 MB is recommended for streaming and backup, 512MB for DVD conversion and 1024MB for Blu\-ray conversion\&.
.RE
.PP
\fB\-r, \-\-robot\fR
.RS 4
Enables automation mode\&. Program will output more information in a format that is easier to parse\&. All output is line\-based and output is flushed on line end\&. All strings are quoted, all control characters and quotes are backlash\-escaped\&. If you automate this program it is highly recommended to use this option\&. Some options make reference to apdefs\&.h file that can be found in MakeMKV open\-source package, included with version for Linux\&. These values will not change in future versions\&.
.RE
.sp
Backup options:
.PP
\fB\-\-decrypt\fR
.RS 4
Decrypt stream files during backup\&. Default: no decryption\&.
.RE
.PP
\fB\-\-minlength\fR=\fISECONDS\fR
.RS 4
Specify minimum title length\&. Default: program preferences\&.
.RE
.SH "COMMANDS"
.sp
\fBbackup\fR Backup disc\&.
.sp
\fBinfo\fR Display information about a disc\&.
.sp
\fBmkv\fR Copy titles from disc\&.
.sp
\fBf\fR Run universal firmware tool\&.
.SH "PARAMETERS"
.PP
\fBsource iso:\fR\fIFILENAME\fR
.RS 4
Open ISO image\&.
.RE
.PP
\fBsource file:\fR\fIDIRECTORY\fR
.RS 4
Open files in directory\&.
.RE
.PP
\fBsource disc:\fR\fIDISC ID\fR
.RS 4
Open disc with ID\&.
.RE
.PP
\fBsource dev:\fR\fIDEVICE\fR
.RS 4
Open disc with device name\&.
.RE
.SH "EXAMPLES"
.sp
Copy all titles from first disc and save as MKV files into current directory:
.sp
.if n \{\
.RS 4
.\}
.nf
makemkvcon mkv disc:0 all \&.
.fi
.if n \{\
.RE
.\}
.sp
List all available drives:
.sp
.if n \{\
.RS 4
.\}
.nf
makemkvcon \-r \-\-cache=1 info disc:9999
.fi
.if n \{\
.RE
.\}
.sp
Backup first disc decrypting all video files in automation mode with progress output:
.sp
.if n \{\
.RS 4
.\}
.nf
makemkvcon backup \-\-decrypt \-\-cache=16 \-\-noscan \-r \-\-progress=\-same disc:0 \&.
.fi
.if n \{\
.RE
.\}
.SH "MESSAGE FORMATS"
.sp
\fBMessage output\fR
.sp
MSG:code,flags,count,message,format,param0,param1,\&...
.sp
code \- unique message code, should be used to identify particular string in language\-neutral way\&.
.sp
flags \- message flags, see AP_UIMSG_xxx flags in apdefs\&.h
.sp
count \- number of parameters
.sp
message \- raw message string suitable for output
.sp
format \- format string used for message\&. This string is localized and subject to change, unlike message code\&.
.sp
paramX \- parameter for message
.sp
\fBCurrent and total progress title\fR
.sp
PRGC:code,id,name
.sp
PRGT:code,id,name
.sp
code \- unique message code
.sp
id \- operation sub\-id
.sp
name \- name string
.sp
\fBProgress bar values for current and total progress\fR
.sp
PRGV:current,total,max
.sp
current \- current progress value
.sp
total \- total progress value
.sp
max \- maximum possible value for a progress bar, constant
.sp
\fBDrive scan messages\fR
.sp
DRV:index,visible,enabled,flags,drive name,disc name
.sp
index \- drive index
.sp
visible \- set to 1 if drive is present
.sp
enabled \- set to 1 if drive is accessible
.sp
flags \- media flags, see AP_DskFsFlagXXX in apdefs\&.h
.sp
drive name \- drive name string
.sp
disc name \- disc name string
.sp
\fBDisc information output messages\fR
.sp
TCOUT:count
.sp
count \- titles count
.sp
\fBDisc, title and stream information\fR
.sp
CINFO:id,code,value
.sp
TINFO:id,code,value
.sp
SINFO:id,code,value
.sp
id \- attribute id, see AP_ItemAttributeId in apdefs\&.h
.sp
code \- message code if attribute value is a constant string
.sp
value \- attribute value
.SH "RESOURCES"
.sp
Console usage: https://www\&.makemkv\&.com/developers/usage\&.txt
.sp
MakeMKV for Linux forum: https://www\&.makemkv\&.com/forum/viewforum\&.php?f=3
.sp
Main web site: https://www\&.makemkv\&.com/

View File

@ -0,0 +1,121 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic linux-info xdg
MY_P=makemkv-oss-${PV}
MY_PB=makemkv-bin-${PV}
DESCRIPTION="Tool for ripping and streaming Blu-ray, HD-DVD and DVD discs"
HOMEPAGE="http://www.makemkv.com/"
SRC_URI="http://www.makemkv.com/download/${MY_P}.tar.gz
http://www.makemkv.com/download/${MY_PB}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2 LGPL-2.1 MPL-1.1 MakeMKV-EULA openssl"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="+gui +java"
RESTRICT="bindist mirror"
QA_PREBUILT="usr/bin/makemkvcon usr/bin/mmdtsdec"
DEPEND="
dev-libs/expat
dev-libs/openssl:0=[-bindist(-)]
>=media-video/ffmpeg-1.0.0:0=
sys-libs/zlib
gui? ( dev-qt/qtbase:6[dbus,gui,widgets] )
"
RDEPEND="
${DEPEND}
java? ( >=virtual/jre-1.8 )
"
BDEPEND="
virtual/pkgconfig
gui? ( dev-qt/qtbase:6 )
"
CONFIG_CHECK="~CHR_DEV_SG"
PATCHES=(
"${FILESDIR}"/${PN}-qt6.patch
"${FILESDIR}"/${PN}-path.patch
)
src_prepare() {
default
if ! use java; then
rm -v "${WORKDIR}/${MY_PB}"/src/share/blues.* || die
fi
}
src_configure() {
# See bug #439380.
replace-flags -O* -Os
econf \
--enable-debug \
--disable-noec \
$(use_enable gui) \
$(use_enable gui qt6)
}
src_install() {
local myarch
case "${ARCH}" in
arm) myarch=armhf ;;
x86) myarch=i386 ;;
*) myarch=${ARCH} ;;
esac
default
# add missing symlinks for QA
dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so.0.${PV}
dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so
dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so.1.${PV}
dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so
dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so
dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so.0.${PV}
cd "${WORKDIR}"/${MY_PB} || die
# install prebuilt bin
dobin bin/"${myarch}"/makemkvcon
# additional tool is actually part of makemkvcon
dosym makemkvcon /usr/bin/sdftool
# install profiles and locales
insinto /usr/share/MakeMKV
doins src/share/*
# install unofficial man page
doman "${FILESDIR}"/makemkvcon.1
}
pkg_postinst() {
xdg_pkg_postinst
elog "While MakeMKV is in beta mode, upstream has provided a license"
elog "to use if you do not want to purchase one."
elog ""
elog "See this forum thread for more information, including the key:"
elog "https://www.makemkv.com/forum/viewtopic.php?f=5&t=1053"
elog ""
elog "Note that beta license may have an expiration date and you will"
elog "need to check for newer licenses/releases. "
elog ""
elog "We previously said to copy default.mmcp.xml to ~/.MakeMKV/. This"
elog "is no longer necessary and you should delete it from there to"
elog "avoid warning messages."
elog ""
elog "MakeMKV can also act as a drop-in replacement for libaacs and"
elog "libbdplus, allowing transparent decryption of a wider range of"
elog "titles under players like VLC and mplayer. To enable this, set"
elog "the following variables when launching the player:"
elog "LIBAACS_PATH=libmmbd LIBBDPLUS_PATH=libmmbd"
}

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
<name>James Le Cuirot</name>
</maintainer>
<use>
<flag name="java">Handle additional Blu-ray protection mechanisms involving Java</flag>
</use>
<longdescription>
MakeMKV is your one-click solution to convert video that you own
into free and patents-unencumbered format that can be played
everywhere. MakeMKV is a format converter, otherwise called
transcoder. It converts the video clips from proprietary (and
usually encrypted) disc into a set of MKV files, preserving most
information but not changing it in any way. The MKV format can
store multiple video/audio tracks with all meta-information and
preserve chapters. There are many players that can play MKV
files nearly on all platforms, and there are tools to convert
MKV files to many formats, including DVD and Blu-ray discs.
Additionally MakeMKV can instantly stream decrypted video
without intermediate conversion to wide range of players, so you
may watch Blu-ray and DVD discs with your favorite player on
your favorite OS or on your favorite device.
</longdescription>
</pkgmetadata>