commit:     88d6dd816df0e6e950a31d98f30717b7c7f73b04
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 19 18:13:35 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 20 09:30:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88d6dd81

media-tv/mythtv: drop 33.1-r4

Closes: https://bugs.gentoo.org/915800
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-tv/mythtv/Manifest                           |   1 -
 media-tv/mythtv/files/mythbackend.init-r3          |  72 ----
 .../files/mythtv-33.1-ffmpeg-binutils-2.41.patch   |  75 ----
 .../files/mythtv-33.1-linux-headers-6.5.patch      |  30 --
 media-tv/mythtv/files/mythtv-33.1-python3.12.patch | 265 --------------
 media-tv/mythtv/metadata.xml                       |   1 -
 media-tv/mythtv/mythtv-33.1-r4.ebuild              | 386 ---------------------
 7 files changed, 830 deletions(-)

diff --git a/media-tv/mythtv/Manifest b/media-tv/mythtv/Manifest
index d9f767eb6cf0..9fb837da2419 100644
--- a/media-tv/mythtv/Manifest
+++ b/media-tv/mythtv/Manifest
@@ -1,2 +1 @@
-DIST mythtv-33.1.tar.gz 116920982 BLAKE2B 
bc784a12ee0acf3066d46896343ed15a2f7097364595d20e832da3197eb37c8d05342f82171b66ec842ec48b5829b7ace8c6043835b8de4a04afd8a4df72df1d
 SHA512 
4dc2943915e5e3ca047edc0a005a9e0b58edf7bc51c7fb097a6715bbbb52028260065a7f52f35e4ed98559cc4f4ccca76f1cf6ae68e76b1f2d06a1befd4776e9
 DIST mythtv-35.0.tar.gz 120302443 BLAKE2B 
0997262ebc586e500824bee738b0a3e47aa7f04f0b7e03afbdda1f67d8b8134f712af29bcd289d317d253160c36ab423aac509700d3e74d538c8b7ccb04cae40
 SHA512 
7a4f44400bb0a1739fb713a3e3f82dfe2e18f97103d97331b01948bc5a9f01be964076ea5f6dc68d54aa3a0e4ec95ad833cc2080e4ff79c020d991e8f5c1e28d

diff --git a/media-tv/mythtv/files/mythbackend.init-r3 
b/media-tv/mythtv/files/mythbackend.init-r3
deleted file mode 100644
index 3de2bf91511e..000000000000
--- a/media-tv/mythtv/files/mythbackend.init-r3
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="MythTV backend recording daemon"
-extra_started_commands="resched upnprebuild"
-description_resched="Forces the recording scheduler to update"
-description_upnprebuild="Rebuilds the UPnP media cache"
-
-MYTHBACKEND_OPTS=${MYTHBACKEND_OPTS:-"${MYTHBACKEND_OPTS}"}
-MYTHBACKEND_VERBOSE=${MYTHBACKEND_VERBOSE:-"general"}
-MYTHBACKEND_LOGGING=${MYTHBACKEND_LOGGING:-"files"}
-
-name="MythTV backend"
-command="/usr/bin/mythbackend"
-pidfile="/run/mythtv/mythbackend.pid"
-start_stop_daemon_args="--pidfile ${pidfile} --user mythtv:mythtv"
-command_args="--daemon --pidfile ${pidfile} --verbose ${MYTHBACKEND_VERBOSE} 
${MYTHBACKEND_OPTS}"
-
-depend() {
-       # mythbackend doesn't need to run on the same machine that
-       # mysql runs on. so its use for that reason
-       use logger net.lo mysql LCDd
-}
-
-start_pre() {
-       case "${MYTHBACKEND_LOGGING}" in
-               database) logging="--enable-dblog" ;;
-               syslog\ *) logging="--${MYTHBACKEND_LOGGING}" ;;
-               files) logging="--logpath /var/log/mythtv" ;;
-               console) logging="--nologserver" ;;
-               *)
-                       eerror "Invalid MYTHBACKEND_LOGGING value"
-                       exit 1
-                       ;;
-       esac
-
-       #fixes for bug #101308
-       unset DISPLAY
-       unset SESSION_MANAGER
-
-       # Work around any strange permissions that may be on these files.
-       [ "x${MYTHBACKEND_LOGGING}" = "xfiles" ] && \
-               checkpath --directory --owner mythtv:mythtv --mode 0755 
/var/log/mythtv
-       checkpath --directory --owner mythtv:mythtv --mode 0775 "{$HOME}"
-       checkpath --directory --owner mythtv:mythtv --mode 0750 /run/mythtv
-}
-
-start() {
-       ebegin "Starting ${name}"
-       start-stop-daemon --start ${start_stop_daemon_args} --exec ${command} \
-               -- ${command_args} ${logging}
-       eend $?
-}
-
-stop() {
-       ebegin "Stopping ${name}"
-       start-stop-daemon --stop --retry 10 --progress --pidfile ${pidfile}
-       eend $?
-}
-
-resched() {
-       ebegin "Updating the recording scheduler"
-       ${command} --resched
-       eend $?
-}
-
-upnprebuild() {
-       ebegin "Rebuilding UPnP media cache"
-       ${command} --upnprebuild
-       eend $?
-}

diff --git a/media-tv/mythtv/files/mythtv-33.1-ffmpeg-binutils-2.41.patch 
b/media-tv/mythtv/files/mythtv-33.1-ffmpeg-binutils-2.41.patch
deleted file mode 100644
index e976d8344a2d..000000000000
--- a/media-tv/mythtv/files/mythtv-33.1-ffmpeg-binutils-2.41.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-https://bugs.gentoo.org/912708
-https://bugs.gentoo.org/911582
-https://trac.ffmpeg.org/ticket/10405
-https://git.videolan.org/?p=ffmpeg.git;a=commit;h=25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e
-https://sourceware.org/PR30578
-https://gcc.gnu.org/PR108941
-
-From 25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e Mon Sep 17 00:00:00 2001
-From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <[email protected]>
-Date: Sun, 16 Jul 2023 18:18:02 +0300
-Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
- instructions within inline assembly
-
-Fixes assembling with binutil as >= 2.41
-
-Signed-off-by: James Almer <[email protected]>
-(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb)
---- a/external/FFmpeg/libavcodec/x86/mathops.h
-+++ b/external/FFmpeg/libavcodec/x86/mathops.h
-@@ -35,12 +35,20 @@
- static av_always_inline av_const int MULL(int a, int b, unsigned shift)
- {
-     int rt, dummy;
-+    if (__builtin_constant_p(shift))
-     __asm__ (
-         "imull %3               \n\t"
-         "shrdl %4, %%edx, %%eax \n\t"
-         :"=a"(rt), "=d"(dummy)
--        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
-+        :"a"(a), "rm"(b), "i"(shift & 0x1F)
-     );
-+    else
-+        __asm__ (
-+            "imull %3               \n\t"
-+            "shrdl %4, %%edx, %%eax \n\t"
-+            :"=a"(rt), "=d"(dummy)
-+            :"a"(a), "rm"(b), "c"((uint8_t)shift)
-+        );
-     return rt;
- }
- 
-@@ -113,19 +121,31 @@ __asm__ volatile(\
- // avoid +32 for shift optimization (gcc should do that ...)
- #define NEG_SSR32 NEG_SSR32
- static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("sarl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("sarl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 
- #define NEG_USR32 NEG_USR32
- static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("shrl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("shrl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 

diff --git a/media-tv/mythtv/files/mythtv-33.1-linux-headers-6.5.patch 
b/media-tv/mythtv/files/mythtv-33.1-linux-headers-6.5.patch
deleted file mode 100644
index 0ead0d51d665..000000000000
--- a/media-tv/mythtv/files/mythtv-33.1-linux-headers-6.5.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://bugs.gentoo.org/913866
-https://github.com/MythTV/mythtv/issues/775
-https://github.com/MythTV/mythtv/commit/7d6c7d605f87b697c7488d1eb4a3246b83e31f01
-
-From 7d6c7d605f87b697c7488d1eb4a3246b83e31f01 Mon Sep 17 00:00:00 2001
-From: David Hampton <[email protected]>
-Date: Fri, 21 Jul 2023 00:59:43 -0400
-Subject: [PATCH] Work around Linux kernel header 6.5 using C++ reserved
- keyword.
-
-Starting with kernel 6.5.0, a rewrite of the linux/ioprio.h header
-file uses the C++ reserved keyword "class" as a variable name.
-Fortunately we can redefine the string "class" for the duration of the
-inclusion without any ill effects.
---- a/libs/libmythbase/mythmiscutil.cpp
-+++ b/libs/libmythbase/mythmiscutil.cpp
-@@ -702,7 +702,12 @@ void myth_yield(void)
- #include <sys/ptrace.h>
- #include <sys/syscall.h>
- #if __has_include(<linux/ioprio.h>)
-+// Starting with kernel 6.5.0, the following include uses the C++
-+// reserved keyword "class" as a variable name. Fortunately we can
-+// redefine it without any ill effects.
-+#define class class2
- #include <linux/ioprio.h>
-+#undef class
- #else
- static constexpr int8_t IOPRIO_BITS        { 16 };
- static constexpr int8_t IOPRIO_CLASS_SHIFT { 13 };
-

diff --git a/media-tv/mythtv/files/mythtv-33.1-python3.12.patch 
b/media-tv/mythtv/files/mythtv-33.1-python3.12.patch
deleted file mode 100644
index 91f72ab13ac3..000000000000
--- a/media-tv/mythtv/files/mythtv-33.1-python3.12.patch
+++ /dev/null
@@ -1,265 +0,0 @@
-From ea59f869dcbd73b1d0dca973314604f689b50c34 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <[email protected]>
-Date: Thu, 4 Jan 2024 16:18:00 -0500
-Subject: [PATCH 1/2] hardwareprofile: remove external dependency on simplejson
-
-This uses the requests module and converts requests responses to json
-using requests' own `.json()` method on responses. For incomprehensible
-reasons, requests has spent about a decade using either simplejson or
-the standard library's json module more or less at will, and returning
-either one or the other exception types. They don't know why they use
-simplejson, we don't know why they use simplejson. In requests 3 (which
-will be released in the Year Of The Linux Desktop or when pigs fly,
-whichever one comes later) simplejson is dropped entirely.
-
-There are innumerable issues discussing the problem on the requests
-bugtracker, with the general consensus being that it's better to
-randomly return either one of two different libraries and two different
-library return types in errors -- because it was historically done that
-way and people might be depending on it. ??????
-
-Bugs:
-
-https://github.com/psf/requests/pull/710
-https://github.com/psf/requests/pull/2516
-https://github.com/psf/requests/issues/3052
-https://github.com/psf/requests/issues/4169
-https://github.com/psf/requests/issues/4842
-https://github.com/psf/requests/issues/5794
-https://github.com/psf/requests/issues/6084
-
-The awkward workaround is to guarantee that requests' silent behavior of
-using simplejson *if it is installed* is forcibly triggered by forcibly
-depending on simplejson, and then catching the simplejson exception.
-
-The better solution here is pretty simple: do not rely on the requests
-module's automatic json conversion, this is as simple as using the
-already-imported json module and calling json.loads() on the retrieved
-content.
-
-Fixes: 1df343e9ab7defa284a73390210a65cf2112f17e
-Reimplements: bb154a843b737cc3ad8c1a45fa04a1a3609aff05
-(cherry picked from commit 6348dc01a45af6ed63c09326ec94cd425db1d6d7)
----
- mythtv/configure                                 | 1 -
- mythtv/programs/scripts/hardwareprofile/smolt.py | 5 ++---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/mythtv/configure b/mythtv/configure
-index 7e966ef817..3429c208e2 100755
---- a/mythtv/configure
-+++ b/mythtv/configure
-@@ -6555,7 +6555,6 @@ if enabled bindings_python; then
-     check_py_lib MySQLdb       || disable_bindings_python "MySQLdb"
-     check_py_lib lxml          || disable_bindings_python "lxml"
-     check_py_lib requests      || disable_bindings_python "requests"
--    check_py_lib simplejson    || disable_bindings_python "simplejson"
-     check_py_lib future        || disable_bindings_python "future"
- fi
- 
-diff --git a/mythtv/programs/scripts/hardwareprofile/smolt.py 
b/mythtv/programs/scripts/hardwareprofile/smolt.py
-index 1bcc8060d0..464f068d6f 100644
---- a/mythtv/programs/scripts/hardwareprofile/smolt.py
-+++ b/mythtv/programs/scripts/hardwareprofile/smolt.py
-@@ -50,7 +50,6 @@ except ImportError:
-     from urlparse import urlparse
- import json
- from json import JSONEncoder
--from simplejson import errors as sje
- import datetime
- import logging
- 
-@@ -790,8 +789,8 @@ class _HardwareProfile:
-                 sys.exit(1)
- 
-             try:
--                admin_obj = admin_token.json()
--            except sje.JSONDecodeError:
-+                admin_obj = json.loads(admin_token.content)
-+            except json.JSONDecodeError:
-                 self.session.close()
-                 error(_('Incorrect server response. Expected a JSON string'))
-                 return (1, None, None)
--- 
-2.41.0
-
-
-From 7c1dbe7a86dc9b445a1a491f5a849b0eba21aead Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <[email protected]>
-Date: Wed, 13 Dec 2023 23:11:11 -0500
-Subject: [PATCH 2/2] hardwareprofile: remove ancient "future" compatibility
- library for python2
-
-Ironically, for a package that was intended to provide portability
-between python2 and python3, it is broken with python 3.12. A better
-library to use in all cases is "six".
-
-However, mythtv requires python 3.8 for a while now. Using
-"future.standard_library" is a no-op other than costing a pointless
-import and being troublesome to actually install.
-
-The hacky copy of six.with_metaclass included in "future" is rewritten
-to use the pure python3 form of a metaclass.
-
-(cherry picked from commit 4a1ea331bb2b106e7ae7e7e9bb7970f71b8a84b3)
----
- mythtv/configure                                          | 1 -
- .../scripts/hardwareprofile/MultipartPostHandler.py       | 2 --
- .../hardwareprofile/distros/mythtv_data/request.py        | 2 --
- .../scripts/hardwareprofile/distros/mythtv_data/uuiddb.py | 2 --
- mythtv/programs/scripts/hardwareprofile/hwdata.py         | 8 +++-----
- mythtv/programs/scripts/hardwareprofile/os_detect.py      | 5 ++---
- mythtv/programs/scripts/hardwareprofile/request.py        | 2 --
- mythtv/programs/scripts/hardwareprofile/scan.py           | 2 --
- mythtv/programs/scripts/hardwareprofile/uuiddb.py         | 2 --
- 9 files changed, 5 insertions(+), 21 deletions(-)
-
-diff --git a/mythtv/configure b/mythtv/configure
-index 3429c208e2..4bfbbd8c64 100755
---- a/mythtv/configure
-+++ b/mythtv/configure
-@@ -6555,7 +6555,6 @@ if enabled bindings_python; then
-     check_py_lib MySQLdb       || disable_bindings_python "MySQLdb"
-     check_py_lib lxml          || disable_bindings_python "lxml"
-     check_py_lib requests      || disable_bindings_python "requests"
--    check_py_lib future        || disable_bindings_python "future"
- fi
- 
- # Check for perl dependencies
-diff --git a/mythtv/programs/scripts/hardwareprofile/MultipartPostHandler.py 
b/mythtv/programs/scripts/hardwareprofile/MultipartPostHandler.py
-index 51619096b8..6ff2443d2e 100644
---- a/mythtv/programs/scripts/hardwareprofile/MultipartPostHandler.py
-+++ b/mythtv/programs/scripts/hardwareprofile/MultipartPostHandler.py
-@@ -41,8 +41,6 @@ Further Example:
- """
- from __future__ import print_function
- 
--from future import standard_library
--standard_library.install_aliases()
- from builtins import object
- from email.generator import _make_boundary
- import mimetypes
-diff --git 
a/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/request.py 
b/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/request.py
-index 2ae4fd3fdd..81362ba8b7 100644
---- a/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/request.py
-+++ b/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/request.py
-@@ -21,8 +21,6 @@
- # providing the base url, user agent, and proxy information.
- # The object returned is slightly modified, with a shortcut to urlopen.
- 
--from future import standard_library
--standard_library.install_aliases()
- from builtins import object
- import urllib.request, urllib.error, urllib.parse
- import urllib.parse
-diff --git 
a/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/uuiddb.py 
b/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/uuiddb.py
-index 6960f8705a..9d22556c04 100644
---- a/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/uuiddb.py
-+++ b/mythtv/programs/scripts/hardwareprofile/distros/mythtv_data/uuiddb.py
-@@ -16,8 +16,6 @@
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
- 
--from future import standard_library
--standard_library.install_aliases()
- from builtins import map
- from builtins import str
- from builtins import object
-diff --git a/mythtv/programs/scripts/hardwareprofile/hwdata.py 
b/mythtv/programs/scripts/hardwareprofile/hwdata.py
-index ba297bf24f..0770d32b96 100644
---- a/mythtv/programs/scripts/hardwareprofile/hwdata.py
-+++ b/mythtv/programs/scripts/hardwareprofile/hwdata.py
-@@ -25,8 +25,6 @@ from __future__ import division
- from __future__ import absolute_import
- from builtins import int
- from builtins import open
--from future import standard_library
--standard_library.install_aliases()
- from builtins import object
- from smolt_config import get_config_attr
- 
-@@ -71,9 +69,9 @@ class DeviceMap(object):
-                     pass
-         else:
-             raise Exception('Hardware data file not found.  Please set the 
location HWDATA_DIR in config.py')
--         
--            
--            
-+
-+
-+
-         vendors = {}
-         curvendor = None
-         curdevice = None
-diff --git a/mythtv/programs/scripts/hardwareprofile/os_detect.py 
b/mythtv/programs/scripts/hardwareprofile/os_detect.py
-index 7d0edee00e..beabf7d865 100644
---- a/mythtv/programs/scripts/hardwareprofile/os_detect.py
-+++ b/mythtv/programs/scripts/hardwareprofile/os_detect.py
-@@ -26,7 +26,6 @@
- from __future__ import print_function
- from builtins import object
- import os
--from future.utils import with_metaclass
- 
- class OrderedType( type ):
-     # provide global sequencing for OS class and subclasses to ensure
-@@ -37,7 +36,7 @@ class OrderedType( type ):
-         mcs.nextorder += 1
-         return type.__new__(mcs, name, bases, attrs)
- 
--class OS( with_metaclass(OrderedType, object) ):
-+class OS(metaclass=OrderedType):
-     _requires_func = True
-     def __init__(self, ostype=-1, func=None, inst=None):
-         if callable(ostype):
-@@ -189,7 +188,7 @@ class OSInfoType( type ):
-             # fall through to Unknown
-             return 'Unknown'
- 
--class get_os_info( with_metaclass(OSInfoType, object) ):
-+class get_os_info(metaclass=OSInfoType):
-     @OS('nt')
-     def windows(self):
-         win_version = {
-diff --git a/mythtv/programs/scripts/hardwareprofile/request.py 
b/mythtv/programs/scripts/hardwareprofile/request.py
-index 6e6a20b9e7..d6668cef3d 100644
---- a/mythtv/programs/scripts/hardwareprofile/request.py
-+++ b/mythtv/programs/scripts/hardwareprofile/request.py
-@@ -21,8 +21,6 @@
- # providing the base url, user agent, and proxy information.
- # The object returned is slightly modified, with a shortcut to urlopen.
- 
--from future import standard_library
--standard_library.install_aliases()
- from builtins import object
- 
- try:
-diff --git a/mythtv/programs/scripts/hardwareprofile/scan.py 
b/mythtv/programs/scripts/hardwareprofile/scan.py
-index 1389400ece..d100bfe692 100644
---- a/mythtv/programs/scripts/hardwareprofile/scan.py
-+++ b/mythtv/programs/scripts/hardwareprofile/scan.py
-@@ -18,8 +18,6 @@
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
- 
- from __future__ import print_function
--from future import standard_library
--standard_library.install_aliases()
- import smolt
- import json
- 
-diff --git a/mythtv/programs/scripts/hardwareprofile/uuiddb.py 
b/mythtv/programs/scripts/hardwareprofile/uuiddb.py
-index e7ba3891ec..3c2fc16d86 100644
---- a/mythtv/programs/scripts/hardwareprofile/uuiddb.py
-+++ b/mythtv/programs/scripts/hardwareprofile/uuiddb.py
-@@ -16,8 +16,6 @@
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
- 
--from future import standard_library
--standard_library.install_aliases()
- from builtins import object
- import configparser
- import logging
--- 
-2.41.0
-

diff --git a/media-tv/mythtv/metadata.xml b/media-tv/mythtv/metadata.xml
index 332d894c764c..b4ae8c12f54b 100644
--- a/media-tv/mythtv/metadata.xml
+++ b/media-tv/mythtv/metadata.xml
@@ -16,7 +16,6 @@
                <flag name="cec">Allows control of CEC enabled TVs via 
HDMI</flag>
                <flag name="ceton">Ceton InfiniTV 4 a CableCARD-enabled tuner 
support</flag>
                <flag name="debug">Instructs Qt to use the 'debug' target</flag>
-               <flag name="fftw">Support visualizations via 
<pkg>sci-libs/fftw</pkg></flag>
                <flag name="hdhomerun">Silicondust USA Inc.network-attached 
tuner support</flag>
                <flag name="ieee1394">Firewire enabled Cable boxe support</flag>
                <flag name="jack">Allows MythTV to use JACK as your sound 
output device</flag>

diff --git a/media-tv/mythtv/mythtv-33.1-r4.ebuild 
b/media-tv/mythtv/mythtv-33.1-r4.ebuild
deleted file mode 100644
index ed9813a8ee4d..000000000000
--- a/media-tv/mythtv/mythtv-33.1-r4.ebuild
+++ /dev/null
@@ -1,386 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISABLE_AUTOFORMATTING="yes"
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit edo flag-o-matic java-pkg-opt-2 python-any-r1
-inherit qmake-utils readme.gentoo-r1 systemd toolchain-funcs user-info
-
-DESCRIPTION="Open Source DVR and media center hub"
-HOMEPAGE="https://www.mythtv.org https://github.com/MythTV/mythtv";
-if [[ ${PV} == *_p* ]] ; then
-       MY_COMMIT="5824c588db24b4e71a7d94e829e6419f71089297"
-       SRC_URI="https://github.com/MythTV/mythtv/archive/${MY_COMMIT}.tar.gz 
-> ${P}.tar.gz"
-       # mythtv and mythplugins are separate builds in the github MythTV 
project
-       S="${WORKDIR}/mythtv-${MY_COMMIT}/mythtv"
-else
-       SRC_URI="https://github.com/MythTV/mythtv/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-       # mythtv and mythplugins are separate builds in the github mythtv 
project
-       S="${WORKDIR}/${P}/mythtv"
-fi
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE_INPUT_DEVICES="input_devices_joystick"
-IUSE_VIDEO_CAPTURE_DEVICES="v4l ieee1394 hdhomerun vbox ceton"
-IUSE="alsa asi autostart cdda cdr cec cpu_flags_ppc_altivec debug dvd dvb exif 
fftw jack java"
-IUSE+=" +lame lcd libass lirc nvdec +opengl oss perl pulseaudio python raw 
systemd vaapi vdpau vpx"
-IUSE+=" +wrapper x264 x265 +xml xmltv +xvid +X zeroconf"
-IUSE+=" ${IUSE_INPUT_DEVICES} ${IUSE_VIDEO_CAPTURE_DEVICES}"
-REQUIRED_USE="
-       cdr? ( cdda )
-"
-
-RDEPEND="
-       acct-user/mythtv
-       dev-libs/glib:2
-       dev-libs/lzo
-       dev-libs/libzip:=
-       dev-qt/qtcore:5
-       dev-qt/qtdbus:5
-       dev-qt/qtgui:5[jpeg]
-       dev-qt/qtnetwork:5
-       dev-qt/qtscript:5
-       dev-qt/qtsql:5[mysql]
-       dev-qt/qtwidgets:5
-       dev-qt/qtxml:5
-       media-fonts/corefonts
-       media-fonts/dejavu
-       media-fonts/liberation-fonts
-       media-fonts/tex-gyre
-       media-gfx/exiv2:=
-       media-libs/freetype:2
-       media-libs/libbluray:=[java?]
-       media-libs/libsamplerate
-       media-libs/libsoundtouch
-       media-libs/taglib:=
-       sys-libs/zlib
-       alsa? ( media-libs/alsa-lib )
-       autostart? (
-               net-dialup/mingetty
-               x11-apps/xset
-               x11-wm/evilwm
-       )
-       cec? ( dev-libs/libcec )
-       dvd? (
-               dev-libs/libcdio:=
-               media-libs/libdvdcss
-               sys-fs/udisks:2
-       )
-       fftw? ( sci-libs/fftw:3.0=[threads] )
-       hdhomerun? ( media-libs/libhdhomerun )
-       ieee1394? (
-               media-libs/libiec61883
-               sys-libs/libavc1394
-               sys-libs/libraw1394
-       )
-       jack? ( virtual/jack )
-       lame? ( media-sound/lame )
-       lcd? ( app-misc/lcdproc )
-       libass? ( media-libs/libass:= )
-       lirc? ( app-misc/lirc )
-       nvdec? ( x11-drivers/nvidia-drivers )
-       opengl? ( dev-qt/qtopengl:5 )
-       pulseaudio? ( media-libs/libpulse )
-       systemd? ( sys-apps/systemd:= )
-       vaapi? ( media-libs/libva:= )
-       vdpau? ( x11-libs/libvdpau )
-       vpx? ( media-libs/libvpx:= )
-       x264? ( media-libs/x264:= )
-       X? (
-               x11-apps/xinit
-               x11-libs/libX11:=
-               x11-libs/libXext:=
-               x11-libs/libXinerama:=
-               x11-libs/libXrandr:=
-               x11-libs/libXv:=
-               x11-libs/libXxf86vm:=
-               x11-misc/wmctrl:=
-       )
-       x265? ( media-libs/x265 )
-       xml? ( dev-libs/libxml2:2= )
-       xmltv? (
-               dev-perl/XML-LibXML
-               media-tv/xmltv
-       )
-       xvid? ( media-libs/xvid )
-       zeroconf? (
-               dev-libs/openssl:=
-               net-dns/avahi[mdnsresponder-compat]
-       )
-"
-DEPEND="
-       ${RDEPEND}
-       dev-lang/yasm
-       sys-kernel/linux-headers
-       x11-base/xorg-proto
-       perl? (
-               dev-perl/DBD-mysql
-               dev-perl/DBI
-               dev-perl/HTTP-Message
-               dev-perl/IO-Socket-INET6
-               dev-perl/LWP-Protocol-https
-               dev-perl/Net-UPnP
-               dev-perl/XML-Simple
-       )
-"
-BDEPEND="
-       virtual/pkgconfig
-       java? ( >=dev-java/ant-1.10.14-r3 )
-       opengl? ( virtual/opengl )
-       python? (
-               ${PYTHON_DEPS}
-               $(python_gen_any_dep '
-                       dev-python/python-dateutil[${PYTHON_USEDEP}]
-                       dev-python/lxml[${PYTHON_USEDEP}]
-                       dev-python/mysqlclient[${PYTHON_USEDEP}]
-                       dev-python/requests-cache[${PYTHON_USEDEP}]
-               ')
-       )
-"
-
-PATCHES=(
-       "${FILESDIR}"/${PN}-33.1-libva.patch
-       "${FILESDIR}"/${PN}-33.1-ffmpeg-binutils-2.41.patch
-       "${FILESDIR}"/${PN}-33.1-linux-headers-6.5.patch
-)
-
-python_check_deps() {
-       use python || return 0
-       python_has_version "dev-python/python-dateutil[${PYTHON_USEDEP}]" &&
-       python_has_version "dev-python/lxml[${PYTHON_USEDEP}]" &&
-       python_has_version "dev-python/mysqlclient[${PYTHON_USEDEP}]" &&
-       python_has_version "dev-python/requests-cache[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       use python && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-       default
-       cat > external/libmythbluray/src/libbluray/bdj/build.properties <<-EOF
-               java_version_asm=1.8
-               java_version_bdj=1.8
-       EOF
-       # https://github.com/MythTV/mythtv/pull/824
-       # https://github.com/MythTV/mythtv/pull/838
-       # https://bugs.gentoo.org/888291
-       eapply -p2 "${FILESDIR}"/${PN}-33.1-python3.12.patch
-
-       # Perl bits need to go into vendor_perl and not site_perl
-       sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
-               -i "${S}"/bindings/perl/Makefile || die "Cannot convert 
site_perl to vendor_perl!"
-
-}
-
-src_configure() {
-       local -a myconf=()
-
-       # Setup paths
-       myconf+=( --prefix="${EPREFIX}"/usr )
-       myconf+=( --libdir="${EPREFIX}"/usr/$(get_libdir) )
-       myconf+=( --libdir-name=$(get_libdir) )
-       myconf+=( --mandir="${EPREFIX}"/usr/share/man )
-
-       if use debug; then
-               myconf+=( --compile-type=debug )
-               myconf+=( --disable-stripping ) # FIXME: does not disable for 
all files, only for some
-               myconf+=( --enable-valgrind ) # disables timeouts for valgrind 
memory debugging
-       else
-               myconf+=( --compile-type=release )
-       fi
-
-       # Build boosters
-       has ccache "${FEATURES}" || myconf+=( --disable-ccache )
-       has distcc "${FEATURES}" || myconf+=( --disable-distcc )
-
-       # CPU settings
-       # Mythtv's configure is borrowed from ffmpeg,
-       # Bug #172723
-       # Try to get cpu type based on CFLAGS.
-       # We need to do this so that features of that CPU will be better used
-       # If they contain an unknown CPU it will not hurt since ffmpeg's 
configure
-       # will just ignore it.
-       local i
-       for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
-               [[ "${i}" == "native" ]] && i="host" # bug #273421
-               myconf+=( --cpu="${i}" )
-               break
-       done
-       myconf+=( $(use_enable cpu_flags_ppc_altivec altivec) )
-
-       # Sound Output Support
-       myconf+=(
-               $(use_enable oss audio-oss)
-
-               $(use_enable alsa audio-alsa)
-               $(use_enable jack audio-jack)
-               $(use_enable pulseaudio audio-pulseoutput)
-       )
-
-       # Input Support
-       myconf+=(
-               $(use_enable lirc)
-               $(use_enable input_devices_joystick joystick-menu)
-               $(use_enable cec libcec)
-               $(use_enable ieee1394 firewire)
-               $(use_enable hdhomerun)
-               $(use_enable vbox)
-               $(use_enable ceton)
-               $(use_enable v4l v4l2)
-               $(use_enable dvb)
-               $(use_enable asi)
-       )
-
-       # Video Output Support
-       myconf+=(
-               $(use_enable X x11)
-       )
-
-       # Hardware accelerators
-       myconf+=(
-               $(use_enable nvdec)
-               $(use_enable vaapi)
-               $(use_enable vdpau)
-               $(use_enable opengl)
-               $(use_enable opengl egl)
-               $(use_enable libass)
-       )
-
-       # System tools
-       myconf+=(
-               $(use_enable systemd systemd_notify)
-               $(use_enable systemd systemd_journal)
-               $(use_enable xml libxml2)
-               $(use_enable zeroconf libdns-sd)
-       )
-
-       # Bindings
-       if use perl && use python; then
-               myconf+=( --with-bindings=perl,python )
-       elif use perl; then
-               myconf+=( --without-bindings=python )
-               myconf+=( --with-bindings=perl )
-       elif use python; then
-               myconf+=( --without-bindings=perl )
-               myconf+=( --with-bindings=python )
-       else
-               myconf+=( --without-bindings=perl,python )
-       fi
-       use python && myconf+=( --python="${EPYTHON}" )
-       myconf+=( $(use_enable java bdjava) )
-
-       # External codec library options (used for mythffmpeg and streaming 
transcode)
-       # lame is required for some broadcasts for silence detection of 
commercials
-       # default enable in IUSE with +lame
-       myconf+=(
-               $(use_enable lame libmp3lame)
-               $(use_enable xvid libxvid)
-               $(use_enable x264 libx264)
-               $(use_enable x265 libx265)
-               $(use_enable vpx libvpx)
-       )
-
-       # Clean up DSO load times and other compiler bits
-       myconf+=( --enable-symbol-visibility )
-       myconf+=( --enable-pic )
-
-       if tc-is-cross-compiler ; then
-               myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) )
-               myconf+=( --cross-prefix="${CHOST}"- )
-       fi
-
-       # econf sets these options that are not handled by configure:
-       # --build --host --infodir --localstatedir --sysconfdir
-
-       edo ./configure \
-               --prefix="${EPREFIX}/usr" \
-               --cc="$(tc-getCC)" \
-               --cxx="$(tc-getCXX)" \
-               --ar="$(tc-getAR)" \
-               --optflags="${CFLAGS}" \
-               --extra-cflags="${CFLAGS}" \
-               --extra-cxxflags="${CXXFLAGS}" \
-               --extra-ldflags="${LDFLAGS}" \
-               --qmake="$(qt5_get_bindir)"/qmake \
-               "${myconf[@]}"
-}
-
-src_install() {
-       emake STRIP="true" INSTALL_ROOT="${D}" install
-       use python && python_optimize  # does all packages by default
-       dodoc AUTHORS README
-       readme.gentoo_create_doc
-
-       insinto /usr/share/mythtv/database
-       doins database/*
-
-       newinitd "${FILESDIR}"/mythbackend.init-r3 mythbackend
-       newconfd "${FILESDIR}"/mythbackend.conf-r1 mythbackend
-       if use systemd; then
-               systemd_newunit "${FILESDIR}"/mythbackend.service-28 
mythbackend.service
-       fi
-
-       # The acct-user/mythtv package creates/manages the user 'mythtv'
-       keepdir /etc/mythtv
-       fowners -R mythtv /etc/mythtv
-       keepdir /var/log/mythtv
-       fowners -R mythtv /var/log/mythtv
-
-       insinto /etc/logrotate.d
-       newins "${FILESDIR}"/mythtv.logrotate.d-r4 mythtv
-
-       insinto /usr/share/mythtv/contrib
-       # Ensure we don't install scripts needing the perl bindings (bug 
#516968) Finding none is OK.
-       if ! use perl; then
-               find contrib/ -name '*.pl' -exec rm {} \;
-       fi
-       # Ensure we don't install scripts needing the python bindings (bug 
#516968) Finding none is OK.
-       if ! use python; then
-               find contrib/ -name '*.py' -exec rm {} \;
-       fi
-       doins -r contrib/*
-
-       # Install our mythfrontend wrapper which is similar to Mythbuntu's
-       if use wrapper; then
-               mv "${ED}/usr/bin/mythfrontend" 
"${ED}/usr/bin/mythfrontend.real" || die "Failed to install mythfrontend.real"
-               newbin "${FILESDIR}"/mythfrontend.wrapper mythfrontend
-               newconfd "${FILESDIR}"/mythfrontend.conf mythfrontend
-       fi
-
-       if use autostart; then
-               newenvd - 95mythtv <<- _EOF_
-                       CONFIG_PROTECT=\"$(egethome mythtv)\"
-               _EOF_
-               insinto $(egethome mythtv)
-               newins "${FILESDIR}"/bash_profile .bash_profile
-               newins "${FILESDIR}"/xinitrc-r1 .xinitrc
-       fi
-
-       # Make Python files executable but not files named "__init__.py"
-       find "${ED}/usr/share/mythtv" -type f -name '*.py' -exec expr \( {} : 
'.*__init__.py' \) = 0 \; \
-               -exec chmod a+x {} \; || die "Failed to make python file 
$(basename ${file}) executable"
-
-       # Ensure that Python scripts are executed by Python 2
-       use python && python_fix_shebang "${ED}/usr/share/mythtv"
-
-       # Make shell & perl scripts executable
-       find "${ED}" -type f \( -name '*.sh' -o -name '*.pl' \) -exec chmod a+x 
{} \; \
-               || die "Failed to make script executable"
-}
-
-pkg_postinst() {
-       readme.gentoo_print_elog
-}
-
-pkg_config() {
-       if [[ -e "${EROOT}"/usr/bin/mysql ]]; then
-               "${EROOT}"/usr/bin/mysql -u root -p < 
"${EROOT}"/usr/share/mythtv/database/mc.sql
-       fi
-}

Reply via email to