[145427] trunk/dports/multimedia

ctreleaven at macports.org ctreleaven at macports.org
Thu Feb 4 13:21:53 PST 2016


Revision: 145427
          https://trac.macports.org/changeset/145427
Author:   ctreleaven at macports.org
Date:     2016-02-04 13:21:53 -0800 (Thu, 04 Feb 2016)
Log Message:
-----------
move mythtv-core.27 to mythtv.27; add mythtv-plugins.27 subport; update to 2016Jan22

Modified Paths:
--------------
    trunk/dports/multimedia/mythtv.27/Portfile

Added Paths:
-----------
    trunk/dports/multimedia/mythtv.27/

Removed Paths:
-------------
    trunk/dports/multimedia/mythtv-core.27/

Modified: trunk/dports/multimedia/mythtv.27/Portfile
===================================================================
--- trunk/dports/multimedia/mythtv-core.27/Portfile	2016-02-04 21:19:00 UTC (rev 145426)
+++ trunk/dports/multimedia/mythtv.27/Portfile	2016-02-04 21:21:53 UTC (rev 145427)
@@ -10,12 +10,11 @@
 # set fullhash      5e18f50da3debb93bfa8850fc86d884d8ed96628
 set majorversion    .27
 set minorversion    .5
+set lastcommit      20160122
 github.setup        MythTV mythtv ${shorthash}
 checksums           rmd160  8095a5d4dee289d1f1a889c369aee4ae9cb2e0f3 \
                     sha256  dea36afe5f32fb35e5882a6c103528b9db959a14b75b2dc0fcab19811d81b341
 
-name                mythtv-core${majorversion}
-version             0${majorversion}${minorversion}-Fixes-20151222
 categories          multimedia
 platforms           darwin
 # i386 unsupported -- https://trac.macports.org/ticket/40337
@@ -23,25 +22,12 @@
 license             GPL-2
 maintainers         ctreleaven openmaintainer
 
-description         personal video recorder (PVR) and media centre system
-long_description    The ultimate Digital Video Recorder and home media \
-                    center hub. Think of it as a Free and Open Source alternative \
-                    to Windows Media Center or Tivo.
-
 homepage            http://www.mythtv.org/
+universal_variant   no
 
-set nick            mythtv
-set mythtvhomedir   ${prefix}/var/mythtvuser
-set mythtvlogdir    ${prefix}/var/log/${nick}${majorversion}
-set mythtvrundir    ${prefix}/var/run/${nick}${majorversion}
-set mythtvpidfile   ${mythtvrundir}/${nick}
-set plistdir        ${prefix}/Library/LaunchDaemons
-set plistlabel      org.mythtv.mythbackend
-set plistfile       org.mythtv.mythbackend.plist
-set mythverstring   v0${majorversion}${minorversion}-${shorthash}-MacPorts
-set mythbranch      fixes/0${majorversion}
-set applescripts    {Myth_Frontend Myth_Filldatabase Myth_Setup Myth_Stop_Start}
-set mysqlver        mariadb
+livecheck.version       ${majorversion}${minorversion}
+livecheck.regex         "archive/v(0.27\[\\.\\d\]?)${extract.suffix}"
+
 set perlver         perl5.22
 set perlbin         ${prefix}/bin/${perlver}
 set perlmodver      p5.22
@@ -49,393 +35,518 @@
 set pythonbin       ${prefix}/bin/${pythonver}
 set pymodver        py27
 
-depends_lib         port:bzip2 \
-                    port:libass \
-                    port:libcdio \
-                    port:libdvdcss \
-                    port:libiconv \
-                    port:libxml2 \
-                    port:fftw-3-single \
-                    port:freetype \
-                    port:lame \
-                    port:faac \
-                    port:x264 \
-                    path:lib/libssl.dylib:openssl \
-                    port:qt4-mac \
-                    port:qt4-mac-${mysqlver}-plugin \
-                    port:taglib \
-                    port:zlib \
-                    port:${pymodver}-mysql \
-                    port:${pymodver}-lxml \
-                    port:${pymodver}-urlgrabber \
-                    port:${perlmodver}-dbd-mysql \
-                    port:${perlmodver}-http-request-ascgi \
-                    port:${perlmodver}-lwp-useragent-determined \
-                    port:${perlmodver}-io-socket-inet6 \
-                    port:${perlmodver}-datemanip \
-                    port:${perlmodver}-net-upnp
+subport mythtv-core.${majorversion} {
+	name                mythtv-core${majorversion}
+	version             0${majorversion}${minorversion}-Fixes-${lastcommit}
 
-depends_build       port:yasm  port:pkgconfig
+	description         personal video recorder (PVR) and media centre system
+	long_description    The ultimate Digital Video Recorder and home media \
+						center hub. Think of it as a Free and Open Source alternative \
+						to Windows Media Center or Tivo.
 
-conflicts           mythtv-core.25 mythtv-core.26
+	set nick            mythtv
+	set mythtvhomedir   ${prefix}/var/mythtvuser
+	set mythtvlogdir    ${prefix}/var/log/${nick}${majorversion}
+	set mythtvrundir    ${prefix}/var/run/${nick}${majorversion}
+	set mythtvpidfile   ${mythtvrundir}/${nick}
+	set plistdir        ${prefix}/Library/LaunchDaemons
+	set plistlabel      org.mythtv.mythbackend
+	set plistfile       org.mythtv.mythbackend.plist
+	set mythverstring   v0${majorversion}${minorversion}-${shorthash}-MacPorts
+	set mythbranch      fixes/0${majorversion}
+	set applescripts    {Myth_Frontend Myth_Filldatabase Myth_Setup Myth_Stop_Start}
+	set mysqlver        mariadb
 
-depends_run         port:logrotate
+	depends_lib         port:bzip2 \
+						port:libass \
+						port:libcdio \
+						port:libdvdcss \
+						port:libiconv \
+						port:libxml2 \
+						port:fftw-3-single \
+						port:freetype \
+						port:lame \
+						port:faac \
+						port:x264 \
+						path:lib/libssl.dylib:openssl \
+						port:qt4-mac \
+						port:qt4-mac-${mysqlver}-plugin \
+						port:taglib \
+						port:zlib \
+						port:${pymodver}-mysql \
+						port:${pymodver}-lxml \
+						port:${pymodver}-urlgrabber \
+						port:${perlmodver}-dbd-mysql \
+						port:${perlmodver}-http-request-ascgi \
+						port:${perlmodver}-lwp-useragent-determined \
+						port:${perlmodver}-io-socket-inet6 \
+						port:${perlmodver}-datemanip \
+						port:${perlmodver}-net-upnp
 
-pre-fetch {
-    if {${os.platform} eq "darwin" && ${os.major} < 9} {
-        ui_error "${name} ${version} requires Mac OS X 10.5 or greater."
-        return -code error "incompatible Mac OS X version"
-    }
-}
+	depends_build       port:yasm  port:pkgconfig
 
-# revert rpath linking stuff as it is non-functional in MacPorts
-patchfiles-append   patch-rpath_linking.diff
+	conflicts           mythtv-core.25 mythtv-core.26
 
-post-extract {
-    file mkdir ${worksrcpath}/macports
-    foreach {applescript} ${applescripts} {
-        copy ${filespath}/${applescript}.applescript ${worksrcpath}/macports/${applescript}.applescript
-    }
-    copy ${filespath}/${plistfile} ${worksrcpath}/macports/${plistfile}
-    copy ${filespath}/logrotate.conf ${worksrcpath}/macports/logrotate.conf
-    copy ${filespath}/logrotate.mythtv ${worksrcpath}/macports/logrotate.mythtv
-    copy ${filespath}/my.cnf ${worksrcpath}/macports/my.cnf
-    copy ${filespath}/mythconverg_init.sql ${worksrcpath}/macports/mythconverg_init.sql
-}
+	depends_run         port:logrotate
 
-post-patch {
-    set sedPath ${worksrcpath}/mythtv/
-    ui_info "Make Myth utils use MacPorts Perl"
-    reinplace -locale C "s|check_cmd perl -e|check_cmd ${perlbin} -e|" \
-        ${sedPath}configure
+	pre-fetch {
+		if {${os.platform} eq "darwin" && ${os.major} < 9} {
+			ui_error "${name} ${version} requires Mac OS X 10.5 or greater."
+			return -code error "incompatible Mac OS X version"
+		}
+	}
 
-    reinplace -locale C "s|#!/usr/bin/env perl|#!${perlbin}|" \
-        ${sedPath}programs/scripts/internetcontent/topdocumentaryfilm.pl  \
-        ${sedPath}programs/scripts/internetcontent/twit.tv.pl
+	# revert rpath linking stuff as it is non-functional in MacPorts
+	patchfiles-append   patch-rpath_linking.diff
 
-    reinplace -locale C "s|#!/usr/bin/perl|#!${perlbin}|" \
-        ${sedPath}bindings/perl/Makefile.PL  \
-        ${sedPath}bindings/perl/MythTV.pm  \
-        ${sedPath}contrib/maintenance/optimize_mythdb.pl  \
-        ${sedPath}contrib/user_jobs/mythlink.pl  \
-        ${sedPath}programs/scripts/database/mythconverg_backup.pl \
-        ${sedPath}programs/scripts/database/mythconverg_restore.pl
+	post-extract {
+		file mkdir ${worksrcpath}/macports
+		foreach {applescript} ${applescripts} {
+			copy ${filespath}/${applescript}.applescript ${worksrcpath}/macports/${applescript}.applescript
+		}
+		copy ${filespath}/${plistfile} ${worksrcpath}/macports/${plistfile}
+		copy ${filespath}/logrotate.conf ${worksrcpath}/macports/logrotate.conf
+		copy ${filespath}/logrotate.mythtv ${worksrcpath}/macports/logrotate.mythtv
+		copy ${filespath}/my.cnf ${worksrcpath}/macports/my.cnf
+		copy ${filespath}/mythconverg_init.sql ${worksrcpath}/macports/mythconverg_init.sql
+	}
 
-    reinplace -locale C "s|/usr/local/bin|${prefix}/lib/${mysqlver}/bin|"  \
-        ${sedPath}programs/scripts/database/mythconverg_backup.pl \
-        ${sedPath}programs/scripts/database/mythconverg_restore.pl
+	post-patch {
+		set sedPath ${worksrcpath}/mythtv/
+		ui_info "Make Myth utils use MacPorts Perl"
+		reinplace -locale C "s|check_cmd perl -e|check_cmd ${perlbin} -e|" \
+			${sedPath}configure
 
-    ui_info "Record Myth version strings"
-    reinplace -locale C "s#\${SOURCE_VERSION}#${mythverstring}#g" ${sedPath}version.sh
-    reinplace -locale C "s#\${BRANCH}#${mythbranch}#g" ${sedPath}version.sh
+		reinplace -locale C "s|#!/usr/bin/env perl|#!${perlbin}|" \
+			${sedPath}programs/scripts/internetcontent/topdocumentaryfilm.pl  \
+			${sedPath}programs/scripts/internetcontent/twit.tv.pl
 
-    ui_info "Make Myth scripts use MacPorts Python  <<<<"
-    # Hack to install Python bindings in ${prefix}/Library/Frameworks/Python.framework/Versions/2.7
-    reinplace -locale C "s|\$(ROOT_FLAGS) \$(PREFIX_FLAGS)|\$(ROOT_FLAGS) \--prefix=\"${frameworks_dir}/Python.framework/Versions/2.7\"|" \
-        ${sedPath}/bindings/python/Makefile
-    reinplace -locale C "s|/usr/local|${prefix}|" ${worksrcpath}/mythtv/bindings/python/MythTV/static.py
-    fs-traverse f ${sedPath}/bindings/python/ {
-        if [string equal [ file extension ${f} ] ".py" ] {
-            reinplace -locale C "s|^#! */usr/bin/env python\$|#!${pythonbin}|" ${f}
-        }
-    }
-    fs-traverse f ${sedPath}/programs/scripts/ {
-        if [string equal [ file extension ${f} ] ".py" ] {
-            reinplace -locale C "s|^#! */usr/bin/env python\$|#!${pythonbin}|" ${f}
-        }
-    }
-    foreach f [glob -directory ${sedPath}/programs/scripts/hardwareprofile *.py] {
-    # fix even though they're currently non-functional on OS X
-        reinplace -locale C "s|^#!/usr/bin/python\$|#!${pythonbin}|" ${f}
-    }
+		reinplace -locale C "s|#!/usr/bin/perl|#!${perlbin}|" \
+			${sedPath}bindings/perl/Makefile.PL  \
+			${sedPath}bindings/perl/MythTV.pm  \
+			${sedPath}contrib/maintenance/optimize_mythdb.pl  \
+			${sedPath}contrib/user_jobs/mythlink.pl  \
+			${sedPath}programs/scripts/database/mythconverg_backup.pl \
+			${sedPath}programs/scripts/database/mythconverg_restore.pl
 
-    foreach {applescript} ${applescripts} {
-        reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/${applescript}.applescript
-        reinplace -locale C "s|@APPLICATIONS_DIR@|${applications_dir}|" ${worksrcpath}/macports/${applescript}.applescript
-        reinplace -locale C "s|@MYTHTVLOGDIR@|${mythtvlogdir}|" ${worksrcpath}/macports/${applescript}.applescript
-        reinplace -locale C "s|@MYTHTVPIDFILE@|${mythtvpidfile}|" ${worksrcpath}/macports/${applescript}.applescript
-    }
-    reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/${plistfile}
-    reinplace -locale C "s|@PLISTLABEL@|${plistlabel}|g" ${worksrcpath}/macports/${plistfile}
-    reinplace -locale C "s|@PYTHONVER@|${pythonver}|" ${worksrcpath}/macports/${plistfile}
-    reinplace -locale C "s|@MYTHTVLOGDIR@|${mythtvlogdir}|" ${worksrcpath}/macports/${plistfile}
-    reinplace -locale C "s|@MYTHTVPIDFILE@|${mythtvpidfile}|" ${worksrcpath}/macports/${plistfile}
-    reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/logrotate.conf
-    reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/my.cnf
-    reinplace -locale C "s|@MYTHTVLOGDIR@|${mythtvlogdir}|g" ${worksrcpath}/macports/logrotate.mythtv
-    reinplace -locale C "s|xxxyyyzzz|${mythtvpidfile}|" ${worksrcpath}/mythtv/configure
-}
-# Block various compilers:
-#
-# (shamelessly stolen from Qt4-mac, thanks Michael!)
-# * Some older versions of CLANG do not honor the LIBRARY_PATH
-# environment variables, which is required for compiling
-# this port when using MacPorts.  The versions seem to be: MacPorts
-# CLANG 3.0 or earlier, and Apple CLANG 318.0.61 or older (XCode 4.3.3 and prior).
-#
-# See http://code.mythtv.org/trac/ticket/11070
-# Run-time failures experienced with certain versions of Clang.  Unable to discern cause.
-# Most recent version of clang seems OK, let's try again
+		reinplace -locale C "s|/usr/local/bin|${prefix}/lib/${mysqlver}/bin|"  \
+			${sedPath}programs/scripts/database/mythconverg_backup.pl \
+			${sedPath}programs/scripts/database/mythconverg_restore.pl
 
-compiler.fallback-append apple-gcc-4.2
-compiler.blacklist-append { clang <= 500.2.79 } \
-    macports-clang*
+		ui_info "Record Myth version strings"
+		reinplace -locale C "s#\${SOURCE_VERSION}#${mythverstring}#g" ${sedPath}version.sh
+		reinplace -locale C "s#\${BRANCH}#${mythbranch}#g" ${sedPath}version.sh
 
-# Clear all MacPorts flags...MythTV is smart enough to set up its own.
-# (ala qt4-mac/Portfile)
-configure.cflags
-configure.cppflags
-configure.cxxflags
-configure.objcflags
-configure.ldflags
+		ui_info "Make Myth scripts use MacPorts Python  <<<<"
+		# Hack to install Python bindings in ${prefix}/Library/Frameworks/Python.framework/Versions/2.7
+		reinplace -locale C "s|\$(ROOT_FLAGS) \$(PREFIX_FLAGS)|\$(ROOT_FLAGS) \--prefix=\"${frameworks_dir}/Python.framework/Versions/2.7\"|" \
+			${sedPath}/bindings/python/Makefile
+		reinplace -locale C "s|/usr/local|${prefix}|" ${worksrcpath}/mythtv/bindings/python/MythTV/static.py
+		fs-traverse f ${sedPath}/bindings/python/ {
+			if [string equal [ file extension ${f} ] ".py" ] {
+				reinplace -locale C "s|^#! */usr/bin/env python\$|#!${pythonbin}|" ${f}
+			}
+		}
+		fs-traverse f ${sedPath}/programs/scripts/ {
+			if [string equal [ file extension ${f} ] ".py" ] {
+				reinplace -locale C "s|^#! */usr/bin/env python\$|#!${pythonbin}|" ${f}
+			}
+		}
+		foreach f [glob -directory ${sedPath}/programs/scripts/hardwareprofile *.py] {
+		# fix even though they're currently non-functional on OS X
+			reinplace -locale C "s|^#!/usr/bin/python\$|#!${pythonbin}|" ${f}
+		}
 
-configure.universal_cflags
-configure.universal_cppflags
-configure.universal_cxxflags
-configure.universal_ldflags
+		foreach {applescript} ${applescripts} {
+			reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/${applescript}.applescript
+			reinplace -locale C "s|@APPLICATIONS_DIR@|${applications_dir}|" ${worksrcpath}/macports/${applescript}.applescript
+			reinplace -locale C "s|@MYTHTVLOGDIR@|${mythtvlogdir}|" ${worksrcpath}/macports/${applescript}.applescript
+			reinplace -locale C "s|@MYTHTVPIDFILE@|${mythtvpidfile}|" ${worksrcpath}/macports/${applescript}.applescript
+		}
+		reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/${plistfile}
+		reinplace -locale C "s|@PLISTLABEL@|${plistlabel}|g" ${worksrcpath}/macports/${plistfile}
+		reinplace -locale C "s|@PYTHONVER@|${pythonver}|" ${worksrcpath}/macports/${plistfile}
+		reinplace -locale C "s|@MYTHTVLOGDIR@|${mythtvlogdir}|" ${worksrcpath}/macports/${plistfile}
+		reinplace -locale C "s|@MYTHTVPIDFILE@|${mythtvpidfile}|" ${worksrcpath}/macports/${plistfile}
+		reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/logrotate.conf
+		reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/macports/my.cnf
+		reinplace -locale C "s|@MYTHTVLOGDIR@|${mythtvlogdir}|g" ${worksrcpath}/macports/logrotate.mythtv
+		reinplace -locale C "s|xxxyyyzzz|${mythtvpidfile}|" ${worksrcpath}/mythtv/configure
+	}
+	# Block various compilers:
+	#
+	# (shamelessly stolen from Qt4-mac, thanks Michael!)
+	# * Some older versions of CLANG do not honor the LIBRARY_PATH
+	# environment variables, which is required for compiling
+	# this port when using MacPorts.  The versions seem to be: MacPorts
+	# CLANG 3.0 or earlier, and Apple CLANG 318.0.61 or older (XCode 4.3.3 and prior).
+	#
+	# See http://code.mythtv.org/trac/ticket/11070
+	# Run-time failures experienced with certain versions of Clang.  Unable to discern cause.
+	# Most recent version of clang seems OK, let's try again
 
-configure.cc_archflags
-configure.cxx_archflags
-configure.ld_archflags
+	compiler.fallback-append apple-gcc-4.2
+	compiler.blacklist-append { clang <= 500.2.79 } \
+		macports-clang*
 
-# make pkg-config act like on Linux, no '-I/opt/local/include' in cflags
-configure.env-append    PKG_CONFIG_SYSTEM_INCLUDE_PATH=${prefix}/include
+	# Clear all MacPorts flags...MythTV is smart enough to set up its own.
+	# (ala qt4-mac/Portfile)
+	configure.cflags
+	configure.cppflags
+	configure.cxxflags
+	configure.objcflags
+	configure.ldflags
 
-configure.dir       ${worksrcpath}/mythtv
-configure.args      --compile-type=release \
-                    --qmake=${qt_qmake_cmd} \
-                    --cc=${configure.cc} \
-                    --cxx=${configure.cxx} \
-                    --python=${pythonbin} \
-                    --disable-mythlogserver \
-                    --disable-ceton \
-                    --disable-firewire \
-                    --disable-audio-jack --disable-indev=jack \
-                    --disable-audio-pulseoutput \
-                    --disable-libpulse \
-                    --disable-libvpx --disable-libxvid \
-                    --disable-qtdbus \
-                    --disable-sdl \
-                    --disable-xrandr \
-                    --disable-xv \
-                    --enable-libmp3lame \
-                    --enable-libass \
-                    --enable-fft \
-                    --enable-libx264 --enable-libfaac --enable-nonfree
+	configure.universal_cflags
+	configure.universal_cppflags
+	configure.universal_cxxflags
+	configure.universal_ldflags
 
-if {${configure.ccache} != "yes"} {
-    configure.args-append --disable-ccache
-}
+	configure.cc_archflags
+	configure.cxx_archflags
+	configure.ld_archflags
 
-if {${configure.distcc} != "yes"} {
-    configure.args-append --disable-distcc
-}
+	# make pkg-config act like on Linux, no '-I/opt/local/include' in cflags
+	configure.env-append    PKG_CONFIG_SYSTEM_INCLUDE_PATH=${prefix}/include
 
-build.dir           ${worksrcpath}/mythtv
-# make Myth's copy of ffmpeg build verbosely
-build.env-append    V=1
+	configure.dir       ${worksrcpath}/mythtv
+	configure.args      --compile-type=release \
+						--qmake=${qt_qmake_cmd} \
+						--cc=${configure.cc} \
+						--cxx=${configure.cxx} \
+						--python=${pythonbin} \
+						--disable-mythlogserver \
+						--disable-ceton \
+						--disable-firewire \
+						--disable-audio-jack --disable-indev=jack \
+						--disable-audio-pulseoutput \
+						--disable-libpulse \
+						--disable-libvpx --disable-libxvid \
+						--disable-qtdbus \
+						--disable-sdl \
+						--disable-xrandr \
+						--disable-xv \
+						--enable-libmp3lame \
+						--enable-libass \
+						--enable-fft \
+						--enable-libx264 --enable-libfaac --enable-nonfree
 
-pre-build {
-    # workaround broken linker flags, see
-    # https://trac.macports.org/ticket/40136
-    reinplace -locale C "s|LDFLAGS=  |LDFLAGS= -headerpad_max_install_names |" ${worksrcpath}/mythtv/external/FFmpeg/config.mak
+	if {${configure.ccache} != "yes"} {
+		configure.args-append --disable-ccache
+	}
 
-    ui_info "Build Myth AppleScript helper apps"
-    # Compile applescrips
-    foreach {applescript} ${applescripts} {
-        system "osacompile -x -o ${worksrcpath}/macports/${applescript}.app ${worksrcpath}/macports/${applescript}.applescript"
-    }
-    # Myth custom icon for a couple of the applets
-    copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${worksrcpath}/macports/Myth_Frontend.app/Contents/Resources/applet.icns
-    copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${worksrcpath}/macports/Myth_Stop_Start.app/Contents/Resources/applet.icns
-}
+	if {${configure.distcc} != "yes"} {
+		configure.args-append --disable-distcc
+	}
 
-# All tests fail with messages like:
-# dyld: Library not loaded: @rpath//opt/local/lib/libmythbase-0.27.0.dylib
-#   Referenced from: /opt/local/var/macports/build/_Users_craigtreleaven_MacPortsTemp_mythtv-core-devel/mythtv-core.27/work/mythtv-8b542e20/mythtv/libs/././libmyth/test/test_audioconvert/test_audioconvert
-#   Reason: image not found
-# ../programs/scripts/unittests.sh: line 15: 41587 Trace/BPT trap          ./$RUNNABLE
-# Need to investigate why rpath not working under MacPorts...
+	build.dir           ${worksrcpath}/mythtv
+	# make Myth's copy of ffmpeg build verbosely
+	build.env-append    V=1
 
-# test.run            yes
+	pre-build {
+		# workaround broken linker flags, see
+		# https://trac.macports.org/ticket/40136
+		reinplace -locale C "s|LDFLAGS=  |LDFLAGS= -headerpad_max_install_names |" ${worksrcpath}/mythtv/external/FFmpeg/config.mak
 
-destroot.destdir    INSTALL_ROOT=${destroot}
+		ui_info "Build Myth AppleScript helper apps"
+		# Compile applescrips
+		foreach {applescript} ${applescripts} {
+			system "osacompile -x -o ${worksrcpath}/macports/${applescript}.app ${worksrcpath}/macports/${applescript}.applescript"
+		}
+		# Myth custom icon for a couple of the applets
+		copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${worksrcpath}/macports/Myth_Frontend.app/Contents/Resources/applet.icns
+		copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${worksrcpath}/macports/Myth_Stop_Start.app/Contents/Resources/applet.icns
+	}
 
-post-destroot {
-# make some directories myth will need
-    xinstall -d -m 755 ${destroot}${mythtvhomedir}
-    xinstall -d -m 777 ${destroot}${mythtvlogdir}
-    xinstall -d -m 777 ${destroot}${mythtvlogdir}/old
-    xinstall -d -m 755 ${destroot}${prefix}/etc/logrotate.d
-    xinstall -d -m 744 ${destroot}${mythtvrundir}
+	# All tests fail with messages like:
+	# dyld: Library not loaded: @rpath//opt/local/lib/libmythbase-0.27.0.dylib
+	#   Referenced from: /opt/local/var/macports/build/_Users_craigtreleaven_MacPortsTemp_mythtv-core-devel/mythtv-core.27/work/mythtv-8b542e20/mythtv/libs/././libmyth/test/test_audioconvert/test_audioconvert
+	#   Reason: image not found
+	# ../programs/scripts/unittests.sh: line 15: 41587 Trace/BPT trap          ./$RUNNABLE
+	# Need to investigate why rpath not working under MacPorts...
 
-    destroot.keepdirs \
-        ${destroot}${mythtvhomedir} \
-        ${destroot}${mythtvlogdir} \
-        ${destroot}${mythtvlogdir}/old \
-        ${destroot}${mythtvrundir}
+	# test.run            yes
 
-# install logrotate.mythtv
-    xinstall -m 400 ${worksrcpath}/macports/logrotate.mythtv ${destroot}${prefix}/etc/logrotate.d
+	destroot.destdir    INSTALL_ROOT=${destroot}
 
-# install the launchd plist for the backend
-    ui_info "Installing startupitem/launchd plist..."
-    xinstall -d -m 0755 ${destroot}${plistdir}
-    xinstall ${worksrcpath}/macports/${plistfile} ${destroot}${plistdir}
+	post-destroot {
+	# make some directories myth will need
+		xinstall -d -m 755 ${destroot}${mythtvhomedir}
+		xinstall -d -m 777 ${destroot}${mythtvlogdir}
+		xinstall -d -m 777 ${destroot}${mythtvlogdir}/old
+		xinstall -d -m 755 ${destroot}${prefix}/etc/logrotate.d
+		xinstall -d -m 744 ${destroot}${mythtvrundir}
 
-# install scripts we want in share/contrib
-    ui_info "Installing share/$name/contrib scripts..."
+		destroot.keepdirs \
+			${destroot}${mythtvhomedir} \
+			${destroot}${mythtvlogdir} \
+			${destroot}${mythtvlogdir}/old \
+			${destroot}${mythtvrundir}
 
-    xinstall -d -m 755 ${destroot}${prefix}/share/${nick}/database
-    xinstall -d -m 755 ${destroot}${prefix}/share/${nick}/contrib
+	# install logrotate.mythtv
+		xinstall -m 400 ${worksrcpath}/macports/logrotate.mythtv ${destroot}${prefix}/etc/logrotate.d
 
-    xinstall -m 755 \
-        ${configure.dir}/database/mc.sql \
-        ${worksrcpath}/macports/mythconverg_init.sql \
-        ${worksrcpath}/macports/my.cnf \
-        ${destroot}${prefix}/share/${nick}/database
-    xinstall -m 755 \
-        ${configure.dir}/contrib/maintenance/optimize_mythdb.pl \
-        ${configure.dir}/contrib/user_jobs/mythlink.pl \
-        ${destroot}${prefix}/share/${nick}/contrib
+	# install the launchd plist for the backend
+		ui_info "Installing startupitem/launchd plist..."
+		xinstall -d -m 0755 ${destroot}${plistdir}
+		xinstall ${worksrcpath}/macports/${plistfile} ${destroot}${plistdir}
 
-# install some simple Applescripts to launch common myth apps
-    ui_info "Installing Applescript helpers..."
-    # compile the Applescripts
-    xinstall -m 755 -d ${destroot}${applications_dir}/MythTV
+	# install scripts we want in share/contrib
+		ui_info "Installing share/$name/contrib scripts..."
 
-    foreach {applescript} ${applescripts} {
-        copy ${worksrcpath}/macports/${applescript}.app ${destroot}${applications_dir}/MythTV/${applescript}.app
-    }
+		xinstall -d -m 755 ${destroot}${prefix}/share/${nick}/database
+		xinstall -d -m 755 ${destroot}${prefix}/share/${nick}/contrib
 
-# Myth custom icon for a couple of the applets
-    copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${destroot}${applications_dir}/MythTV/Myth_Frontend.app/Contents/Resources/applet.icns
-    copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${destroot}${applications_dir}/MythTV/Myth_Stop_Start.app/Contents/Resources/applet.icns
+		xinstall -m 755 \
+			${configure.dir}/database/mc.sql \
+			${worksrcpath}/macports/mythconverg_init.sql \
+			${worksrcpath}/macports/my.cnf \
+			${destroot}${prefix}/share/${nick}/database
+		xinstall -m 755 \
+			${configure.dir}/contrib/maintenance/optimize_mythdb.pl \
+			${configure.dir}/contrib/user_jobs/mythlink.pl \
+			${destroot}${prefix}/share/${nick}/contrib
 
-# Fix up library entries in dylibs and executables ...
-# need to loop on arch's if/when build universal ?!?
-    set libdir ${prefix}/lib
+	# install some simple Applescripts to launch common myth apps
+		ui_info "Installing Applescript helpers..."
+		# compile the Applescripts
+		xinstall -m 755 -d ${destroot}${applications_dir}/MythTV
 
-    ui_info "Correcting library entries in dylibs..."
+		foreach {applescript} ${applescripts} {
+			copy ${worksrcpath}/macports/${applescript}.app ${destroot}${applications_dir}/MythTV/${applescript}.app
+		}
 
-    foreach {dylib} [glob -types f -tails -directory ${destroot}${libdir} *.dylib] {
-        # glob gives us both files and links to files
-        if { [file type ${destroot}${libdir}/${dylib}] == "file" } {
-            ui_debug "... for ${dylib}"
-            system "install_name_tool -id ${libdir}/${dylib} ${destroot}${libdir}/${dylib}"
+	# Myth custom icon for a couple of the applets
+		copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${destroot}${applications_dir}/MythTV/Myth_Frontend.app/Contents/Resources/applet.icns
+		copy -force ${configure.dir}/programs/mythfrontend/mythfrontend.icns ${destroot}${applications_dir}/MythTV/Myth_Stop_Start.app/Contents/Resources/applet.icns
 
-            set otool [lrange [split [exec otool -L ${destroot}${libdir}/${dylib}] \n] 1 end]
+	# Fix up library entries in dylibs and executables ...
+	# need to loop on arch's if/when build universal ?!?
+		set libdir ${prefix}/lib
 
-            foreach {otoolentry} ${otool} {
-                # fix entries like "libmythswscale.dylib" to "${prefix}/lib/libmythswscale.dylib"
-                # assume anything without a leading slash needs fixing
-                set firstchar [string range [string trimleft ${otoolentry}] 0 0]
-                if  { ${firstchar} != "/" }  {
-                    set lib [lindex ${otoolentry} 0]
-                    ui_debug "      Change ${lib}  to  ${libdir}/[file tail ${lib}]"
-                    system "install_name_tool -change \
-                        ${lib} \
-                        ${libdir}/[file tail ${lib}] \
-                        ${destroot}${libdir}/${dylib}"
-                }
-            }
-        }
-    }
-    set bindir ${prefix}/bin
-    ui_info "Correcting library entries in executables..."
+		ui_info "Correcting library entries in dylibs..."
 
-    foreach {prog} [glob -types f -tails -directory ${destroot}${bindir} *] {
-        # glob gives us files and links to files but should be no links in bin dir
-        ui_debug "... for ${prog}"
+		foreach {dylib} [glob -types f -tails -directory ${destroot}${libdir} *.dylib] {
+			# glob gives us both files and links to files
+			if { [file type ${destroot}${libdir}/${dylib}] == "file" } {
+				ui_debug "... for ${dylib}"
+				system "install_name_tool -id ${libdir}/${dylib} ${destroot}${libdir}/${dylib}"
 
-        set otool [lrange [split [exec otool -L ${destroot}${bindir}/${prog}] \n] 1 end]
+				set otool [lrange [split [exec otool -L ${destroot}${libdir}/${dylib}] \n] 1 end]
 
-        foreach {otoolentry} ${otool} {
-            # fix entries like "libmythswscale.dylib" to "${prefix}/lib/libmythswscale.dylib"
-            # assume anything without a leading slash needs fixing
-            set firstchar [string range [string trimleft ${otoolentry}] 0 0]
-            if  { ${firstchar} != "/" }  {
-                set lib [lindex ${otoolentry} 0]
-                ui_debug "      Change ${lib} to ${libdir}/[file tail ${lib}]"
-                system "install_name_tool -change \
-                    ${lib} \
-                    ${libdir}/[file tail ${lib}] \
-                    ${destroot}${bindir}/${prog}"
-            }
-        }
-    }
+				foreach {otoolentry} ${otool} {
+					# fix entries like "libmythswscale.dylib" to "${prefix}/lib/libmythswscale.dylib"
+					# assume anything without a leading slash needs fixing
+					set firstchar [string range [string trimleft ${otoolentry}] 0 0]
+					if  { ${firstchar} != "/" }  {
+						set lib [lindex ${otoolentry} 0]
+						ui_debug "      Change ${lib}  to  ${libdir}/[file tail ${lib}]"
+						system "install_name_tool -change \
+							${lib} \
+							${libdir}/[file tail ${lib}] \
+							${destroot}${libdir}/${dylib}"
+					}
+				}
+			}
+		}
+		set bindir ${prefix}/bin
+		ui_info "Correcting library entries in executables..."
 
-# fix lib entries in filters
-    set fltdir ${prefix}/lib/mythtv/filters
-    set liblist [glob -types f -tails -directory ${destroot}${libdir} -- *.dylib]
-    ui_info "Correcting library entries in plugins..."
+		foreach {prog} [glob -types f -tails -directory ${destroot}${bindir} *] {
+			# glob gives us files and links to files but should be no links in bin dir
+			ui_debug "... for ${prog}"
 
-    foreach {flt} [glob -types f -tails -directory ${destroot}${fltdir} *] {
-        # glob gives us files and links to files but should be no links in filters dir
-        ui_debug "... for ${flt}"
+			set otool [lrange [split [exec otool -L ${destroot}${bindir}/${prog}] \n] 1 end]
 
-        set otool [lrange [split [exec otool -L ${destroot}${fltdir}/${flt}] \n] 1 end]
+			foreach {otoolentry} ${otool} {
+				# fix entries like "libmythswscale.dylib" to "${prefix}/lib/libmythswscale.dylib"
+				# assume anything without a leading slash needs fixing
+				set firstchar [string range [string trimleft ${otoolentry}] 0 0]
+				if  { ${firstchar} != "/" }  {
+					set lib [lindex ${otoolentry} 0]
+					ui_debug "      Change ${lib} to ${libdir}/[file tail ${lib}]"
+					system "install_name_tool -change \
+						${lib} \
+						${libdir}/[file tail ${lib}] \
+						${destroot}${bindir}/${prog}"
+				}
+			}
+		}
 
-        foreach {otoolentry} ${otool} {
-            # fix entries like "libmythswscale.dylib" to "${prefix}/lib/libmythswscale.dylib"
-            # assume anything without a leading slash needs fixing
-            set firstchar [string range [string trimleft ${otoolentry}] 0 0]
-            if  { ${firstchar} != "/" }  {
-                set lib [lindex ${otoolentry} 0]
-                if { [ lsearch $liblist ${lib} ] > 0 } {
-                    set goodprefix ${libdir}
-                } else {
-                    set goodprefix ${fltdir}
-                }
-                ui_debug "      Change ${lib} to ${goodprefix}/[file tail ${lib}]"
-                system "install_name_tool -change \
-                    ${lib} \
-                    ${goodprefix}/[file tail ${lib}] \
-                    ${destroot}${fltdir}/${flt}"
-            }
-        }
-    }
-}
+	# fix lib entries in filters
+		set fltdir ${prefix}/lib/mythtv/filters
+		set liblist [glob -types f -tails -directory ${destroot}${libdir} -- *.dylib]
+		ui_info "Correcting library entries in plugins..."
 
-universal_variant           no
+		foreach {flt} [glob -types f -tails -directory ${destroot}${fltdir} *] {
+			# glob gives us files and links to files but should be no links in filters dir
+			ui_debug "... for ${flt}"
 
-post-activate {
-    # make logrotate ready to go
-    if {![file exists ${prefix}/etc/logrotate.conf]} {
-        file copy ${destroot}logrotate.conf ${prefix}/etc/logrotate.conf
-    }
-    # delete leftover file, if any
-    if [file exists /Library/LaunchDaemons/${plistfile}] {
-        file delete -force /Library/LaunchDaemons/${plistfile}
-    }
-    # The startupitem.install keyword does not exist in MacPorts < 2.1.
-    if {![info exists startupitem.install]} {
-        set startupitem.install yes
-    }
-    # If "startupitem.install" is set to "no" in macports.conf then do not link.
-    if {${startupitem.install} != "no"} {
-        ln -s ${plistdir}/${plistfile} /Library/LaunchDaemons
-    }
-}
+			set otool [lrange [split [exec otool -L ${destroot}${fltdir}/${flt}] \n] 1 end]
 
-pre-deactivate {
-     file delete -force ${plistdir}/${plistfile}
+			foreach {otoolentry} ${otool} {
+				# fix entries like "libmythswscale.dylib" to "${prefix}/lib/libmythswscale.dylib"
+				# assume anything without a leading slash needs fixing
+				set firstchar [string range [string trimleft ${otoolentry}] 0 0]
+				if  { ${firstchar} != "/" }  {
+					set lib [lindex ${otoolentry} 0]
+					if { [ lsearch $liblist ${lib} ] > 0 } {
+						set goodprefix ${libdir}
+					} else {
+						set goodprefix ${fltdir}
+					}
+					ui_debug "      Change ${lib} to ${goodprefix}/[file tail ${lib}]"
+					system "install_name_tool -change \
+						${lib} \
+						${goodprefix}/[file tail ${lib}] \
+						${destroot}${fltdir}/${flt}"
+				}
+			}
+		}
+	}
+
+	post-activate {
+		# make logrotate ready to go
+		if {![file exists ${prefix}/etc/logrotate.conf]} {
+			file copy ${destroot}logrotate.conf ${prefix}/etc/logrotate.conf
+		}
+		# delete leftover file, if any
+		if [file exists /Library/LaunchDaemons/${plistfile}] {
+			file delete -force /Library/LaunchDaemons/${plistfile}
+		}
+		# The startupitem.install keyword does not exist in MacPorts < 2.1.
+		if {![info exists startupitem.install]} {
+			set startupitem.install yes
+		}
+		# If "startupitem.install" is set to "no" in macports.conf then do not link.
+		if {${startupitem.install} != "no"} {
+			ln -s ${plistdir}/${plistfile} /Library/LaunchDaemons
+		}
+	}
+
+	pre-deactivate {
+		 file delete -force ${plistdir}/${plistfile}
+	}
+
+	notes "############################################################################
+	#
+	# See http://www.mythtv.org/wiki/Myth_for_Mac_with_MacPorts for information
+	# essential to finishing the initial installation of MythTV!
+	#
+	# NB -
+	# For troubleshooting, all Myth-related logs are stored in
+	# ${mythtvlogdir}
+	#
+	# Upgrading after October 16, 2014?  Myth's database has changed from MySQL
+	# v5.1 to MariaDB v5.5.  You should backup your old database and restore
+	# it to the new version.  See the web page above for full details.
+	#
+	############################################################################"
 }
 
-notes "############################################################################
-#
-# See http://www.mythtv.org/wiki/Myth_for_Mac_with_MacPorts for information
-# essential to finishing the initial installation of MythTV!
-#
-# NB -
-# For troubleshooting, all Myth-related logs are stored in
-# ${mythtvlogdir}
-#
-# Upgrading after October 16, 2014?  Myth's database has changed from MySQL
-# v5.1 to MariaDB v5.5.  You should backup your old database and restore
-# it to the new version.  See the web page above for full details.
-#
-############################################################################"
+subport mythtv-plugins.${majorversion} {
+	name                mythtv-plugins${majorversion}
+	version             0${majorversion}${minorversion}-Fixes-${lastcommit}
 
-livecheck.version       ${majorversion}${minorversion}
-livecheck.regex         "archive/v(0.27\[\\.\\d\]?)${extract.suffix}"
+	description         MythTV plugins for slideshows, music and weather
+	long_description    ${description}  \
+						Each plugin is a variant.  The non-default plugins currently do not \
+						work on OS X, such as MythNews, MythBrowser and MythNetVision.
+	dist_subdir			mythtv-core${majorversion}
+
+	post-patch {
+		set sedPath ${worksrcpath}/mythplugins/
+		reinplace -locale C "s|check_cmd perl -e|check_cmd ${perlbin} -e|" \
+			${sedPath}configure
+		reinplace -locale C "s|python=\"python\"|python=\"${pythonbin}\"|" \
+			${sedPath}configure
+		# do fixups regardless of whether variant is selected or not
+		foreach fixfile [exec find ${sedPath}/mythweather/mythweather/scripts -name "*.p?"] {
+			reinplace "s;/usr/bin/perl;${perlbin};g" ${fixfile}
+			reinplace "s;/usr/share/mythtv;${perlbin};g" ${fixfile}
+		}
+	}
+
+	depends_lib         port:mythtv-core${majorversion}
+	# NB mythplugins/configure reads ${prefix}/include/mythtv/mythconfig.mak
+	# and sets several values from that, including cc and cxx
+
+	configure.dir       ${worksrcpath}/mythplugins
+
+	# make pkg-config act like on Linux, no '-I/opt/local/include' in cflags
+	configure.env-append    PKG_CONFIG_SYSTEM_INCLUDE_PATH=${prefix}/include
+
+	configure.args      --compile-type=release \
+						--qmake=${qt_qmake_cmd} \
+						--python=${pythonbin} \
+						--disable-mytharchive \
+						--disable-mythgame \
+						--disable-mythzoneminder \
+						--disable-mythbrowser \
+						--disable-mythnetvision \
+						--disable-mythgallery \
+						--disable-mythmusic \
+						--disable-mythnews \
+						--disable-mythweather
+
+	if {[variant_isset mythnetvision] || [variant_isset mythweather]} {
+	# for both MythNetvision and MythWeather (Canada)
+		depends_lib-append		port:${perlmodver}-perlmagick
+	}
+
+	variant mytharchive description {Create DVDs from recorded shows and any video files available on Myth.} {
+		configure.args-delete	--disable-mytharchive
+		configure.args-append	--enable-mytharchive
+	}
+
+	variant mythbrowser description {WebKit-based browser within Myth.} {
+		configure.args-delete	--disable-mythbrowser
+	#	configure.args-append	--enable-mythbrowser
+	}
+
+	variant mythnetvision description {Find and play internet videos within Myth.} {
+		depends_lib-append		port:${pymodver}-oauth
+		configure.args-delete	--disable-mythnetvision
+	#	configure.args-append	--enable-mythnetvision
+	}
+
+	variant mythgallery description {Myth photo browser and slideshow plugin.} {
+		depends_lib-append		port:libexif \
+								port:dcraw
+		configure.args-delete	--disable-mythgallery
+	#	configure.args-append	--enable-mythgallery
+	}
+
+	variant mythmusic description {Myth plugin to play and manage music files.} {
+		depends_lib-append		port:libvorbis \
+								port:flac \
+								port:taglib
+	#							port:fftw-3  -- included in mythtv-core
+		configure.args-delete	--disable-mythmusic
+	#	configure.args-append	--enable-mythmusic
+	}
+
+	variant mythnews description {Check news sources through RSS feeds with this Myth plugin.} {
+		configure.args-delete	--disable-mythnews
+	#	configure.args-append	--enable-mythnews
+	}
+
+	variant mythweather description {Weather information for your chosen locations via Myth plugin.} {
+		depends_lib-append		port:${perlmodver}-datemanip\
+								port:${perlmodver}-xml-simple \
+								port:${perlmodver}-xml-xpath \
+								port:${perlmodver}-image-size \
+								port:${perlmodver}-datetime-format-iso8601 \
+								port:${perlmodver}-soap-lite \
+								port:${perlmodver}-json
+		configure.args-delete	--disable-mythweather
+	#	configure.args-append	--enable-mythweather
+	}
+
+	default_variants +mythnetvision +mythbrowser +mythnews +mythgallery +mythmusic +mythweather +mytharchive
+
+	build.dir           ${worksrcpath}/mythplugins
+
+	destroot.destdir    INSTALL_ROOT=${destroot}
+
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160204/f30b9758/attachment-0001.html>


More information about the macports-changes mailing list