mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
minivmac*: Use a subport for each model
This commit is contained in:
@@ -4,9 +4,11 @@ PortSystem 1.0
|
||||
|
||||
# Please keep the minivmac and minivmac-devel ports as similar as possible.
|
||||
|
||||
name minivmac-devel
|
||||
conflicts minivmac
|
||||
set my_name minivmac
|
||||
set my_suffix -devel
|
||||
name ${my_name}${my_suffix}
|
||||
set my_subport [regsub -- {-devel$} ${subport} {}]
|
||||
conflicts [lsearch -all -inline -not -exact [list ${my_subport} ${my_subport}-devel] ${subport}]
|
||||
epoch 4
|
||||
version 36.00alpha-20180506
|
||||
set branch [join [lrange [split ${version} .] 0 1] .]
|
||||
@@ -15,21 +17,55 @@ categories emulators aqua
|
||||
maintainers {ryandesign @ryandesign}
|
||||
license GPL-2
|
||||
homepage http://www.gryphel.com/c/minivmac/alpha.html
|
||||
use_zip yes
|
||||
platforms macosx
|
||||
use_parallel_build yes
|
||||
dist_subdir ${my_name}
|
||||
#distname ${my_name}${my_version}-${branch}
|
||||
distname ${my_name}${my_version}
|
||||
|
||||
description an emulator of the Macintosh Plus and other early Macintosh models
|
||||
|
||||
long_description The Mini vMac emulator helps preserve software made for early \
|
||||
Macintosh computers -- those sold by Apple from 1984 to 1996 \
|
||||
based on Motorola's 680x0 microprocessors. \
|
||||
The best-tested version emulates a Macintosh Plus, but there are \
|
||||
also emulations of the Macintosh 128K, 512K, 512Ke, SE, Classic, \
|
||||
and SE FDHD, and work on Macintosh II emulation is in progress.
|
||||
long_description Mini vMac emulates early Macintosh computers that use \
|
||||
Motorola's 680x0 processors, sold by Apple from 1984 \
|
||||
to 1996.
|
||||
|
||||
options my_variations
|
||||
default my_variations {}
|
||||
|
||||
if {${subport} eq ${name}} {
|
||||
livecheck.type regex
|
||||
livecheck.url ${homepage}
|
||||
# livecheck.version ${my_version}-${branch}
|
||||
livecheck.version ${my_version}
|
||||
livecheck.regex ${my_name}-?(\[0-9.-\]+)\\.src
|
||||
|
||||
long_description-append \
|
||||
The best-tested variation emulates a Macintosh Plus, \
|
||||
but it can also emulate a Macintosh 128K, 512K, 512Ke, \
|
||||
SE, SE FDHD, Classic, or Macintosh II.
|
||||
|
||||
revision 1
|
||||
supported_archs noarch
|
||||
depends_run port:${my_name}-plus${my_suffix}
|
||||
distfiles
|
||||
use_configure no
|
||||
build {}
|
||||
destroot {
|
||||
xinstall -d ${destroot}${prefix}/share/doc/${subport}
|
||||
system "echo ${subport} is a stub port > ${destroot}${prefix}/share/doc/${subport}/README"
|
||||
}
|
||||
|
||||
notes "
|
||||
The ${subport} stub port is not meant to be installed. Instead,\
|
||||
install one (or more) of the available subports corresponding to the\
|
||||
Macintosh model(s) you wish to emulate. Use `port info --subports\
|
||||
${subport}\' to see the list of available subports.
|
||||
"
|
||||
} else {
|
||||
livecheck.type none
|
||||
|
||||
revision 0
|
||||
supported_archs i386 ppc
|
||||
# distname ${my_name}${my_version}-${branch}
|
||||
distname ${my_name}${my_version}
|
||||
use_zip yes
|
||||
|
||||
master_sites http://www.gryphel.com/d/minivmac/c/:minivmacsource \
|
||||
sourceforge:project/minivmac/minivmac-extras/extras6:minivmacextras6 \
|
||||
@@ -92,35 +128,7 @@ set my_bootstrap_app "Mini vMac Bootstrap.app"
|
||||
set my_rom_file vMac.ROM
|
||||
set my_base_options "-ef 1 -maintainer MacPorts -homepage https://www.macports.org -cl -eol unx -sony-sum 1 -sony-tag 1"
|
||||
|
||||
options my_variations
|
||||
my_variations {128K} {-m 128K} \
|
||||
{512K} {-m 128K -mem 512K} \
|
||||
{512Ke} {-m 512Ke} \
|
||||
{Plus} {-m Plus -im 1} \
|
||||
{SE} {-m SE} \
|
||||
{SE FDHD} {-m SEFDHD} \
|
||||
{Classic} {-m Classic} \
|
||||
{II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
|
||||
|
||||
# To build the bootstrap, use "sudo port install bootstrap=yes +bootstrap".
|
||||
# The variant is hidden because it is useful only to the port maintainer.
|
||||
if {[tbool bootstrap]} {
|
||||
variant bootstrap conflicts unsupported requires universal description {Build the bootstrap version of Mini vMac} {
|
||||
my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
|
||||
depends_build-append port:p7zip
|
||||
depends_skip_archcheck p7zip
|
||||
post-destroot {
|
||||
exec 7za a ${destroot}${my_app_dir}/${my_name}-bootstrap-${version}_${revision}.zip ${destroot}${my_app_dir}/${my_bootstrap_app}
|
||||
}
|
||||
}
|
||||
default_variants +bootstrap
|
||||
}
|
||||
|
||||
variant universal {
|
||||
configure.universal_args
|
||||
configure.universal_archs ppc i386
|
||||
}
|
||||
supported_archs i386 ppc
|
||||
configure.universal_archs {*}${supported_archs}
|
||||
|
||||
pre-extract {
|
||||
if {[my_real_rom_file] eq ""} {
|
||||
@@ -213,6 +221,7 @@ pre-configure {
|
||||
foreach my_arch [get_canonical_archs] {
|
||||
set my_target [my_arch_to_target ${my_arch}]
|
||||
foreach {my_machine my_variation_options} ${my_variations} {
|
||||
set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
|
||||
if {${i} > 0} {
|
||||
lappend configure_args \;
|
||||
}
|
||||
@@ -220,7 +229,7 @@ pre-configure {
|
||||
${my_base_options} \
|
||||
-t ${my_target} \
|
||||
${my_variation_options} \
|
||||
-n ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
|
||||
-n ${my_variation}
|
||||
incr i
|
||||
}
|
||||
}
|
||||
@@ -281,7 +290,7 @@ post-configure {
|
||||
system -W ${build.dir} "tar xf '${my_src_tarball}'"
|
||||
move ${build.dir}/${my_variation} ${build.dir}/${my_variation_dir}
|
||||
|
||||
if {[variant_exists bootstrap] && [variant_isset bootstrap]} {
|
||||
if {${subport} eq "${my_name}-bootstrap${my_suffix}"} {
|
||||
# Change the "export" function so that exported files are written to the same
|
||||
# directory as Mini vMac, instead of prompting for a location.
|
||||
system -W ${build.dir}/${my_variation_dir} "patch -p0 < ${filespath}/patch-src-MYOSGLUE.c.diff"
|
||||
@@ -308,45 +317,26 @@ post-configure {
|
||||
}
|
||||
}
|
||||
|
||||
set my_share_dir ${prefix}/share/${my_name}
|
||||
|
||||
post-build {
|
||||
set i 0
|
||||
foreach my_arch [get_canonical_archs] {
|
||||
set my_target [my_arch_to_target ${my_arch}]
|
||||
foreach {my_machine unused} ${my_variations} {
|
||||
if {[variant_isset universal]} {
|
||||
reinplace "s|${my_target}|umch|" ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Info.plist
|
||||
}
|
||||
if {![variant_exists bootstrap] || ![variant_isset bootstrap]} {
|
||||
# To save space, keep only a single copy of the Resources directory.
|
||||
set my_resources_dir ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources
|
||||
if {0 == ${i}} {
|
||||
move ${my_resources_dir} ${build.dir}
|
||||
} else {
|
||||
delete ${my_resources_dir}
|
||||
}
|
||||
ln -s ${my_share_dir}/Resources ${my_resources_dir}
|
||||
}
|
||||
incr i
|
||||
|
||||
# Install the prettier icons.
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns \
|
||||
${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONAPPO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns \
|
||||
${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONDSKO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns \
|
||||
${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONROMO.icns
|
||||
}
|
||||
}
|
||||
|
||||
if {![variant_exists bootstrap] || ![variant_isset bootstrap]} {
|
||||
# Install the prettier icons.
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns ${build.dir}/Resources/ICONAPPO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns ${build.dir}/Resources/ICONDSKO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns ${build.dir}/Resources/ICONROMO.icns
|
||||
}
|
||||
}
|
||||
|
||||
destroot {
|
||||
if {![variant_exists bootstrap] || ![variant_isset bootstrap]} {
|
||||
# Install the global Resources directory.
|
||||
xinstall -d ${destroot}${my_share_dir}
|
||||
copy ${build.dir}/Resources ${destroot}${my_share_dir}
|
||||
}
|
||||
|
||||
# Install the programs.
|
||||
foreach my_arch [get_canonical_archs] {
|
||||
if {[variant_isset universal]} {
|
||||
@@ -365,6 +355,118 @@ destroot {
|
||||
}
|
||||
}
|
||||
|
||||
pre-activate {
|
||||
if {![catch {set installed [lindex [registry_active ${name}] 0]}]} {
|
||||
set installed_version [lindex ${installed} 1]
|
||||
set installed_revision [lindex ${installed} 2]
|
||||
set installed_epoch [lindex ${installed} 5]
|
||||
if {[vercmp ${installed_epoch} 4] < 0 || (
|
||||
[vercmp ${installed_epoch} 4] == 0 && (
|
||||
[vercmp ${installed_version} 36.00alpha-20180506] < 0 || (
|
||||
[vercmp ${installed_version} 36.00alpha-20180506] == 0 && [vercmp ${installed_revision} 1] < 0
|
||||
)
|
||||
)
|
||||
)} {
|
||||
registry_deactivate_composite ${name} "" [list ports_nodepcheck 1]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subport ${my_name}-128k${my_suffix} {
|
||||
my_variations {128K} {-m 128K}
|
||||
}
|
||||
|
||||
subport ${my_name}-512k${my_suffix} {
|
||||
my_variations {512K} {-m 128K -mem 512K}
|
||||
}
|
||||
|
||||
subport ${my_name}-512ke${my_suffix} {
|
||||
my_variations {512Ke} {-m 512Ke}
|
||||
}
|
||||
|
||||
subport ${my_name}-plus${my_suffix} {
|
||||
my_variations {Plus} {-m Plus}
|
||||
default_variants +icon_master
|
||||
}
|
||||
|
||||
subport ${my_name}-se${my_suffix} {
|
||||
my_variations {SE} {-m SE}
|
||||
}
|
||||
|
||||
subport ${my_name}-sefdhd${my_suffix} {
|
||||
my_variations {SE FDHD} {-m SEFDHD}
|
||||
}
|
||||
|
||||
subport ${my_name}-classic${my_suffix} {
|
||||
my_variations {Classic} {-m Classic}
|
||||
}
|
||||
|
||||
subport ${my_name}-ii${my_suffix} {
|
||||
my_variations {II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
|
||||
}
|
||||
|
||||
# To build the bootstrap application, use:
|
||||
# sudo port destroot minivmac-devel bootstrap=yes subport=minivmac-bootstrap-devel
|
||||
# The subport is hidden because it is useful only to the port maintainer.
|
||||
if {[tbool bootstrap]} {
|
||||
subport ${my_name}-bootstrap${my_suffix} {
|
||||
my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
|
||||
|
||||
description Mini vMac Bootstrap
|
||||
|
||||
long_description A copy of Mini vMac specially configured to be \
|
||||
used to build other copies of Mini vMac.
|
||||
|
||||
depends_build-append port:p7zip
|
||||
|
||||
depends_skip_archcheck-append \
|
||||
p7zip
|
||||
|
||||
if {${os.major} < 11} {
|
||||
default_variants +universal
|
||||
}
|
||||
|
||||
set output_archive ${workpath}/${my_name}-bootstrap-${version}_${revision}.zip
|
||||
|
||||
post-destroot {
|
||||
exec 7za a ${output_archive} ${destroot}${my_app_dir}/${my_bootstrap_app}
|
||||
ui_msg "The distribution zip file has been created:"
|
||||
ui_msg
|
||||
ui_msg "${output_archive}"
|
||||
|
||||
if {![variant_isset universal] || "ppc" ni ${configure.universal_archs}} {
|
||||
ui_msg
|
||||
ui_warn "DON'T DISTRIBUTE THIS FILE! It doesn't contain all the"
|
||||
ui_warn "necessary architectures. To build a distributable"
|
||||
ui_warn "bootstrap app, use the universal variant and build on"
|
||||
ui_warn "Mac OS X Leopard or Snow Leopard."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if {${subport} ni [list "${my_name}${my_suffix}" "${my_name}-bootstrap${my_suffix}"]} {
|
||||
description a Macintosh [lindex ${my_variations} 0] emulator
|
||||
|
||||
long_description-append \
|
||||
This subport emulates a Macintosh \
|
||||
[lindex ${my_variations} 0].
|
||||
|
||||
if {[lindex ${my_variations} 0] eq "Plus"} {
|
||||
long_description-append \
|
||||
This is the best-tested variation.
|
||||
}
|
||||
|
||||
long_description-append \
|
||||
There are other subports that emulate other Macintosh \
|
||||
models.
|
||||
|
||||
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"
|
||||
}
|
||||
}
|
||||
|
||||
# Returns the full path to the ROM file, wherever the user has it,
|
||||
# or the empty string if the user doesn't have it.
|
||||
proc my_real_rom_file {} {
|
||||
@@ -415,9 +517,3 @@ proc my_detach_disk_image {mountpoint} {
|
||||
system "hdiutil detach ${mountpoint} -force"
|
||||
delete ${mountpoint}
|
||||
}
|
||||
|
||||
livecheck.type regex
|
||||
livecheck.url ${homepage}
|
||||
#livecheck.version ${my_version}-${branch}
|
||||
livecheck.version ${my_version}
|
||||
livecheck.regex ${my_name}-?(\[0-9.-\]+)\\.src
|
||||
|
||||
+168
-74
@@ -4,29 +4,63 @@ PortSystem 1.0
|
||||
|
||||
# Please keep the minivmac and minivmac-devel ports as similar as possible.
|
||||
|
||||
name minivmac
|
||||
conflicts minivmac-devel
|
||||
set my_name minivmac
|
||||
set my_suffix {}
|
||||
name ${my_name}${my_suffix}
|
||||
set my_subport [regsub -- {-devel$} ${subport} {}]
|
||||
conflicts [lsearch -all -inline -not -exact [list ${my_subport} ${my_subport}-devel] ${subport}]
|
||||
version 3.5.8
|
||||
set my_version [strsed ${version} {g/^.*-20//}]
|
||||
categories emulators aqua
|
||||
maintainers {ryandesign @ryandesign}
|
||||
license GPL-2
|
||||
homepage http://www.gryphel.com/c/minivmac/
|
||||
use_zip yes
|
||||
platforms macosx
|
||||
use_parallel_build yes
|
||||
dist_subdir ${my_name}
|
||||
distname ${my_name}-${my_version}
|
||||
|
||||
description an emulator of the Macintosh Plus and other early Macintosh models
|
||||
|
||||
long_description The Mini vMac emulator helps preserve software made for early \
|
||||
Macintosh computers -- those sold by Apple from 1984 to 1996 \
|
||||
based on Motorola's 680x0 microprocessors. \
|
||||
The best-tested version emulates a Macintosh Plus, but there are \
|
||||
also emulations of the Macintosh 128K, 512K, 512Ke, SE, Classic, \
|
||||
and SE FDHD, and work on Macintosh II emulation is in progress.
|
||||
long_description Mini vMac emulates early Macintosh computers that use \
|
||||
Motorola's 680x0 processors, sold by Apple from 1984 \
|
||||
to 1996.
|
||||
|
||||
options my_variations
|
||||
default my_variations {}
|
||||
|
||||
if {${subport} eq ${name}} {
|
||||
livecheck.type regex
|
||||
livecheck.url ${homepage}doc/download.html
|
||||
livecheck.regex ${my_name}-(\[0-9.\]+)\\.src
|
||||
|
||||
long_description-append \
|
||||
The best-tested variation emulates a Macintosh Plus, \
|
||||
but it can also emulate a Macintosh 128K, 512K, 512Ke, \
|
||||
SE, SE FDHD, Classic, or Macintosh II.
|
||||
|
||||
revision 1
|
||||
supported_archs noarch
|
||||
depends_run port:${my_name}-plus${my_suffix}
|
||||
distfiles
|
||||
use_configure no
|
||||
build {}
|
||||
destroot {
|
||||
xinstall -d ${destroot}${prefix}/share/doc/${subport}
|
||||
system "echo ${subport} is a stub port > ${destroot}${prefix}/share/doc/${subport}/README"
|
||||
}
|
||||
|
||||
notes "
|
||||
The ${subport} stub port is not meant to be installed. Instead,\
|
||||
install one (or more) of the available subports corresponding to the\
|
||||
Macintosh model(s) you wish to emulate. Use `port info --subports\
|
||||
${subport}\' to see the list of available subports.
|
||||
"
|
||||
} else {
|
||||
livecheck.type none
|
||||
|
||||
revision 0
|
||||
supported_archs i386 ppc
|
||||
distname ${my_name}-${my_version}
|
||||
use_zip yes
|
||||
|
||||
master_sites http://www.gryphel.com/d/minivmac/minivmac-${my_version}/:minivmacsource \
|
||||
sourceforge:project/minivmac/minivmac-extras/extras6:minivmacextras6 \
|
||||
@@ -88,35 +122,7 @@ set my_bootstrap_app "Mini vMac Bootstrap.app"
|
||||
set my_rom_file vMac.ROM
|
||||
set my_base_options "-maintainer MacPorts -homepage https://www.macports.org -cl -eol unx -sony-sum 1 -sony-tag 1"
|
||||
|
||||
options my_variations
|
||||
my_variations {128K} {-m 128K} \
|
||||
{512K} {-m 128K -mem 512K} \
|
||||
{512Ke} {-m 512Ke} \
|
||||
{Plus} {-m Plus -im 1} \
|
||||
{SE} {-m SE} \
|
||||
{SE FDHD} {-m SEFDHD} \
|
||||
{Classic} {-m Classic} \
|
||||
{II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
|
||||
|
||||
# To build the bootstrap, use "sudo port install bootstrap=yes +bootstrap".
|
||||
# The variant is hidden because it is useful only to the port maintainer.
|
||||
if {[tbool bootstrap]} {
|
||||
variant bootstrap conflicts unsupported requires universal description {Build the bootstrap version of Mini vMac} {
|
||||
my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
|
||||
depends_build-append port:p7zip
|
||||
depends_skip_archcheck p7zip
|
||||
post-destroot {
|
||||
exec 7za a ${destroot}${my_app_dir}/${my_name}-bootstrap-${version}_${revision}.zip ${destroot}${my_app_dir}/${my_bootstrap_app}
|
||||
}
|
||||
}
|
||||
default_variants +bootstrap
|
||||
}
|
||||
|
||||
variant universal {
|
||||
configure.universal_args
|
||||
configure.universal_archs ppc i386
|
||||
}
|
||||
supported_archs i386 ppc
|
||||
configure.universal_archs {*}${supported_archs}
|
||||
|
||||
pre-extract {
|
||||
if {[my_real_rom_file] eq ""} {
|
||||
@@ -185,7 +191,7 @@ post-patch {
|
||||
# See README-binary-patchfiles.md in the files directory for instructions
|
||||
# on recreating these binary patchfiles.
|
||||
|
||||
# Modify the AutQuit7 disk to have an alias "app" pointing to the MnvM_b34
|
||||
# Modify the AutQuit7 disk to have an alias "app" pointing to the MnvM_b35
|
||||
# application and an 8192-byte TeachText file called "doc" (containing
|
||||
# "@START@", 8180 periods and spaces, and "@END@").
|
||||
system -W ${worksrcpath}/${my_autoquit} "${prefix}/bin/bspatch '${my_autoquit}.dsk' '${my_autoquit}.dsk.tmp' '${filespath}/patch-${my_autoquit}.dsk.bsdiff'"
|
||||
@@ -209,6 +215,7 @@ pre-configure {
|
||||
foreach my_arch [get_canonical_archs] {
|
||||
set my_target [my_arch_to_target ${my_arch}]
|
||||
foreach {my_machine my_variation_options} ${my_variations} {
|
||||
set my_variation ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
|
||||
if {${i} > 0} {
|
||||
lappend configure_args \;
|
||||
}
|
||||
@@ -216,7 +223,7 @@ pre-configure {
|
||||
${my_base_options} \
|
||||
-t ${my_target} \
|
||||
${my_variation_options} \
|
||||
-n ${my_version}_${revision}-[strsed [string tolower ${my_machine}] {g/[^a-z0-9_-]//}]-${my_target}
|
||||
-n ${my_variation}
|
||||
incr i
|
||||
}
|
||||
}
|
||||
@@ -257,7 +264,7 @@ post-configure {
|
||||
system -W ${build.dir} "tar xf '${my_src_tarball}'"
|
||||
move ${build.dir}/${my_variation} ${build.dir}/${my_variation_dir}
|
||||
|
||||
if {[variant_exists bootstrap] && [variant_isset bootstrap]} {
|
||||
if {${subport} eq "${my_name}-bootstrap${my_suffix}"} {
|
||||
# Change the "export" function so that exported files are written to the same
|
||||
# directory as Mini vMac, instead of prompting for a location.
|
||||
system -W ${build.dir}/${my_variation_dir} "patch -p0 < ${filespath}/patch-src-MYOSGLUE.c.diff"
|
||||
@@ -284,45 +291,26 @@ post-configure {
|
||||
}
|
||||
}
|
||||
|
||||
set my_share_dir ${prefix}/share/${my_name}
|
||||
|
||||
post-build {
|
||||
set i 0
|
||||
foreach my_arch [get_canonical_archs] {
|
||||
set my_target [my_arch_to_target ${my_arch}]
|
||||
foreach {my_machine unused} ${my_variations} {
|
||||
if {[variant_isset universal]} {
|
||||
reinplace "s|${my_target}|umch|" ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Info.plist
|
||||
}
|
||||
if {![variant_exists bootstrap] || ![variant_isset bootstrap]} {
|
||||
# To save space, keep only a single copy of the Resources directory.
|
||||
set my_resources_dir ${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources
|
||||
if {0 == ${i}} {
|
||||
move ${my_resources_dir} ${build.dir}
|
||||
} else {
|
||||
delete ${my_resources_dir}
|
||||
}
|
||||
ln -s ${my_share_dir}/Resources ${my_resources_dir}
|
||||
}
|
||||
incr i
|
||||
|
||||
# Install the prettier icons.
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns \
|
||||
${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONAPPO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns \
|
||||
${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONDSKO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns \
|
||||
${build.dir}/${my_arch}/${my_machine}/minivmac.app/Contents/Resources/ICONROMO.icns
|
||||
}
|
||||
}
|
||||
|
||||
if {![variant_exists bootstrap] || ![variant_isset bootstrap]} {
|
||||
# Install the prettier icons.
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/AppIcon.icns ${build.dir}/Resources/ICONAPPO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/DskIcon.icns ${build.dir}/Resources/ICONDSKO.icns
|
||||
xinstall -m 0644 ${worksrcpath}/${my_icons}/icons/RomIcon.icns ${build.dir}/Resources/ICONROMO.icns
|
||||
}
|
||||
}
|
||||
|
||||
destroot {
|
||||
if {![variant_exists bootstrap] || ![variant_isset bootstrap]} {
|
||||
# Install the global Resources directory.
|
||||
xinstall -d ${destroot}${my_share_dir}
|
||||
copy ${build.dir}/Resources ${destroot}${my_share_dir}
|
||||
}
|
||||
|
||||
# Install the programs.
|
||||
foreach my_arch [get_canonical_archs] {
|
||||
if {[variant_isset universal]} {
|
||||
@@ -341,6 +329,116 @@ destroot {
|
||||
}
|
||||
}
|
||||
|
||||
pre-activate {
|
||||
if {![catch {set installed [lindex [registry_active ${name}] 0]}]} {
|
||||
set installed_version [lindex ${installed} 1]
|
||||
set installed_revision [lindex ${installed} 2]
|
||||
set installed_epoch [lindex ${installed} 5]
|
||||
if {[vercmp ${installed_epoch} 0] == 0 && (
|
||||
[vercmp ${installed_version} 3.5.8] < 0 || (
|
||||
[vercmp ${installed_version} 3.5.8] == 0 && [vercmp ${installed_revision} 1] < 0
|
||||
)
|
||||
)} {
|
||||
registry_deactivate_composite ${name} "" [list ports_nodepcheck 1]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subport ${my_name}-128k${my_suffix} {
|
||||
my_variations {128K} {-m 128K}
|
||||
}
|
||||
|
||||
subport ${my_name}-512k${my_suffix} {
|
||||
my_variations {512K} {-m 128K -mem 512K}
|
||||
}
|
||||
|
||||
subport ${my_name}-512ke${my_suffix} {
|
||||
my_variations {512Ke} {-m 512Ke}
|
||||
}
|
||||
|
||||
subport ${my_name}-plus${my_suffix} {
|
||||
my_variations {Plus} {-m Plus}
|
||||
default_variants +icon_master
|
||||
}
|
||||
|
||||
subport ${my_name}-se${my_suffix} {
|
||||
my_variations {SE} {-m SE}
|
||||
}
|
||||
|
||||
subport ${my_name}-sefdhd${my_suffix} {
|
||||
my_variations {SE FDHD} {-m SEFDHD}
|
||||
}
|
||||
|
||||
subport ${my_name}-classic${my_suffix} {
|
||||
my_variations {Classic} {-m Classic}
|
||||
}
|
||||
|
||||
subport ${my_name}-ii${my_suffix} {
|
||||
my_variations {II} {-m II -mem 8M -hres 800 -vres 600 -depth 3}
|
||||
}
|
||||
|
||||
# To build the bootstrap application, use:
|
||||
# sudo port destroot minivmac bootstrap=yes subport=minivmac-bootstrap
|
||||
# The subport is hidden because it is useful only to the port maintainer.
|
||||
if {[tbool bootstrap]} {
|
||||
subport ${my_name}-bootstrap${my_suffix} {
|
||||
my_variations {Bootstrap} {-m Plus -as 0 -bg 1 -mf 1 -sound 0 -speed a -var-fullscreen 0}
|
||||
|
||||
description Mini vMac Bootstrap
|
||||
|
||||
long_description A copy of Mini vMac specially configured to be \
|
||||
used to build other copies of Mini vMac.
|
||||
|
||||
depends_build-append port:p7zip
|
||||
|
||||
depends_skip_archcheck-append \
|
||||
p7zip
|
||||
|
||||
if {${os.major} < 11} {
|
||||
default_variants +universal
|
||||
}
|
||||
|
||||
set output_archive ${workpath}/${my_name}-bootstrap-${version}_${revision}.zip
|
||||
|
||||
post-destroot {
|
||||
exec 7za a ${output_archive} ${destroot}${my_app_dir}/${my_bootstrap_app}
|
||||
ui_msg "The distribution zip file has been created:"
|
||||
ui_msg
|
||||
ui_msg "${output_archive}"
|
||||
|
||||
if {![variant_isset universal] || "ppc" ni ${configure.universal_archs}} {
|
||||
ui_msg
|
||||
ui_warn "DON'T DISTRIBUTE THIS FILE! It doesn't contain all the"
|
||||
ui_warn "necessary architectures. To build a distributable"
|
||||
ui_warn "bootstrap app, use the universal variant and build on"
|
||||
ui_warn "Mac OS X Leopard or Snow Leopard."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if {${subport} ni [list "${my_name}${my_suffix}" "${my_name}-bootstrap${my_suffix}"]} {
|
||||
description a Macintosh [lindex ${my_variations} 0] emulator
|
||||
|
||||
long_description-append \
|
||||
This subport emulates a Macintosh \
|
||||
[lindex ${my_variations} 0].
|
||||
|
||||
if {[lindex ${my_variations} 0] eq "Plus"} {
|
||||
long_description-append \
|
||||
This is the best-tested variation.
|
||||
}
|
||||
|
||||
long_description-append \
|
||||
There are other subports that emulate other Macintosh \
|
||||
models.
|
||||
|
||||
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"
|
||||
}
|
||||
}
|
||||
|
||||
# Returns the full path to the ROM file, wherever the user has it,
|
||||
# or the empty string if the user doesn't have it.
|
||||
proc my_real_rom_file {} {
|
||||
@@ -375,7 +473,3 @@ proc my_arch_to_target {arch} {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
livecheck.type regex
|
||||
livecheck.url ${homepage}doc/download.html
|
||||
livecheck.regex ${my_name}-(\[0-9.\]+)\\.src
|
||||
|
||||
Reference in New Issue
Block a user