[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