* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2015-09-06 3:25 Doug Goldstein
0 siblings, 0 replies; 13+ messages in thread
From: Doug Goldstein @ 2015-09-06 3:25 UTC (permalink / raw
To: gentoo-commits
commit: a9570ca04e0816c050178ac466fae72680f1098d
Author: Doug Goldstein <cardoe <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 5 02:44:55 2015 +0000
Commit: Doug Goldstein <cardoe <AT> gentoo <DOT> org>
CommitDate: Sun Sep 6 03:24:42 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9570ca0
Retire a slew of old ebuilds
Package-Manager: portage-2.2.20.1
Signed-off-by: Doug Goldstein <cardoe <AT> gentoo.org>
media-tv/mythtv/Manifest | 6 -
media-tv/mythtv/files/mythtv.logrotate.d-r3 | 20 --
media-tv/mythtv/mythtv-0.27.1_p20140817.ebuild | 353 ------------------------
media-tv/mythtv/mythtv-0.27.3_p20141009.ebuild | 355 -------------------------
media-tv/mythtv/mythtv-0.27.4_p20150124.ebuild | 355 -------------------------
5 files changed, 1089 deletions(-)
diff --git a/media-tv/mythtv/Manifest b/media-tv/mythtv/Manifest
index 931c9d3..27e05e5 100644
--- a/media-tv/mythtv/Manifest
+++ b/media-tv/mythtv/Manifest
@@ -1,12 +1,6 @@
DIST mythtv-0.26.0-9fd7c6102b2cd1a3760337663803b110446c6ea7.tar.xz 179540 SHA256 ae63398f1ea8884950eb4653c42f6bf71e504738112f5ac8f4d13c1988098d95 SHA512 599dab7a51e9e2f5e240e6d80aadf3bc1f89b8f83e0a5c2e6c82695926ef3f1b7694a73d95b0a296544f9642f1e070a809d86563a415498345a3c1049f269aa4 WHIRLPOOL 74c8aa8f2846eb67f88bddacf5d7c5aa0445e0fe2fbd0f6f2f284e51e1f2c024ca8b7ef22639b7e201b8304421859d7bab802a7d2fe9343ec40d36453f0bfa8e
DIST mythtv-0.26.0.tar.bz2 40887666 SHA256 2f158962ca3009db563dabc32827c47788a688bd67a25abd76f4baa9c3cfe306 SHA512 8c8766542b6a1a877d400fd99343e8149d9c6cc4ab1e425db358bdbdc10b6cb7422bb4bdcf984ce64b2cf02b0ad0725606b266558afcadff9ec9c9bb95bb49c0 WHIRLPOOL c737a1dbdfafe65ae5ee3bde8d0b3a9ad50ebfccec784d6907c78d03f9732637cfbf8b82ecfca80af0b049c65d70c608a81ac3bf27a8070ba3f32d657f5137bb
DIST mythtv-0.27-583395f5a376637efcd408a102fa64d0f188c12f.tar.xz 298048 SHA256 2b18428980fe8951694eb9c8594aa2559df491b029987e1a4b983128fdea4f51 SHA512 1d8c2a61bd91d7116ba3b43251d517bda3c8db3c235e73dde66116dc02d14806db9c80bacf6e19eaf816c4765d8e51fe9b53900efa3112134c564c08cc0ca012 WHIRLPOOL 3d50908d085f844cd210c568b50c55c47e4fe8dd8423ffe18303a7c799a45e24dfceaa5221e6f59596394484162d9992f46d5f66b0ad3c57fbb5a240def68dec
-DIST mythtv-0.27.1-082d5c1fbccd48dd862f14007c0445dee8502f3d.tar.xz 161652 SHA256 271c12af8bdf6188f1a11f07ac7c3ad45374cc60211e4a005975af66d5421739 SHA512 ed7ecb9fc5d3abe592e195309d88979a41132ebd99e92e59e2471f17c3f5da089cc5846d817a5228657cef37fade5724f9ac8f0e335ec45855158996a2317016 WHIRLPOOL 86a99cc0a74c75789a98e18fd57b5627b59c650da02602d947a8ccd854ed2bf210e76bf858bc16a2a6fd93763149257ae0e3ea95f44aecf0916b5f1a2b81460d
-DIST mythtv-0.27.1.tar.gz 85612356 SHA256 a7039ba46347f1d6a0ed392a53117639c8cba6bc458a6ad30082046d8ad85de7 SHA512 f2c79765948c0a00c7a92f24d2315b5af3044333f67ed8925a59c5bebbdebf98792ef05e2bc8864bfbe77be8cc8ff530e3f4e8761320cfe5ed21369341d8915e WHIRLPOOL 938e0e77070473a523323fe64e40eb416809b40b16943d66a5914d65caa7530dd4b5ba5209919050a7b4968c9e5ca5155ee970f165b39a5c77392debb20bf0ad
-DIST mythtv-0.27.3-e1d575da2fdde7ae7119972c688b0ddd15e676c4.tar.xz 77584 SHA256 43e54366582c71c0835771987be6dd33543326ba2aba4efb8a57f83b965647cc SHA512 0360b990d0ec5eade879879c516a9169c50aafaff8b08fff60d4d65e93b3c2dadac36869f958e070b644eea72592344a7f678c78a25ae7950372e17b725a1cd1 WHIRLPOOL 5eb3b1cbea2defad1143ad3934ad5d2c2585595013bc8619f8e436eebcdfa35efe377bf40b50281140901314b5c1daf2c8654b9a0f7ab4be59fdc49c5d278c43
-DIST mythtv-0.27.3.tar.gz 85624583 SHA256 8eaaf8c6e42ca6eb81f180467de90d597dbeabb1bb14b7085da353d2980db8f4 SHA512 c825c6d5a4fab6fe3179dbb78730575732615ab41cf2d21f82c6e6317ab62c9a6570cd9d204c39c04d176138c90dfdc95892cd8336bb8487051f1f3842cc0866 WHIRLPOOL b9382dbe1019bde96135ff404039d4db5ef03d52d5f2d75cfd3005e1e5eea702529df3a45497c081de89d9ecfd5a6a143b6dadc228e581453b9aa75c63bcc042
-DIST mythtv-0.27.4-3b4390396bf09dfe3741508ecf7fc71a004abd01.tar.xz 12752 SHA256 b3331d8dbe36d34c88ab42aec2d2d84e2bb51ba11b714f23c5faa91e32ce06de SHA512 8f80378cfc5be8058baa74f7d25e8ec0a0405201e6f8b77b6cb96ba91dbd9b9251947ba7b6e48efad5270624769195891e2c48e0c8d0a16d6f8893801103a26b WHIRLPOOL 140d8dfb39942ef587b551099942b6b284bd49e070225aaee71f3fb4feebfc0ce293461b87fe9f6477def2745a6d71226fb103cf090a25fc33ecf85bd62212b6
-DIST mythtv-0.27.4.tar.gz 85644227 SHA256 1f734ffc776e4938aa913e49ce94279f2c2d520c62af278f1d04fe399723365b SHA512 6f858f32467756e96db6f79ccb2c42edc0bf22d217cb7b9dc9188ada994bbb9aafe9f72dd71aca10cd26bad1bd5d344af64487ec5fc925872aba81cf7aa257c8 WHIRLPOOL 65cd1869b7cee00197179b13a138d466dc443ecaf23c665754e0451e7ab51940e7235cb74d23ed7296be2c716f443c9c42df2fdd918a0480a04c63381ebce2c4
DIST mythtv-0.27.5-9498257571e8158926b60a0eefc74568c4436823.tar.xz 11992 SHA256 aef3b944a9f4b49daa3f5489b58a080db35eb7b85c76819d9d00ccf1adfadfdf SHA512 bddc80f6d7e7ad583459a2192660e6101d53d8821c0f875634f90588bc6fbff86c80fa75f6e8cb859fd5164a81f0ad3427939d57da2b112741b1ea9ce646659d WHIRLPOOL 249d4f5332d943669610b96363b6d2b19d63973ba191bd62900e7d31362b4c541077ffe6ca9eae6027c6d1d5fea1d691722739ff9d0d7af6566d288921444961
DIST mythtv-0.27.5.tar.gz 85652939 SHA256 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b SHA512 b912e010e54271f9321ac1b11d4a31e4093f86c0f2ae3139d4b55085bab142ca3fc6d847d163f6b75aa31320404914c71c094528dc8ee7d70086e56a828b9169 WHIRLPOOL e9ebbbabac6ed53b4ec90537371a63e053bb9a2c0a0e920e43d3d2e475f87bdd0ac5a4604045498e88aaf06b11eb054d50dea7881c87dbd45a36c08309e1b880
DIST mythtv-0.27.tar.gz 85904162 SHA256 494ebd7ee384e751c05ee0a1b3dcd3618caf72f1e94810381c09c2b5d1c799f0 SHA512 2ea070497a7610b8e1548112d9925a28aeedba819c2d063e88cc63daf69947379ce7213e357c26bf2221f8a8e865c937dee3b9bf2695644f2f1adeadf6d11116 WHIRLPOOL 74c4fade0d0f93a64e5f1da3120358f15f6f8891f53b7c74b41a286369e192790cae87829b79a3a90ce3ca23ede63b3dfa809b514b68cee220432794414b8a47
diff --git a/media-tv/mythtv/files/mythtv.logrotate.d-r3 b/media-tv/mythtv/files/mythtv.logrotate.d-r3
deleted file mode 100644
index 220776a..0000000
--- a/media-tv/mythtv/files/mythtv.logrotate.d-r3
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-/var/log/mythtv/*.log {
- weekly
- rotate 8
- nocompress
- nocreate
- notifempty
- sharedscripts
- missingok
- olddir /var/log/mythtv/old
- postrotate
- killall -HUP mythfrontend
- killall -HUP mythbackend
- killall -HUP mythlcdserver
- find /var/log/mythtv/old -type f -mtime +30 -delete
- endscript
-}
diff --git a/media-tv/mythtv/mythtv-0.27.1_p20140817.ebuild b/media-tv/mythtv/mythtv-0.27.1_p20140817.ebuild
deleted file mode 100644
index d2771be..0000000
--- a/media-tv/mythtv/mythtv-0.27.1_p20140817.ebuild
+++ /dev/null
@@ -1,353 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_DEPEND="python? 2:2.6"
-BACKPORTS="082d5c1fbccd48dd862f14007c0445dee8502f3d"
-MY_P=${P%_p*}
-
-inherit flag-o-matic multilib eutils python user systemd
-
-MYTHTV_VERSION="v0.27.1"
-MYTHTV_BRANCH="fixes/0.27"
-
-DESCRIPTION="Homebrew PVR project"
-HOMEPAGE="http://www.mythtv.org"
-SRC_URI="https://github.com/MythTV/mythtv/archive/v0.27.1.tar.gz -> mythtv-0.27.1.tar.gz
- ${BACKPORTS:+https://dev.gentoo.org/~rich0/distfiles/${MY_P}-${BACKPORTS}.tar.xz}"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-
-IUSE_INPUT_DEVICES="input_devices_joystick"
-IUSE="alsa altivec libass autostart bluray cec crystalhd debug dvb dvd \
-egl fftw +hls ieee1394 jack lcd lirc perl pulseaudio python raop +theora \
-vaapi vdpau +vorbis +xml xmltv +xvid ${IUSE_INPUT_DEVICES}"
-
-REQUIRED_USE="
- bluray? ( xml )
- theora? ( vorbis )"
-
-COMMON="
- >=media-libs/freetype-2.0:=
- sys-libs/zlib:=
- x11-libs/libX11:=
- x11-libs/libXext:=
- x11-libs/libXinerama:=
- x11-libs/libXv:=
- x11-libs/libXrandr:=
- x11-libs/libXxf86vm:=
- >=dev-qt/qtcore-4.7.2:4=
- >=dev-qt/qtdbus-4.7.2:4=
- >=dev-qt/qtgui-4.7.2:4=
- >=dev-qt/qtscript-4.7.2:4=
- >=dev-qt/qtsql-4.7.2:4=[mysql]
- >=dev-qt/qtopengl-4.7.2:4=[egl?]
- >=dev-qt/qtwebkit-4.7.2:4=
- x11-misc/wmctrl:=
- virtual/mysql:=
- virtual/opengl:=
- alsa? ( >=media-libs/alsa-lib-1.0.24:= )
- bluray? (
- dev-libs/libcdio:=
- media-libs/libbluray:=
- )
- cec? ( dev-libs/libcec:= )
- dvb? (
- media-libs/libdvb:=
- virtual/linuxtv-dvb-headers:=
- )
- dvd? ( dev-libs/libcdio:= )
- egl? ( media-libs/mesa:=[egl] )
- fftw? ( sci-libs/fftw:3.0= )
- hls? (
- media-libs/faac:=
- media-libs/libvpx:=
- >=media-libs/x264-0.0.20111220:=
- >=media-sound/lame-3.93.1
- )
- ieee1394? (
- >=sys-libs/libraw1394-1.2.0:=
- >=sys-libs/libavc1394-0.5.3:=
- >=media-libs/libiec61883-1.0.0:=
- )
- jack? ( media-sound/jack-audio-connection-kit )
- lcd? ( app-misc/lcdproc )
- libass? ( >=media-libs/libass-0.9.11:= )
- lirc? ( app-misc/lirc )
- perl? (
- dev-perl/DBD-mysql
- dev-perl/Net-UPnP
- dev-perl/LWP-Protocol-https
- dev-perl/HTTP-Message
- dev-perl/IO-Socket-INET6
- >=dev-perl/libwww-perl-5
- )
- pulseaudio? ( media-sound/pulseaudio )
- python? (
- dev-python/mysql-python
- dev-python/lxml
- dev-python/urlgrabber
- )
- raop? (
- dev-libs/openssl:=
- net-dns/avahi[mdnsresponder-compat]
- )
- theora? ( media-libs/libtheora:= media-libs/libogg:= )
- vaapi? ( x11-libs/libva:= )
- vdpau? ( x11-libs/libvdpau:= )
- vorbis? ( >=media-libs/libvorbis-1.0:= media-libs/libogg:= )
- xml? ( >=dev-libs/libxml2-2.6.0:= )
- xvid? ( >=media-libs/xvid-1.1.0:= )
- !media-tv/mythtv-bindings
- !x11-themes/mythtv-themes
- media-libs/taglib:=
- dev-libs/glib:=
- "
-
-RDEPEND="${COMMON}
- media-fonts/corefonts
- media-fonts/dejavu
- media-fonts/liberation-fonts
- x11-apps/xinit
- autostart? (
- net-dialup/mingetty
- x11-wm/evilwm
- x11-apps/xset
- )
- dvd? ( media-libs/libdvdcss:= )
- xmltv? ( >=media-tv/xmltv-0.5.43 )
- "
-
-DEPEND="${COMMON}
- dev-lang/yasm
- x11-proto/xineramaproto
- x11-proto/xf86vidmodeproto
- "
-
-S="${WORKDIR}/${MY_P}/mythtv"
-
-MYTHTV_GROUPS="video,audio,tty,uucp"
-
-pkg_setup() {
- python_set_active_version 2
- python_pkg_setup
- enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
- usermod -a -G ${MYTHTV_GROUPS} mythtv
-}
-
-src_prepare() {
- [[ -n ${BACKPORTS} ]] && \
- EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/../patches" \
- epatch
-
- # Perl bits need to go into vender_perl and not site_perl
- sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
- -i "${S}"/bindings/perl/Makefile
-
- # Fix up the version info since we are using the fixes/${PV} branch
- echo "SOURCE_VERSION=\"${MYTHTV_VERSION}\"" > "${S}"/VERSION
- echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/VERSION
-
- echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
-
- epatch "${FILESDIR}/libdir-27.patch"
-
- epatch_user
-}
-
-src_configure() {
- local myconf=
-
- # Setup paths
- myconf="${myconf} --prefix=${EPREFIX}/usr"
- myconf="${myconf} --libdir=${EPREFIX}/usr/$(get_libdir)"
- myconf="${myconf} --libdir-name=$(get_libdir)"
- myconf="${myconf} --mandir=${EPREFIX}/usr/share/man"
-
- # Audio
- myconf="${myconf} $(use_enable alsa audio-alsa)"
- myconf="${myconf} $(use_enable jack audio-jack)"
- use pulseaudio || myconf="${myconf} --disable-audio-pulseoutput"
-
- use altivec || myconf="${myconf} --disable-altivec"
- myconf="${myconf} $(use_enable dvb)"
- myconf="${myconf} $(use_enable ieee1394 firewire)"
- myconf="${myconf} $(use_enable lirc)"
- myconf="${myconf} $(use_enable xvid libxvid)"
- myconf="${myconf} --dvb-path=/usr/include"
- myconf="${myconf} --enable-xrandr"
- myconf="${myconf} --enable-xv"
- myconf="${myconf} --enable-x11"
- myconf="${myconf} --enable-nonfree"
- use cec || myconf="${myconf} --disable-libcec"
- use raop || myconf="${myconf} --disable-libdns-sd"
- myconf="${myconf} $(use_enable theora libtheora)"
- myconf="${myconf} $(use_enable vorbis libvorbis)"
-
- if use hls; then
- myconf="${myconf} --enable-libmp3lame"
- myconf="${myconf} --enable-libx264"
- myconf="${myconf} --enable-libvpx"
- myconf="${myconf} --enable-libfaac"
- fi
-
- if use perl && use python; then
- myconf="${myconf} --with-bindings=perl,python"
- elif use perl; then
- myconf="${myconf} --without-bindings=python"
- myconf="${myconf} --with-bindings=perl"
- elif use python; then
- myconf="${myconf} --without-bindings=perl"
- myconf="${myconf} --with-bindings=python"
- else
- myconf="${myconf} --without-bindings=perl,python"
- fi
-
- use python && myconf="${myconf} --python=$(PYTHON)"
-
- if use debug; then
- myconf="${myconf} --compile-type=debug"
- else
- myconf="${myconf} --compile-type=release"
- #myconf="${myconf} --enable-debug" does nothing per sphery
- #myconf="${myconf} --disable-stripping" does nothing per sphery
- fi
-
- # Video
- use vdpau && myconf="${myconf} --enable-vdpau"
- myconf="${myconf} $(use_enable vaapi)"
- use crystalhd && myconf="${myconf} --enable-crystalhd"
-
- # Input
- use input_devices_joystick || myconf="${myconf} --disable-joystick-menu"
-
- # Clean up DSO load times and other compiler bits
- myconf="${myconf} --enable-symbol-visibility"
- myconf="${myconf} --enable-pic"
-
- # CPU settings
- for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
- [ "${i}" = "native" ] && i="host"
- myconf="${myconf} --cpu=${i}"
- break
- done
-
- if tc-is-cross-compiler ; then
- myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel)"
- myconf="${myconf} --cross-prefix=${CHOST}-"
- fi
-
- # Build boosters
- has distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
- has ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
-
- chmod +x ./external/FFmpeg/version.sh
-
- einfo "Running ./configure ${myconf}"
- ./configure \
- --cc="$(tc-getCC)" \
- --cxx="$(tc-getCXX)" \
- --ar="$(tc-getAR)" \
- --extra-cflags="${CFLAGS}" \
- --extra-cxxflags="${CXXFLAGS}" \
- --extra-ldflags="${LDFLAGS}" \
- ${myconf} || die "configure died"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install || die "install failed"
- dodoc AUTHORS UPGRADING README
-
- insinto /usr/share/mythtv/database
- doins database/*
-
- newinitd "${FILESDIR}"/mythbackend.init mythbackend
- newconfd "${FILESDIR}"/mythbackend.conf mythbackend
- systemd_dounit "${FILESDIR}"/mythbackend.service
-
- dodoc keys.txt
-
- keepdir /etc/mythtv
- chown -R mythtv "${ED}"/etc/mythtv
- keepdir /var/log/mythtv
- chown -R mythtv "${ED}"/var/log/mythtv
- dodir /var/log/mythtv/old
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/mythtv.logrotate.d-r4 mythtv
-
- insinto /usr/share/mythtv/contrib
- doins -r contrib/*
-
- # Install our mythfrontend wrapper which is similar to Mythbuntu's
- mv "${ED}/usr/bin/mythfrontend" "${ED}/usr/bin/mythfrontend.real"
- newbin "${FILESDIR}"/mythfrontend.wrapper mythfrontend
- newconfd "${FILESDIR}"/mythfrontend.conf mythfrontend
-
- if use autostart; then
- dodir /etc/env.d/
- echo 'CONFIG_PROTECT="/home/mythtv/"' > "${ED}"/etc/env.d/95mythtv
-
- insinto /home/mythtv
- newins "${FILESDIR}"/bash_profile .bash_profile
- newins "${FILESDIR}"/xinitrc-r1 .xinitrc
- fi
-
- # Make Python files executable
- find "${ED}/usr/share/mythtv" -type f -name '*.py' | while read file; do
- if [[ ! "${file##*/}" = "__init__.py" ]]; then
- chmod a+x "${file}"
- fi
- done
-
- # Ensure that Python scripts are executed by Python 2
- python_convert_shebangs -q -r 2 "${ED}/usr/share/mythtv"
-
- # Make shell & perl scripts executable
- find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | \
- while read file; do
- chmod a+x "${file}"
- done
-}
-
-pkg_preinst() {
- export CONFIG_PROTECT="${CONFIG_PROTECT} ${EROOT}/home/mythtv/"
-}
-
-pkg_postinst() {
- use python && python_mod_optimize MythTV
-
- elog "To have this machine operate as recording host for MythTV, "
- elog "mythbackend must be running. Run the following:"
- elog "rc-update add mythbackend default"
- elog
- elog "Your recordings folder must be owned 'mythtv'. e.g."
- elog "chown -R mythtv /var/lib/mythtv"
-
- elog "Want mythfrontend to start automatically?"
- elog "Set USE=autostart. Details can be found at:"
- elog "https://dev.gentoo.org/~cardoe/mythtv/autostart.html"
- elog
- elog "Note that the systemd unit now restarts by default and logs"
- elog "to journald via the console at the notice verbosity."
-}
-
-pkg_postrm() {
- use python && python_mod_cleanup MythTV
-}
-
-pkg_info() {
- if [[ -f "${EROOT}"/usr/bin/mythfrontend ]]; then
- "${EROOT}"/usr/bin/mythfrontend --version
- fi
-}
-
-pkg_config() {
- echo "Creating mythtv MySQL user and mythconverg database if it does not"
- echo "already exist. You will be prompted for your MySQL root password."
- "${EROOT}"/usr/bin/mysql -u root -p < "${EROOT}"/usr/share/mythtv/database/mc.sql
-}
diff --git a/media-tv/mythtv/mythtv-0.27.3_p20141009.ebuild b/media-tv/mythtv/mythtv-0.27.3_p20141009.ebuild
deleted file mode 100644
index 60f7f10..0000000
--- a/media-tv/mythtv/mythtv-0.27.3_p20141009.ebuild
+++ /dev/null
@@ -1,355 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_DEPEND="python? 2:2.6"
-BACKPORTS="e1d575da2fdde7ae7119972c688b0ddd15e676c4"
-MY_P=${P%_p*}
-
-inherit flag-o-matic multilib eutils python user systemd
-
-MYTHTV_VERSION="v0.27.3"
-MYTHTV_BRANCH="fixes/0.27"
-
-DESCRIPTION="Homebrew PVR project"
-HOMEPAGE="http://www.mythtv.org"
-SRC_URI="https://github.com/MythTV/mythtv/archive/v0.27.3.tar.gz -> mythtv-0.27.3.tar.gz
- ${BACKPORTS:+https://dev.gentoo.org/~rich0/distfiles/${MY_P}-${BACKPORTS}.tar.xz}"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-
-IUSE_INPUT_DEVICES="input_devices_joystick"
-IUSE="alsa altivec libass autostart bluray cec crystalhd debug dvb dvd \
-egl fftw +hls ieee1394 jack lcd lirc perl pulseaudio python raop +theora \
-vaapi vdpau +vorbis +xml xmltv +xvid ${IUSE_INPUT_DEVICES}"
-
-REQUIRED_USE="
- bluray? ( xml )
- theora? ( vorbis )"
-
-COMMON="
- >=media-libs/freetype-2.0:=
- sys-libs/zlib:=
- x11-libs/libX11:=
- x11-libs/libXext:=
- x11-libs/libXinerama:=
- x11-libs/libXv:=
- x11-libs/libXrandr:=
- x11-libs/libXxf86vm:=
- >=dev-qt/qtcore-4.7.2:4=
- >=dev-qt/qtdbus-4.7.2:4=
- >=dev-qt/qtgui-4.7.2:4=
- >=dev-qt/qtscript-4.7.2:4=
- >=dev-qt/qtsql-4.7.2:4=[mysql]
- >=dev-qt/qtopengl-4.7.2:4=[egl?]
- >=dev-qt/qtwebkit-4.7.2:4=
- x11-misc/wmctrl:=
- virtual/mysql:=
- virtual/opengl:=
- alsa? ( >=media-libs/alsa-lib-1.0.24:= )
- bluray? (
- dev-libs/libcdio:=
- media-libs/libbluray:=
- )
- cec? ( dev-libs/libcec:= )
- dvb? (
- media-libs/libdvb:=
- virtual/linuxtv-dvb-headers:=
- )
- dvd? ( dev-libs/libcdio:= )
- egl? ( media-libs/mesa:=[egl] )
- fftw? ( sci-libs/fftw:3.0= )
- hls? (
- media-libs/faac:=
- media-libs/libvpx:=
- >=media-libs/x264-0.0.20111220:=
- >=media-sound/lame-3.93.1
- )
- ieee1394? (
- >=sys-libs/libraw1394-1.2.0:=
- >=sys-libs/libavc1394-0.5.3:=
- >=media-libs/libiec61883-1.0.0:=
- )
- jack? ( media-sound/jack-audio-connection-kit )
- lcd? ( app-misc/lcdproc )
- libass? ( >=media-libs/libass-0.9.11:= )
- lirc? ( app-misc/lirc )
- perl? (
- dev-perl/DBD-mysql
- dev-perl/Net-UPnP
- dev-perl/LWP-Protocol-https
- dev-perl/HTTP-Message
- dev-perl/IO-Socket-INET6
- >=dev-perl/libwww-perl-5
- )
- pulseaudio? ( media-sound/pulseaudio )
- python? (
- dev-python/mysql-python
- dev-python/lxml
- dev-python/urlgrabber
- )
- raop? (
- dev-libs/openssl:=
- net-dns/avahi[mdnsresponder-compat]
- )
- theora? ( media-libs/libtheora:= media-libs/libogg:= )
- vaapi? ( x11-libs/libva:= )
- vdpau? ( x11-libs/libvdpau:= )
- vorbis? ( >=media-libs/libvorbis-1.0:= media-libs/libogg:= )
- xml? ( >=dev-libs/libxml2-2.6.0:= )
- xvid? ( >=media-libs/xvid-1.1.0:= )
- !media-tv/mythtv-bindings
- !x11-themes/mythtv-themes
- media-libs/taglib:=
- dev-libs/glib:=
- "
-
-RDEPEND="${COMMON}
- media-fonts/corefonts
- media-fonts/dejavu
- media-fonts/liberation-fonts
- x11-apps/xinit
- autostart? (
- net-dialup/mingetty
- x11-wm/evilwm
- x11-apps/xset
- )
- dvd? ( media-libs/libdvdcss:= )
- xmltv? ( >=media-tv/xmltv-0.5.43 )
- "
-
-DEPEND="${COMMON}
- dev-lang/yasm
- x11-proto/xineramaproto
- x11-proto/xf86vidmodeproto
- "
-
-S="${WORKDIR}/${MY_P}/mythtv"
-
-MYTHTV_GROUPS="video,audio,tty,uucp"
-
-pkg_setup() {
- python_set_active_version 2
- python_pkg_setup
- enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
- usermod -a -G ${MYTHTV_GROUPS} mythtv
-}
-
-src_prepare() {
- [[ -n ${BACKPORTS} ]] && \
- EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/../patches" \
- epatch
-
- # Perl bits need to go into vender_perl and not site_perl
- sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
- -i "${S}"/bindings/perl/Makefile
-
- # Fix up the version info since we are using the fixes/${PV} branch
- echo "SOURCE_VERSION=\"${MYTHTV_VERSION}\"" > "${S}"/VERSION
- echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/VERSION
-
- echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
-
- epatch "${FILESDIR}/libdir-27.patch"
-
- epatch_user
-}
-
-src_configure() {
- local myconf=
-
- # Setup paths
- myconf="${myconf} --prefix=${EPREFIX}/usr"
- myconf="${myconf} --libdir=${EPREFIX}/usr/$(get_libdir)"
- myconf="${myconf} --libdir-name=$(get_libdir)"
- myconf="${myconf} --mandir=${EPREFIX}/usr/share/man"
-
- # Audio
- myconf="${myconf} $(use_enable alsa audio-alsa)"
- myconf="${myconf} $(use_enable jack audio-jack)"
- use pulseaudio || myconf="${myconf} --disable-audio-pulseoutput"
-
- use altivec || myconf="${myconf} --disable-altivec"
- myconf="${myconf} $(use_enable dvb)"
- myconf="${myconf} $(use_enable ieee1394 firewire)"
- myconf="${myconf} $(use_enable lirc)"
- myconf="${myconf} $(use_enable xvid libxvid)"
- myconf="${myconf} --dvb-path=/usr/include"
- myconf="${myconf} --enable-xrandr"
- myconf="${myconf} --enable-xv"
- myconf="${myconf} --enable-x11"
- myconf="${myconf} --enable-nonfree"
- use cec || myconf="${myconf} --disable-libcec"
- use raop || myconf="${myconf} --disable-libdns-sd"
- myconf="${myconf} $(use_enable theora libtheora)"
- myconf="${myconf} $(use_enable vorbis libvorbis)"
-
- if use hls; then
- myconf="${myconf} --enable-libmp3lame"
- myconf="${myconf} --enable-libx264"
- myconf="${myconf} --enable-libvpx"
- myconf="${myconf} --enable-libfaac"
- fi
-
- myconf="${myconf} $(use_enable libass)"
-
- if use perl && use python; then
- myconf="${myconf} --with-bindings=perl,python"
- elif use perl; then
- myconf="${myconf} --without-bindings=python"
- myconf="${myconf} --with-bindings=perl"
- elif use python; then
- myconf="${myconf} --without-bindings=perl"
- myconf="${myconf} --with-bindings=python"
- else
- myconf="${myconf} --without-bindings=perl,python"
- fi
-
- use python && myconf="${myconf} --python=$(PYTHON)"
-
- if use debug; then
- myconf="${myconf} --compile-type=debug"
- else
- myconf="${myconf} --compile-type=release"
- #myconf="${myconf} --enable-debug" does nothing per sphery
- #myconf="${myconf} --disable-stripping" does nothing per sphery
- fi
-
- # Video
- use vdpau && myconf="${myconf} --enable-vdpau"
- myconf="${myconf} $(use_enable vaapi)"
- use crystalhd && myconf="${myconf} --enable-crystalhd"
-
- # Input
- use input_devices_joystick || myconf="${myconf} --disable-joystick-menu"
-
- # Clean up DSO load times and other compiler bits
- myconf="${myconf} --enable-symbol-visibility"
- myconf="${myconf} --enable-pic"
-
- # CPU settings
- for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
- [ "${i}" = "native" ] && i="host"
- myconf="${myconf} --cpu=${i}"
- break
- done
-
- if tc-is-cross-compiler ; then
- myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel)"
- myconf="${myconf} --cross-prefix=${CHOST}-"
- fi
-
- # Build boosters
- has distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
- has ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
-
- chmod +x ./external/FFmpeg/version.sh
-
- einfo "Running ./configure ${myconf}"
- ./configure \
- --cc="$(tc-getCC)" \
- --cxx="$(tc-getCXX)" \
- --ar="$(tc-getAR)" \
- --extra-cflags="${CFLAGS}" \
- --extra-cxxflags="${CXXFLAGS}" \
- --extra-ldflags="${LDFLAGS}" \
- ${myconf} || die "configure died"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install || die "install failed"
- dodoc AUTHORS UPGRADING README
-
- insinto /usr/share/mythtv/database
- doins database/*
-
- newinitd "${FILESDIR}"/mythbackend.init mythbackend
- newconfd "${FILESDIR}"/mythbackend.conf mythbackend
- systemd_dounit "${FILESDIR}"/mythbackend.service
-
- dodoc keys.txt
-
- keepdir /etc/mythtv
- chown -R mythtv "${ED}"/etc/mythtv
- keepdir /var/log/mythtv
- chown -R mythtv "${ED}"/var/log/mythtv
- dodir /var/log/mythtv/old
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/mythtv.logrotate.d-r4 mythtv
-
- insinto /usr/share/mythtv/contrib
- doins -r contrib/*
-
- # Install our mythfrontend wrapper which is similar to Mythbuntu's
- mv "${ED}/usr/bin/mythfrontend" "${ED}/usr/bin/mythfrontend.real"
- newbin "${FILESDIR}"/mythfrontend.wrapper mythfrontend
- newconfd "${FILESDIR}"/mythfrontend.conf mythfrontend
-
- if use autostart; then
- dodir /etc/env.d/
- echo 'CONFIG_PROTECT="/home/mythtv/"' > "${ED}"/etc/env.d/95mythtv
-
- insinto /home/mythtv
- newins "${FILESDIR}"/bash_profile .bash_profile
- newins "${FILESDIR}"/xinitrc-r1 .xinitrc
- fi
-
- # Make Python files executable
- find "${ED}/usr/share/mythtv" -type f -name '*.py' | while read file; do
- if [[ ! "${file##*/}" = "__init__.py" ]]; then
- chmod a+x "${file}"
- fi
- done
-
- # Ensure that Python scripts are executed by Python 2
- python_convert_shebangs -q -r 2 "${ED}/usr/share/mythtv"
-
- # Make shell & perl scripts executable
- find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | \
- while read file; do
- chmod a+x "${file}"
- done
-}
-
-pkg_preinst() {
- export CONFIG_PROTECT="${CONFIG_PROTECT} ${EROOT}/home/mythtv/"
-}
-
-pkg_postinst() {
- use python && python_mod_optimize MythTV
-
- elog "To have this machine operate as recording host for MythTV, "
- elog "mythbackend must be running. Run the following:"
- elog "rc-update add mythbackend default"
- elog
- elog "Your recordings folder must be owned 'mythtv'. e.g."
- elog "chown -R mythtv /var/lib/mythtv"
-
- elog "Want mythfrontend to start automatically?"
- elog "Set USE=autostart. Details can be found at:"
- elog "https://dev.gentoo.org/~cardoe/mythtv/autostart.html"
- elog
- elog "Note that the systemd unit now restarts by default and logs"
- elog "to journald via the console at the notice verbosity."
-}
-
-pkg_postrm() {
- use python && python_mod_cleanup MythTV
-}
-
-pkg_info() {
- if [[ -f "${EROOT}"/usr/bin/mythfrontend ]]; then
- "${EROOT}"/usr/bin/mythfrontend --version
- fi
-}
-
-pkg_config() {
- echo "Creating mythtv MySQL user and mythconverg database if it does not"
- echo "already exist. You will be prompted for your MySQL root password."
- "${EROOT}"/usr/bin/mysql -u root -p < "${EROOT}"/usr/share/mythtv/database/mc.sql
-}
diff --git a/media-tv/mythtv/mythtv-0.27.4_p20150124.ebuild b/media-tv/mythtv/mythtv-0.27.4_p20150124.ebuild
deleted file mode 100644
index 4a5fb22..0000000
--- a/media-tv/mythtv/mythtv-0.27.4_p20150124.ebuild
+++ /dev/null
@@ -1,355 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_DEPEND="python? 2:2.7"
-BACKPORTS="3b4390396bf09dfe3741508ecf7fc71a004abd01"
-MY_P=${P%_p*}
-
-inherit flag-o-matic multilib eutils python user systemd
-
-MYTHTV_VERSION="v0.27.4"
-MYTHTV_BRANCH="fixes/0.27"
-
-DESCRIPTION="Homebrew PVR project"
-HOMEPAGE="http://www.mythtv.org"
-SRC_URI="https://github.com/MythTV/mythtv/archive/v0.27.4.tar.gz -> mythtv-0.27.4.tar.gz
- ${BACKPORTS:+https://dev.gentoo.org/~rich0/distfiles/${MY_P}-${BACKPORTS}.tar.xz}"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-
-IUSE_INPUT_DEVICES="input_devices_joystick"
-IUSE="alsa altivec libass autostart bluray cec crystalhd debug dvb dvd \
-egl fftw +hls ieee1394 jack lcd lirc perl pulseaudio python raop +theora \
-vaapi vdpau +vorbis +xml xmltv +xvid ${IUSE_INPUT_DEVICES}"
-
-REQUIRED_USE="
- bluray? ( xml )
- theora? ( vorbis )"
-
-COMMON="
- >=media-libs/freetype-2.0:=
- sys-libs/zlib:=
- x11-libs/libX11:=
- x11-libs/libXext:=
- x11-libs/libXinerama:=
- x11-libs/libXv:=
- x11-libs/libXrandr:=
- x11-libs/libXxf86vm:=
- >=dev-qt/qtcore-4.7.2:4=
- >=dev-qt/qtdbus-4.7.2:4=
- >=dev-qt/qtgui-4.7.2:4=
- >=dev-qt/qtscript-4.7.2:4=
- >=dev-qt/qtsql-4.7.2:4=[mysql]
- >=dev-qt/qtopengl-4.7.2:4=[egl?]
- >=dev-qt/qtwebkit-4.7.2:4=
- x11-misc/wmctrl:=
- virtual/mysql:=
- virtual/opengl:=
- alsa? ( >=media-libs/alsa-lib-1.0.24:= )
- bluray? (
- dev-libs/libcdio:=
- media-libs/libbluray:=
- )
- cec? ( dev-libs/libcec:= )
- dvb? (
- media-libs/libdvb:=
- virtual/linuxtv-dvb-headers:=
- )
- dvd? ( dev-libs/libcdio:= )
- egl? ( media-libs/mesa:=[egl] )
- fftw? ( sci-libs/fftw:3.0= )
- hls? (
- media-libs/faac:=
- media-libs/libvpx:=
- >=media-libs/x264-0.0.20111220:=
- >=media-sound/lame-3.93.1
- )
- ieee1394? (
- >=sys-libs/libraw1394-1.2.0:=
- >=sys-libs/libavc1394-0.5.3:=
- >=media-libs/libiec61883-1.0.0:=
- )
- jack? ( media-sound/jack-audio-connection-kit )
- lcd? ( app-misc/lcdproc )
- libass? ( >=media-libs/libass-0.9.11:= )
- lirc? ( app-misc/lirc )
- perl? (
- dev-perl/DBD-mysql
- dev-perl/Net-UPnP
- dev-perl/LWP-Protocol-https
- dev-perl/HTTP-Message
- dev-perl/IO-Socket-INET6
- >=dev-perl/libwww-perl-5
- )
- pulseaudio? ( media-sound/pulseaudio )
- python? (
- dev-python/mysql-python
- dev-python/lxml
- dev-python/urlgrabber
- )
- raop? (
- dev-libs/openssl:=
- net-dns/avahi[mdnsresponder-compat]
- )
- theora? ( media-libs/libtheora:= media-libs/libogg:= )
- vaapi? ( x11-libs/libva:= )
- vdpau? ( x11-libs/libvdpau:= )
- vorbis? ( >=media-libs/libvorbis-1.0:= media-libs/libogg:= )
- xml? ( >=dev-libs/libxml2-2.6.0:= )
- xvid? ( >=media-libs/xvid-1.1.0:= )
- !media-tv/mythtv-bindings
- !x11-themes/mythtv-themes
- media-libs/taglib:=
- dev-libs/glib:=
- "
-
-RDEPEND="${COMMON}
- media-fonts/corefonts
- media-fonts/dejavu
- media-fonts/liberation-fonts
- x11-apps/xinit
- autostart? (
- net-dialup/mingetty
- x11-wm/evilwm
- x11-apps/xset
- )
- dvd? ( media-libs/libdvdcss:= )
- xmltv? ( >=media-tv/xmltv-0.5.43 )
- "
-
-DEPEND="${COMMON}
- dev-lang/yasm
- x11-proto/xineramaproto
- x11-proto/xf86vidmodeproto
- "
-
-S="${WORKDIR}/${MY_P}/mythtv"
-
-MYTHTV_GROUPS="video,audio,tty,uucp"
-
-pkg_setup() {
- python_set_active_version 2
- python_pkg_setup
- enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
- usermod -a -G ${MYTHTV_GROUPS} mythtv
-}
-
-src_prepare() {
- [[ -n ${BACKPORTS} ]] && \
- EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/../patches" \
- epatch
-
- # Perl bits need to go into vender_perl and not site_perl
- sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
- -i "${S}"/bindings/perl/Makefile
-
- # Fix up the version info since we are using the fixes/${PV} branch
- echo "SOURCE_VERSION=\"${MYTHTV_VERSION}\"" > "${S}"/VERSION
- echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/VERSION
-
- echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
-
- epatch "${FILESDIR}/libdir-27.patch"
-
- epatch_user
-}
-
-src_configure() {
- local myconf=
-
- # Setup paths
- myconf="${myconf} --prefix=${EPREFIX}/usr"
- myconf="${myconf} --libdir=${EPREFIX}/usr/$(get_libdir)"
- myconf="${myconf} --libdir-name=$(get_libdir)"
- myconf="${myconf} --mandir=${EPREFIX}/usr/share/man"
-
- # Audio
- myconf="${myconf} $(use_enable alsa audio-alsa)"
- myconf="${myconf} $(use_enable jack audio-jack)"
- use pulseaudio || myconf="${myconf} --disable-audio-pulseoutput"
-
- use altivec || myconf="${myconf} --disable-altivec"
- myconf="${myconf} $(use_enable dvb)"
- myconf="${myconf} $(use_enable ieee1394 firewire)"
- myconf="${myconf} $(use_enable lirc)"
- myconf="${myconf} $(use_enable xvid libxvid)"
- myconf="${myconf} --dvb-path=/usr/include"
- myconf="${myconf} --enable-xrandr"
- myconf="${myconf} --enable-xv"
- myconf="${myconf} --enable-x11"
- myconf="${myconf} --enable-nonfree"
- use cec || myconf="${myconf} --disable-libcec"
- use raop || myconf="${myconf} --disable-libdns-sd"
- myconf="${myconf} $(use_enable theora libtheora)"
- myconf="${myconf} $(use_enable vorbis libvorbis)"
-
- if use hls; then
- myconf="${myconf} --enable-libmp3lame"
- myconf="${myconf} --enable-libx264"
- myconf="${myconf} --enable-libvpx"
- myconf="${myconf} --enable-libfaac"
- fi
-
- myconf="${myconf} $(use_enable libass)"
-
- if use perl && use python; then
- myconf="${myconf} --with-bindings=perl,python"
- elif use perl; then
- myconf="${myconf} --without-bindings=python"
- myconf="${myconf} --with-bindings=perl"
- elif use python; then
- myconf="${myconf} --without-bindings=perl"
- myconf="${myconf} --with-bindings=python"
- else
- myconf="${myconf} --without-bindings=perl,python"
- fi
-
- use python && myconf="${myconf} --python=$(PYTHON)"
-
- if use debug; then
- myconf="${myconf} --compile-type=debug"
- else
- myconf="${myconf} --compile-type=release"
- #myconf="${myconf} --enable-debug" does nothing per sphery
- #myconf="${myconf} --disable-stripping" does nothing per sphery
- fi
-
- # Video
- use vdpau && myconf="${myconf} --enable-vdpau"
- myconf="${myconf} $(use_enable vaapi)"
- use crystalhd && myconf="${myconf} --enable-crystalhd"
-
- # Input
- use input_devices_joystick || myconf="${myconf} --disable-joystick-menu"
-
- # Clean up DSO load times and other compiler bits
- myconf="${myconf} --enable-symbol-visibility"
- myconf="${myconf} --enable-pic"
-
- # CPU settings
- for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
- [ "${i}" = "native" ] && i="host"
- myconf="${myconf} --cpu=${i}"
- break
- done
-
- if tc-is-cross-compiler ; then
- myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel)"
- myconf="${myconf} --cross-prefix=${CHOST}-"
- fi
-
- # Build boosters
- has distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
- has ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
-
- chmod +x ./external/FFmpeg/version.sh
-
- einfo "Running ./configure ${myconf}"
- ./configure \
- --cc="$(tc-getCC)" \
- --cxx="$(tc-getCXX)" \
- --ar="$(tc-getAR)" \
- --extra-cflags="${CFLAGS}" \
- --extra-cxxflags="${CXXFLAGS}" \
- --extra-ldflags="${LDFLAGS}" \
- ${myconf} || die "configure died"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install || die "install failed"
- dodoc AUTHORS UPGRADING README
-
- insinto /usr/share/mythtv/database
- doins database/*
-
- newinitd "${FILESDIR}"/mythbackend.init mythbackend
- newconfd "${FILESDIR}"/mythbackend.conf mythbackend
- systemd_dounit "${FILESDIR}"/mythbackend.service
-
- dodoc keys.txt
-
- keepdir /etc/mythtv
- chown -R mythtv "${ED}"/etc/mythtv
- keepdir /var/log/mythtv
- chown -R mythtv "${ED}"/var/log/mythtv
- dodir /var/log/mythtv/old
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/mythtv.logrotate.d-r4 mythtv
-
- insinto /usr/share/mythtv/contrib
- doins -r contrib/*
-
- # Install our mythfrontend wrapper which is similar to Mythbuntu's
- mv "${ED}/usr/bin/mythfrontend" "${ED}/usr/bin/mythfrontend.real"
- newbin "${FILESDIR}"/mythfrontend.wrapper mythfrontend
- newconfd "${FILESDIR}"/mythfrontend.conf mythfrontend
-
- if use autostart; then
- dodir /etc/env.d/
- echo 'CONFIG_PROTECT="/home/mythtv/"' > "${ED}"/etc/env.d/95mythtv
-
- insinto /home/mythtv
- newins "${FILESDIR}"/bash_profile .bash_profile
- newins "${FILESDIR}"/xinitrc-r1 .xinitrc
- fi
-
- # Make Python files executable
- find "${ED}/usr/share/mythtv" -type f -name '*.py' | while read file; do
- if [[ ! "${file##*/}" = "__init__.py" ]]; then
- chmod a+x "${file}"
- fi
- done
-
- # Ensure that Python scripts are executed by Python 2
- python_convert_shebangs -q -r 2 "${ED}/usr/share/mythtv"
-
- # Make shell & perl scripts executable
- find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | \
- while read file; do
- chmod a+x "${file}"
- done
-}
-
-pkg_preinst() {
- export CONFIG_PROTECT="${CONFIG_PROTECT} ${EROOT}/home/mythtv/"
-}
-
-pkg_postinst() {
- use python && python_mod_optimize MythTV
-
- elog "To have this machine operate as recording host for MythTV, "
- elog "mythbackend must be running. Run the following:"
- elog "rc-update add mythbackend default"
- elog
- elog "Your recordings folder must be owned 'mythtv'. e.g."
- elog "chown -R mythtv /var/lib/mythtv"
-
- elog "Want mythfrontend to start automatically?"
- elog "Set USE=autostart. Details can be found at:"
- elog "https://dev.gentoo.org/~cardoe/mythtv/autostart.html"
- elog
- elog "Note that the systemd unit now restarts by default and logs"
- elog "to journald via the console at the notice verbosity."
-}
-
-pkg_postrm() {
- use python && python_mod_cleanup MythTV
-}
-
-pkg_info() {
- if [[ -f "${EROOT}"/usr/bin/mythfrontend ]]; then
- "${EROOT}"/usr/bin/mythfrontend --version
- fi
-}
-
-pkg_config() {
- echo "Creating mythtv MySQL user and mythconverg database if it does not"
- echo "already exist. You will be prompted for your MySQL root password."
- "${EROOT}"/usr/bin/mysql -u root -p < "${EROOT}"/usr/share/mythtv/database/mc.sql
-}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2015-09-14 14:20 Doug Goldstein
0 siblings, 0 replies; 13+ messages in thread
From: Doug Goldstein @ 2015-09-14 14:20 UTC (permalink / raw
To: gentoo-commits
commit: 67fb506813d922889a077e6bd04ebd9277234a1a
Author: Doug Goldstein <cardoe <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 14 14:19:49 2015 +0000
Commit: Doug Goldstein <cardoe <AT> gentoo <DOT> org>
CommitDate: Mon Sep 14 14:20:13 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67fb5068
media-tv/mythtv: multiple init script fixes
The new init scripts had a few bugs related to permissions and command line
switches.
Gentoo-Bug: 560142
Gentoo-Bug: 560144
Package-Manager: portage-2.2.20.1
Signed-off-by: Doug Goldstein <cardoe <AT> gentoo.org>
.../mythtv/files/{mythbackend.init-r1 => mythbackend.init-r2} | 8 ++++----
...-0.27.5_p20150904.ebuild => mythtv-0.27.5_p20150904-r1.ebuild} | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/media-tv/mythtv/files/mythbackend.init-r1 b/media-tv/mythtv/files/mythbackend.init-r2
similarity index 86%
rename from media-tv/mythtv/files/mythbackend.init-r1
rename to media-tv/mythtv/files/mythbackend.init-r2
index e7bbeb1..43f53e8 100644
--- a/media-tv/mythtv/files/mythbackend.init-r1
+++ b/media-tv/mythtv/files/mythbackend.init-r2
@@ -38,13 +38,13 @@ start() {
# Work around any strange permissions that may be on these files.
[ "x${MYTHBACKEND_LOGGING}" = "xfiles" ] && \
- checkpath --dir --owner mythv:video --mode 0664 /var/log/mythtv
- checkpath --dir --owner mythv:video --mode 0664 /home/mythtv
+ checkpath --directory --owner mythv:video --mode 0775 /var/log/mythtv
+ checkpath --directory --owner mythv:video --mode 0775 /home/mythtv
ebegin "Starting MythTV Backend"
start-stop-daemon --start --quiet --exec /usr/bin/mythbackend \
- --pidfile /var/run/mythbackend.pid -- \
- --daemon --pidfile /var/run/mythbackend.pid --user mythtv:video \
+ --pidfile /var/run/mythbackend.pid --user mythtv:video -- \
+ --daemon --pidfile /var/run/mythbackend.pid \
--verbose ${MYTHBACKEND_VERBOSE} \
${logging} ${MYTHBACKEND_OPTS}
eend $?
diff --git a/media-tv/mythtv/mythtv-0.27.5_p20150904.ebuild b/media-tv/mythtv/mythtv-0.27.5_p20150904-r1.ebuild
similarity index 99%
rename from media-tv/mythtv/mythtv-0.27.5_p20150904.ebuild
rename to media-tv/mythtv/mythtv-0.27.5_p20150904-r1.ebuild
index 62926a8..05358ad 100644
--- a/media-tv/mythtv/mythtv-0.27.5_p20150904.ebuild
+++ b/media-tv/mythtv/mythtv-0.27.5_p20150904-r1.ebuild
@@ -275,7 +275,7 @@ src_install() {
insinto /usr/share/mythtv/database
doins database/*
- newinitd "${FILESDIR}"/mythbackend.init-r1 mythbackend
+ newinitd "${FILESDIR}"/mythbackend.init-r2 mythbackend
newconfd "${FILESDIR}"/mythbackend.conf-r1 mythbackend
systemd_dounit "${FILESDIR}"/mythbackend.service
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2016-04-16 12:11 Richard Freeman
0 siblings, 0 replies; 13+ messages in thread
From: Richard Freeman @ 2016-04-16 12:11 UTC (permalink / raw
To: gentoo-commits
commit: 514d063046bc52bbc3c99ba6ccaff5212a13603a
Author: Richard Freeman <rich0 <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 16 11:52:24 2016 +0000
Commit: Richard Freeman <rich0 <AT> gentoo <DOT> org>
CommitDate: Sat Apr 16 12:05:12 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=514d0630
media-tv/mythtv: Major release to 0.28
Package-Manager: portage-2.2.26
media-tv/mythtv/Manifest | 1 +
media-tv/mythtv/files/mythbackend.service-28 | 66 +++++
media-tv/mythtv/mythtv-0.28.ebuild | 362 +++++++++++++++++++++++++++
3 files changed, 429 insertions(+)
diff --git a/media-tv/mythtv/Manifest b/media-tv/mythtv/Manifest
index fd8453c..ce15eb1 100644
--- a/media-tv/mythtv/Manifest
+++ b/media-tv/mythtv/Manifest
@@ -3,3 +3,4 @@ DIST mythtv-0.27.5-68e51d6fd4fa25e985b21cb3a5b5ca6fce9aca9d.tar.xz 28096 SHA256
DIST mythtv-0.27.5.tar.gz 85652939 SHA256 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b SHA512 b912e010e54271f9321ac1b11d4a31e4093f86c0f2ae3139d4b55085bab142ca3fc6d847d163f6b75aa31320404914c71c094528dc8ee7d70086e56a828b9169 WHIRLPOOL e9ebbbabac6ed53b4ec90537371a63e053bb9a2c0a0e920e43d3d2e475f87bdd0ac5a4604045498e88aaf06b11eb054d50dea7881c87dbd45a36c08309e1b880
DIST mythtv-0.27.6_p20160318.tar.gz 85676387 SHA256 d0b8c03d95e082e87e0fab8656358e9f3991cd08b2ec5edcbb10a9a91b1e4162 SHA512 7e94d07b4f99a15b978b42d8be11f329a938842b02ad99c9628ab6dda2fa802ca7148c5db9e6f7fae40f44027f55e69f1cdb6879ee83400934025f18ac68468f WHIRLPOOL d0f040c1ecb35e5c526477134d756a67d978aeefbf478b624eaa16e4ca1639e3b8f038507052b7d05e3a18fb85fd4e1eaeeb1a185ccfdf0fb2255fdc657be6c1
DIST mythtv-0.27.tar.gz 85904162 SHA256 494ebd7ee384e751c05ee0a1b3dcd3618caf72f1e94810381c09c2b5d1c799f0 SHA512 2ea070497a7610b8e1548112d9925a28aeedba819c2d063e88cc63daf69947379ce7213e357c26bf2221f8a8e865c937dee3b9bf2695644f2f1adeadf6d11116 WHIRLPOOL 74c4fade0d0f93a64e5f1da3120358f15f6f8891f53b7c74b41a286369e192790cae87829b79a3a90ce3ca23ede63b3dfa809b514b68cee220432794414b8a47
+DIST mythtv-0.28.tar.gz 104364066 SHA256 9d640ab0551b300dab9b633f969efc6f1987f9bdedbef5997a44ddf97d863171 SHA512 7087fa69b89a7166ddfa96a5a65f48e0ee1858bc150376b2ac2309707b4d1fb9cc544d60b114227284fd0d4891eabded6edc31215fb8f11d1df304fe77ff8f85 WHIRLPOOL f593ab2c232c4f5361b3997d35ba631c845d0f12399a772fdfc296a9e120f5a03a7ba22dbe26b972c522f46a13907fc09b2619e84874cd952095b72df54d53e1
diff --git a/media-tv/mythtv/files/mythbackend.service-28 b/media-tv/mythtv/files/mythbackend.service-28
new file mode 100644
index 0000000..3ab4c9b
--- /dev/null
+++ b/media-tv/mythtv/files/mythbackend.service-28
@@ -0,0 +1,66 @@
+# Do not edit this file, it will be replaced on update
+# If you need to make modifications to this unit file first make a copy in # /etc/systemd/system
+
+# This file is part of the packaging of MythTV #
+# MythTV is free software; view http://www.mythtv.org for more information.
+#
+# It is sometimes necessary to wait for a capture device to finish (hot)plug
+# initialization before the backend starts. If this is necessary,
+# create a Wants and After entry for all the capture devices that
+# one wishes to wait to be created before the backend starts using the systemd
+# device name mangling names (/dev/some/thing turns
+# into dev-some-thing.device). These normally should be udev persistent
+# filename rules to avoid confusion.
+# See the MythTV wiki for udev persistent filename # discussions found at:
+# http://www.mythtv.org/wiki/Device_Filenames_and_udev
+#
+# In order to insure that systemd will create a device unit for the
+# capture device, one must insure that udev will have the tag "systemd"
+# (i.e. add TAG+="systemd" to the udev rule).
+#
+# The MythTV package ships with a default udev rule file located in:
+# /lib/udev/rules.d/99-mythbackend.rules
+
+[Unit]
+Description=MythTV backend service
+After=network.target mysqld.service
+# Uncomment the following line if you will be using the mythweb plugin on the
+# same system as mythbackend.
+#Wants=httpd.service
+
+[Service]
+Type=notify
+
+Environment=MYTHCONFDIR=/etc/mythtv
+# Default setting assumes a system wide install. Otherwise it should be set to
+# the folder containing the .mythtv subfolder containing the config.xml file
+# Such as
+#Environment=HOME=/usr/share/mythtv
+# or
+Environment=HOME=/~/.mythtv
+
+# systemd changes execution from the calling user (possibly root) to this user
+# if you have permissions problems or obscure errors try logging in as mythtv
+# See notes below
+User=mythtv
+
+# Uncomment one of the following...
+# Use sysloging rather than separate logging:
+#ExecStart=/usr/bin/mythbackend --syslog local7
+
+# If Type=forking you must specify the --daemon and --pidfile options:
+#ExecStart=/usr/bin/mythbackend --daemon --logpath /var/log/mythtv --loglevel crit --pidfile /run/mythtv/mythbackend.pid
+#PIDFILE=/run/mythtv/mythbackend.pid
+
+# Systemd sends stdout to syslog, and mythbackend has console logging enabled without --daemon.
+# Send stdout to /dev/null so console logging doesn't go to syslog
+#StandardOutput=null
+# Default setting for Type=simple.
+#ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv --loglevel crit
+ExecStart=/usr/bin/mythbackend --loglevel notice
+
+# Whether systemd will continue over-watch and restart on any halt
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/media-tv/mythtv/mythtv-0.28.ebuild b/media-tv/mythtv/mythtv-0.28.ebuild
new file mode 100644
index 0000000..92a9d3e
--- /dev/null
+++ b/media-tv/mythtv/mythtv-0.28.ebuild
@@ -0,0 +1,362 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+# git diff --relative=mythtv v0.27.6.. > ~/mythtv-0.27.6/patches/mythtv.patch
+BACKPORTS="3543e74534a39c150e956e2f07f50ed9f873a84e"
+MY_P=${P%_p*}
+MY_PV=${PV%_p*}
+
+inherit flag-o-matic multilib eutils python-single-r1 user systemd vcs-snapshot
+
+MYTHTV_BRANCH="fixes/0.28"
+
+DESCRIPTION="Homebrew PVR project"
+HOMEPAGE="http://www.mythtv.org"
+SRC_URI="https://github.com/MythTV/mythtv/archive/${BACKPORTS}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+
+IUSE_INPUT_DEVICES="input_devices_joystick"
+IUSE="alsa altivec avahi libass autostart bluray cec crystalhd debug dvb dvd \
+egl fftw +hls ieee1394 jack lcd lirc perl pulseaudio python systemd +theora \
+vaapi vdpau +vorbis +wrapper +xml xmltv +xvid ${IUSE_INPUT_DEVICES}"
+
+REQUIRED_USE="
+ bluray? ( xml )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ theora? ( vorbis )"
+
+COMMON="
+ >=media-libs/freetype-2.0:=
+ >=media-sound/lame-3.93.1
+ sys-libs/zlib:=
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libXinerama:=
+ x11-libs/libXv:=
+ x11-libs/libXrandr:=
+ x11-libs/libXxf86vm:=
+ dev-qt/qtcore:5=
+ dev-qt/qtdbus:5=
+ dev-qt/qtgui:5=
+ dev-qt/qtscript:5=
+ dev-qt/qtsql:5=[mysql]
+ dev-qt/qtopengl:5=
+ dev-qt/qtwebkit:5=
+ x11-misc/wmctrl:=
+ virtual/mysql
+ virtual/opengl:=
+ alsa? ( >=media-libs/alsa-lib-1.0.24:= )
+ avahi? (
+ dev-libs/openssl:0=
+ net-dns/avahi[mdnsresponder-compat]
+ )
+ bluray? (
+ dev-libs/libcdio:=
+ media-libs/libbluray:=
+ sys-fs/udisks:0
+ )
+ cec? ( dev-libs/libcec:= )
+ dvb? (
+ media-libs/libdvb:=
+ virtual/linuxtv-dvb-headers:=
+ )
+ dvd? (
+ dev-libs/libcdio:=
+ sys-fs/udisks:0
+ )
+ egl? ( media-libs/mesa:=[egl] )
+ fftw? ( sci-libs/fftw:3.0= )
+ hls? (
+ media-libs/faac:=
+ <media-libs/libvpx-1.5.0:=
+ >=media-libs/x264-0.0.20111220:=
+ )
+ ieee1394? (
+ >=sys-libs/libraw1394-1.2.0:=
+ >=sys-libs/libavc1394-0.5.3:=
+ >=media-libs/libiec61883-1.0.0:=
+ )
+ jack? ( media-sound/jack-audio-connection-kit )
+ lcd? ( app-misc/lcdproc )
+ libass? ( >=media-libs/libass-0.9.11:= )
+ lirc? ( app-misc/lirc )
+ perl? (
+ dev-perl/DBD-mysql
+ dev-perl/Net-UPnP
+ dev-perl/LWP-Protocol-https
+ dev-perl/HTTP-Message
+ dev-perl/IO-Socket-INET6
+ >=dev-perl/libwww-perl-5
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/mysql-python
+ dev-python/lxml
+ dev-python/urlgrabber
+ )
+ theora? ( media-libs/libtheora:= media-libs/libogg:= )
+ vaapi? ( x11-libs/libva:=[opengl] )
+ vdpau? ( x11-libs/libvdpau:= )
+ vorbis? ( >=media-libs/libvorbis-1.0:= media-libs/libogg:= )
+ xml? ( >=dev-libs/libxml2-2.6.0:= )
+ xvid? ( >=media-libs/xvid-1.1.0:= )
+ !media-tv/mythtv-bindings
+ !x11-themes/mythtv-themes
+ media-libs/taglib:=
+ dev-libs/glib:=
+ systemd? ( sys-apps/systemd:= )
+ "
+
+RDEPEND="${COMMON}
+ media-fonts/corefonts
+ media-fonts/dejavu
+ media-fonts/liberation-fonts
+ x11-apps/xinit
+ autostart? (
+ net-dialup/mingetty
+ x11-wm/evilwm
+ x11-apps/xset
+ )
+ dvd? ( media-libs/libdvdcss:= )
+ xmltv? ( >=media-tv/xmltv-0.5.43 )
+ "
+
+DEPEND="${COMMON}
+ dev-lang/yasm
+ x11-proto/xineramaproto
+ x11-proto/xf86vidmodeproto
+ "
+
+S="${WORKDIR}/${P}/mythtv"
+
+MYTHTV_GROUPS="video,audio,tty,uucp"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
+ usermod -a -G ${MYTHTV_GROUPS} mythtv
+}
+
+src_prepare() {
+ # Perl bits need to go into vender_perl and not site_perl
+ sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
+ -i "${S}"/bindings/perl/Makefile
+
+ # Fix up the version info since we are using the fixes/${PV} branch
+ echo "SOURCE_VERSION=\"v${MY_PV}\"" > "${S}"/VERSION
+ echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/VERSION
+ echo "SOURCE_VERSION=\"${BACKPORTS}\"" > "${S}"/EXPORTED_VERSION
+ echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/EXPORTED_VERSION
+
+ echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
+
+# epatch "${FILESDIR}/libdir-27.patch"
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=
+
+ # Setup paths
+ myconf="${myconf} --prefix=${EPREFIX}/usr"
+ myconf="${myconf} --libdir=${EPREFIX}/usr/$(get_libdir)"
+ myconf="${myconf} --libdir-name=$(get_libdir)"
+ myconf="${myconf} --mandir=${EPREFIX}/usr/share/man"
+
+ # Audio
+ myconf="${myconf} $(use_enable alsa audio-alsa)"
+ myconf="${myconf} $(use_enable jack audio-jack)"
+ use pulseaudio || myconf="${myconf} --disable-audio-pulseoutput"
+
+ use altivec || myconf="${myconf} --disable-altivec"
+ myconf="${myconf} $(use_enable dvb)"
+ myconf="${myconf} $(use_enable ieee1394 firewire)"
+ myconf="${myconf} $(use_enable lirc)"
+ myconf="${myconf} $(use_enable xvid libxvid)"
+ myconf="${myconf} --dvb-path=/usr/include"
+ myconf="${myconf} --enable-xrandr"
+ myconf="${myconf} --enable-xv"
+ myconf="${myconf} --enable-x11"
+ myconf="${myconf} --enable-nonfree"
+ myconf="${myconf} --enable-libmp3lame"
+ use cec || myconf="${myconf} --disable-libcec"
+ use avahi || myconf="${myconf} --disable-libdns-sd"
+ myconf="${myconf} $(use_enable theora libtheora)"
+ myconf="${myconf} $(use_enable vorbis libvorbis)"
+
+ if use hls; then
+ myconf="${myconf} --enable-libx264"
+ myconf="${myconf} --enable-libvpx"
+ myconf="${myconf} --enable-libfaac"
+ fi
+
+ myconf="${myconf} $(use_enable libass)"
+
+ if use perl && use python; then
+ myconf="${myconf} --with-bindings=perl,python"
+ elif use perl; then
+ myconf="${myconf} --without-bindings=python"
+ myconf="${myconf} --with-bindings=perl"
+ elif use python; then
+ myconf="${myconf} --without-bindings=perl"
+ myconf="${myconf} --with-bindings=python"
+ else
+ myconf="${myconf} --without-bindings=perl,python"
+ fi
+
+ use python && myconf="${myconf} --python=${EPYTHON}"
+
+ if use debug; then
+ myconf="${myconf} --compile-type=debug"
+ else
+ myconf="${myconf} --compile-type=release"
+ #myconf="${myconf} --enable-debug" does nothing per sphery
+ #myconf="${myconf} --disable-stripping" does nothing per sphery
+ fi
+
+ # Video
+ myconf="${myconf} $(use_enable vdpau)"
+ myconf="${myconf} $(use_enable vaapi)"
+ myconf="${myconf} $(use_enable crystalhd)"
+
+ # Input
+ use input_devices_joystick || myconf="${myconf} --disable-joystick-menu"
+
+ # Clean up DSO load times and other compiler bits
+ myconf="${myconf} --enable-symbol-visibility"
+ myconf="${myconf} --enable-pic"
+
+ # CPU settings
+ for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
+ [ "${i}" = "native" ] && i="host"
+ myconf="${myconf} --cpu=${i}"
+ break
+ done
+
+ if tc-is-cross-compiler ; then
+ myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel)"
+ myconf="${myconf} --cross-prefix=${CHOST}-"
+ fi
+
+ # Build boosters
+ has distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
+ has ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
+
+ myconf="${myconf} $(use_enable systemd systemd_notify)"
+
+ chmod +x ./external/FFmpeg/version.sh
+
+ einfo "Running ./configure ${myconf}"
+ ./configure \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --extra-cflags="${CFLAGS}" \
+ --extra-cxxflags="${CXXFLAGS}" \
+ --extra-ldflags="${LDFLAGS}" \
+ ${myconf} || die "configure died"
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install || die "install failed"
+ dodoc AUTHORS UPGRADING README
+
+ insinto /usr/share/mythtv/database
+ doins database/*
+
+ newinitd "${FILESDIR}"/mythbackend.init-r2 mythbackend
+ newconfd "${FILESDIR}"/mythbackend.conf-r1 mythbackend
+ systemd_newunit "${FILESDIR}"/mythbackend.service-28 mythbackend.service
+
+ dodoc keys.txt
+
+ keepdir /etc/mythtv
+ chown -R mythtv "${ED}"/etc/mythtv
+ keepdir /var/log/mythtv
+ chown -R mythtv "${ED}"/var/log/mythtv
+ dodir /var/log/mythtv/old
+
+ 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)
+ use perl || find contrib/ -name '*.pl' -exec rm -f {} \;
+ # Ensure we don't install scripts needing the python bindings (bug #516968)
+ use python || find contrib/ -name '*.py' -exec rm -f {} \;
+ 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"
+ newbin "${FILESDIR}"/mythfrontend.wrapper mythfrontend
+ newconfd "${FILESDIR}"/mythfrontend.conf mythfrontend
+ fi
+
+ if use autostart; then
+ dodir /etc/env.d/
+ echo 'CONFIG_PROTECT="/home/mythtv/"' > "${ED}"/etc/env.d/95mythtv
+
+ insinto /home/mythtv
+ newins "${FILESDIR}"/bash_profile .bash_profile
+ newins "${FILESDIR}"/xinitrc-r1 .xinitrc
+ fi
+
+ # Make Python files executable
+ find "${ED}/usr/share/mythtv" -type f -name '*.py' | while read file; do
+ if [[ ! "${file##*/}" = "__init__.py" ]]; then
+ chmod a+x "${file}"
+ fi
+ done
+
+ # Ensure that Python scripts are executed by Python 2
+ python_fix_shebang "${ED}/usr/share/mythtv"
+
+ # Make shell & perl scripts executable
+ find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | \
+ while read file; do
+ chmod a+x "${file}"
+ done
+}
+
+pkg_preinst() {
+ export CONFIG_PROTECT="${CONFIG_PROTECT} ${EROOT}/home/mythtv/"
+}
+
+pkg_postinst() {
+ elog "To have this machine operate as recording host for MythTV, "
+ elog "mythbackend must be running. Run the following:"
+ elog "rc-update add mythbackend default"
+ elog
+ elog "Your recordings folder must be owned 'mythtv'. e.g."
+ elog "chown -R mythtv /var/lib/mythtv"
+
+ elog "Want mythfrontend to start automatically?"
+ elog "Set USE=autostart. Details can be found at:"
+ elog "https://dev.gentoo.org/~cardoe/mythtv/autostart.html"
+ elog
+ elog "Note that the systemd unit now restarts by default and logs"
+ elog "to journald via the console at the notice verbosity."
+}
+
+pkg_info() {
+ if [[ -f "${EROOT}"/usr/bin/mythfrontend ]]; then
+ "${EROOT}"/usr/bin/mythfrontend --version
+ fi
+}
+
+pkg_config() {
+ echo "Creating mythtv MySQL user and mythconverg database if it does not"
+ echo "already exist. You will be prompted for your MySQL root password."
+ "${EROOT}"/usr/bin/mysql -u root -p < "${EROOT}"/usr/share/mythtv/database/mc.sql
+}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2017-03-12 23:19 Michael Palimaka
0 siblings, 0 replies; 13+ messages in thread
From: Michael Palimaka @ 2017-03-12 23:19 UTC (permalink / raw
To: gentoo-commits
commit: 0aa8ee4d4cb38a693bdd7c586a6fe888c13df5e1
Author: Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 12 23:13:10 2017 +0000
Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sun Mar 12 23:18:58 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0aa8ee4d
media-tv/mythtv: add patch to 0.27.6_p20160318-r1 fixing build with libvpx-1.5.0
Gentoo-bug: 600094
Package-Manager: Portage-2.3.4, Repoman-2.3.2
media-tv/mythtv/files/mythtv-0.27.6-libvpx-1.5.0.patch | 17 +++++++++++++++++
...0160318.ebuild => mythtv-0.27.6_p20160318-r1.ebuild} | 3 ++-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/media-tv/mythtv/files/mythtv-0.27.6-libvpx-1.5.0.patch b/media-tv/mythtv/files/mythtv-0.27.6-libvpx-1.5.0.patch
new file mode 100644
index 00000000000..578feaae1b0
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-0.27.6-libvpx-1.5.0.patch
@@ -0,0 +1,17 @@
+Gentoo-bug: 600094
+
+--- a/mythtv/external/FFmpeg/libavcodec/libvpxenc.c
++++ b/mythtv/external/FFmpeg/libavcodec/libvpxenc.c
+@@ -87,9 +87,9 @@
+
+ /** String mappings for enum vp8e_enc_control_id */
+ static const char *const ctlidstr[] = {
+- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
+- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
+- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
++// [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
++// [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
++// [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
+ [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP",
+ [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP",
+ [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE",
diff --git a/media-tv/mythtv/mythtv-0.27.6_p20160318.ebuild b/media-tv/mythtv/mythtv-0.27.6_p20160318-r1.ebuild
similarity index 99%
rename from media-tv/mythtv/mythtv-0.27.6_p20160318.ebuild
rename to media-tv/mythtv/mythtv-0.27.6_p20160318-r1.ebuild
index 3398c2d376f..aeefe6f87aa 100644
--- a/media-tv/mythtv/mythtv-0.27.6_p20160318.ebuild
+++ b/media-tv/mythtv/mythtv-0.27.6_p20160318-r1.ebuild
@@ -75,7 +75,7 @@ COMMON="
fftw? ( sci-libs/fftw:3.0= )
hls? (
media-libs/faac:=
- <media-libs/libvpx-1.5.0:=
+ <media-libs/libvpx-1.6.0:=
>=media-libs/x264-0.0.20111220:=
)
ieee1394? (
@@ -158,6 +158,7 @@ src_prepare() {
echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
epatch "${FILESDIR}/libdir-27.patch"
+ epatch "${FILESDIR}/${PN}-0.27.6-libvpx-1.5.0.patch"
epatch_user
}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2017-10-20 21:39 Andreas Hüttel
0 siblings, 0 replies; 13+ messages in thread
From: Andreas Hüttel @ 2017-10-20 21:39 UTC (permalink / raw
To: gentoo-commits
commit: 49e135cfc1274442c7f22e8372d053e0d34dc484
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 20 21:38:53 2017 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Oct 20 21:39:00 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49e135cf
media-tv/mythtv: Fix build with glibc-2.25, bug 604430
Closes: https://bugs.gentoo.org/604430
Package-Manager: Portage-2.3.12, Repoman-2.3.3
media-tv/mythtv/files/mythtv-0.28.1-glibc225.patch | 29 ++++++++++++++++++++++
media-tv/mythtv/mythtv-0.28.1-r1.ebuild | 1 +
2 files changed, 30 insertions(+)
diff --git a/media-tv/mythtv/files/mythtv-0.28.1-glibc225.patch b/media-tv/mythtv/files/mythtv-0.28.1-glibc225.patch
new file mode 100644
index 00000000000..343a808076e
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-0.28.1-glibc225.patch
@@ -0,0 +1,29 @@
+From b012ff0f6b284969183863d42a6a14eb77ed0a1d Mon Sep 17 00:00:00 2001
+From: Stuart Auchterlonie <stuarta@mythtv.org>
+Date: Tue, 6 Jun 2017 22:39:03 +0100
+Subject: [PATCH] Refs #13047 - major() and minor() are defined in
+ <sys/sysmacros.h>
+
+On BSD platforms they remain defined in <sys/types.h>
+
+(cherry picked from commit eca27c542b70deb58e50ad4581b2d6f6b2e1d3c2)
+---
+ mythtv/libs/libmythtv/videosource.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/mythtv/libs/libmythtv/videosource.cpp b/mythtv/libs/libmythtv/videosource.cpp
+index 97618adc80..09dd95073d 100644
+--- a/mythtv/libs/libmythtv/videosource.cpp
++++ b/mythtv/libs/libmythtv/videosource.cpp
+@@ -3,7 +3,11 @@
+ // Standard UNIX C headers
+ #include <unistd.h>
+ #include <fcntl.h>
++#if defined(__FreeBSD__) || CONFIG_DARWIN || defined(__OpenBSD__)
+ #include <sys/types.h>
++#else
++#include <sys/sysmacros.h>
++#endif
+ #include <sys/stat.h>
+
+ // C++ headers
diff --git a/media-tv/mythtv/mythtv-0.28.1-r1.ebuild b/media-tv/mythtv/mythtv-0.28.1-r1.ebuild
index ac83e415065..4d9566ab953 100644
--- a/media-tv/mythtv/mythtv-0.28.1-r1.ebuild
+++ b/media-tv/mythtv/mythtv-0.28.1-r1.ebuild
@@ -159,6 +159,7 @@ src_prepare() {
echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
+ epatch "${FILESDIR}/${P}-glibc225.patch"
epatch_user
}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2019-08-14 11:15 Andreas Sturmlechner
0 siblings, 0 replies; 13+ messages in thread
From: Andreas Sturmlechner @ 2019-08-14 11:15 UTC (permalink / raw
To: gentoo-commits
commit: c6efb1db19f9073bfd64c4a00e99fde85b05e9e0
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 14 11:12:05 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 14 11:14:42 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6efb1db
media-tv/mythtv: Fix build with >=media-libs/exiv2-0.27.1
Thanks-to: Amel Hodzic <ilmostro7 <AT> gmail.com>
Closes: https://bugs.gentoo.org/691904
Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../mythtv/files/mythtv-29.1-exiv2-0.27.1.patch | 21 +++++++++++++++++++++
media-tv/mythtv/mythtv-29.1-r1.ebuild | 2 ++
2 files changed, 23 insertions(+)
diff --git a/media-tv/mythtv/files/mythtv-29.1-exiv2-0.27.1.patch b/media-tv/mythtv/files/mythtv-29.1-exiv2-0.27.1.patch
new file mode 100644
index 00000000000..afdf423355e
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-29.1-exiv2-0.27.1.patch
@@ -0,0 +1,21 @@
+Fix build with exiv2-0.27.1
+Thanks-to: Amel Hodzic <ilmostro7@gmail.com>
+
+--- a/libs/libmythmetadata/imagemetadata.cpp
++++ b/libs/libmythmetadata/imagemetadata.cpp
+@@ -7,14 +7,7 @@
+ #include "exitcodes.h" // for ffprobe
+
+ // libexiv2 for Exif metadata
+-//#include <exiv2/exiv2.hpp>
+-// Note: Older versions of Exiv2 don't have the exiv2.hpp include
+-// file. Using image.hpp instead seems to work.
+-#ifdef _MSC_VER
+-#include <exiv2/src/image.hpp>
+-#else
+-#include <exiv2/image.hpp>
+-#endif
++#include <exiv2/exiv2.hpp>
+
+ // To read FFMPEG Metadata
+ extern "C" {
diff --git a/media-tv/mythtv/mythtv-29.1-r1.ebuild b/media-tv/mythtv/mythtv-29.1-r1.ebuild
index 85c778c6135..05fc9479744 100644
--- a/media-tv/mythtv/mythtv-29.1-r1.ebuild
+++ b/media-tv/mythtv/mythtv-29.1-r1.ebuild
@@ -156,6 +156,8 @@ to journald via the console at the notice verbosity.
MYTHTV_GROUPS="video,audio,tty,uucp"
+PATCHES=( "${FILESDIR}/${P}-exiv2-0.27.1.patch" ) # bug 691904
+
pkg_setup() {
python-single-r1_pkg_setup
enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2019-09-20 16:18 Joonas Niilola
0 siblings, 0 replies; 13+ messages in thread
From: Joonas Niilola @ 2019-09-20 16:18 UTC (permalink / raw
To: gentoo-commits
commit: cb34a5497be5bc3642f0fc05b59bab53ca7e0ca1
Author: Wilson Michaels <thebitpit <AT> eartlink <DOT> net>
AuthorDate: Tue Sep 17 19:53:35 2019 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Sep 20 16:17:51 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb34a549
media-tv/mythtv: Bump to 30.0_p2019080 on fixes/30 branch
EAPI 7
Signed-off-by: Wilson Michaels <thebitpit <AT> eartlink.net>
Closes: https://github.com/gentoo/gentoo/pull/12818
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
media-tv/mythtv/Manifest | 1 +
...808-Fix_Dereferencing_type-punned_pointer.patch | 34 ++
...-30.0_p20190808-Fix_unitialized_variables.patch | 22 ++
...tv-30.0_p20190808-cast_constants_to_short.patch | 365 ++++++++++++++++++
.../mythtv-30.0_p20190808-respect_LDFLAGS.patch | 14 +
media-tv/mythtv/metadata.xml | 75 ++--
media-tv/mythtv/mythtv-30.0_p20190808.ebuild | 420 +++++++++++++++++++++
7 files changed, 888 insertions(+), 43 deletions(-)
diff --git a/media-tv/mythtv/Manifest b/media-tv/mythtv/Manifest
index ab544b3114f..fe458fa1553 100644
--- a/media-tv/mythtv/Manifest
+++ b/media-tv/mythtv/Manifest
@@ -1 +1,2 @@
DIST mythtv-29.1-r1.tar.gz 105657217 BLAKE2B 9d42464b0c75c2d3a359b528e3f7917cfb281f48451167afc6517caa9702da44fce2d48566fd902ec08af35117232113b4d499e2c9a3cf2ad2634d91cf532ca7 SHA512 0eadc37661d9fa93a63c0f425cd43d43533889b0afcea1478b2645e083ba6c96eebf2eec088db1ed6f0a0727c03b7c90c0c18b83c194d630dda3bac45bca5d87
+DIST mythtv-30.0_p20190808.tar.gz 101208060 BLAKE2B af8966dd6353fc514c9a95083f28e8b7b19f16e1bd5a4f7590a946c306bf16a09f0028c76da975e423136834f8f06d7f2a570b43957ef4ae5e42ee241b579f0a SHA512 c02371c0b2162556e40a560a0fd9cb121f46f2ccedbc2ca74cd03aa9caf2b7ea4bbaa09ae6320eb782f932190f449e7fdd274a6d6ba9676e5fd9b7f5432632a2
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch
new file mode 100644
index 00000000000..bc0751c887c
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch
@@ -0,0 +1,34 @@
+--- a/libs/libmythfreemheg/Programs.cpp
++++ b/libs/libmythfreemheg/Programs.cpp
+@@ -232,7 +232,10 @@ void MHResidentProgram::CallProgram(bool fIsFork, const MHObjectRef &success, co
+ for (int i = 0; i < format.Size(); i++)
+ {
+ unsigned char ch = format.GetAt(i);
+- char buffer[5]; // Largest text is 4 chars for a year + null terminator
++ // Largest text is 4 chars for a year + null terminator
++ // But... adding a constant to the value might be 5 chars + null terminator
++ // Using 6 gets rid of compiler warning
++ char buffer[6];
+
+ if (ch == '%')
+ {
+@@ -249,16 +252,16 @@ void MHResidentProgram::CallProgram(bool fIsFork, const MHObjectRef &success, co
+ switch (ch)
+ {
+ case 'Y':
+- sprintf(buffer, "%04d", timeStr->tm_year + 1900);
++ sprintf(buffer, "%04d", (unsigned short)(timeStr->tm_year + 1900));
+ break;
+ case 'y':
+ sprintf(buffer, "%02d", timeStr->tm_year % 100);
+ break;
+ case 'X':
+- sprintf(buffer, "%02d", timeStr->tm_mon + 1);
++ sprintf(buffer, "%02d", (unsigned short)(timeStr->tm_mon + 1));
+ break;
+ case 'x':
+- sprintf(buffer, "%1d", timeStr->tm_mon + 1);
++ sprintf(buffer, "%1d", (unsigned short)(timeStr->tm_mon + 1));
+ break;
+ case 'D':
+ sprintf(buffer, "%02d", timeStr->tm_mday);
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_unitialized_variables.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_unitialized_variables.patch
new file mode 100644
index 00000000000..db296242515
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_unitialized_variables.patch
@@ -0,0 +1,22 @@
+--- a/libs/libmythtv/eitfixup.cpp
++++ b/libs/libmythtv/eitfixup.cpp
+@@ -842,7 +842,7 @@ void EITFixUp::SetUKSubtitle(DBEventEIT &event) const
+ void EITFixUp::FixUK(DBEventEIT &event) const
+ {
+ int position1;
+- int position2;
++ int position2 = 0;
+ QString strFull;
+
+ bool isMovie = event.m_category.startsWith("Movie",Qt::CaseInsensitive) ||
+--- a/libs/libmythui/mythuitext.cpp
++++ b/libs/libmythui/mythuitext.cpp
+@@ -1058,7 +1058,7 @@ int MythUIText::MoveCursor(int lines)
+ int lineCount = 0;
+ int currPos = 0;
+ int layoutStartPos = 0;
+- int xPos;
++ int xPos = 0;
+
+ for (int x = 0; x < m_Layouts.count(); x++)
+ {
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch
new file mode 100644
index 00000000000..572f4e2b757
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch
@@ -0,0 +1,365 @@
+--- a/libs/libmyth/test/test_audioutils/test_audioutils.h
++++ b/libs/libmyth/test/test_audioutils/test_audioutils.h
+@@ -204,42 +204,48 @@ class TestAudioUtils: public QObject
+ arrays1[i] = j;
+ }
+
+- uint32_t pattern = 0xbcbcbcbc;
+- arrays2[offsetshort-4] = *(short*)&pattern;
+- arrays2[offsetshort-3] = *(short*)&pattern;
+- arrays2[offsetshort-2] = *(short*)&pattern;
+- arrays2[offsetshort-1] = *(short*)&pattern;
+- arrayf[offsetfloat-4] = *(float*)&pattern;
+- arrayf[offsetfloat-3] = *(float*)&pattern;
+- arrayf[offsetfloat-2] = *(float*)&pattern;
+- arrayf[offsetfloat-1] = *(float*)&pattern;
+- arrays2[SAMPLES+offsetshort+0] = *(short*)&pattern;
+- arrays2[SAMPLES+offsetshort+1] = *(short*)&pattern;
+- arrays2[SAMPLES+offsetshort+2] = *(short*)&pattern;
+- arrays2[SAMPLES+offsetshort+3] = *(short*)&pattern;
+- arrayf[SAMPLES+offsetfloat+0] = *(float*)&pattern;
+- arrayf[SAMPLES+offsetfloat+1] = *(float*)&pattern;
+- arrayf[SAMPLES+offsetfloat+2] = *(float*)&pattern;
+- arrayf[SAMPLES+offsetfloat+3] = *(float*)&pattern;
++ const union
++ {
++ uint32_t pattern;
++ short shortpattern;
++ float floatpattern;
++ } pattern = { .pattern = 0xbcbcbcbc };
++
++ arrays2[offsetshort-4] = *&pattern.shortpattern;
++ arrays2[offsetshort-3] = *&pattern.shortpattern;
++ arrays2[offsetshort-2] = *&pattern.shortpattern;
++ arrays2[offsetshort-1] = *&pattern.shortpattern;
++ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
++ arrays2[SAMPLES+offsetshort+0] = *&pattern.shortpattern;
++ arrays2[SAMPLES+offsetshort+1] = *&pattern.shortpattern;
++ arrays2[SAMPLES+offsetshort+2] = *&pattern.shortpattern;
++ arrays2[SAMPLES+offsetshort+3] = *&pattern.shortpattern;
++ arrayf[SAMPLES+offsetfloat+0] = *(float*)&pattern.floatpattern;
++ arrayf[SAMPLES+offsetfloat+1] = *(float*)&pattern.floatpattern;
++ arrayf[SAMPLES+offsetfloat+2] = *(float*)&pattern.floatpattern;
++ arrayf[SAMPLES+offsetfloat+3] = *(float*)&pattern.floatpattern;
+
+ // sanity tests
+ QCOMPARE(SAMPLES*2, SAMPLES * ISIZEOF(arrays1[0]));
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-4],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-3],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*(short*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-4],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-3],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*&pattern.shortpattern);
+ QCOMPARE(arrayf+4,&arrayf[4]);
+ QCOMPARE(arrays2+4,&arrays2[4]);
+
+@@ -248,22 +254,22 @@ class TestAudioUtils: public QObject
+ int val2 = AudioOutputUtil::fromFloat(FORMAT_S16, arrays2+offsetshort, arrayf+offsetfloat, SAMPLES * ISIZEOF(float));
+ QCOMPARE(val2, SAMPLES * ISIZEOF(short));
+
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-4],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-3],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*(short*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-4],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-3],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*&pattern.shortpattern);
+
+ av_free(arrays1);
+ av_free(arrays2);
+@@ -505,42 +511,48 @@ class TestAudioUtils: public QObject
+ arrays1[i] = j;
+ }
+
+- uint32_t pattern = 0xbcbcbcbc;
+- arrays2[offsetuchar-4] = *(uchar*)&pattern;
+- arrays2[offsetuchar-3] = *(uchar*)&pattern;
+- arrays2[offsetuchar-2] = *(uchar*)&pattern;
+- arrays2[offsetuchar-1] = *(uchar*)&pattern;
+- arrayf[offsetfloat-4] = *(float*)&pattern;
+- arrayf[offsetfloat-3] = *(float*)&pattern;
+- arrayf[offsetfloat-2] = *(float*)&pattern;
+- arrayf[offsetfloat-1] = *(float*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+0] = *(uchar*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+1] = *(uchar*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+2] = *(uchar*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+3] = *(uchar*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern;
++ const union
++ {
++ uint32_t pattern;
++ uchar ucharpattern;
++ float floatpattern;
++ } pattern = { .pattern = 0xbcbcbcbc };
++
++ arrays2[offsetuchar-4] = *(uchar*)&pattern.ucharpattern;
++ arrays2[offsetuchar-3] = *(uchar*)&pattern.ucharpattern;
++ arrays2[offsetuchar-2] = *(uchar*)&pattern.ucharpattern;
++ arrays2[offsetuchar-1] = *(uchar*)&pattern.ucharpattern;
++ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
++ arrays2[SIZEARRAY+offsetuchar+0] = *(uchar*)&pattern.ucharpattern;
++ arrays2[SIZEARRAY+offsetuchar+1] = *(uchar*)&pattern.ucharpattern;
++ arrays2[SIZEARRAY+offsetuchar+2] = *(uchar*)&pattern.ucharpattern;
++ arrays2[SIZEARRAY+offsetuchar+3] = *(uchar*)&pattern.ucharpattern;
++ arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern.floatpattern;
+
+ // sanity tests
+ QCOMPARE(SIZEARRAY*1, SIZEARRAY * ISIZEOF(arrays1[0]));
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern.ucharpattern);
+ QCOMPARE(arrayf+4,&arrayf[4]);
+ QCOMPARE(arrays2+4,&arrays2[4]);
+
+@@ -549,22 +561,22 @@ class TestAudioUtils: public QObject
+ int val2 = AudioOutputUtil::fromFloat(FORMAT_U8, arrays2+offsetuchar, arrayf+offsetfloat, SIZEARRAY * ISIZEOF(float));
+ QCOMPARE(val2, SIZEARRAY * ISIZEOF(uchar));
+
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern.ucharpattern);
+
+ av_free(arrays1);
+ av_free(arrays2);
+@@ -686,42 +698,48 @@ class TestAudioUtils: public QObject
+ arrays1[i] = j;
+ }
+
+- uint32_t pattern = 0xbcbcbcbc;
+- arrays2[offsetint32_t-4] = *(int32_t*)&pattern;
+- arrays2[offsetint32_t-3] = *(int32_t*)&pattern;
+- arrays2[offsetint32_t-2] = *(int32_t*)&pattern;
+- arrays2[offsetint32_t-1] = *(int32_t*)&pattern;
+- arrayf[offsetfloat-4] = *(float*)&pattern;
+- arrayf[offsetfloat-3] = *(float*)&pattern;
+- arrayf[offsetfloat-2] = *(float*)&pattern;
+- arrayf[offsetfloat-1] = *(float*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+0] = *(int32_t*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+1] = *(int32_t*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+2] = *(int32_t*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+3] = *(int32_t*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern;
++ const union
++ {
++ uint32_t pattern;
++ int32_t int32pattern;
++ float floatpattern;
++ } pattern = { .pattern = 0xbcbcbcbc };
++
++ arrays2[offsetint32_t-4] = *(int32_t*)&pattern.int32pattern;
++ arrays2[offsetint32_t-3] = *(int32_t*)&pattern.int32pattern;
++ arrays2[offsetint32_t-2] = *(int32_t*)&pattern.int32pattern;
++ arrays2[offsetint32_t-1] = *(int32_t*)&pattern.int32pattern;
++ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
++ arrays2[SIZEARRAY+offsetint32_t+0] = *(int32_t*)&pattern.int32pattern;
++ arrays2[SIZEARRAY+offsetint32_t+1] = *(int32_t*)&pattern.int32pattern;
++ arrays2[SIZEARRAY+offsetint32_t+2] = *(int32_t*)&pattern.int32pattern;
++ arrays2[SIZEARRAY+offsetint32_t+3] = *(int32_t*)&pattern.int32pattern;
++ arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern.floatpattern;
+
+ // sanity tests
+ QCOMPARE(SIZEARRAY*4, SIZEARRAY * ISIZEOF(arrays1[0]));
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern.int32pattern);
+ QCOMPARE(arrayf+4,&arrayf[4]);
+ QCOMPARE(arrays2+4,&arrays2[4]);
+
+@@ -730,22 +748,22 @@ class TestAudioUtils: public QObject
+ int val2 = AudioOutputUtil::fromFloat(FORMAT_S32, arrays2+offsetint32_t, arrayf+offsetfloat, SIZEARRAY * ISIZEOF(float));
+ QCOMPARE(val2, SIZEARRAY * ISIZEOF(int32_t));
+
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern.int32pattern);
+
+ av_free(arrays1);
+ av_free(arrays2);
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-respect_LDFLAGS.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-respect_LDFLAGS.patch
new file mode 100644
index 00000000000..8bfc2796cff
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-respect_LDFLAGS.patch
@@ -0,0 +1,14 @@
+--- a/configure
++++ b/configure
+@@ -7919,9 +7919,9 @@ EOF
+ #echo "endif # FFMPEG_CONFIG_MAK" >> $TMPMAK
+
+ # Should be done on all platforms, but for the time being limit it to mac only
+-if enabled darwin; then
++#if enabled darwin; then
+ echo "QMAKE_LFLAGS+=\"$LDFLAGS\"" >> $TMPMAK
+-fi
++#fi
+
+ cp_if_changed $TMPH $MYTH_CONFIG_H
+
diff --git a/media-tv/mythtv/metadata.xml b/media-tv/mythtv/metadata.xml
index 2c054c79fe6..f6172ecf966 100644
--- a/media-tv/mythtv/metadata.xml
+++ b/media-tv/mythtv/metadata.xml
@@ -1,52 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>thebitpit@earthlink.net</email>
+ <name>Wilson Michaels</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
- <flag name="alsa">Allows MythTV to directly output sound to ALSA devices,
- this is needed if you are using ALSA dmix or SPDIF. Note, you will have
- to physically type your device into the MythTV configuration since it
- will only give you /dev/dsp devices in the drop down.</flag>
- <flag name="altivec">Builds ffmpeg's codec libraries with altivec
- support.</flag>
- <flag name="autostart">Uses a custom autostart configuration gleaned from
- experience with MythTV since its early versions and discussed with
- other MythTV maintainers and users. Does not rely on KDE being installed
- like most methods do.</flag>
- <flag name="bluray">Pulls in libbluray for BluRay support.</flag>
- <flag name="cec">Allows you to control CEC enabled TVs via HDMI. Currently
- requires a USB based CEC -> HDMI injector between your TV and video
- card since no graphics drivers support CEC natively.</flag>
- <flag name="crystalhd">Allows you to utilize a Broadcom CrystalHD hardware
- based video decoder to improve the performance of video decode.</flag>
- <flag name="debug">Instructs Qt to use the 'debug' target instead of
- 'release' target. If your MythTV is crashing or you need a backtrace,
- you need to compile it with this option otherwise the debugging data is
- useless.</flag>
- <flag name="egl">Support EGL video output.</flag>
+ <flag name="alsa">Allows MythTV to directly output sound to ALSA devices</flag>
+ <flag name="asi">Support for DVEO ASI recorder</flag>
+ <flag name="autostart">Use a custom autostart configuration</flag>
+ <flag name="bluray">Use the system libbluray for BluRay support</flag>
+ <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="crystalhd">Broadcom CrystalHD hardware support</flag>
+ <flag name="debug">Instructs Qt to use the 'debug' target</flag>
+ <flag name="egl">EGL video output support</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="hdpvr">Hauppauge HD-PVR?</flag>
<flag name="hls">HTTP Live Streaming support</flag>
- <flag name="ieee1394">Allows MythTV to communicate and use Firewire enabled
- Cable boxes. These are typically found in the United States, where such
- support is required by law. This will also install Firewire test
- programs and external channel changers if the internal changer does not
- work.</flag>
- <flag name="jack">Allows MythTV to use JACK as your sound output device. You
- will have to manually configure the path to your JACK settings.</flag>
- <flag name="lcd">Tells MythTV that you have an instance of
- <pkg>app-misc/lcdproc</pkg> configured on your machine and it should
- output information such as current time, show name, episode name, etc to
- that LCD.</flag>
- <flag name="lirc">Adds LIRC support directly to MythTV allowing for built in
- control via a LIRC device.</flag>
- <flag name="mythlogserver">Enable support for syslog and file logging. Not
- used with systemd.</flag>
- <flag name="perl">Builds the perl bindings for MythTV. Allows you to write
- scripts in Perl to control your MythTV setup or communicate with
- it.</flag>
- <flag name="wrapper">Use Ubuntu mythtfrontend wrapper.</flag>
- <flag name="xmltv">Pulls in the <pkg>media-tv/xmltv</pkg> TV listing
- grabbers for users not using Schedules Direct.</flag>
+ <flag name="ieee1394">Firewire enabled Cable boxe support</flag>
+ <flag name="ivtv">Support kernel driver for the iTVC15 family of MPEG codecs</flag>
+ <flag name="jack">Allows MythTV to use JACK as your sound output device</flag>
+ <flag name="java">BD-J support for Blu-ray discs</flag>
+ <flag name="lcd">Enable use of <pkg>app-misc/lcdproc</pkg> data display</flag>
+ <flag name="lirc">LIRC remote control device support</flag>
+ <flag name="mythlogserver">Enable support for syslog and file logging</flag>
+ <flag name="perl">Build the perl bindings for MythTV</flag>
+ <flag name="vbox">V@Box Communications network-attached tuner devices support</flag>
+ <flag name="vpx">Enable VP8/VP9 support for <pkg>media-libs/libvpx</pkg></flag>
+ <flag name="wrapper">Use Ubuntu mythtfrontend wrapper</flag>
+ <flag name="x265">Enable h265 encoding using x265</flag>
+ <flag name="xmltv">Support <pkg>media-tv/xmltv</pkg> TV listing - not used by Schedules Direct]</flag>
</use>
<upstream>
<remote-id type="github">MythTV/mythtv</remote-id>
diff --git a/media-tv/mythtv/mythtv-30.0_p20190808.ebuild b/media-tv/mythtv/mythtv-30.0_p20190808.ebuild
new file mode 100644
index 00000000000..1e8752cdcda
--- /dev/null
+++ b/media-tv/mythtv/mythtv-30.0_p20190808.ebuild
@@ -0,0 +1,420 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+
+BACKPORTS="5cde0578d84926171b20c8f7e95a101e9b0b9457" # August 8, 2019
+
+MY_P=${P%_p*}
+MY_PV=${PV%_p*}
+
+inherit eutils flag-o-matic python-single-r1 qmake-utils readme.gentoo-r1 systemd vcs-snapshot
+
+MYTHTV_BRANCH="fixes/${P%.*}"
+
+DESCRIPTION="Open Source DVR and media center hub"
+HOMEPAGE="https://www.mythtv.org"
+SRC_URI="https://github.com/MythTV/mythtv/archive/${BACKPORTS}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0/${PV}"
+
+IUSE_INPUT_DEVICES="input_devices_joystick"
+IUSE_VIDEO_CAPTURE_DEVICES="v4l ivtv ieee1394 hdpvr hdhomerun vbox ceton"
+IUSE="alsa altivec asi autostart bluray cdda cdr cec crystalhd debug dvd dvb egl exif fftw jack java
+ +lame lcd libass lirc +opengl oss perl pulseaudio python raw systemd vaapi vdpau vpx
+ +wrapper x264 x265 +xml xmltv +xvid +X zeroconf
+ ${IUSE_INPUT_DEVICES} ${IUSE_VIDEO_CAPTURE_DEVICES}"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ bluray? ( xml )
+ cdr? ( cdda )
+"
+
+# Some of the QA tests fail -- fix in next revision
+RESTRICT="test"
+
+COMMON="
+ acct-user/mythtv
+ dev-libs/glib:2
+ dev-libs/lzo
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ opengl? ( dev-qt/qtopengl:5 )
+ dev-qt/qtscript:5
+ dev-qt/qtsql:5[mysql]
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ media-gfx/exiv2:=
+ media-libs/freetype:2
+ media-libs/libsamplerate
+ media-libs/taglib
+ lame? ( >=media-sound/lame-3.93.1 )
+ sys-libs/zlib
+ virtual/mysql
+ opengl? ( virtual/opengl )
+ X? (
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libXinerama:=
+ x11-libs/libXrandr:=
+ x11-libs/libXv:=
+ x11-libs/libXxf86vm:=
+ x11-misc/wmctrl:=
+ )
+ alsa? ( >=media-libs/alsa-lib-1.0.24 )
+ bluray? (
+ media-libs/libbluray:=
+ dev-libs/libcdio:=
+ sys-fs/udisks:2
+ )
+ cec? ( dev-libs/libcec )
+ dvd? (
+ dev-libs/libcdio:=
+ sys-fs/udisks:2
+ )
+ egl? ( media-libs/mesa[egl] )
+ fftw? ( sci-libs/fftw:3.0=[threads] )
+ hdhomerun? ( media-libs/libhdhomerun )
+ ieee1394? (
+ >=media-libs/libiec61883-1.0.0
+ >=sys-libs/libavc1394-0.5.3
+ >=sys-libs/libraw1394-1.2.0
+ )
+ jack? ( media-sound/jack-audio-connection-kit )
+ lcd? ( app-misc/lcdproc )
+ libass? ( >=media-libs/libass-0.9.11:= )
+ lirc? ( app-misc/lirc )
+ perl? (
+ >=dev-perl/libwww-perl-5
+ dev-perl/DBD-mysql
+ dev-perl/HTTP-Message
+ dev-perl/IO-Socket-INET6
+ dev-perl/LWP-Protocol-https
+ dev-perl/Net-UPnP
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/lxml
+ dev-python/mysql-python
+ dev-python/urlgrabber
+ dev-python/future
+ dev-python/requests-cache
+ )
+ systemd? ( sys-apps/systemd:= )
+ vaapi? ( x11-libs/libva:=[opengl] )
+ vdpau? ( x11-libs/libvdpau )
+ vpx? ( media-libs/libvpx:= )
+ x264? ( >=media-libs/x264-0.0.20111220:= )
+ x265? ( media-libs/x265 )
+ xml? ( >=dev-libs/libxml2-2.6.0 )
+ xvid? ( >=media-libs/xvid-1.1.0 )
+ zeroconf? (
+ dev-libs/openssl:0=
+ net-dns/avahi[mdnsresponder-compat]
+ )
+"
+RDEPEND="${COMMON}
+ media-fonts/corefonts
+ media-fonts/dejavu
+ media-fonts/liberation-fonts
+ x11-apps/xinit
+ autostart? (
+ net-dialup/mingetty
+ x11-apps/xset
+ x11-wm/evilwm
+ )
+ dvd? ( media-libs/libdvdcss )
+ xmltv? ( >=media-tv/xmltv-0.5.43 )
+"
+DEPEND="
+ ${COMMON}
+ dev-lang/yasm
+ x11-base/xorg-proto
+"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${P}-respect_LDFLAGS.patch"
+ "${FILESDIR}/${P}-cast_constants_to_short.patch"
+ "${FILESDIR}/${P}-Fix_Dereferencing_type-punned_pointer.patch"
+ "${FILESDIR}/${P}-Fix_unitialized_variables.patch"
+)
+
+# mythtv and mythplugins are separate builds in the github mythtv project
+S="${WORKDIR}/${PF}/mythtv"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Creating mythtv MySQL user and mythconverg database if it does not
+already exist. You will be prompted for your MySQL root password.
+
+Mythtv is updated to use correct FHS/Gentoo policy paths.
+Updating mythtv installations may report:
+ * mythtv is in use, cannot update home
+ * There was an error when attempting to update the home directory for mythtv
+ * Please update it manually on your system (as root):
+ * usermod -d "/var/lib/mythtv" "mythtv"
+This can be ignored. The previous default was "/home/mythtv".
+Use caution if you change the home directory.
+
+To have this machine operate as recording host for MythTV,
+mythbackend must be running. Run the following:
+rc-update add mythbackend default
+
+Your recordings folder must be owned 'mythtv'. e.g.
+chown -R mythtv /var/lib/mythtv
+
+Want mythfrontend to start automatically?
+Set USE=autostart. Details can be found at:
+https://dev.gentoo.org/~cardoe/mythtv/autostart.html
+
+Note that the systemd unit now restarts by default and logs
+to journald via the console at the notice verbosity.
+"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ # The acct-user/mythtv package creates/manages the user 'mythtv'
+}
+
+src_prepare() {
+ default
+
+ # Perl bits need to go into vender_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!"
+
+ # Fix up the version info since we are using the fixes/${PV} branch
+ echo "SOURCE_VERSION=\"v${MY_PV}\"" > "${S}"/VERSION
+ echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/VERSION
+ echo "SOURCE_VERSION=\"${BACKPORTS}\"" > "${S}"/EXPORTED_VERSION
+ echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/EXPORTED_VERSION
+
+ echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
+}
+
+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.
+ 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 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 ivtv)
+ $(use_enable hdpvr)
+ $(use_enable dvb)
+ $(use_enable asi)
+ )
+
+ # Video Output Support
+ myconf+=(
+ $(use_enable X x11)
+ $(use_enable X xnvctrl)
+ $(use_enable X xrandr)
+ $(use_enable X xv)
+ )
+
+ # Hardware accellerators
+ myconf+=(
+ $(use_enable vdpau)
+ $(use_enable crystalhd)
+ $(use_enable vaapi)
+ $(use_enable vaapi vaapi2)
+ $(use_enable opengl opengl-video)
+ $(use_enable opengl opengl-themepainter)
+ $(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
+
+ myconf+=($(use_enable bluray libbluray_external))
+
+ einfo "Running ./configure ${myconf[@]} - THIS MAY TAKE A WHILE."
+ ./configure \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --extra-cflags="${CFLAGS}" \
+ --extra-cxxflags="${CXXFLAGS}" \
+ --extra-ldflags="${LDFLAGS}" \
+ --qmake=$(qt5_get_bindir)/qmake \
+ "${myconf[@]}"
+}
+
+src_install() {
+ emake STRIP="true" INSTALL_ROOT="${D}" install
+ dodoc AUTHORS UPGRADING README
+ readme.gentoo_create_doc
+
+ insinto /usr/share/mythtv/database
+ doins database/*
+
+ newinitd "${FILESDIR}"/mythbackend.init-r2 mythbackend
+ newconfd "${FILESDIR}"/mythbackend.conf-r1 mythbackend
+ if use systemd; then
+ systemd_newunit "${FILESDIR}"/mythbackend.service-28 mythbackend.service
+ fi
+
+ dodoc keys.txt
+
+ 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)
+ use perl || find contrib/ -name '*.pl' -exec rm -f {} \;
+ # Ensure we don't install scripts needing the python bindings (bug #516968)
+ use python || find contrib/ -name '*.py' -exec rm -f {} \;
+ 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
+ local mythtv_homedir="$( egethome mythtv )"
+
+ echo CONFIG_PROTECT="\"${mythtv_homedir}\"" > "${T}"/95mythtv
+ doenvd "${T}"/95mythtv
+
+ insinto "${mythtv_homedir}"
+ newins "${FILESDIR}"/bash_profile .bash_profile
+ newins "${FILESDIR}"/xinitrc-r1 .xinitrc
+ fi
+
+ # Make Python files executable
+ find "${ED}/usr/share/mythtv" -type f -name '*.py' | while read file; do
+ if [[ ! "${file##*/}" = "__init__.py" ]]; then
+ chmod a+x "${file}" || die "Failed to make python file $(basename ${file}) executable"
+ fi
+ done
+
+ # Ensure that Python scripts are executed by Python 2
+ python_fix_shebang "${ED}/usr/share/mythtv"
+
+ # Make shell & perl scripts executable
+ find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | \
+ while read file; do
+ chmod a+x "${file}" || die
+ done
+}
+
+pkg_preinst() {
+ export CONFIG_PROTECT="${CONFIG_PROTECT} ${EROOT}$( egethome mythtv )"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
+
+pkg_info() {
+ return
+}
+
+pkg_config() {
+ "${EROOT}"/usr/bin/mysql -u root -p < "${EROOT}"/usr/share/mythtv/database/mc.sql
+}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2020-11-15 15:31 Joonas Niilola
0 siblings, 0 replies; 13+ messages in thread
From: Joonas Niilola @ 2020-11-15 15:31 UTC (permalink / raw
To: gentoo-commits
commit: e7d274b91f7aa7de97951f9f80ee4e1d021b0e55
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 15 14:25:08 2020 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sun Nov 15 15:31:20 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7d274b9
media-tv/mythtv: fix SizeViolation issue
Closes: https://bugs.gentoo.org/748195
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
media-tv/mythtv/Manifest | 1 +
...tv-30.0_p20190808-cast_constants_to_short.patch | 365 ---------------------
media-tv/mythtv/mythtv-30.0_p20190808-r3.ebuild | 5 +-
3 files changed, 4 insertions(+), 367 deletions(-)
diff --git a/media-tv/mythtv/Manifest b/media-tv/mythtv/Manifest
index 2cd0c5dfd6b..261a47d69a2 100644
--- a/media-tv/mythtv/Manifest
+++ b/media-tv/mythtv/Manifest
@@ -1,2 +1,3 @@
+DIST mythtv-30.0_p20190808-cast_constants_to_short.patch 24201 BLAKE2B d76e519666914f6c9a510fb0aec493e361e857f51e56bd7d120657f350b0bf5da329a89eb58c9789f8f030c6d08bfe0171750690b76d8c2add807942aa686d59 SHA512 c2724ad248222ac4190412cf68e54ee0b265fdde128996e68a2e178e6debe0180c23f9c7d1878466f9a5689fab8172370c6b31c90aa9a096fb5919ec6e8960fe
DIST mythtv-30.0_p20190808.tar.gz 101208060 BLAKE2B af8966dd6353fc514c9a95083f28e8b7b19f16e1bd5a4f7590a946c306bf16a09f0028c76da975e423136834f8f06d7f2a570b43957ef4ae5e42ee241b579f0a SHA512 c02371c0b2162556e40a560a0fd9cb121f46f2ccedbc2ca74cd03aa9caf2b7ea4bbaa09ae6320eb782f932190f449e7fdd274a6d6ba9676e5fd9b7f5432632a2
DIST mythtv-31.0.tar.gz 102552136 BLAKE2B b09b41230eb2cae19d770c3cc59151863e0a56e95a86627473d52613e62f0acf3bd0c4bb37afb340ab874c222899f9d3c219ded470785d27960db9b39d784ceb SHA512 d53817231409934ef37d12739c38cf6936f04f816b0ba1c9738ce99b5b4ff387c70b683ccd84f649ff2f74992b2158829f5f1d1ffe06c8768da1922b90439f6e
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch
deleted file mode 100644
index 572f4e2b757..00000000000
--- a/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch
+++ /dev/null
@@ -1,365 +0,0 @@
---- a/libs/libmyth/test/test_audioutils/test_audioutils.h
-+++ b/libs/libmyth/test/test_audioutils/test_audioutils.h
-@@ -204,42 +204,48 @@ class TestAudioUtils: public QObject
- arrays1[i] = j;
- }
-
-- uint32_t pattern = 0xbcbcbcbc;
-- arrays2[offsetshort-4] = *(short*)&pattern;
-- arrays2[offsetshort-3] = *(short*)&pattern;
-- arrays2[offsetshort-2] = *(short*)&pattern;
-- arrays2[offsetshort-1] = *(short*)&pattern;
-- arrayf[offsetfloat-4] = *(float*)&pattern;
-- arrayf[offsetfloat-3] = *(float*)&pattern;
-- arrayf[offsetfloat-2] = *(float*)&pattern;
-- arrayf[offsetfloat-1] = *(float*)&pattern;
-- arrays2[SAMPLES+offsetshort+0] = *(short*)&pattern;
-- arrays2[SAMPLES+offsetshort+1] = *(short*)&pattern;
-- arrays2[SAMPLES+offsetshort+2] = *(short*)&pattern;
-- arrays2[SAMPLES+offsetshort+3] = *(short*)&pattern;
-- arrayf[SAMPLES+offsetfloat+0] = *(float*)&pattern;
-- arrayf[SAMPLES+offsetfloat+1] = *(float*)&pattern;
-- arrayf[SAMPLES+offsetfloat+2] = *(float*)&pattern;
-- arrayf[SAMPLES+offsetfloat+3] = *(float*)&pattern;
-+ const union
-+ {
-+ uint32_t pattern;
-+ short shortpattern;
-+ float floatpattern;
-+ } pattern = { .pattern = 0xbcbcbcbc };
-+
-+ arrays2[offsetshort-4] = *&pattern.shortpattern;
-+ arrays2[offsetshort-3] = *&pattern.shortpattern;
-+ arrays2[offsetshort-2] = *&pattern.shortpattern;
-+ arrays2[offsetshort-1] = *&pattern.shortpattern;
-+ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
-+ arrays2[SAMPLES+offsetshort+0] = *&pattern.shortpattern;
-+ arrays2[SAMPLES+offsetshort+1] = *&pattern.shortpattern;
-+ arrays2[SAMPLES+offsetshort+2] = *&pattern.shortpattern;
-+ arrays2[SAMPLES+offsetshort+3] = *&pattern.shortpattern;
-+ arrayf[SAMPLES+offsetfloat+0] = *(float*)&pattern.floatpattern;
-+ arrayf[SAMPLES+offsetfloat+1] = *(float*)&pattern.floatpattern;
-+ arrayf[SAMPLES+offsetfloat+2] = *(float*)&pattern.floatpattern;
-+ arrayf[SAMPLES+offsetfloat+3] = *(float*)&pattern.floatpattern;
-
- // sanity tests
- QCOMPARE(SAMPLES*2, SAMPLES * ISIZEOF(arrays1[0]));
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-4],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-3],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-2],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-1],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*(short*)&pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-4],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-3],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-2],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-1],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*&pattern.shortpattern);
- QCOMPARE(arrayf+4,&arrayf[4]);
- QCOMPARE(arrays2+4,&arrays2[4]);
-
-@@ -248,22 +254,22 @@ class TestAudioUtils: public QObject
- int val2 = AudioOutputUtil::fromFloat(FORMAT_S16, arrays2+offsetshort, arrayf+offsetfloat, SAMPLES * ISIZEOF(float));
- QCOMPARE(val2, SAMPLES * ISIZEOF(short));
-
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-4],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-3],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-2],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[offsetshort-1],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*(short*)&pattern);
-- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*(short*)&pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-4],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-3],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-2],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[offsetshort-1],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*&pattern.shortpattern);
-+ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*&pattern.shortpattern);
-
- av_free(arrays1);
- av_free(arrays2);
-@@ -505,42 +511,48 @@ class TestAudioUtils: public QObject
- arrays1[i] = j;
- }
-
-- uint32_t pattern = 0xbcbcbcbc;
-- arrays2[offsetuchar-4] = *(uchar*)&pattern;
-- arrays2[offsetuchar-3] = *(uchar*)&pattern;
-- arrays2[offsetuchar-2] = *(uchar*)&pattern;
-- arrays2[offsetuchar-1] = *(uchar*)&pattern;
-- arrayf[offsetfloat-4] = *(float*)&pattern;
-- arrayf[offsetfloat-3] = *(float*)&pattern;
-- arrayf[offsetfloat-2] = *(float*)&pattern;
-- arrayf[offsetfloat-1] = *(float*)&pattern;
-- arrays2[SIZEARRAY+offsetuchar+0] = *(uchar*)&pattern;
-- arrays2[SIZEARRAY+offsetuchar+1] = *(uchar*)&pattern;
-- arrays2[SIZEARRAY+offsetuchar+2] = *(uchar*)&pattern;
-- arrays2[SIZEARRAY+offsetuchar+3] = *(uchar*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern;
-+ const union
-+ {
-+ uint32_t pattern;
-+ uchar ucharpattern;
-+ float floatpattern;
-+ } pattern = { .pattern = 0xbcbcbcbc };
-+
-+ arrays2[offsetuchar-4] = *(uchar*)&pattern.ucharpattern;
-+ arrays2[offsetuchar-3] = *(uchar*)&pattern.ucharpattern;
-+ arrays2[offsetuchar-2] = *(uchar*)&pattern.ucharpattern;
-+ arrays2[offsetuchar-1] = *(uchar*)&pattern.ucharpattern;
-+ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
-+ arrays2[SIZEARRAY+offsetuchar+0] = *(uchar*)&pattern.ucharpattern;
-+ arrays2[SIZEARRAY+offsetuchar+1] = *(uchar*)&pattern.ucharpattern;
-+ arrays2[SIZEARRAY+offsetuchar+2] = *(uchar*)&pattern.ucharpattern;
-+ arrays2[SIZEARRAY+offsetuchar+3] = *(uchar*)&pattern.ucharpattern;
-+ arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern.floatpattern;
-+ arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern.floatpattern;
-+ arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern.floatpattern;
-+ arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern.floatpattern;
-
- // sanity tests
- QCOMPARE(SIZEARRAY*1, SIZEARRAY * ISIZEOF(arrays1[0]));
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern.ucharpattern);
- QCOMPARE(arrayf+4,&arrayf[4]);
- QCOMPARE(arrays2+4,&arrays2[4]);
-
-@@ -549,22 +561,22 @@ class TestAudioUtils: public QObject
- int val2 = AudioOutputUtil::fromFloat(FORMAT_U8, arrays2+offsetuchar, arrayf+offsetfloat, SIZEARRAY * ISIZEOF(float));
- QCOMPARE(val2, SIZEARRAY * ISIZEOF(uchar));
-
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern);
-- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern.ucharpattern);
-+ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern.ucharpattern);
-
- av_free(arrays1);
- av_free(arrays2);
-@@ -686,42 +698,48 @@ class TestAudioUtils: public QObject
- arrays1[i] = j;
- }
-
-- uint32_t pattern = 0xbcbcbcbc;
-- arrays2[offsetint32_t-4] = *(int32_t*)&pattern;
-- arrays2[offsetint32_t-3] = *(int32_t*)&pattern;
-- arrays2[offsetint32_t-2] = *(int32_t*)&pattern;
-- arrays2[offsetint32_t-1] = *(int32_t*)&pattern;
-- arrayf[offsetfloat-4] = *(float*)&pattern;
-- arrayf[offsetfloat-3] = *(float*)&pattern;
-- arrayf[offsetfloat-2] = *(float*)&pattern;
-- arrayf[offsetfloat-1] = *(float*)&pattern;
-- arrays2[SIZEARRAY+offsetint32_t+0] = *(int32_t*)&pattern;
-- arrays2[SIZEARRAY+offsetint32_t+1] = *(int32_t*)&pattern;
-- arrays2[SIZEARRAY+offsetint32_t+2] = *(int32_t*)&pattern;
-- arrays2[SIZEARRAY+offsetint32_t+3] = *(int32_t*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern;
-- arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern;
-+ const union
-+ {
-+ uint32_t pattern;
-+ int32_t int32pattern;
-+ float floatpattern;
-+ } pattern = { .pattern = 0xbcbcbcbc };
-+
-+ arrays2[offsetint32_t-4] = *(int32_t*)&pattern.int32pattern;
-+ arrays2[offsetint32_t-3] = *(int32_t*)&pattern.int32pattern;
-+ arrays2[offsetint32_t-2] = *(int32_t*)&pattern.int32pattern;
-+ arrays2[offsetint32_t-1] = *(int32_t*)&pattern.int32pattern;
-+ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
-+ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
-+ arrays2[SIZEARRAY+offsetint32_t+0] = *(int32_t*)&pattern.int32pattern;
-+ arrays2[SIZEARRAY+offsetint32_t+1] = *(int32_t*)&pattern.int32pattern;
-+ arrays2[SIZEARRAY+offsetint32_t+2] = *(int32_t*)&pattern.int32pattern;
-+ arrays2[SIZEARRAY+offsetint32_t+3] = *(int32_t*)&pattern.int32pattern;
-+ arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern.floatpattern;
-+ arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern.floatpattern;
-+ arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern.floatpattern;
-+ arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern.floatpattern;
-
- // sanity tests
- QCOMPARE(SIZEARRAY*4, SIZEARRAY * ISIZEOF(arrays1[0]));
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern.int32pattern);
- QCOMPARE(arrayf+4,&arrayf[4]);
- QCOMPARE(arrays2+4,&arrays2[4]);
-
-@@ -730,22 +748,22 @@ class TestAudioUtils: public QObject
- int val2 = AudioOutputUtil::fromFloat(FORMAT_S32, arrays2+offsetint32_t, arrayf+offsetfloat, SIZEARRAY * ISIZEOF(float));
- QCOMPARE(val2, SIZEARRAY * ISIZEOF(int32_t));
-
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
-- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern);
-- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern.int32pattern);
-+ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern.int32pattern);
-
- av_free(arrays1);
- av_free(arrays2);
diff --git a/media-tv/mythtv/mythtv-30.0_p20190808-r3.ebuild b/media-tv/mythtv/mythtv-30.0_p20190808-r3.ebuild
index 820145e6537..4809398bba7 100644
--- a/media-tv/mythtv/mythtv-30.0_p20190808-r3.ebuild
+++ b/media-tv/mythtv/mythtv-30.0_p20190808-r3.ebuild
@@ -16,7 +16,8 @@ MYTHTV_BRANCH="fixes/${P%.*}"
DESCRIPTION="Open Source DVR and media center hub"
HOMEPAGE="https://www.mythtv.org"
-SRC_URI="https://github.com/MythTV/mythtv/archive/${BACKPORTS}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/MythTV/mythtv/archive/${BACKPORTS}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~juippis/distfiles/tmp/mythtv-30.0_p20190808-cast_constants_to_short.patch"
LICENSE="GPL-2+"
KEYWORDS="~amd64 ~x86"
@@ -143,7 +144,7 @@ BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${P}-respect_LDFLAGS.patch"
- "${FILESDIR}/${P}-cast_constants_to_short.patch"
+ "${DISTDIR}/${P}-cast_constants_to_short.patch"
"${FILESDIR}/${P}-Fix_Dereferencing_type-punned_pointer.patch"
"${FILESDIR}/${P}-Fix_unitialized_variables.patch"
"${FILESDIR}/${PN}-29.1-Fix_create_webbrowser_window.patch"
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2023-04-29 7:08 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2023-04-29 7:08 UTC (permalink / raw
To: gentoo-commits
commit: 8e6ea2a32454b265ef68be83bbc28b5319061421
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 29 07:03:00 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Apr 29 07:08:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e6ea2a3
media-tv/mythtv: fix build w/ gcc 13
Closes: https://bugs.gentoo.org/899770
Signed-off-by: Sam James <sam <AT> gentoo.org>
media-tv/mythtv/files/mythtv-32.0-gcc13.patch | 40 +++++++++++++++++++++++++++
media-tv/mythtv/mythtv-32.0-r4.ebuild | 1 +
2 files changed, 41 insertions(+)
diff --git a/media-tv/mythtv/files/mythtv-32.0-gcc13.patch b/media-tv/mythtv/files/mythtv-32.0-gcc13.patch
new file mode 100644
index 000000000000..5d60da0c72b1
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-32.0-gcc13.patch
@@ -0,0 +1,40 @@
+https://bugs.gentoo.org/899770
+https://github.com/MythTV/mythtv/commit/3b76df2bb45789f075b6b83d6e6b436aebaf2e83
+
+From 3b76df2bb45789f075b6b83d6e6b436aebaf2e83 Mon Sep 17 00:00:00 2001
+From: David Hampton <mythtv@love2code.net>
+Date: Thu, 19 Jan 2023 14:52:28 -0500
+Subject: [PATCH] Assume existence of stdint.h in exiv2.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Based on this commit to exiv2.
+
+ Author: Luis Díaz Más <piponazo@gmail.com>
+ Date: Wed Sep 16 21:40:05 2020 +0200
+
+ Assume existence of stdint.h
+--- a/external/libexiv2/xmpsdk/include/MD5.h
++++ b/external/libexiv2/xmpsdk/include/MD5.h
+@@ -25,18 +25,7 @@
+
+ #include <sys/types.h>
+
+-#ifdef _MSC_VER
+-// _MSC_VER 1600 == Visual Studio 2010
+-# if _MSC_VER < 1600
+-# ifdef EXV_HAVE_STDINT_H
+-# undef EXV_HAVE_STDINT_H
+-# endif
+-# endif
+-#endif
+-
+-#if defined(EXV_HAVE_STDINT_H) || defined(__MINGW32__) || defined(__MING64__) || defined(__APPLE__)
+-# include <stdint.h>
+-#endif
++#include <cstdint>
+
+ /* MSVC doesn't provide C99 types, but it has MS specific variants */
+ #ifdef _MSC_VER
+
diff --git a/media-tv/mythtv/mythtv-32.0-r4.ebuild b/media-tv/mythtv/mythtv-32.0-r4.ebuild
index ce9af87d74fa..80e017be9774 100644
--- a/media-tv/mythtv/mythtv-32.0-r4.ebuild
+++ b/media-tv/mythtv/mythtv-32.0-r4.ebuild
@@ -152,6 +152,7 @@ python_check_deps() {
PATCHES=(
"${FILESDIR}"/${PN}-32.0-python-version.patch
+ "${FILESDIR}"/${PN}-32.0-gcc13.patch
)
DISABLE_AUTOFORMATTING="yes"
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2023-08-28 19:32 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2023-08-28 19:32 UTC (permalink / raw
To: gentoo-commits
commit: 819e74a51b0bebd35d0fa4ba3009abfe0e05e362
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 28 19:31:56 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 28 19:32:21 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=819e74a5
media-tv/mythtv: fix build w/ binutils-2.41
Closes: https://bugs.gentoo.org/912708
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/mythtv-33.1-ffmpeg-binutils-2.41.patch | 75 ++++++++++++++++++++++
media-tv/mythtv/mythtv-33.1.ebuild | 1 +
2 files changed, 76 insertions(+)
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
new file mode 100644
index 000000000000..e976d8344a2d
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-33.1-ffmpeg-binutils-2.41.patch
@@ -0,0 +1,75 @@
+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?= <remi@remlab.net>
+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 <jamrial@gmail.com>
+(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/mythtv-33.1.ebuild b/media-tv/mythtv/mythtv-33.1.ebuild
index 1f945c653588..9275d56d64ed 100644
--- a/media-tv/mythtv/mythtv-33.1.ebuild
+++ b/media-tv/mythtv/mythtv-33.1.ebuild
@@ -146,6 +146,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-33.1-libva.patch
+ "${FILESDIR}"/${PN}-33.1-ffmpeg-binutils-2.41.patch
)
python_check_deps() {
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2023-09-27 2:40 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2023-09-27 2:40 UTC (permalink / raw
To: gentoo-commits
commit: 50a6bc2362bac481d07400cf53037fd42f9969dc
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 27 02:37:40 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 02:37:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50a6bc23
media-tv/mythtv: fix build w/ linux-headers-6.5
And add the missing dep on linux-headers (which is how I didn't notice
the failure to begin with).
Closes: https://bugs.gentoo.org/913866
Signed-off-by: Sam James <sam <AT> gentoo.org>
| 30 ++++++++++++++++++++++
media-tv/mythtv/mythtv-33.1.ebuild | 2 ++
2 files changed, 32 insertions(+)
--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
new file mode 100644
index 000000000000..0ead0d51d665
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-33.1-linux-headers-6.5.patch
@@ -0,0 +1,30 @@
+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 <mythtv@love2code.net>
+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/mythtv-33.1.ebuild b/media-tv/mythtv/mythtv-33.1.ebuild
index 9275d56d64ed..f8014ccf777f 100644
--- a/media-tv/mythtv/mythtv-33.1.ebuild
+++ b/media-tv/mythtv/mythtv-33.1.ebuild
@@ -117,6 +117,7 @@ RDEPEND="
DEPEND="
${RDEPEND}
dev-lang/yasm
+ sys-kernel/linux-headers
x11-base/xorg-proto
perl? (
dev-perl/DBD-mysql
@@ -147,6 +148,7 @@ BDEPEND="
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() {
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2024-01-09 7:22 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-01-09 7:22 UTC (permalink / raw
To: gentoo-commits
commit: f785d71faf63548afe5e2f6fb4ee03da1c686597
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Mon Jan 8 21:08:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 9 07:22:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f785d71f
media-tv/mythtv: drop dependencies on future/simplejson
In particular, "future" is terribly unfortunate python2 stuff that
blocks bumping PYTHON_COMPAT to python3_12.
Fixed upstream in https://github.com/MythTV/mythtv/pull/838 and
backported here.
Closes: https://bugs.gentoo.org/888291
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
media-tv/mythtv/files/mythtv-33.1-python3.12.patch | 279 +++++++++++++++
media-tv/mythtv/mythtv-33.1-r1.ebuild | 380 +++++++++++++++++++++
2 files changed, 659 insertions(+)
diff --git a/media-tv/mythtv/files/mythtv-33.1-python3.12.patch b/media-tv/mythtv/files/mythtv-33.1-python3.12.patch
new file mode 100644
index 000000000000..48a97b09623d
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-33.1-python3.12.patch
@@ -0,0 +1,279 @@
+From f1848eb41bf35d57b63b3a8cb19763c5b4656717 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+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)
+---
+ .github/workflows/buildmaster.yml | 2 +-
+ mythtv/configure | 1 -
+ mythtv/programs/scripts/hardwareprofile/smolt.py | 5 ++---
+ 3 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/.github/workflows/buildmaster.yml b/.github/workflows/buildmaster.yml
+index eea6e9fc2a..325cc7da64 100644
+--- a/.github/workflows/buildmaster.yml
++++ b/.github/workflows/buildmaster.yml
+@@ -48,7 +48,7 @@ jobs:
+ sudo apt install ccache qt5-qmake qtscript5-dev nasm libsystemd-dev libfreetype6-dev libmp3lame-dev libx264-dev libx265-dev libxrandr-dev libxml2-dev
+ sudo apt install libavahi-compat-libdnssd-dev libasound2-dev liblzo2-dev libhdhomerun-dev libsamplerate0-dev libva-dev libdrm-dev libvdpau-dev
+ sudo apt install libass-dev libpulse-dev libcec-dev libssl-dev libtag1-dev libbluray-dev libbluray-bdj libgnutls28-dev libqt5webkit5-dev
+- sudo apt install libvpx-dev python3-mysqldb python3-lxml python3-simplejson python3-future python3-setuptools libdbi-perl libdbd-mysql-perl libnet-upnp-perl
++ sudo apt install libvpx-dev python3-mysqldb python3-lxml python3-future python3-setuptools libdbi-perl libdbd-mysql-perl libnet-upnp-perl
+ sudo apt install libio-socket-inet6-perl libxml-simple-perl libqt5sql5-mysql libwayland-dev qtbase5-private-dev libzip-dev libsoundtouch-dev
+ if: runner.os == 'Linux'
+
+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 13f65c0015d3e0d82d01a1dd5c15afe0ff1e8029 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+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/mythtv-33.1-r1.ebuild b/media-tv/mythtv/mythtv-33.1-r1.ebuild
new file mode 100644
index 000000000000..344b691045d3
--- /dev/null
+++ b/media-tv/mythtv/mythtv-33.1-r1.ebuild
@@ -0,0 +1,380 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISABLE_AUTOFORMATTING="yes"
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit edo flag-o-matic java-pkg-opt-2 java-ant-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
+ 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
+ # https://github.com/MythTV/mythtv/pull/824
+ # https://github.com/MythTV/mythtv/pull/838
+ # https://bugs.gentoo.org/888291
+ "${FILESDIR}"/${PN}-33.1-python3.12.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
+
+ # 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
+}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/
@ 2024-01-11 12:03 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-01-11 12:03 UTC (permalink / raw
To: gentoo-commits
commit: ecc8eaf12dc554f02cdf1a7a4e1a7435f88f311d
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Wed Jan 10 22:54:26 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 12:02:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ecc8eaf1
media-tv/mythtv: fix broken patch
Recreate patch to work when applied with -p2, since ${S} is not the
tarball root.
Fixes: f785d71faf63548afe5e2f6fb4ee03da1c686597
Closes: https://bugs.gentoo.org/921694
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
media-tv/mythtv/files/mythtv-33.1-python3.12.patch | 20 +++-----------------
media-tv/mythtv/mythtv-33.1-r1.ebuild | 9 +++++----
2 files changed, 8 insertions(+), 21 deletions(-)
diff --git a/media-tv/mythtv/files/mythtv-33.1-python3.12.patch b/media-tv/mythtv/files/mythtv-33.1-python3.12.patch
index 48a97b09623d..91f72ab13ac3 100644
--- a/media-tv/mythtv/files/mythtv-33.1-python3.12.patch
+++ b/media-tv/mythtv/files/mythtv-33.1-python3.12.patch
@@ -1,4 +1,4 @@
-From f1848eb41bf35d57b63b3a8cb19763c5b4656717 Mon Sep 17 00:00:00 2001
+From ea59f869dcbd73b1d0dca973314604f689b50c34 Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz93@gmail.com>
Date: Thu, 4 Jan 2024 16:18:00 -0500
Subject: [PATCH 1/2] hardwareprofile: remove external dependency on simplejson
@@ -41,24 +41,10 @@ Fixes: 1df343e9ab7defa284a73390210a65cf2112f17e
Reimplements: bb154a843b737cc3ad8c1a45fa04a1a3609aff05
(cherry picked from commit 6348dc01a45af6ed63c09326ec94cd425db1d6d7)
---
- .github/workflows/buildmaster.yml | 2 +-
mythtv/configure | 1 -
mythtv/programs/scripts/hardwareprofile/smolt.py | 5 ++---
- 3 files changed, 3 insertions(+), 5 deletions(-)
+ 2 files changed, 2 insertions(+), 4 deletions(-)
-diff --git a/.github/workflows/buildmaster.yml b/.github/workflows/buildmaster.yml
-index eea6e9fc2a..325cc7da64 100644
---- a/.github/workflows/buildmaster.yml
-+++ b/.github/workflows/buildmaster.yml
-@@ -48,7 +48,7 @@ jobs:
- sudo apt install ccache qt5-qmake qtscript5-dev nasm libsystemd-dev libfreetype6-dev libmp3lame-dev libx264-dev libx265-dev libxrandr-dev libxml2-dev
- sudo apt install libavahi-compat-libdnssd-dev libasound2-dev liblzo2-dev libhdhomerun-dev libsamplerate0-dev libva-dev libdrm-dev libvdpau-dev
- sudo apt install libass-dev libpulse-dev libcec-dev libssl-dev libtag1-dev libbluray-dev libbluray-bdj libgnutls28-dev libqt5webkit5-dev
-- sudo apt install libvpx-dev python3-mysqldb python3-lxml python3-simplejson python3-future python3-setuptools libdbi-perl libdbd-mysql-perl libnet-upnp-perl
-+ sudo apt install libvpx-dev python3-mysqldb python3-lxml python3-future python3-setuptools libdbi-perl libdbd-mysql-perl libnet-upnp-perl
- sudo apt install libio-socket-inet6-perl libxml-simple-perl libqt5sql5-mysql libwayland-dev qtbase5-private-dev libzip-dev libsoundtouch-dev
- if: runner.os == 'Linux'
-
diff --git a/mythtv/configure b/mythtv/configure
index 7e966ef817..3429c208e2 100755
--- a/mythtv/configure
@@ -98,7 +84,7 @@ index 1bcc8060d0..464f068d6f 100644
2.41.0
-From 13f65c0015d3e0d82d01a1dd5c15afe0ff1e8029 Mon Sep 17 00:00:00 2001
+From 7c1dbe7a86dc9b445a1a491f5a849b0eba21aead Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz93@gmail.com>
Date: Wed, 13 Dec 2023 23:11:11 -0500
Subject: [PATCH 2/2] hardwareprofile: remove ancient "future" compatibility
diff --git a/media-tv/mythtv/mythtv-33.1-r1.ebuild b/media-tv/mythtv/mythtv-33.1-r1.ebuild
index 344b691045d3..d0d9cd8758c6 100644
--- a/media-tv/mythtv/mythtv-33.1-r1.ebuild
+++ b/media-tv/mythtv/mythtv-33.1-r1.ebuild
@@ -147,10 +147,6 @@ 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
- # https://github.com/MythTV/mythtv/pull/824
- # https://github.com/MythTV/mythtv/pull/838
- # https://bugs.gentoo.org/888291
- "${FILESDIR}"/${PN}-33.1-python3.12.patch
)
python_check_deps() {
@@ -167,6 +163,11 @@ pkg_setup() {
src_prepare() {
default
+ # 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:" \
^ permalink raw reply related [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-01-11 12:04 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-12 23:19 [gentoo-commits] repo/gentoo:master commit in: media-tv/mythtv/files/, media-tv/mythtv/ Michael Palimaka
-- strict thread matches above, loose matches on Subject: below --
2024-01-11 12:03 Sam James
2024-01-09 7:22 Sam James
2023-09-27 2:40 Sam James
2023-08-28 19:32 Sam James
2023-04-29 7:08 Sam James
2020-11-15 15:31 Joonas Niilola
2019-09-20 16:18 Joonas Niilola
2019-08-14 11:15 Andreas Sturmlechner
2017-10-20 21:39 Andreas Hüttel
2016-04-16 12:11 Richard Freeman
2015-09-14 14:20 Doug Goldstein
2015-09-06 3:25 Doug Goldstein
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox