<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c47381686b9c0bc10edc19595d58a12a6b3b07aa">https://github.com/macports/macports-ports/commit/c47381686b9c0bc10edc19595d58a12a6b3b07aa</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c47381686b9c0bc10edc19595d58a12a6b3b07aa
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Mon Jun 11 18:41:48 2018 -0500
<span style='display:block; white-space:pre;color:#404040;'> minivmac*: Adjust whitespace
</span>---
emulators/minivmac-devel/Portfile | 654 +++++++++++++++++++-------------------
emulators/minivmac/Portfile | 605 ++++++++++++++++++-----------------
2 files changed, 629 insertions(+), 630 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/minivmac-devel/Portfile b/emulators/minivmac-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 23dce72..f2acf40 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/minivmac-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/minivmac-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,51 +1,52 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span>
# Please keep the minivmac and minivmac-devel ports as similar as possible.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_name minivmac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_suffix -devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name ${my_name}${my_suffix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_subport [regsub -- {-devel$} ${subport} {}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts [lsearch -all -inline -not -exact [list ${my_subport} ${my_subport}-devel] ${subport}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch 4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version 36.00alpha-20180506
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set branch [join [lrange [split ${version} .] 0 1] .]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_version [strsed ${version} {g/^.*-20//}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories emulators aqua
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers {ryandesign @ryandesign}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license GPL-2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage http://www.gryphel.com/c/minivmac/alpha.html
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms macosx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-dist_subdir ${my_name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description an emulator of the Macintosh Plus and other early Macintosh models
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description Mini vMac emulates early Macintosh computers that use \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Motorola's 680x0 processors, sold by Apple from 1984 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- to 1996.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_name minivmac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_suffix -devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name ${my_name}${my_suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_subport [regsub -- {-devel$} ${subport} {}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts [lsearch -all -inline -not -exact [list ${my_subport} ${my_subport}-devel] ${subport}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 36.00alpha-20180506
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set branch [join [lrange [split ${version} .] 0 1] .]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_version [strsed ${version} {g/^.*-20//}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories emulators aqua
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {ryandesign @ryandesign}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license GPL-2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage http://www.gryphel.com/c/minivmac/alpha.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir ${my_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description an emulator of the Macintosh Plus and other \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ early Macintosh models
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description Mini vMac emulates early Macintosh computers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ that use Motorola's 680x0 processors, sold by \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Apple from 1984 to 1996.
</span>
options my_variations
default my_variations {}
if {${subport} eq ${name}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.type regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.url ${homepage}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# livecheck.version ${my_version}-${branch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.version ${my_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.regex ${my_name}-?(\[0-9.-\]+)\\.src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- The best-tested variation emulates a Macintosh Plus, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- but it can also emulate a Macintosh 128K, 512K, 512Ke, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SE, SE FDHD, Classic, or Macintosh II.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- supported_archs noarch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_run port:${my_name}-plus${my_suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.type regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.url ${homepage}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# livecheck.version ${my_version}-${branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.version ${my_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.regex ${my_name}-?(\[0-9.-\]+)\\.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append The best-tested variation emulates a Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Plus, but it can also emulate a Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 128K, 512K, 512Ke, SE, SE FDHD, Classic, or \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Macintosh II.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run port:${my_name}-plus${my_suffix}
</span> distfiles
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span> build {}
destroot {
xinstall -d ${destroot}${prefix}/share/doc/${subport}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,301 +60,303 @@ if {${subport} eq ${name}} {
</span> ${subport}\' to see the list of available subports.
"
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.type none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- supported_archs i386 ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# distname ${my_name}${my_version}-${branch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distname ${my_name}${my_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- use_zip yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites http://www.gryphel.com/d/minivmac/c/:minivmacsource \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sourceforge:project/minivmac/minivmac-extras/extras6:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sourceforge:project/minivmac/minivmac-extras/extras11:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- http://www.ryandesign.com/macports/distfiles/minivmac:bootstrap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.0.x/:apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_src ${distname}.src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_src_distfile ${my_src}.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_bootstrap_distfile ${my_name}-bootstrap-3.2.3_0.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_icons icnsosx-1.0.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_icons_distfile ${my_icons}.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_autoquit autquit7-1.3.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_autoquit_distfile ${my_autoquit}.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_system_disk_container System_7.0.1.smi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_system_disk_container_distfile ${my_system_disk_container}.bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles ${my_src_distfile}:minivmacsource \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_bootstrap_distfile}:bootstrap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_icons_distfile}:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_autoquit_distfile}:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_system_disk_container_distfile}:apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.only ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_autoquit_distfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 1b214640257d2df4e4448ff9f1fb479633542829 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 74d67aed4fbd5bdfb32d1b4d6417b588f736b56731150f214652a44b8757ea49 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 702294 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 32e803a75d4f9ab6b7dfa5a7b1ec2ef9d3a057c2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 e6fe692683ab54e08b0350fe9901e872f7bf3c3a62f69b45773254fce45a4fae \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 85381 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 cef6d7d7578464538d0042b0d98379ae7f18fab7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 968a0bad51903c9cd3b08476ec5a6572856dc44eedf9ff9b174eb9c59b7b7117 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 60373 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_autoquit_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 949ce06752fbcfa9a92787497dace45e7299eb41 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 a9aad37cfd2d6dbd4db5e307b8598348ba25aa5504aac968b8d570d5927e576a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 52341 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_system_disk_container_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 89fc3780c9c5d575a8da4068dc810c1f56c70211 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 d78e1c52a6f16ba14907cbe816a22a43f8aa8e1a9c4f664d3b7d5d982a9baab2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 5147648
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_extract port:bsdiff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build bin:expect:expect \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:timeout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_skip_archcheck bsdiff expect timeout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_app_dir "${applications_dir}/Mini vMac"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_rom_dir "~/Library/Preferences/Gryphel/mnvm_rom"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_bootstrap_app "Mini vMac Bootstrap.app"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_rom_file vMac.ROM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_base_options "-ef 1 -maintainer MacPorts -homepage https://www.macports.org -cl -eol unx -sony-sum 1 -sony-tag 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.universal_archs {*}${supported_archs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[my_real_rom_file] eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "To build Mini vMac, you will need a ROM file from a Macintosh"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "Plus or 512Ke. And to run it, you need a ROM file from the type"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "of Mac you want to emulate. ROM files are not included with this"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "package because they are copyrighted Apple software."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "To create a ROM file, download the CopyRoms program from"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "http://www.gryphel.com/c/minivmac/extras/copyroms/index.html"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "and transfer it to a real physical early Macintosh that you own."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "Run the CopyRoms program there, then transfer the ROM file back"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "to this Mac and put it in ${my_rom_dir}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "(which can be an alias or symlink if desired) or"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "${my_app_dir}."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "${my_rom_file} not found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.mkdir yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_mnvm_dat "${worksrcpath}/${my_bootstrap_app}/Contents/mnvm_dat"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Decompress the system disk container image.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "Decompressing ${my_system_disk_container_distfile}."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_system_disk_container_decompressed "[file rootname ${my_system_disk_container}].dmg"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath} "hdiutil convert '${distpath}/${my_system_disk_container_distfile}' -format UDRO -o '${my_system_disk_container_decompressed}'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # The images on the container image. Images we don't need are commented out for future reference.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_images {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {Disk Tools.image} 58368 eb1979132c843560ebab490faeb7520d9a94757ecef3121a21abace8d3ae63ff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Fonts.image} 427264 8b06f086a96b75bd23b16ae018bd334696239cb56e65bfa20166ea00d14cdef0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Install 1.image} 796160 8c3ea898eeb88b795041108cd8a09bf4ebdf920d7d4763e4419df14713dbd952
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Install 2.image} 1165056 0fc558475df55f3aed217d2eceebfa29e4a465a795807cd627b258740a9ec55b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Printing.image} 1533952 246cbf69ad1c2e588ee482fddec781135a67fbfe02734bb0f732eb055faa15fa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Tidbits.image} 1902848 3e3600bed1b5c7c595bc176b5eaadcc8c1517032489efc548b9b781c0ee1f062
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Extract the disk images from the system disk container image. `hdiutil` on OS X 10.8 Mountain Lion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # does not mount this disk image correctly, so extract the files manually using `dd`.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_image_filename my_image_offset my_image_sha256} ${my_images} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "Extracting ${my_image_filename} from ${my_system_disk_container_decompressed}."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath} "dd if='${my_system_disk_container_decompressed}' bs=4 count=368661 skip=${my_image_offset} of='${my_image_filename}'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${my_image_sha256} ne [sha256 file ${worksrcpath}/${my_image_filename}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "extract failed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.type none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs i386 ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# distname ${my_name}${my_version}-${branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distname ${my_name}${my_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_zip yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites http://www.gryphel.com/d/minivmac/c/:minivmacsource \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sourceforge:project/minivmac/minivmac-extras/extras6:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sourceforge:project/minivmac/minivmac-extras/extras11:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://www.ryandesign.com/macports/distfiles/minivmac:bootstrap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.0.x/:apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_src ${distname}.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_src_distfile ${my_src}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_bootstrap_distfile ${my_name}-bootstrap-3.2.3_0.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_icons icnsosx-1.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_icons_distfile ${my_icons}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_autoquit autquit7-1.3.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_autoquit_distfile ${my_autoquit}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_system_disk_container System_7.0.1.smi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_system_disk_container_distfile ${my_system_disk_container}.bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles ${my_src_distfile}:minivmacsource \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_bootstrap_distfile}:bootstrap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_icons_distfile}:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_autoquit_distfile}:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_system_disk_container_distfile}:apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.only ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_autoquit_distfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 1b214640257d2df4e4448ff9f1fb479633542829 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 74d67aed4fbd5bdfb32d1b4d6417b588f736b56731150f214652a44b8757ea49 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 702294 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 32e803a75d4f9ab6b7dfa5a7b1ec2ef9d3a057c2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 e6fe692683ab54e08b0350fe9901e872f7bf3c3a62f69b45773254fce45a4fae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 85381 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 cef6d7d7578464538d0042b0d98379ae7f18fab7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 968a0bad51903c9cd3b08476ec5a6572856dc44eedf9ff9b174eb9c59b7b7117 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 60373 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_autoquit_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 949ce06752fbcfa9a92787497dace45e7299eb41 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a9aad37cfd2d6dbd4db5e307b8598348ba25aa5504aac968b8d570d5927e576a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 52341 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_system_disk_container_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 89fc3780c9c5d575a8da4068dc810c1f56c70211 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 d78e1c52a6f16ba14907cbe816a22a43f8aa8e1a9c4f664d3b7d5d982a9baab2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 5147648
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_extract port:bsdiff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build bin:expect:expect \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:timeout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_skip_archcheck bsdiff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ expect \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ timeout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_app_dir "${applications_dir}/Mini vMac"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_rom_dir "~/Library/Preferences/Gryphel/mnvm_rom"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_bootstrap_app "Mini vMac Bootstrap.app"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_rom_file vMac.ROM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_base_options "-ef 1 -maintainer MacPorts -homepage https://www.macports.org -cl -eol unx -sony-sum 1 -sony-tag 1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.universal_archs {*}${supported_archs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[my_real_rom_file] eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "To build Mini vMac, you will need a ROM file from a Macintosh"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Plus or 512Ke. And to run it, you need a ROM file from the type"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "of Mac you want to emulate. ROM files are not included with this"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "package because they are copyrighted Apple software."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "To create a ROM file, download the CopyRoms program from"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "http://www.gryphel.com/c/minivmac/extras/copyroms/index.html"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "and transfer it to a real physical early Macintosh that you own."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Run the CopyRoms program there, then transfer the ROM file back"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "to this Mac and put it in ${my_rom_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "(which can be an alias or symlink if desired) or"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "${my_app_dir}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "${my_rom_file} not found"
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Delete temporary files we no longer need.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${worksrcpath}/${my_system_disk_container_decompressed}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Make the data directory, where Mini vMac looks for the files it needs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Symlink the ROM file into the data directory.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ln -s [my_real_rom_file] ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use the prettier icon on the bootstrap app.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force ${worksrcpath}/${my_icons}/icons//AppIcon.icns ${worksrcpath}/${my_bootstrap_app}/Contents/Resources/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # See README-binary-patchfiles.md in the files directory for instructions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # on recreating these binary patchfiles.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Modify the AutQuit7 disk to have an alias "app" pointing to the MnvM_b36
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # application and an 8192-byte TeachText file called "doc" (containing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # "@START@", 8180 periods and spaces, and "@END@").
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath}/${my_autoquit} "${prefix}/bin/bspatch '${my_autoquit}.dsk' '${my_autoquit}.dsk.tmp' '${filespath}/patch-${my_autoquit}.dsk.bsdiff'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move -force "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk.tmp" "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Modify the Disk Tools disk to have an alias of AutQuit7 in the Startup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Items folder.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath} "${prefix}/bin/bspatch 'Disk Tools.image' 'Disk Tools.image.tmp' '${filespath}/patch-Disk Tools.image.bsdiff'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move -force "${worksrcpath}/Disk Tools.image.tmp" "${worksrcpath}/Disk Tools.image"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ worksrcdir configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.mkdir yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_mnvm_dat "${worksrcpath}/${my_bootstrap_app}/Contents/mnvm_dat"
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy the disk images into the data directory with sequentially-numbered
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # names so Mini vMac will find them and automatically mount them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force "${worksrcpath}/Disk Tools.image" "${my_mnvm_dat}/disk1.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force ${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force ${worksrcpath}/${my_src}/${my_src}.dsk "${my_mnvm_dat}/disk3.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Build up the combined configure args for all variations.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set i 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine my_variation_options} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${i} > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend configure_args \;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Decompress the system disk container image.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Decompressing ${my_system_disk_container_distfile}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_system_disk_container_decompressed "[file rootname ${my_system_disk_container}].dmg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "hdiutil convert '${distpath}/${my_system_disk_container_distfile}' -format UDRO -o '${my_system_disk_container_decompressed}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The images on the container image. Images we don't need are commented out for future reference.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_images {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {Disk Tools.image} 58368 eb1979132c843560ebab490faeb7520d9a94757ecef3121a21abace8d3ae63ff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Fonts.image} 427264 8b06f086a96b75bd23b16ae018bd334696239cb56e65bfa20166ea00d14cdef0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Install 1.image} 796160 8c3ea898eeb88b795041108cd8a09bf4ebdf920d7d4763e4419df14713dbd952
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Install 2.image} 1165056 0fc558475df55f3aed217d2eceebfa29e4a465a795807cd627b258740a9ec55b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Printing.image} 1533952 246cbf69ad1c2e588ee482fddec781135a67fbfe02734bb0f732eb055faa15fa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Tidbits.image} 1902848 3e3600bed1b5c7c595bc176b5eaadcc8c1517032489efc548b9b781c0ee1f062
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Extract the disk images from the system disk container image. `hdiutil` on OS X 10.8 Mountain Lion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # does not mount this disk image correctly, so extract the files manually using `dd`.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_image_filename my_image_offset my_image_sha256} ${my_images} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Extracting ${my_image_filename} from ${my_system_disk_container_decompressed}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "dd if='${my_system_disk_container_decompressed}' bs=4 count=368661 skip=${my_image_offset} of='${my_image_filename}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${my_image_sha256} ne [sha256 file ${worksrcpath}/${my_image_filename}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "extract failed"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend configure_args \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_base_options} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -t ${my_target} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_variation_options} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -n ${my_variation}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- incr i
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Write the configure args into the "doc" file on the AutQuit7 disk image.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set max_configure_args_length 8192
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set padded_args [format "%-${max_configure_args_length}s" [join ${configure_args}]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[string length ${padded_args}] > ${max_configure_args_length}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "configure args too long"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -locale C "s|@START@\[ .\]*@END@|${padded_args}|" "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the number of seconds to wait before killing the bootstrap Mini vMac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # app, in case it gets stuck.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.pre_args [expr 10 * ${i}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Launch the bootstrap Mini vMac to run the configuration. When it's done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # it should automatically quit, but if not, we time out after awhile.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exec -ignorestderr ${prefix}/bin/timeout ${configure.pre_args} "${worksrcpath}/${my_bootstrap_app}/Contents/MacOS/minivmac" 2>/dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Delete temporary files we no longer need.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${worksrcpath}/${my_system_disk_container_decompressed}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Sandbox didn't used to allow access to the ptys Expect needs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/macports/macports-base/commit/8765c14223c2826c958cddd4e33c17801d63ddb4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[vercmp [macports_version] 2.4.99] >= 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Check if a configuration error occurred. This can happen if invalid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # configuration flags were specified.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${my_mnvm_dat}/disk3.dmg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ln ${my_mnvm_dat}/disk3.dsk ${my_mnvm_dat}/disk3.dmg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set mountpoint [my_attach_disk_image ${my_mnvm_dat}/disk3.dmg]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[file exists ${mountpoint}/output/minivmac.err.txt]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy ${mountpoint}/output/minivmac.err.txt ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my_detach_disk_image ${mountpoint}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[file exists ${worksrcpath}/minivmac.err.txt]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fp [open ${worksrcpath}/minivmac.err.txt r]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set error_text [read ${fp}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- close ${fp}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error ${error_text}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Make the data directory, where Mini vMac looks for the files it needs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Symlink the ROM file into the data directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s [my_real_rom_file] ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use the prettier icon on the bootstrap app.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${worksrcpath}/${my_icons}/icons//AppIcon.icns ${worksrcpath}/${my_bootstrap_app}/Contents/Resources/
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See README-binary-patchfiles.md in the files directory for instructions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # on recreating these binary patchfiles.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Modify the AutQuit7 disk to have an alias "app" pointing to the MnvM_b36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # application and an 8192-byte TeachText file called "doc" (containing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # "@START@", 8180 periods and spaces, and "@END@").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath}/${my_autoquit} "${prefix}/bin/bspatch '${my_autoquit}.dsk' '${my_autoquit}.dsk.tmp' '${filespath}/patch-${my_autoquit}.dsk.bsdiff'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move -force "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk.tmp" "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Modify the Disk Tools disk to have an alias of AutQuit7 in the Startup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Items folder.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "${prefix}/bin/bspatch 'Disk Tools.image' 'Disk Tools.image.tmp' '${filespath}/patch-Disk Tools.image.bsdiff'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move -force "${worksrcpath}/Disk Tools.image.tmp" "${worksrcpath}/Disk Tools.image"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${build.dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation_dirs {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${build.dir}/${my_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_src_tarball ${worksrcpath}/${my_variation}.tar
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[file isfile ${my_src_tarball}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation_dir ${my_arch}/${my_machine}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend my_variation_dirs [strsed ${my_variation_dir} {g/ /\\\\ /}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Untar the configured source code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${build.dir} "tar xf '${my_src_tarball}'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move ${build.dir}/${my_variation} ${build.dir}/${my_variation_dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${subport} eq "${my_name}-bootstrap${my_suffix}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Change the "export" function so that exported files are written to the same
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # directory as Mini vMac, instead of prompting for a location.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${build.dir}/${my_variation_dir} "patch -p0 < ${filespath}/patch-src-MYOSGLUE.c.diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Copy the disk images into the data directory with sequentially-numbered
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # names so Mini vMac will find them and automatically mount them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force "${worksrcpath}/Disk Tools.image" "${my_mnvm_dat}/disk1.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${worksrcpath}/${my_src}/${my_src}.dsk "${my_mnvm_dat}/disk3.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Build up the combined configure args for all variations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set i 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine my_variation_options} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${i} > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend configure_args \;
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use the right compiler.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|gcc|${configure.cc}|g" ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Remove references to SDKs -- the 10.4u SDK is not installed by default on 10.6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # and even if you install it manually it does not work here.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -E {s|-isysroot /Developer/SDKs/[^ ]+||g} ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend configure_args \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_base_options} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -t ${my_target} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_variation_options} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -n ${my_variation}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ incr i
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Write the configure args into the "doc" file on the AutQuit7 disk image.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set max_configure_args_length 8192
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set padded_args [format "%-${max_configure_args_length}s" [join ${configure_args}]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string length ${padded_args}] > ${max_configure_args_length}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "configure args too long"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -locale C "s|@START@\[ .\]*@END@|${padded_args}|" "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set the number of seconds to wait before killing the bootstrap Mini vMac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # app, in case it gets stuck.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.pre_args [expr 10 * ${i}]
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set up the global Makefile.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall ${filespath}/Makefile.in ${build.dir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|@SUBDIRS@|[join ${my_variation_dirs}]|" ${build.dir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # If no variation directories were produced by configuration, something went
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # horribly wrong.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${my_variation_dirs} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "configuration failed!"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Launch the bootstrap Mini vMac to run the configuration. When it's done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # it should automatically quit, but if not, we time out after awhile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exec -ignorestderr ${prefix}/bin/timeout ${configure.pre_args} "${worksrcpath}/${my_bootstrap_app}/Contents/MacOS/minivmac" 2>/dev/null
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|${my_target}|umch|" ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Info.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Sandbox didn't used to allow access to the ptys Expect needs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/macports/macports-base/commit/8765c14223c2826c958cddd4e33c17801d63ddb4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp [macports_version] 2.4.99] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Check if a configuration error occurred. This can happen if invalid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # configuration flags were specified.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${my_mnvm_dat}/disk3.dmg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln ${my_mnvm_dat}/disk3.dsk ${my_mnvm_dat}/disk3.dmg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mountpoint [my_attach_disk_image ${my_mnvm_dat}/disk3.dmg]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${mountpoint}/output/minivmac.err.txt]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${mountpoint}/output/minivmac.err.txt ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_detach_disk_image ${mountpoint}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${worksrcpath}/minivmac.err.txt]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set fp [open ${worksrcpath}/minivmac.err.txt r]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set error_text [read ${fp}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ close ${fp}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error ${error_text}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${build.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation_dirs {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${build.dir}/${my_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_src_tarball ${worksrcpath}/${my_variation}.tar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isfile ${my_src_tarball}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation_dir ${my_arch}/${my_machine}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend my_variation_dirs [strsed ${my_variation_dir} {g/ /\\\\ /}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Untar the configured source code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${build.dir} "tar xf '${my_src_tarball}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${build.dir}/${my_variation} ${build.dir}/${my_variation_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${subport} eq "${my_name}-bootstrap${my_suffix}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Change the "export" function so that exported files are written to the same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # directory as Mini vMac, instead of prompting for a location.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${build.dir}/${my_variation_dir} "patch -p0 < ${filespath}/patch-src-MYOSGLUE.c.diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use the right compiler.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|gcc|${configure.cc}|g" ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Remove references to SDKs -- the 10.4u SDK is not installed by default on 10.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and even if you install it manually it does not work here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E {s|-isysroot /Developer/SDKs/[^ ]+||g} ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set up the global Makefile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall ${filespath}/Makefile.in ${build.dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@SUBDIRS@|[join ${my_variation_dirs}]|" ${build.dir}/Makefile
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install the prettier icons.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONAPPO.icns
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONDSKO.icns
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONROMO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If no variation directories were produced by configuration, something went
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # horribly wrong.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${my_variation_dirs} eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "configuration failed!"
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install the programs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_dest ${workpath}/pre-dest/${my_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_dest ${destroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -d ${my_dest}${my_app_dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy ${build.dir}/${my_arch}/${my_machine}/minivmac.app \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "${my_dest}${my_app_dir}/Mini vMac ${my_machine}.app"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|${my_target}|umch|" ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Info.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Install the prettier icons.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONAPPO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONDSKO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONROMO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- merge ${workpath}/pre-dest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Install the programs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_dest ${workpath}/pre-dest/${my_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_dest ${destroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${my_dest}${my_app_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${build.dir}/${my_arch}/${my_machine}/minivmac.app \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${my_dest}${my_app_dir}/Mini vMac ${my_machine}.app"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ merge ${workpath}/pre-dest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
pre-activate {
if {![catch {set installed [lindex [registry_active ${name}] 0]}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -374,36 +377,36 @@ destroot {
</span> }
subport ${my_name}-128k${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {128K} {-m 128K}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {128K} {-m 128K}
</span> }
subport ${my_name}-512k${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {512K} {-m 128K -mem 512K}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {512K} {-m 128K -mem 512K}
</span> }
subport ${my_name}-512ke${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {512Ke} {-m 512Ke}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {512Ke} {-m 512Ke}
</span> }
subport ${my_name}-plus${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {Plus} {-m Plus}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants +icon_master
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {Plus} {-m Plus}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants +icon_master
</span> }
subport ${my_name}-se${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {SE} {-m SE}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {SE} {-m SE}
</span> }
subport ${my_name}-sefdhd${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {SE FDHD} {-m SEFDHD}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {SE FDHD} {-m SEFDHD}
</span> }
subport ${my_name}-classic${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {Classic} {-m Classic}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {Classic} {-m Classic}
</span> }
subport ${my_name}-ii${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
</span> }
# To build the bootstrap application, use:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -411,7 +414,7 @@ subport ${my_name}-ii${my_suffix} {
</span> # The subport is hidden because it is useful only to the port maintainer.
if {[tbool bootstrap]} {
subport ${my_name}-bootstrap${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
</span>
description Mini vMac Bootstrap
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -427,7 +430,7 @@ if {[tbool bootstrap]} {
</span> default_variants +universal
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set output_archive ${workpath}/${my_name}-bootstrap-${version}_${revision}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set output_archive ${workpath}/${my_name}-bootstrap-${version}_${revision}.zip
</span>
post-destroot {
exec 7za a ${output_archive} ${destroot}${my_app_dir}/${my_bootstrap_app}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -447,20 +450,17 @@ if {[tbool bootstrap]} {
</span> }
if {${subport} ni [list "${my_name}${my_suffix}" "${my_name}-bootstrap${my_suffix}"]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- description a Macintosh [lindex ${my_variations} 0] emulator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ description a Macintosh [lindex ${my_variations} 0] emulator
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This subport emulates a Macintosh \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [lindex ${my_variations} 0].
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append This subport emulates a Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [lindex ${my_variations} 0].
</span>
if {[lindex ${my_variations} 0] eq "Plus"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This is the best-tested variation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append This is the best-tested variation.
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- There are other subports that emulate other Macintosh \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- models.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append There are other subports that emulate other Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ models.
</span>
variant icon_master description {Take ownership of disk image files and ROM image files; at most one copy of Mini vMac should do this} {
set my_base_options "${my_base_options} -im 1"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/minivmac/Portfile b/emulators/minivmac/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 573d5a2..d50a28b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/minivmac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/minivmac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,47 +1,48 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span>
# Please keep the minivmac and minivmac-devel ports as similar as possible.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_name minivmac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_suffix {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name ${my_name}${my_suffix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_subport [regsub -- {-devel$} ${subport} {}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts [lsearch -all -inline -not -exact [list ${my_subport} ${my_subport}-devel] ${subport}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version 3.5.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_version [strsed ${version} {g/^.*-20//}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories emulators aqua
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers {ryandesign @ryandesign}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license GPL-2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage http://www.gryphel.com/c/minivmac/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms macosx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-dist_subdir ${my_name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description an emulator of the Macintosh Plus and other early Macintosh models
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description Mini vMac emulates early Macintosh computers that use \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Motorola's 680x0 processors, sold by Apple from 1984 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- to 1996.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_name minivmac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_suffix {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name ${my_name}${my_suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_subport [regsub -- {-devel$} ${subport} {}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts [lsearch -all -inline -not -exact [list ${my_subport} ${my_subport}-devel] ${subport}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 3.5.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_version [strsed ${version} {g/^.*-20//}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories emulators aqua
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {ryandesign @ryandesign}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license GPL-2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage http://www.gryphel.com/c/minivmac/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir ${my_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description an emulator of the Macintosh Plus and other \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ early Macintosh models
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description Mini vMac emulates early Macintosh computers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ that use Motorola's 680x0 processors, sold by \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Apple from 1984 to 1996.
</span>
options my_variations
default my_variations {}
if {${subport} eq ${name}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.type regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.url ${homepage}doc/download.html
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.regex ${my_name}-(\[0-9.\]+)\\.src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- The best-tested variation emulates a Macintosh Plus, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- but it can also emulate a Macintosh 128K, 512K, 512Ke, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SE, SE FDHD, Classic, or Macintosh II.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- supported_archs noarch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_run port:${my_name}-plus${my_suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.type regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.url ${homepage}doc/download.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.regex ${my_name}-(\[0-9.\]+)\\.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append The best-tested variation emulates a Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Plus, but it can also emulate a Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 128K, 512K, 512Ke, SE, SE FDHD, Classic, or \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Macintosh II.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run port:${my_name}-plus${my_suffix}
</span> distfiles
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span> build {}
destroot {
xinstall -d ${destroot}${prefix}/share/doc/${subport}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,279 +56,280 @@ if {${subport} eq ${name}} {
</span> ${subport}\' to see the list of available subports.
"
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.type none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- supported_archs i386 ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distname ${my_name}-${my_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- use_zip yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites http://www.gryphel.com/d/minivmac/minivmac-${my_version}/:minivmacsource \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sourceforge:project/minivmac/minivmac-extras/extras6:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sourceforge:project/minivmac/minivmac-extras/extras11:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- http://www.ryandesign.com/macports/distfiles/minivmac:bootstrap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.0.x/:apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_src ${distname}.src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_src_distfile ${my_src}.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_bootstrap_distfile ${my_name}-bootstrap-3.2.3_0.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_icons icnsosx-1.0.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_icons_distfile ${my_icons}.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_autoquit autquit7-1.3.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_autoquit_distfile ${my_autoquit}.zip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_system_disk_container System_7.0.1.smi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_system_disk_container_distfile ${my_system_disk_container}.bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles ${my_src_distfile}:minivmacsource \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_bootstrap_distfile}:bootstrap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_icons_distfile}:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_autoquit_distfile}:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_system_disk_container_distfile}:apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.only ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_autoquit_distfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 818b45d1ee993c28ab36be3370f059b32ba8f1f9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 9cf58688772d1cd0b4c061148b01f3c6ee32567b07773cc2ed63246d2fb3af61 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 677097 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 32e803a75d4f9ab6b7dfa5a7b1ec2ef9d3a057c2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 e6fe692683ab54e08b0350fe9901e872f7bf3c3a62f69b45773254fce45a4fae \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 85381 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 cef6d7d7578464538d0042b0d98379ae7f18fab7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 968a0bad51903c9cd3b08476ec5a6572856dc44eedf9ff9b174eb9c59b7b7117 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 60373 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_autoquit_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 949ce06752fbcfa9a92787497dace45e7299eb41 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 a9aad37cfd2d6dbd4db5e307b8598348ba25aa5504aac968b8d570d5927e576a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 52341 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_system_disk_container_distfile} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 89fc3780c9c5d575a8da4068dc810c1f56c70211 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 d78e1c52a6f16ba14907cbe816a22a43f8aa8e1a9c4f664d3b7d5d982a9baab2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 5147648
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_extract port:bsdiff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build port:timeout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_skip_archcheck bsdiff timeout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_app_dir "${applications_dir}/Mini vMac"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_rom_dir "~/Library/Preferences/Gryphel/mnvm_rom"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_bootstrap_app "Mini vMac Bootstrap.app"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_rom_file vMac.ROM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_base_options "-maintainer MacPorts -homepage https://www.macports.org -cl -eol unx -sony-sum 1 -sony-tag 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.universal_archs {*}${supported_archs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[my_real_rom_file] eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "To build Mini vMac, you will need a ROM file from a Macintosh"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "Plus or 512Ke. And to run it, you need a ROM file from the type"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "of Mac you want to emulate. ROM files are not included with this"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "package because they are copyrighted Apple software."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "To create a ROM file, download the CopyRoms program from"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "http://www.gryphel.com/c/minivmac/extras/copyroms/index.html"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "and transfer it to a real physical early Macintosh that you own."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "Run the CopyRoms program there, then transfer the ROM file back"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "to this Mac and put it in ${my_rom_dir}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "(which can be an alias or symlink if desired) or"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "${my_app_dir}."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "${my_rom_file} not found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.mkdir yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set my_mnvm_dat "${worksrcpath}/${my_bootstrap_app}/Contents/mnvm_dat"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Decompress the system disk container image.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "Decompressing ${my_system_disk_container_distfile}."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_system_disk_container_decompressed "[file rootname ${my_system_disk_container}].dmg"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath} "hdiutil convert '${distpath}/${my_system_disk_container_distfile}' -format UDRO -o '${my_system_disk_container_decompressed}'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # The images on the container image. Images we don't need are commented out for future reference.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_images {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {Disk Tools.image} 58368 eb1979132c843560ebab490faeb7520d9a94757ecef3121a21abace8d3ae63ff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Fonts.image} 427264 8b06f086a96b75bd23b16ae018bd334696239cb56e65bfa20166ea00d14cdef0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Install 1.image} 796160 8c3ea898eeb88b795041108cd8a09bf4ebdf920d7d4763e4419df14713dbd952
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Install 2.image} 1165056 0fc558475df55f3aed217d2eceebfa29e4a465a795807cd627b258740a9ec55b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Printing.image} 1533952 246cbf69ad1c2e588ee482fddec781135a67fbfe02734bb0f732eb055faa15fa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# {Tidbits.image} 1902848 3e3600bed1b5c7c595bc176b5eaadcc8c1517032489efc548b9b781c0ee1f062
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Extract the disk images from the system disk container image. `hdiutil` on OS X 10.8 Mountain Lion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # does not mount this disk image correctly, so extract the files manually using `dd`.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_image_filename my_image_offset my_image_sha256} ${my_images} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "Extracting ${my_image_filename} from ${my_system_disk_container_decompressed}."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath} "dd if='${my_system_disk_container_decompressed}' bs=4 count=368661 skip=${my_image_offset} of='${my_image_filename}'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${my_image_sha256} ne [sha256 file ${worksrcpath}/${my_image_filename}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "extract failed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.type none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs i386 ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distname ${my_name}-${my_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_zip yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites http://www.gryphel.com/d/minivmac/minivmac-${my_version}/:minivmacsource \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sourceforge:project/minivmac/minivmac-extras/extras6:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sourceforge:project/minivmac/minivmac-extras/extras11:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://www.ryandesign.com/macports/distfiles/minivmac:bootstrap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.0.x/:apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_src ${distname}.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_src_distfile ${my_src}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_bootstrap_distfile ${my_name}-bootstrap-3.2.3_0.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_icons icnsosx-1.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_icons_distfile ${my_icons}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_autoquit autquit7-1.3.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_autoquit_distfile ${my_autoquit}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_system_disk_container System_7.0.1.smi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_system_disk_container_distfile ${my_system_disk_container}.bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles ${my_src_distfile}:minivmacsource \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_bootstrap_distfile}:bootstrap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_icons_distfile}:minivmacextras6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_autoquit_distfile}:minivmacextras11 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_system_disk_container_distfile}:apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.only ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_autoquit_distfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums ${my_src_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 818b45d1ee993c28ab36be3370f059b32ba8f1f9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9cf58688772d1cd0b4c061148b01f3c6ee32567b07773cc2ed63246d2fb3af61 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 677097 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_bootstrap_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 32e803a75d4f9ab6b7dfa5a7b1ec2ef9d3a057c2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 e6fe692683ab54e08b0350fe9901e872f7bf3c3a62f69b45773254fce45a4fae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 85381 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_icons_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 cef6d7d7578464538d0042b0d98379ae7f18fab7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 968a0bad51903c9cd3b08476ec5a6572856dc44eedf9ff9b174eb9c59b7b7117 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 60373 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_autoquit_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 949ce06752fbcfa9a92787497dace45e7299eb41 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a9aad37cfd2d6dbd4db5e307b8598348ba25aa5504aac968b8d570d5927e576a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 52341 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_system_disk_container_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 89fc3780c9c5d575a8da4068dc810c1f56c70211 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 d78e1c52a6f16ba14907cbe816a22a43f8aa8e1a9c4f664d3b7d5d982a9baab2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 5147648
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_extract port:bsdiff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build port:timeout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_skip_archcheck bsdiff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ timeout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_app_dir "${applications_dir}/Mini vMac"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_rom_dir "~/Library/Preferences/Gryphel/mnvm_rom"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_bootstrap_app "Mini vMac Bootstrap.app"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_rom_file vMac.ROM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_base_options "-maintainer MacPorts -homepage https://www.macports.org -cl -eol unx -sony-sum 1 -sony-tag 1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.universal_archs {*}${supported_archs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[my_real_rom_file] eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "To build Mini vMac, you will need a ROM file from a Macintosh"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Plus or 512Ke. And to run it, you need a ROM file from the type"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "of Mac you want to emulate. ROM files are not included with this"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "package because they are copyrighted Apple software."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "To create a ROM file, download the CopyRoms program from"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "http://www.gryphel.com/c/minivmac/extras/copyroms/index.html"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "and transfer it to a real physical early Macintosh that you own."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Run the CopyRoms program there, then transfer the ROM file back"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "to this Mac and put it in ${my_rom_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "(which can be an alias or symlink if desired) or"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "${my_app_dir}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "****************************************************************"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "${my_rom_file} not found"
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Delete temporary files we no longer need.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${worksrcpath}/${my_system_disk_container_decompressed}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Make the data directory, where Mini vMac looks for the files it needs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Symlink the ROM file into the data directory.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ln -s [my_real_rom_file] ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use the prettier icon on the bootstrap app.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force ${worksrcpath}/${my_icons}/icons//AppIcon.icns ${worksrcpath}/${my_bootstrap_app}/Contents/Resources/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # See README-binary-patchfiles.md in the files directory for instructions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # on recreating these binary patchfiles.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Modify the AutQuit7 disk to have an alias "app" pointing to the MnvM_b35
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # application and an 8192-byte TeachText file called "doc" (containing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # "@START@", 8180 periods and spaces, and "@END@").
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath}/${my_autoquit} "${prefix}/bin/bspatch '${my_autoquit}.dsk' '${my_autoquit}.dsk.tmp' '${filespath}/patch-${my_autoquit}.dsk.bsdiff'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move -force "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk.tmp" "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Modify the Disk Tools disk to have an alias of AutQuit7 in the Startup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Items folder.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath} "${prefix}/bin/bspatch 'Disk Tools.image' 'Disk Tools.image.tmp' '${filespath}/patch-Disk Tools.image.bsdiff'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move -force "${worksrcpath}/Disk Tools.image.tmp" "${worksrcpath}/Disk Tools.image"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ worksrcdir configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.mkdir yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_mnvm_dat "${worksrcpath}/${my_bootstrap_app}/Contents/mnvm_dat"
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy the disk images into the data directory with sequentially-numbered
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # names so Mini vMac will find them and automatically mount them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force "${worksrcpath}/Disk Tools.image" "${my_mnvm_dat}/disk1.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force ${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy -force ${worksrcpath}/${my_src}/${my_src}.dsk "${my_mnvm_dat}/disk3.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Build up the combined configure args for all variations.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set i 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine my_variation_options} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${i} > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend configure_args \;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Decompress the system disk container image.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Decompressing ${my_system_disk_container_distfile}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_system_disk_container_decompressed "[file rootname ${my_system_disk_container}].dmg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "hdiutil convert '${distpath}/${my_system_disk_container_distfile}' -format UDRO -o '${my_system_disk_container_decompressed}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The images on the container image. Images we don't need are commented out for future reference.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_images {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {Disk Tools.image} 58368 eb1979132c843560ebab490faeb7520d9a94757ecef3121a21abace8d3ae63ff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Fonts.image} 427264 8b06f086a96b75bd23b16ae018bd334696239cb56e65bfa20166ea00d14cdef0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Install 1.image} 796160 8c3ea898eeb88b795041108cd8a09bf4ebdf920d7d4763e4419df14713dbd952
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Install 2.image} 1165056 0fc558475df55f3aed217d2eceebfa29e4a465a795807cd627b258740a9ec55b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Printing.image} 1533952 246cbf69ad1c2e588ee482fddec781135a67fbfe02734bb0f732eb055faa15fa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# {Tidbits.image} 1902848 3e3600bed1b5c7c595bc176b5eaadcc8c1517032489efc548b9b781c0ee1f062
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Extract the disk images from the system disk container image. `hdiutil` on OS X 10.8 Mountain Lion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # does not mount this disk image correctly, so extract the files manually using `dd`.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_image_filename my_image_offset my_image_sha256} ${my_images} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Extracting ${my_image_filename} from ${my_system_disk_container_decompressed}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "dd if='${my_system_disk_container_decompressed}' bs=4 count=368661 skip=${my_image_offset} of='${my_image_filename}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${my_image_sha256} ne [sha256 file ${worksrcpath}/${my_image_filename}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "extract failed"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend configure_args \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_base_options} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -t ${my_target} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${my_variation_options} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -n ${my_variation}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- incr i
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Delete temporary files we no longer need.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${worksrcpath}/${my_system_disk_container_decompressed}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Make the data directory, where Mini vMac looks for the files it needs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Symlink the ROM file into the data directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s [my_real_rom_file] ${my_mnvm_dat}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use the prettier icon on the bootstrap app.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${worksrcpath}/${my_icons}/icons//AppIcon.icns ${worksrcpath}/${my_bootstrap_app}/Contents/Resources/
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Write the configure args into the "doc" file on the AutQuit7 disk image.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set max_configure_args_length 8192
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set padded_args [format "%-${max_configure_args_length}s" [join ${configure_args}]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[string length ${padded_args}] > ${max_configure_args_length}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "configure args too long"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -locale C "s|@START@\[ .\]*@END@|${padded_args}|" "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the number of seconds to wait before killing the bootstrap Mini vMac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # app, in case it gets stuck.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.pre_args [expr 10 * ${i}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Launch the bootstrap Mini vMac to run the configuration. When it's done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # it should automatically quit, but if not, we time out after awhile.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exec -ignorestderr ${prefix}/bin/timeout ${configure.pre_args} "${worksrcpath}/${my_bootstrap_app}/Contents/MacOS/minivmac" 2>/dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See README-binary-patchfiles.md in the files directory for instructions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # on recreating these binary patchfiles.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Modify the AutQuit7 disk to have an alias "app" pointing to the MnvM_b35
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # application and an 8192-byte TeachText file called "doc" (containing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # "@START@", 8180 periods and spaces, and "@END@").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath}/${my_autoquit} "${prefix}/bin/bspatch '${my_autoquit}.dsk' '${my_autoquit}.dsk.tmp' '${filespath}/patch-${my_autoquit}.dsk.bsdiff'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move -force "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk.tmp" "${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk"
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${build.dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation_dirs {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${build.dir}/${my_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_src_tarball ${worksrcpath}/${my_variation}.tar
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[file isfile ${my_src_tarball}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_variation_dir ${my_arch}/${my_machine}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend my_variation_dirs [strsed ${my_variation_dir} {g/ /\\\\ /}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Untar the configured source code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${build.dir} "tar xf '${my_src_tarball}'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move ${build.dir}/${my_variation} ${build.dir}/${my_variation_dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${subport} eq "${my_name}-bootstrap${my_suffix}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Change the "export" function so that exported files are written to the same
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # directory as Mini vMac, instead of prompting for a location.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${build.dir}/${my_variation_dir} "patch -p0 < ${filespath}/patch-src-MYOSGLUE.c.diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Modify the Disk Tools disk to have an alias of AutQuit7 in the Startup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Items folder.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "${prefix}/bin/bspatch 'Disk Tools.image' 'Disk Tools.image.tmp' '${filespath}/patch-Disk Tools.image.bsdiff'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move -force "${worksrcpath}/Disk Tools.image.tmp" "${worksrcpath}/Disk Tools.image"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Copy the disk images into the data directory with sequentially-numbered
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # names so Mini vMac will find them and automatically mount them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force "${worksrcpath}/Disk Tools.image" "${my_mnvm_dat}/disk1.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${worksrcpath}/${my_autoquit}/${my_autoquit}.dsk "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${worksrcpath}/${my_src}/${my_src}.dsk "${my_mnvm_dat}/disk3.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Build up the combined configure args for all variations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set i 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine my_variation_options} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${i} > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend configure_args \;
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use the right compiler.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|gcc|${configure.cc}|g" ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Remove references to SDKs -- the 10.4u SDK is not installed by default on 10.6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # and even if you install it manually it does not work here.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -E {s|-isysroot /Developer/SDKs/[^ ]+||g} ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend configure_args \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_base_options} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -t ${my_target} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${my_variation_options} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -n ${my_variation}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ incr i
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Write the configure args into the "doc" file on the AutQuit7 disk image.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set max_configure_args_length 8192
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set padded_args [format "%-${max_configure_args_length}s" [join ${configure_args}]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string length ${padded_args}] > ${max_configure_args_length}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "configure args too long"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -locale C "s|@START@\[ .\]*@END@|${padded_args}|" "${my_mnvm_dat}/disk2.dsk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set the number of seconds to wait before killing the bootstrap Mini vMac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # app, in case it gets stuck.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.pre_args [expr 10 * ${i}]
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set up the global Makefile.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall ${filespath}/Makefile.in ${build.dir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|@SUBDIRS@|[join ${my_variation_dirs}]|" ${build.dir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # If no variation directories were produced by configuration, the flags we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # passed in may have been bad.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${my_variation_dirs} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "configuration failed!"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Launch the bootstrap Mini vMac to run the configuration. When it's done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # it should automatically quit, but if not, we time out after awhile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exec -ignorestderr ${prefix}/bin/timeout ${configure.pre_args} "${worksrcpath}/${my_bootstrap_app}/Contents/MacOS/minivmac" 2>/dev/null
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|${my_target}|umch|" ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Info.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${build.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation_dirs {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${build.dir}/${my_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_src_tarball ${worksrcpath}/${my_variation}.tar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isfile ${my_src_tarball}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_variation_dir ${my_arch}/${my_machine}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend my_variation_dirs [strsed ${my_variation_dir} {g/ /\\\\ /}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Untar the configured source code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${build.dir} "tar xf '${my_src_tarball}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${build.dir}/${my_variation} ${build.dir}/${my_variation_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${subport} eq "${my_name}-bootstrap${my_suffix}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Change the "export" function so that exported files are written to the same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # directory as Mini vMac, instead of prompting for a location.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${build.dir}/${my_variation_dir} "patch -p0 < ${filespath}/patch-src-MYOSGLUE.c.diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use the right compiler.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|gcc|${configure.cc}|g" ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Remove references to SDKs -- the 10.4u SDK is not installed by default on 10.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and even if you install it manually it does not work here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E {s|-isysroot /Developer/SDKs/[^ ]+||g} ${build.dir}/${my_variation_dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set up the global Makefile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall ${filespath}/Makefile.in ${build.dir}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@SUBDIRS@|[join ${my_variation_dirs}]|" ${build.dir}/Makefile
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install the prettier icons.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONAPPO.icns
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONDSKO.icns
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONROMO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If no variation directories were produced by configuration, the flags we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # passed in may have been bad.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${my_variation_dirs} eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "configuration failed!"
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install the programs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_dest ${workpath}/pre-dest/${my_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set my_dest ${destroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -d ${my_dest}${my_app_dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy ${build.dir}/${my_arch}/${my_machine}/minivmac.app \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "${my_dest}${my_app_dir}/Mini vMac ${my_machine}.app"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_target [my_arch_to_target ${my_arch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|${my_target}|umch|" ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Info.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Install the prettier icons.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONAPPO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONDSKO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONROMO.icns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- merge ${workpath}/pre-dest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Install the programs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach my_arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_dest ${workpath}/pre-dest/${my_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set my_dest ${destroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${my_dest}${my_app_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {my_machine unused} ${my_variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${build.dir}/${my_arch}/${my_machine}/minivmac.app \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${my_dest}${my_app_dir}/Mini vMac ${my_machine}.app"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ merge ${workpath}/pre-dest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
pre-activate {
if {![catch {set installed [lindex [registry_active ${name}] 0]}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -346,36 +348,36 @@ destroot {
</span> }
subport ${my_name}-128k${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {128K} {-m 128K}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {128K} {-m 128K}
</span> }
subport ${my_name}-512k${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {512K} {-m 128K -mem 512K}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {512K} {-m 128K -mem 512K}
</span> }
subport ${my_name}-512ke${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {512Ke} {-m 512Ke}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {512Ke} {-m 512Ke}
</span> }
subport ${my_name}-plus${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {Plus} {-m Plus}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants +icon_master
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {Plus} {-m Plus}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants +icon_master
</span> }
subport ${my_name}-se${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {SE} {-m SE}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {SE} {-m SE}
</span> }
subport ${my_name}-sefdhd${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {SE FDHD} {-m SEFDHD}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {SE FDHD} {-m SEFDHD}
</span> }
subport ${my_name}-classic${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {Classic} {-m Classic}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {Classic} {-m Classic}
</span> }
subport ${my_name}-ii${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
</span> }
# To build the bootstrap application, use:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -383,7 +385,7 @@ subport ${my_name}-ii${my_suffix} {
</span> # The subport is hidden because it is useful only to the port maintainer.
if {[tbool bootstrap]} {
subport ${my_name}-bootstrap${my_suffix} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
</span>
description Mini vMac Bootstrap
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -399,7 +401,7 @@ if {[tbool bootstrap]} {
</span> default_variants +universal
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set output_archive ${workpath}/${my_name}-bootstrap-${version}_${revision}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set output_archive ${workpath}/${my_name}-bootstrap-${version}_${revision}.zip
</span>
post-destroot {
exec 7za a ${output_archive} ${destroot}${my_app_dir}/${my_bootstrap_app}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -419,20 +421,17 @@ if {[tbool bootstrap]} {
</span> }
if {${subport} ni [list "${my_name}${my_suffix}" "${my_name}-bootstrap${my_suffix}"]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- description a Macintosh [lindex ${my_variations} 0] emulator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ description a Macintosh [lindex ${my_variations} 0] emulator
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This subport emulates a Macintosh \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [lindex ${my_variations} 0].
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append This subport emulates a Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [lindex ${my_variations} 0].
</span>
if {[lindex ${my_variations} 0] eq "Plus"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This is the best-tested variation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append This is the best-tested variation.
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- There are other subports that emulate other Macintosh \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- models.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append There are other subports that emulate other Macintosh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ models.
</span>
variant icon_master description {Take ownership of disk image files and ROM image files; at most one copy of Mini vMac should do this} {
set my_base_options "${my_base_options} -im 1"
</pre><pre style='margin:0'>
</pre>