Ticket #7293: 7293-w32pkg_upd22.2.patch
File 7293-w32pkg_upd22.2.patch, 42.9 KB (added by , 14 years ago) |
---|
-
win32-packager.pl
43 43 $SIG{INT} = sub { die "Interrupted\n"; }; 44 44 $| = 1; # autoflush stdout; 45 45 46 # NOTE: QT3 removed - 0.21 builds are no longer possible using this script. 46 47 # this script was last tested to work with this version, on other versions YMMV. 47 #my $SVNRELEASE = '16789'; # This is the last version that was Qt 3 based. 48 # Qt 4 merges began immediately after. 49 #my $SVNRELEASE = '18442'; # Recent 0-21-fixes 50 my $SVNRELEASE = '21995'; # Recent trunk 48 my $SVNRELEASE = '22349'; # Recent trunk 51 49 #my $SVNRELEASE = 'HEAD'; # If you are game, go forth and test the latest! 52 50 53 51 … … 72 70 my $NOISY = 1; # Set to 0 for less output to the screen 73 71 my $version = '0.22'; # Main mythtv version - used to name dlls 74 72 my $package = 0; # Create a Win32 Distribution package? 1 for yes 75 my $update = 0; # Revert instead of checkout.76 # Careful, will destruct local copy!77 73 my $compile_type = "profile"; # compile options: debug, profile or release 78 74 my $tickets = 0; # Apply specific win32 tickets - 79 75 # usually those not merged into SVN … … 81 77 # Required only for testing 82 78 my $makeclean = 0; # Flag to make clean 83 79 my $svnlocation = "trunk"; # defaults to trunk unless -b specified 84 my $qtver = 3; # default to 3 until we can test otherwise below, 85 # do not change this here. 80 my $qtver = 4; # default to 4 until we can test otherwise 86 81 my $continuous = 0 ; # by default the app pauses to notify you what 87 82 # it's about to do, -y overrides for batch usage. 88 89 83 ############################################################################## 90 84 # get command line options 91 my $opt_string = 'vh u:kp:r:c:tldby';85 my $opt_string = 'vhogkp:r:c:tldby'; 92 86 my %opt = (); 93 87 getopts( "$opt_string", \%opt ); 94 88 usage() if $opt{h}; 95 89 96 $update = 1 if defined $opt{u};97 90 $package = 1 if defined $opt{k}; 98 91 $NOISY = 1 if defined $opt{v}; 99 92 $tickets = 1 if defined $opt{t}; … … 112 105 if (defined $opt{b}) { 113 106 my @num = split /\./, $version; 114 107 $svnlocation = "branches/release-$num[0]-$num[1]-fixes"; 115 print "NOT using SVN 'trunk', using '$svnlocation'\n";116 117 print "\nWARNING: This is unlikely to build successfully.\n\n";118 print "SVN trunk changes frequently, and this version of the\n";119 print "build script has had many changes to keep up with it.\n";120 print "Maybe try the version from the branch instead! e.g.\n";121 print "http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythtv/contrib/Win32/win32-packager.pl\n\n";122 # [ pause => 'press [enter] to continue !'],123 print 'Press [enter] to continue !';124 my $temp = getc();125 108 } else { 126 109 $svnlocation = "trunk"; 127 110 } 128 111 129 # force QT4 if we are on trunk above the point where QT4 patches were merged130 if ( $svnlocation eq 'trunk' &&131 ($SVNRELEASE =~ m/^HEAD$/i || $SVNRELEASE > 16789) )132 { $qtver = 4 }133 134 # 0.22-fixes doesn't exist yet.135 if ($svnlocation eq "branches/release-0-22-fixes") {136 $version = '0.21';137 $svnlocation = "branches/release-0-21-fixes";138 $qtver = 3;139 }140 141 112 # Try to use parallel make 142 113 my $numCPU = $ENV{'NUMBER_OF_PROCESSORS'} or 1; 143 114 my $parallelMake = 'make'; … … 146 117 $parallelMake = 'make -j '. ($numCPU + 1); 147 118 } 148 119 120 # this list defines the components to build 121 my @components = ( 'mythtv', 'packaging', 'myththemes' ); 122 push @components, 'oldthemes' if defined $opt{o}; 123 push @components, 'mythplugins' unless defined $opt{g}; 149 124 150 125 print "Config:\n\tQT version: $qtver\n\tDLLs will be labeled as: $version\n"; 151 126 if ( $numCPU gt 1 ) { 152 127 print "\tBuilding with ", $numCPU, " processors\n"; 153 128 } 154 print "\tSVN location is: $svnlocation\n\tSVN revision is: $SVNRELEASE\n\n"; 155 print "Press [enter] to continue, or [ctrl]-c to exit now....\n"; 129 print "\tSVN location is: $svnlocation\n\tSVN revision is: $SVNRELEASE\n"; 130 print "\tComponents to build: "; 131 foreach my $comp( @components ) { print "$comp " } 132 print "\n\nPress [enter] to continue, or [ctrl]-c to exit now....\n"; 156 133 getc() unless $continuous; 157 134 158 135 # this will be used to test if we the same … … 160 137 my $is_same = "$compile_type-$svnlocation-$qtver.same"; 161 138 $is_same =~ s#/#-#g; # don't put dir slashes in a filename! 162 139 163 # this list defines the components to build , to build everything, leave as-is164 my @components = ( 'mythtv', 'oldthemes', 'mythplugins', 'packaging' );165 140 166 167 141 # TODO - we should try to autodetect these paths, rather than assuming 168 142 # the defaults - perhaps from environment variables like this: 169 143 # die "must have env variable SOURCES pointing to your sources folder" … … 219 193 my $unixbuild = perl2unix($build); 220 194 221 195 # The installer for MinGW: 222 my $MinGWinstaller = 'MinGW-5.1. 4.exe';196 my $MinGWinstaller = 'MinGW-5.1.6.exe'; 223 197 my $installMinGW = $dossources.$MinGWinstaller; 224 198 225 199 # Qt4 directory … … 350 324 [ file => $mingw."bin/gcc.exe", 351 325 exec => $installMinGW, 352 326 comment => 'unable to find a gcc.exe where expected, '. 353 'rerunning MinGW installer!' ] ;327 'rerunning MinGW installer!' ] , 354 328 355 # sanity check - building 0.21 with mingwrt != 3.14 is guaranteed FAIL356 if ($version == '0.21') {357 push @{$expect},358 [grep => ['runtime=mingw-runtime-3.14.tar.gz',$mingw.'installed.ini'],359 Died_Because_Wrong_MinGW_Version => 'Intentional script failure',360 comment => $version.' must be built with (old) MinGW runtime 3.14. '.361 '"Current" MinGW releases will NOT work. If the script '.362 'dies here, uninstall MinGW and next time, choose the '.363 '"Previous" MinGW package in the Automated Installer.'];364 }365 366 push @{$expect},367 368 329 [ archive => $sources.'MSYS-1.0.10.exe', 369 330 'fetch' => 'http://'.$sourceforge.'/sourceforge/mingw/MSYS-1.0.10.exe', 370 331 comment => 'Get the MSYS and addons:' ] , … … 454 415 mkdirs => $sources.'unzip', 455 416 comment => 'unzip.exe - Get a precompiled '. 456 417 'native Win32 version from InfoZip' ], 457 [ archive => $sources.'unzip/unz552xN.exe', 458 'fetch' => 'ftp://tug.ctan.org/tex-archive'. 459 '/tools/zip/info-zip/WIN32/unz552xN.exe'], 418 [ archive => $sources.'unzip/unz600xn.exe', 419 'fetch' => 'ftp://ftp.info-zip.org/pub/infozip/win32/unz600xn.exe'], 460 420 [ file => $sources.'unzip/unzip.exe', 461 421 exec => 'chdir '.$dossources.'unzip && '. 462 $dossources.'unzip/unz 552xN.exe' ],422 $dossources.'unzip/unz600xn.exe' ], 463 423 # we could probably put the unzip.exe into the path... 464 424 465 425 … … 472 432 [ dir => $sources.'svn-win32-1.5.1', 473 433 extract => $sources.'svn-win32-1.5.1.zip' ], 474 434 475 476 [ file => $msys.'bin/svn151_.exe', 477 shell => [ "cp -R $unixsources/svn-win32-1.5.1/* ".$unixmsys, 478 "cp $unixsources/svn-win32-1.5.1/bin/svn.exe ". 479 $unixmsys."bin/svn151.exe", 480 "cp $unixsources/svn-win32-1.5.1/bin/svn.exe ". 481 $unixmsys."bin/svn151_.exe", 482 "cp $unixsources/svn-win32-1.5.1/bin/intl3_svn.dll ". 483 $unixmsys."bin" 484 ], 485 comment => 'put the svn.exe executable into the path, '. 435 # link to svn instead of installing it, to avoid packaging its dlls later 436 [ always => $msys.'bin/svn.bat', 437 write => [$msys.'bin/svn.bat', 438 '@'.$dossources.'svn-win32-1.5.1\bin\svn.exe %*' ], 439 comment => 'put svn.bat into the path, '. 486 440 'so we can use it easily later!' ], 487 441 442 [ always => $msys.'bin/svnversion', 443 write => [$msys.'bin/svnversion', 444 '#!/bin/sh 445 '.$unixsources.'svn-win32-1.5.1/bin/svnversion.exe $*' ], 446 comment => 'put svnversion into the path, '. 447 'so mythtv can use it later!' ], 448 488 449 # : 489 450 [ dir => $sources."zlib", 490 451 mkdirs => $sources.'zlib', … … 500 461 [ file => $msys.'include/zlib.h', 501 462 exec => ["copy /Y ".$dossources.'zlib\usr\include\* '. 502 463 $dosmsys."include"] ], 503 # taglib also requires zlib in /mingw , so we'll put it there too, why not!504 [ file => $mingw.'lib/libz.a',505 exec => ["copy /Y ".$dossources.'zlib\usr\lib\* '.$dosmingw."lib"] ],506 [ file => $mingw.'bin/msys-z.dll',507 exec => ["copy /Y ".$dossources.'zlib\usr\bin\* '. $dosmingw."bin"] ],508 [ file => $mingw.'include/zlib.h',509 exec => ["copy /Y ".$dossources.'zlib\usr\include\* '.510 $dosmingw."include"] ],511 464 512 465 # fetch mysql 513 466 # primary server site is: … … 515 468 # mysql-essential-5.1.30-win32.msi/from/http://mysql.mirrors.ilisys.com.au/ 516 469 # alternate: http://mysql.mirrors.ilisys.com.au/Downloads/MySQL-5.1/ 517 470 # mysql-essential-5.1.30-win32.msi 518 [ archive => $sources.'mysql-essential-5.1.3 6-win32.msi',471 [ archive => $sources.'mysql-essential-5.1.39-win32.msi', 519 472 'fetch' => 'http://mysql.mirrors.ilisys.com.au/Downloads/'. 520 'MySQL-5.1/mysql-essential-5.1.3 6-win32.msi',473 'MySQL-5.1/mysql-essential-5.1.39-win32.msi', 521 474 comment => 'fetch mysql binaries - this is a big download(35MB) '. 522 475 'so it might take a while' ], 523 476 [ file => $mysql.'bin/libmySQL.dll', 524 exec => $dossources.'mysql-essential-5.1.3 6-win32.msi INSTALLLEVEL=2',477 exec => $dossources.'mysql-essential-5.1.39-win32.msi', 525 478 comment => 'Install mysql - be sure to choose to do a "COMPLETE" install. '. 526 479 'You should also choose NOT to "configure the server now" ' ], 527 480 … … 737 690 [ dir => $sources.'freetype-2.3.5', 738 691 extract => $sources.'freetype-2.3.5.tar' ], 739 692 # caution... freetype comes with a Makefile in the .tar.gz, so work around it! 740 [ file => $sources.'freetype-2.3.5/Makefile_ ',693 [ file => $sources.'freetype-2.3.5/Makefile__', 741 694 shell => ["cd $unixsources/freetype-2.3.5", 742 "./configure --prefix=/ mingw",743 "touch $unixsources/freetype-2.3.5/Makefile_ "],695 "./configure --prefix=/usr", 696 "touch $unixsources/freetype-2.3.5/Makefile__"], 744 697 comment => 'building freetype' ], 745 698 746 699 # here's an example of specifying the make and make install steps separately, … … 749 702 shell => ["cd $unixsources/freetype-2.3.5", 750 703 "make"], 751 704 comment => 'checking freetype' ], 752 [ file => $m ingw.'lib/libfreetype.a',705 [ file => $msys.'lib/libfreetype.a', 753 706 shell => ["cd $unixsources/freetype-2.3.5", 754 707 "make install"], 755 708 comment => 'installing freetype' ], 756 [ file => $m ingw.'bin/libfreetype-6.dll',709 [ file => $msys.'bin/libfreetype-6.dll', 757 710 shell => ["cp $unixsources/freetype-2.3.5/objs/.libs/libfreetype-6.dll ". 758 "$m ingw/bin/"] ],711 "$msys/bin/"] ], 759 712 760 713 #eg: http://transact.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz 761 714 [ archive => $sources.'lame-398-2.tar.gz', 762 715 fetch => 'http://'.$sourceforge.'/sourceforge/lame/lame-398-2.tar.gz'], 763 716 [ dir => $sources.'lame-398-2', 764 717 extract => $sources.'lame-398-2.tar' ], 765 [ file => $mingw.'lib/libmp3lame.a',766 shell => ["cd $unixsources/lame-398-2",767 "./configure --prefix=/mingw",768 "make",769 "make install"],770 comment => 'building and installing: mingw lame' ],771 718 [ file => $msys.'lib/libmp3lame.a', 772 719 shell => ["cd $unixsources/lame-398-2", 773 720 "./configure --prefix=/usr", 774 721 "make", 775 722 "make install"], 776 723 comment => 'building and installing: msys lame' ], 724 ; 777 725 726 if ( grep m/mythplugins/, @components ) { 727 push @{$expect}, 778 728 # confirmed latest version as at 26-12-2008: 779 729 [ archive => $sources.'libmad-0.15.1b.tar.gz', 780 730 fetch => 'http://'.$sourceforge.'/sourceforge/mad/libmad-0.15.1b.tar.gz'], … … 787 737 "make install"], 788 738 comment => 'building and installing: msys libmad' ], 789 739 790 [ archive => $sources.'libmad-0.15.1b.tar.gz',791 fetch => 'http://'.$sourceforge.'/sourceforge/mad/libmad-0.15.1b.tar.gz'],792 [ dir => $sources.'libmad-0.15.1b',793 extract => $sources.'libmad-0.15.1b.tar' ],794 [ file => $mingw.'lib/libmad.a',795 shell => ["cd $unixsources/libmad-0.15.1b",796 "./configure --prefix=/mingw",797 "make",798 "make install"],799 comment => 'building and installing: mingw libmad' ],800 801 740 # taglib 1.5 sources changed it's build system under win32 to use 'cmake', 802 741 # which we don't have, however pre-compiled mingw 1.5 binaries are available: 803 742 [ archive => $sources.'taglib-1.5-mingw-bin.zip', … … 805 744 '/users/luks/taglib/taglib-1.5-mingw-bin.zip'], 806 745 [ dir => $sources.'taglib-1.5-mingw-bin', 807 746 extract => $sources.'taglib-1.5-mingw-bin.zip' ], 808 [ file => $mingw.'lib/libtag.dll.a',809 shell => ['cd '.$sources.'taglib-1.5-mingw-bin',810 "cp -vr * $unixmingw"],811 comment => 'installing: mingw taglib' ],812 747 [ file => $msys.'lib/libtag.dll.a', 813 748 shell => ['cd '.$sources.'taglib-1.5-mingw-bin', 814 749 "cp -vr * $unixmsys"], … … 845 780 "make install"], 846 781 comment => 'building and installing: msys libogg' ], 847 782 848 # need msys version of ogg for msys version of vorbis!849 [ archive => $sources.'libogg-1.1.3.tar.gz',850 fetch => 'http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz'],851 [ dir => $sources.'libogg-1.1.3',852 extract => $sources.'libogg-1.1.3.tar' ],853 [ file => $mingw.'bin/libogg-0.dll',854 shell => ["cd $unixsources/libogg-1.1.3",855 "./configure --prefix=/mingw",856 "make",857 "make install"],858 comment => 'building and installing: mingw libogg' ],859 860 783 # confirmed latest version as at 26-12-2008: 861 784 [ archive => $sources.'libvorbis-1.2.0.tar.gz', 862 785 fetch => 'http://downloads.xiph.org/releases/'. … … 870 793 "make install"], 871 794 comment => 'building and installing: msys libvorbis' ], 872 795 873 # definitely need mingw version for mythtv plugins to build874 [ archive => $sources.'libvorbis-1.2.0.tar.gz',875 fetch => 'http://downloads.xiph.org/releases/'.876 'vorbis/libvorbis-1.2.0.tar.gz'],877 [ dir => $sources.'libvorbis-1.2.0',878 extract => $sources.'libvorbis-1.2.0.tar' ],879 [ file => $mingw.'lib/libvorbis.a',880 shell => ["cd $unixsources/libvorbis-1.2.0",881 "./configure --prefix=/mingw --disable-shared",882 "make",883 "make install"],884 comment => 'building and installing: mingw libvorbis' ],885 886 796 # confirmed latest source version as at 26-12-2008 887 797 #( flac-win binary packages are unsuitable in this case) 888 798 [ archive => $sources.'flac-1.2.1.tar.gz', … … 891 801 extract => $sources.'flac-1.2.1.tar' ], 892 802 [ grep => ['\#define SIZE_T_MAX UINT_MAX',$mingw.'include/limits.h'], 893 803 shell => "echo \\#define SIZE_T_MAX UINT_MAX >> $mingw/include/limits.h" ], 894 [ file => $mingw.'lib/libFLAC.a',895 shell => ["cd $unixsources/flac-1.2.1",896 "./configure --prefix=/mingw",897 "make",898 "make install"],899 comment => 'building and installing: mingw flac/FLAC' ],900 804 [ file => $msys.'lib/libFLAC.a', 901 805 shell => ["cd $unixsources/flac-1.2.1", 902 806 "./configure --prefix=/usr", … … 926 830 # "make", 927 831 # "make install"], 928 832 # comment => 'building and installing: msys libcdaudio' ], 929 #930 ## mingw version is needed, or mythmusic won't build931 #[ file => $mingw.'bin/libcdaudio-config',932 # shell => ["cd ".$unixsources."libcdaudio-0.99.12p2",933 # "./configure --prefix=/mingw",934 # "make",935 # "make install"],936 # comment => 'building and installing: mingw libcdaudio' ],937 833 938 834 #[ pause => 'flac, taglib, lame all done.... press [enter] to continue !'], 939 835 940 # skip doing pthreads from source, we use binaries that were fetched earlier:941 #[ archive => $sources.'pthreads-w32-2-8-0-release.tar.gz',942 # fetch => 'ftp://sourceware.org/pub/pthreads-win32/'.943 # 'pthreads-w32-2-8-0-release.tar.gz'],944 #[ dir => $sources.'pthreads-w32-2-8-0-release',945 # extract => $sources.'pthreads-w32-2-8-0-release.tar' ],946 947 836 # confirmed latest source version as at 26-12-2008: 948 837 [ archive => $sources.'SDL-devel-1.2.13-mingw32.tar.gz', 949 838 fetch => 'http://www.libsdl.org/release/SDL-devel-1.2.13-mingw32.tar.gz'], … … 1035 924 "make", 1036 925 "make install"], 1037 926 comment => 'building and installing: msys fftw' ], 1038 [ file => $mingw.'lib/libfftw3.a',1039 shell => ["cd $unixsources/fftw-3.2.1",1040 "./configure --prefix=/mingw",1041 "make",1042 "make install"],1043 comment => 'building and installing: mingw fftw' ],1044 927 1045 928 # typical template: 1046 929 #[ archive => $sources.'xxx.tar.gz', fetch => ''], … … 1051 934 # "make", 1052 935 # "make install"] ], 1053 936 1054 #---------------------------------------- 1055 # Building QT3 is complicated! 1056 # 937 ;} 1057 938 1058 ;1059 1060 if ( $qtver == 3 ) {1061 push @{$expect},1062 1063 #[ pause => 'press [enter] to build QT3 next!'],1064 [ archive => $sources.'qt-3.3.x-p8.tar.bz2',1065 fetch => 'http://'.$sourceforge.'/sourceforge/qtwin/qt-3.3.x-p8.tar.bz2'],1066 [ dir => $msys.'qt-3.3.x-p8',1067 extract => [$sources.'qt-3.3.x-p8.tar', $msys] ],1068 1069 1070 # equivalent patch:1071 [ archive => $sources.'qt.patch' ,1072 'fetch' => 'http://tanas.ca/qt.patch',1073 comment => ' patch the QT sources'],1074 [ filesame => [$msys.'qt-3.3.x-p8/qt.patch',$sources."qt.patch"],1075 copy => [''=>''] ],1076 [ grep => ["\-lws2_32", $msys.'qt-3.3.x-p8/mkspecs/win32-g++/qmake.conf'],1077 shell => ["cd ".$unixmsys."qt-3.3.x-p8/","patch -p1 < qt.patch"],1078 comment => 'patch the qt3 qmake.conf' ],1079 1080 1081 [ file => $msys.'bin/sh_.exe',1082 shell => ["mv ".$unixmsys."bin/sh.exe ".$unixmsys."bin/sh_.exe"],1083 comment => 'rename msys sh.exe out of the way before building QT! ' ] ,1084 1085 # write a batch script for the QT environment under DOS:1086 [ file => $msys.'qt-3.3.x-p8/qt3_env.bat',1087 write => [$msys.'qt-3.3.x-p8/qt3_env.bat',1088 'rem a batch script for the QT environment under DOS:1089 set QTDIR='.$dosmsys.'qt-3.3.x-p81090 set MINGW='.$dosmingw.'1091 set PATH=%QTDIR%\bin;%MINGW%\bin;%PATH%1092 set QMAKESPEC=win32-g++1093 cd %QTDIR%1094 '1095 ],comment=>'write a batch script for the QT3 environment under DOS'],1096 1097 1098 [ file => $msys.'qt-3.3.x-p8/lib/libqt-mt3.dll',1099 exec => $dosmsys.'qt-3.3.x-p8\qt3_env.bat && '.1100 'configure.bat -thread -plugin-sql-mysql -opengl -no-sql-sqlite',1101 comment => 'Execute qt3_env.bat && the configure command to actually '.1102 'build QT now! - ie configures qt and '.1103 'also makes it, hopefully! WARNING SLOW (MAY TAKE HOURS!)' ],1104 [ exists => $mingw.'bin/sh.exe',1105 shell => ["mv ".$unixmingw."bin/sh.exe ".$unixmingw."bin/sh_.exe"],1106 comment => 'rename mingw sh.exe out of the way before building QT! ' ] ,1107 1108 [ filesame => [$msys.'qt-3.3.x-p8/bin/libqt-mt3.dll',$msys.'qt-3.3.x-p8/lib/libqt-mt3.dll'],1109 copy => [''=>''],1110 comment => 'is there a libqt-mt3.dll in the "lib" folder of QT? if so, copy it to the the "bin" folder for uic.exe to use!' ],1111 1112 # did the configure finish? - run mingw32-make to get it to finish1113 # properly.1114 # HINT: the very last file built in a successful QT build env is the C:\msys\1.0\qt-3.3.x-p8\examples\xml\tagreader-with-features\tagreader-with-features.exe1115 #[ file => $msys.'qt-3.3.x-p8/examples/xml/tagreader-with-features/tagreader-with-features.exe', exec => $dosmsys.'qt-3.3.x-p8\qt3_env.bat && mingw32-make',comment => 'we try to finish the build of QT with mingw32-make, incase it was just a build dependancy issue? WARNING SLOW (MAY TAKE HOURS!)' ],1116 1117 # TODO - do we have an action we can take to build just this one file/dll if it fails?1118 # For now, we will just test if it built, and try to run 'make' again if it didn't!1119 [ file => $msys.'qt-3.3.x-p8/plugins/sqldrivers/libqsqlmysql.dll',1120 exec => $dosmsys.'qt-3.3.x-p8\qt3_env.bat && mingw32-make -j',1121 comment => 'lib\libqsqlmysql.dll - we are just validating some basics of '.1122 'the QT install, and if any of these components are missing, '.1123 'the build must have failed (is the sql driver built properly?) '],1124 [ file => $msys.'qt-3.3.x-p8/bin/qmake.exe',1125 exec => $dosmsys.'qt-3.3.x-p8\qt3_env.bat && mingw32-make',1126 comment => 'bin\qmake.exe - here we are just validating some basics of '.1127 'the QT install, and if any of these components are missing, '.1128 'the build must have failed (is the sql driver built properly?) '],1129 [ file => $msys.'qt-3.3.x-p8/bin/moc.exe',1130 exec => $dosmsys.'qt-3.3.x-p8\qt3_env.bat && mingw32-make',1131 comment => 'bin\moc.exe - here we are just validating some basics of '.1132 'the QT install, and if any of these components are missing, '.1133 'the build must have failed (is the sql driver built properly?) '],1134 [ file => $msys.'qt-3.3.x-p8/bin/uic.exe',1135 exec => $dosmsys.'qt-3.3.x-p8\qt3_env.bat && mingw32-make',1136 comment => 'bin\uic.exe - here we are just validating some basics of '.1137 'the QT install, and if any of these components are missing, '.1138 'the build must have failed (is the sql driver built properly?) '],1139 [ file => $msys.'qt-3.3.x-p8/lib/libqt-mt3.dll',1140 exec => $dosmsys.'qt-3.3.x-p8\qt3_env.bat && mingw32-make',1141 comment => 'bin\libqt-mt3.dll - here we are just validating some basics of '.1142 'the QT install, and if any of these components are missing, '.1143 'the build must have failed (is the sql driver built properly?) '],1144 1145 # a manual method for "installing" QT would be to put all the 'bin' files1146 # into /mingw/bin and similarly for the 'lib' and 'include' folders to their1147 # respective mingw folders, but we don't. we run it from the build location!1148 1149 1150 # (back to sh.exe ) now that we are done !1151 [ file => $msys.'bin/sh.exe',1152 shell => ["mv ".$unixmsys."bin/sh_.exe ".$unixmsys."bin/sh.exe"],1153 comment => 'rename msys sh_.exe back again!' ] ,1154 [ exists => $mingw.'bin/sh_.exe',1155 shell => ["mv ".$unixmingw."bin/sh_.exe ".$unixmingw."bin/sh.exe"],1156 comment => 'rename mingw sh_.exe back again!' ] ,1157 1158 #Copy libqt-mt3.dll to libqt-mt.dll , if there is any date/size change!1159 [ filesame => [$msys.'qt-3.3.x-p8/lib/libqt-mt.dll',1160 $msys.'qt-3.3.x-p8/lib/libqt-mt3.dll'],1161 copy => [''=>''],1162 comment => 'Copy libqt-mt3.dll to libqt-mt.dll' ] ,1163 ;1164 }1165 1166 939 # 1167 940 #---------------------------------------- 1168 941 # building QT4 is complicated too … … 1354 1127 push @{$expect}, 1355 1128 # now lets write some build scripts to help with mythtv itself 1356 1129 1357 # Qt31358 [ always => [],1359 write => [$mythtv.'qt3_env.sh',1360 'export QTDIR='.$unixmsys.'qt-3.3.x-p81361 export QMAKESPEC=$QTDIR/mkspecs/win32-g++1362 export LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib:/mingw/lib:/lib1363 export PATH=$QTDIR/bin:/usr/local/bin:$PATH1364 ' ],1365 comment => 'write a QT3 script that we can source later when inside msys '.1366 'to setup the environment variables'],1367 1368 1369 1130 # Qt4 1370 1131 [ always => [], 1371 1132 write => [$mythtv.'qt4_env.sh', 1372 1133 'export QTDIR='.$unixqt4dir.' 1373 1134 export QMAKESPEC=$QTDIR/mkspecs/win32-g++ 1374 1135 export LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib:/mingw/lib:/lib 1375 export PATH=$QTDIR/bin:/usr/local/bin:$PATH 1136 export LIBRARY_PATH=/usr/lib 1137 export CPATH=/usr/include 1138 export PATH=$QTDIR/bin:/usr/bin:$PATH 1376 1139 ' ], 1377 1140 comment => 'write a QT4 script that we can source later when inside msys '. 1378 1141 'to setup the environment variables'], … … 1381 1144 [ always => [], 1382 1145 write => [$mythtv.'make_clean.sh', 1383 1146 'source '.$unixmythtv.'qt'.$qtver.'_env.sh 1384 rm -f /usr/bin/myth*.exe1385 rm -f /usr/bin/libmyth*.dll1386 rm -f /usr/lib/libmyth*.*1387 rm -f /usr/lib/liblibmyth*.*1388 rm -fr /usr/include/mythtv1389 rm -fr /usr/lib/mythtv1390 rm -fr /usr/share/mythtv1391 rm -fr /lib/mythtv1392 rm -f /usr/bin/mtd.exe1393 rm -f /usr/bin/ignyte.exe1394 1147 cd '.$unixmythtv.'mythtv 1395 make clean 1396 rm Makefile 1148 make distclean 1397 1149 cd '.$unixmythtv.'mythplugins 1398 make clean 1399 rm Makefile 1150 make distclean 1151 cd '.$unixmythtv.'myththemes 1152 make distclean 1400 1153 cd '.$unixmythtv.'oldthemes 1401 make clean 1402 rm Makefile 1154 make distclean 1403 1155 cd '.$unixmythtv.' 1404 find . -type f -name \*.dll | grep -v build | grep -v setup | xargs -n1 rm 1405 find . -type f -name \*.exe | grep -v build | grep -v setup | xargs -n1 rm 1406 find . -type f -name \*.a | xargs -n1 rm 1407 find . -type f -name \*.o | xargs -n1 rm 1408 #find . -type f -name Makefile\.* | grep -v svn | xargs -n1 rm 1409 find . -type f -name moc_\*.cpp | grep -v svn | xargs -n1 rm 1410 #rm -rf '.$unixmythtv.'mythtv/libs/libmythdb 1156 find . -type f -name \*.dll -o -name \*.exe -o -name \*.a \ 1157 -o -name \*.o -o -name moc_\*.cpp -o -name version.cpp \ 1158 | grep -v build | grep -v setup | grep -v svn | xargs -n1 rm -v 1411 1159 rm -f '.$mythtv.'delete_to_do_make_clean.txt 1412 1160 '], 1413 1161 comment => 'write a script to clean up myth environment'], … … 1460 1208 # ... then SVN update every time, before patches 1461 1209 1462 1210 [ always => [], 1463 exec => [$dosmsys."bin\\svn .exe-r $SVNRELEASE update $dosmythtv$comp"],1211 exec => [$dosmsys."bin\\svn -r $SVNRELEASE update $dosmythtv$comp"], 1464 1212 comment => "Getting SVN updates for:$comp on $svnlocation" ]; 1465 1213 } 1466 1214 … … 1469 1217 # always get svn num 1470 1218 [ always => [], 1471 1219 exec => ['cd '.$dosmythtv.'mythtv && '. 1472 $dosmsys.'bin\svn .exeinfo > '.$dosmythtv.'mythtv\svn_info.new'],1220 $dosmsys.'bin\svn info > '.$dosmythtv.'mythtv\svn_info.new'], 1473 1221 comment => 'fetching the SVN number to a text file, if we can'], 1474 1222 [ filesame => [$mythtv.'mythtv/svn_info.txt',$mythtv.'mythtv/svn_info.new'], 1475 1223 shell => ['touch -r '.$unixmythtv.'mythtv/svn_info.txt '. … … 1486 1234 .$unixmythtv.'mythtv/svn_info.txt'], 1487 1235 comment => 'if the SVN number is changed, then remember that, AND arrange for a full re-make of mythtv. (overkill, I know, but safer)' ], 1488 1236 1489 # open up the permissions:1490 [ always => [],1491 shell => ['cd '.$unixmythtv.'mythtv',1492 #TODO - reenable 'chmod -R 777 .'1493 # 'cd '.$unixmythtv.'mythplugins',1494 # 'chmod -R 777 .'1495 # 'cd '.$unixmythtv.'mythtvthemes',1496 # 'chmod -R 777 .'1497 ],1498 comment => 'loosening permissions on source code:'],1499 1237 1500 1501 1502 1238 # [ pause => 'press [enter] to continue !'], 1503 1239 1504 1240 # apply any outstanding win32 patches - this section will be hard to keep upwith HEAD/SVN: … … 1506 1242 # expired patches 1507 1243 #---------------------------------------- 1508 1244 1509 # 15586 and earlier need this patch:1510 #[ archive => $sources.'backend.patch.gz' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/4392/backend.patch.gz', comment => 'backend.patch.gz - apply any outstanding win32 patches - this section will be hard to keep up with HEAD/SVN'],1511 #[ filesame => [$mythtv.'mythtv/backend.patch.gz',$sources."backend.patch.gz"], copy => [''=>'',comment => '4392: - backend connections being accepted patch '] ],1512 #[ grep => ['unsigned\* Indexes = new unsigned\[n\]\;',$mythtv.'mythtv/libs/libmyth/mythsocket.cpp'], shell => ["cd ".$unixmythtv."mythtv/","gunzip -f backend.patch.gz","patch -p0 < backend.patch"] ],1513 1514 # these next 3 patches are needed for 15528 (and earlier)1515 #[ archive => $sources.'importicons_windows_2.diff' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/3334/importicons_windows_2.diff', comment => 'importicons_windows_2.diff - apply any outstanding win32 patches - this section will be hard to keep up with HEAD/SVN'],1516 #[ filesame => [$mythtv.'mythtv/importicons_windows_2.diff',$sources."importicons_windows_2.diff"], copy => [''=>'',comment => '3334 fixes error with mkdir() unknown.'] ],1517 #1518 #[ grep => ['\#include <qdir\.h>',$mythtv.'mythtv/libs/libmythtv/importicons.cpp'], shell => ["cd ".$unixmythtv."mythtv/","patch -p0 < importicons_windows_2.diff"] ],1519 #[ archive => $sources.'mingw.patch' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/4516/mingw.patch', comment => 'mingw.patch - apply any outstanding win32 patches - this section will be hard to keep up with HEAD/SVN'],1520 #[ filesame => [$mythtv.'mythtv/mingw.patch',$sources."mingw.patch"], copy => [''=>'',comment => '4516 fixes build'] ],1521 #[ grep => ['LIBS \+= -lmyth-\$\$LIBVERSION',$mythtv.'mythtv/libs/libmythui/libmythui.pro'], shell => ["cd ".$unixmythtv."mythtv/","patch -p0 < mingw.patch"] ]1522 #1523 # (fixed in 15547)1524 #[ archive => $sources.'util_win32.patch' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/4497/util_win32.patch', comment => 'util_win32.patch - apply any outstanding win32 patches - this section will be hard to keep up with HEAD/SVN'],1525 #[ filesame => [$mythtv.'mythtv/util_win32.patch',$sources."util_win32.patch"], copy => [''=>'',comment => '4497 fixes build'] ],1526 #[ grep => ['\#include "compat.h"',$mythtv.'mythtv/libs/libmyth/util.h'], shell => ["cd ".$unixmythtv."mythtv/libs/libmyth/","patch -p0 < ".$unixmythtv."mythtv/util_win32.patch"] ],1527 1528 # post 15528, pre 15568 needs this: equivalent to: svn merge -r 15541:15540 .1529 #[ archive => $sources.'15541_undo.patch' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/XXXX/15541_undo.patch', comment => 'util_win32.patch - apply any outstanding win32 patches - this section will be hard to keep up with HEAD/SVN'],1530 #[ filesame => [$mythtv.'mythtv/15541_undo.patch',$sources."15541_undo.patch"], copy => [''=>'',comment => 'XXXX'] ],1531 #[ grep => ['\#include \"compat.h\"',$mythtv.'mythtv/libs/libmythui/mythpainter.cpp'], shell => ["cd ".$unixmythtv."mythtv/libs/libmyth/","patch -p2 < ".$unixmythtv."mythtv/15541_undo.patch"] , comment => 'currently need this patch too, equivalemnt of: svn merge -r 15541:15540 .'],1532 1533 # Ticket 49841534 #[ archive => $sources.'4984_mythcontext.patch6' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/4984/mythcontext.patch6', comment => 'Applying Ticket 4984'],1535 #[ filesame => [$mythtv.'mythtv/4984_mythcontext.patch6',$sources."4984_mythcontext.patch6"], copy => [''=>'',comment => 'XXXX'] ],1536 #[ grep => ['MYTHLIBDIR',$mythtv.'mythtv/libs/libmyth/mythcontext.cpp'], shell => ["cd ".$unixmythtv."mythtv/","patch -p0 < ".$unixmythtv."mythtv/4984_mythcontext.patch6"] , comment => ' 4984'],1537 1538 1539 # Ticket 46991540 #[ archive => $sources.'4699_win32_fs.patch', 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/4699/win32_fs.patch', comment => 'win32_fs.patch'],1541 #[ filesame => [$mythtv.'mythtv/4699_win32_fs.patch',$sources."4699_win32_fs.patch"], copy => [''=>'',comment => 'XXXX'] ],1542 #[ grep => ['setCaption',$mythtv.'mythtv/libs/libmythui/mythmainwindow.cpp'], shell => ["cd ".$unixmythtv."mythtv","patch -p0 < ".$unixmythtv."mythtv/4699_win32_fs.patch"] , comment => ' 4699'],1543 1544 # 47181545 #[ archive => $sources.'4718_undo.patch' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/4718/dvd_playback.patch', comment => 'Ticket 4718 dvdplayer.patch'],1546 #[ filesame => [$mythtv.'mythtv/4718_undo.patch',$sources."4718_undo.patch"], copy => [''=>'',comment => 'XXXX'] ],1547 #[ grep => ['filename.right(filename.length() - 4)',$mythtv.'mythtv/libs/libmythtv/RingBuffer.cpp'], shell => ["cd ".$unixmythtv."mythtv/","patch -p0 < ".$unixmythtv."mythtv/4718_undo.patch"] , comment => ' .'],1548 #[ archive => $sources.'4718_playback.patch' , 'fetch' => 'http://svn.mythtv.org/trac/raw-attachment/ticket/4718/dvd_playback_plugin.patch', comment => 'dvdplayer.patch - apply any outstanding win32 patches - this section will be hard to keep upwith HEAD/SVN'],1549 #[ filesame => [$mythtv.'mythtv/4718_playback.patch',$sources."4718_playback.patch"], copy => [''=>'',comment => 'XXXX'] ],1550 #[ grep => ['gc->setValue\("D:',$mythtv.'mythplugins/mythvideo/mythvideo/globalsettings.cpp'], shell => ["cd ".$unixmythtv."mythplugins/mythvideo","patch -p0 < ".$unixmythtv."mythtv/4718_undo.patch"] , comment => ' .'],1551 #[ grep => ['\"dvd:\/\"',$mythtv.'mythplugins/mythvideo/mythvideo/main.cpp'], shell => ["cd ".$unixmythtv."mythplugins/mythvideo","patch -p1 < ".$unixmythtv."mythtv/4718_undo.patch"] , comment => ' 4718'],1552 1553 1245 # Ticket 15831 1554 1246 #[ archive => $sources.'15831_win32_fs.patch', 'fetch' => 'http://svn.mythtv.org/trac/changeset/15831?format=diff&new=15831', comment => 'win32_fs.patch - apply any outstanding win32 patches - this section will be hard to keep upwith HEAD/SVN'], 1555 1247 #[ filesame => [$mythtv.'mythtv/15831_win32_fs.patch',$sources."15831_win32_fs.patch"], copy => [''=>'',comment => 'XXXX'] ], … … 1599 1291 foreach my $comp( @components ) { 1600 1292 push @{$expect}, 1601 1293 [ file => $mythtv.'delete_to_do_make_clean.txt', 1602 exec => [$dosmsys."bin\\svn .exe-R revert $dosmythtv$comp", "nocheck"],1294 exec => [$dosmsys."bin\\svn -R revert $dosmythtv$comp", "nocheck"], 1603 1295 comment => "reverting any local MODS from SVN - $comp on $svnlocation" ], 1604 1296 1605 1297 # this is now done as part of make_clean.sh, which happens EARLIER … … 1631 1323 shell => ['source '.$unixmythtv.'qt'.$qtver.'_env.sh', 1632 1324 'cd '.$unixmythtv.'mythtv', 1633 1325 './configure --prefix='.$unixbuild.' --runprefix=..'. 1634 ' --disable-dbox2'.1635 1326 ' --disable-iptv --disable-joystick-menu --disable-xvmc-vld'. 1636 ' --disable-xvmc --disable-lirc '.1327 ' --disable-xvmc --disable-lirc --disable-dbox2'. 1637 1328 ' --cpu=pentium4 --compile-type='.$compile_type], 1638 1329 comment => 'do we already have a Makefile for mythtv?' ], 1639 1330 1640 1331 # make 1641 1332 1642 # fix a bug in Makefile and make COPY_DIR cp -fr instead of cp -f1643 # TODO Check if this is necessary. I suspect it was meant to fix #4949?1644 #1645 [ file => $mythtv.'mythtv/fix_makefile.sh',1646 write => [$mythtv.'mythtv/fix_makefile.sh',1647 'cd '.$unixmythtv.'mythtv1648 cat Makefile | sed "s/\(^COPY_DIR\W*\=\W*cp\)\(\W\-f\)/\1 -fr/" > Makefile_new1649 cp Makefile_new Makefile1650 '],1651 comment => 'write a script to fix Makefile'],1652 1653 1333 [ newer => [$mythtv."mythtv/libs/libmyth/libmyth-$version.dll", 1654 1334 $mythtv.'mythtv/last_build.txt'], 1655 1335 shell => ['rm '.$unixmythtv."mythtv/libs/libmyth/libmyth-$version.dll", … … 1709 1389 source '.$unixmythtv.'qt'.$qtver.'_env.sh 1710 1390 cd '.$unixmythtv.' 1711 1391 echo copying main QT dlls to build folder... 1712 # mythtv probably needs the qt3 dlls at runtime:1713 cp '.$unixmsys.'qt-3.3.x-p8/lib/*.dll '.$unixmythtv.'build/bin1714 1392 # mythtv needs the qt4 dlls at runtime: 1715 1393 cp '.$unixqt4dir.'bin/*.dll '.$unixmythtv.'build/bin 1716 1394 # qt mysql connection dll has to exist in a subfolder called sqldrivers: … … 1725 1403 # translations go into <installprefix>/share/mythtv/i18n 1726 1404 mkdir '.$unixmythtv.'/build/bin/sqldrivers 1727 1405 echo Copying QT plugin required dlls.... 1728 cp '.$unixmsys.'qt-3.3.x-p8/plugins/sqldrivers/libqsqlmysql.dll '.$unixmythtv.'build/bin/sqldrivers1729 1406 cp '.$unixqt4dir.'plugins/sqldrivers/qsqlmysql*.dll '.$unixmythtv.'build/bin/sqldrivers 1730 1407 echo Copying ming and msys dlls to build folder..... 1731 1408 # pthread dlls and mingwm10.dll are copied from here: 1732 1409 cp /mingw/bin/*.dll '.$unixmythtv.'build/bin 1733 # msys-1.0.dll dll iscopied from here:1734 cp /bin/ msys-1.0.dll '.$unixmythtv.'build/bin1410 # msys-1.0.dll and library dlls are copied from here: 1411 cp /bin/*.dll '.$unixmythtv.'build/bin 1735 1412 echo copying lib files... 1736 1413 mv '.$unixmythtv.'build/lib/*.dll '.$unixmythtv.'build/bin/ 1737 1414 mv '.$unixmythtv.'build/bin/*.a '.$unixmythtv.'build/lib/ 1738 1415 1739 # because the install process failes to copy the .mak file (needed by the plugins), we copy it manually.1740 cp '.$unixmythtv.'mythtv/libs/libmyth/mythconfig.mak '.$unixmythtv.'build//include/mythtv/1741 1742 1416 touch '.$unixmythtv.'/build/package_flag 1743 cp '.$unixmythtv.'gdb_*.bat '.$unixmythtv.'build/bin1744 1417 cp '.$unixmythtv.'packaging/Win32/debug/*.cmd '.$unixmythtv.'build/bin 1745 1418 '], 1746 1419 comment => 'write a script to install mythtv to build folder'], 1747 1420 1748 1421 1749 # Create file to install mythplugins1750 [ always => [],1751 write => [$mythtv.'setup_plugins.sh',1752 '#!/bin/bash1753 source '.$unixmythtv.'qt'.$qtver.'_env.sh1754 cd '.$unixmythtv.'1755 echo Copying exe files....1756 find /usr/bin -name \\myth*.exe | grep -v build | xargs -n1 -i__ cp __ ./build/1757 echo Copying dll files....1758 find /usr/bin -name \\libmyth*.dll | grep -v build | xargs -n1 -i__ cp __ ./build/1759 find /usr/lib -name \\libmyth*.dll | grep -v build | xargs -n1 -i__ cp __ ./build/1760 echo Copying share files...1761 cp -ur /share/mythtv ./build/share/1762 echo Copying lib files...1763 cp -ur /lib/mythtv/* ./build/lib/mythtv1764 cp -ur /usr/lib/mythtv/* ./build/lib/mythtv1765 '],1766 comment => 'write a script to install plugins to build folder'],1767 1768 1769 1422 # chmod the shell scripts, everytime 1770 1423 [ always => [], 1771 1424 shell => ["cd $mythtv","chmod 755 *.sh"] ], … … 1942 1595 ' --disable-mythgame --disable-mythnews'. 1943 1596 ' --disable-mythzoneminder --enable-aac'. 1944 1597 ' --enable-libvisual --enable-fftw --compile-type='.$compile_type, 1945 #'touch '.$unixmythtv.'mythplugins/cleanup/cleanup.pro'1946 1598 ], 1947 1599 comment => 'do we already have a Makefile for myth plugins?' ], 1948 1600 1949 1601 #[ pause => 'how does the mythplugins Makefile look? '. 1950 1602 # '(did we get any errors on screen?)'], 1951 1603 1952 1953 [ grep => ['win32:DEPENDS', $mythtv.'mythplugins/settings.pro'],1954 shell => ['echo \'win32:DEPENDS += ./\' >> '.1955 $mythtv.'mythplugins/settings.pro','nocheck'],1956 comment => 'fix settings.pro' ],1957 1958 #hack mythconfig.mak to remove /usr1959 [ grep => ['LIBDIR=/lib', $mythtv.'mythplugins/mythconfig.mak'],1960 shell => ['cd '.$unixmythtv.'mythplugins',1961 'sed -e \'s|/usr||\' mythconfig.mak > mythconfig2.mak',1962 'cp mythconfig2.mak mythconfig.mak', 'nocheck'],1963 comment => 'hack mythconfig.mak'],1964 1965 1604 # make 1966 1605 [ newer => [$mythtv.'mythplugins/mythmovies/mythmovies/libmythmovies.dll', 1967 1606 $mythtv.'mythtv/last_build.txt'], … … 1970 1609 comment => 'PLUGINS! redo make if we need to '. 1971 1610 '(see the last_build.txt identifier)' ], 1972 1611 1973 # make cleanup/cleanup.pro as install fails without it1974 #[ file => $mythtv.'mythplugins/cleanup/cleanup.pro',1975 # shell => ['touch '.$unixmythtv.'mythplugins/cleanup/cleanup.pro',1976 # 'nocheck'],1977 # comment => 'make cleanup.pro'],1978 1979 1612 # make install 1980 1613 [ newer => [$mythtv.'build/lib/mythtv/plugins/libmythmovies.dll', 1981 1614 $mythtv.'mythplugins/mythmovies/mythmovies/libmythmovies.dll'], … … 1983 1616 'cd '.$unixmythtv.'mythplugins','make install'], 1984 1617 comment => 'PLUGINS! make install' ], 1985 1618 1986 # Copy to build area1987 #[ newer => [$mythtv.'build/lib/mythtv/plugins/libmythmovies.dll',1988 # $msys.'lib/mythtv/plugins/libmythmovies.dll'],1989 # shell => [$unixmythtv.'setup_plugins.sh'],1990 # comment => 'Copy mythplugins to ./build folder' ],1991 1992 # Qt3 can't cope with wildcards in the install targets:1993 [ file => $build.'/share/mythtv/videomenu.xml',1994 shell => ['cd '.$unixmythtv.'mythplugins',1995 'cp mythcontrols/mythcontrols/controls-ui.xml'.1996 ' mythcontrols/images/*.png '.1997 ' mythvideo/theme/default/*.xml'.1998 ' mythvideo/theme/default/images/*.png'.1999 ' mythweather/mythweather/weather-ui.xml'.2000 ' mythweather/mythweather/images/*.png'.2001 ' '.$unixbuild.'/share/mythtv/themes/default',2002 'cp mythmovies/mythmovies/theme-wide/*.xml'.2003 ' mythvideo/theme/default-wide/*.xml'.2004 ' mythvideo/theme/default-wide/images/*.png'.2005 ' mythweather/mythweather/theme-wide/weather-ui.xml'.2006 ' mythweather/mythweather/theme-wide/images/*.png'.2007 ' '.$unixbuild.'/share/mythtv/themes/default-wide',2008 'cp mythweather/mythweather/weather_settings.xml'.2009 ' mythvideo/theme/menus/*.xml'.2010 ' '.$unixbuild.'/share/mythtv',2011 'mkdir -p '.$unixbuild.'/share/mythtv/mythvideo/scripts',2012 'cp mythvideo/mythvideo/scripts/*'.2013 ' '.$unixbuild.'/share/mythtv/mythvideo/scripts',2014 'mkdir -p '.$unixbuild.'/share/mythtv/mythweather/scripts',2015 'cp mythweather/mythweather/weather-screens.xml'.2016 ' '.$unixbuild.'/share/mythtv/mythweather',2017 'cp -pr mythweather/mythweather/scripts/* '.2018 ' '.$unixbuild.'/share/mythtv/mythweather/scripts']2019 ]2020 1619 ; 2021 1620 } 2022 1621 2023 1622 2024 if ( grep m/oldthemes/, @components ) {1623 foreach my $themecomp ( grep m/themes/, @components ) { 2025 1624 # ------------------------------- 2026 1625 # Make themes 2027 1626 # ------------------------------- 2028 1627 push @{$expect}, 2029 1628 ## config: 2030 [ file => $mythtv. 'oldthemes/Makefile',1629 [ file => $mythtv.$themecomp.'/Makefile', 2031 1630 shell => ['source '.$unixmythtv.'qt'.$qtver.'_env.sh', 2032 'cd '.$unixmythtv. 'oldthemes','./configure --prefix='.$unixbuild],2033 comment => 'do we already have a Makefile for oldthemes?'],1631 'cd '.$unixmythtv.$themecomp,'./configure --prefix='.$unixbuild], 1632 comment => "do we already have a Makefile for $themecomp?" ], 2034 1633 2035 ## fix oldthemes.pro2036 [ grep => ['^win32:QMAKE_INSTALL_DIR', $mythtv.'oldthemes/oldthemes.pro'],2037 shell => ['echo \'win32:QMAKE_INSTALL_DIR = sh ./cpsvndir\' >> '.2038 $mythtv.'oldthemes/oldthemes.pro','nocheck'],2039 comment => 'fix oldthemes.pro' ],2040 [ grep => ['win32:DEPENDS', $mythtv.'oldthemes/oldthemes.pro'],2041 shell => ['echo \'win32:DEPENDS += ./\' >> '.2042 $mythtv.'oldthemes/oldthemes.pro','nocheck'],2043 comment => 'fix oldthemes.pro' ],2044 2045 #hack mythconfig.mak to remove /usr2046 [ grep => ['LIBDIR=/lib', $mythtv.'oldthemes/mythconfig.mak'],2047 shell => ['cd '.$unixmythtv.'oldthemes',2048 'sed -e \'s|/usr||\' mythconfig.mak > mythconfig2.mak',2049 'cp mythconfig2.mak mythconfig.mak', 'nocheck'],2050 comment => 'hack mythconfig.mak'],2051 2052 1634 ## make 2053 [ dir => [$mythtv.'/build/share/mythtv/themes/Retro'],1635 [ file => [$mythtv.'build/share/'.$themecomp.'.installed'], 2054 1636 shell => ['source '.$unixmythtv.'qt'.$qtver.'_env.sh', 2055 'cd '.$unixmythtv.'oldthemes','make', 'make install'], 1637 'cd '.$unixmythtv.$themecomp,'make', 'make install', 1638 'touch '.$unixmythtv.'build/share/'.$themecomp.'.installed'], 2056 1639 comment => 'THEMES! redo make if we need to '. 2057 1640 '(see the last_build.txt identifier)' ], 2058 1641 ; 1642 } 2059 1643 1644 if ( grep m/themes/, @components ) { 1645 push @{$expect}, 2060 1646 # Get any extra Themes 2061 1647 # 2062 1648 … … 2074 1660 # Move ttf fonts to font directory 2075 1661 [ always => [], 2076 1662 shell => ['source '.$unixmythtv.'qt'.$qtver.'_env.sh', 2077 'cd '.$unixmythtv.' oldthemes',1663 'cd '.$unixmythtv.'build', 2078 1664 'find '.$unixmythtv.'build/share/mythtv/themes/ -name "*.ttf"'. 2079 1665 ' | xargs -n1 -i__ cp __ '.$unixmythtv.'build/share/mythtv'], 2080 1666 comment => 'move ttf files'], … … 2581 2167 print FILE $_[0] or die "_fetch can't write to $file: $!\n"; 2582 2168 } 2583 2169 ); 2584 close(FILE) || die"_fetch can't close $file: $!\n";2170 close(FILE) || print "_fetch can't close $file: $!\n"; 2585 2171 if (my $mtime = $res->last_modified) { 2586 2172 utime time, $mtime, $file; 2587 2173 } … … 2715 2301 2716 2302 -h This message 2717 2303 -v Verbose output 2718 - u all|mythtv|mythplugins|oldthemes2719 Revert instead of checkout !! 2304 -o Include oldthemes in the build [default off] 2305 -g Exclude mythplugins from the build [default off] 2720 2306 -k Package win32 distribution 2721 2307 -p proxy:port Your proxy 2722 2308 -r XXXX|head Your prefered revision (to change revision)