[63849] users/ryandesign/ports/games

ryandesign at macports.org ryandesign at macports.org
Tue Feb 16 20:21:41 PST 2010


Revision: 63849
          http://trac.macports.org/changeset/63849
Author:   ryandesign at macports.org
Date:     2010-02-16 20:21:41 -0800 (Tue, 16 Feb 2010)
Log Message:
-----------
mystonline-cider: new port

Modified Paths:
--------------
    users/ryandesign/ports/games/mystonline-cider/Portfile
    users/ryandesign/ports/games/mystonline-cider/files/MOUL.sh

Added Paths:
-----------
    users/ryandesign/ports/games/mystonline-cider/
    users/ryandesign/ports/games/mystonline-cider/files/attach.exp

Modified: users/ryandesign/ports/games/mystonline-cider/Portfile
===================================================================
--- users/ryandesign/ports/games/mystonline-crossover/Portfile	2010-02-17 04:12:24 UTC (rev 63848)
+++ users/ryandesign/ports/games/mystonline-cider/Portfile	2010-02-17 04:21:41 UTC (rev 63849)
@@ -2,7 +2,7 @@
 
 PortSystem                  1.0
 
-name                        mystonline-crossover
+name                        mystonline-cider
 set my_name                 mystonline
 version                     2010
 platforms                   darwin
@@ -10,40 +10,43 @@
 maintainers                 ryandesign
 homepage                    http://mystonline.com/
 dist_subdir                 ${my_name}
-master_sites                https://account.mystonline.com/download/
-set installer_exe           MOULInstaller.exe
-distfiles                   ${installer_exe}
+master_sites                http://archives.gametap.com/static/uru-client/mac/
+set installer_dmg           mac_myst_setup.dmg
+set launcher_exe            UruLauncher.exe
+distfiles                   ${installer_dmg}
 extract.mkdir               yes
 extract.only
 
 description                 Myst Online: URU Live Again
 
-long_description            ${description} (MO:ULagain) running via the Crossover Games version of Wine
+long_description            ${description} (MO:ULagain) running via the Cider wrapper from GameTap
 
-checksums                   md5     6e33d2f380698d0f552b7a5a1e3634a3 \
-                            sha1    5221729d62b9c9578c3b2da5042a2fd69443b05b \
-                            rmd160  29ff37d4768105061e96b517d7f4d99b406accef
+checksums                   md5     3b3b5af000b32a4415e6aa7d944083fb \
+                            sha1    253e14987a9375d66f92373b11e2dda43872b2a8 \
+                            rmd160  c156b0edd20a691248269f6e3ab9996fddae74c8
 
-depends_build               port:winetricks
+depends_extract             bin:expect:expect
 
-depends_run                 port:wine-crossover-games
-
 set libexec_dir             ${prefix}/libexec/${name}
 set share_dir               ${prefix}/share/${my_name}
 set bootstrap_dir           ${share_dir}/bootstrap
 set assets_dir              ${share_dir}/data
-set wineprefix              ${share_dir}/crossover
-set app_name                "Myst Online (Crossover)"
+set wineprefix              ${share_dir}/cider
+set app_name                "Myst Online (Cider)"
 set app_package             ${applications_dir}/${app_name}.app
 
 post-extract {
+    copy ${distpath}/${installer_dmg} ${worksrcpath}
+    set my_dmg_mount [my_attach_disk_image ${worksrcpath}/${installer_dmg}]
+    copy "${my_dmg_mount}/Myst Online.app" ${worksrcpath}/app
+    my_detach_disk_image ${my_dmg_mount}
+    
     xinstall -m 644 -W ${filespath} MOUL.sh chown-data.c ${worksrcpath}
 }
 
 post-patch {
-    reinplace "s|@INSTALLER@|${bootstrap_dir}/${installer_exe}|g" ${worksrcpath}/MOUL.sh
-    reinplace "s|@LAUNCHER@|${assets_dir}/UruLauncher.exe|g" ${worksrcpath}/MOUL.sh
-    reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/MOUL.sh
+    reinplace "s|@BOOTSTRAP_LAUNCHER@|${bootstrap_dir}/${launcher_exe}|g" ${worksrcpath}/MOUL.sh
+    reinplace "s|@LAUNCHER@|${assets_dir}/${launcher_exe}|g" ${worksrcpath}/MOUL.sh
     reinplace "s|@LIBEXEC@|${libexec_dir}|g" ${worksrcpath}/MOUL.sh
     reinplace "s|@WINEPREFIX@|${wineprefix}|g" ${worksrcpath}/MOUL.sh ${worksrcpath}/chown-data.c
     reinplace "s|@ASSETS@|${assets_dir}|g" ${worksrcpath}/chown-data.c
@@ -52,17 +55,29 @@
 use_configure               no
 
 build {
-    system "WINEPREFIX=${worksrcpath}/wineprefix ${prefix}/bin/wineprefixcreate"
+    delete "${worksrcpath}/app/Contents/MacOS/Uru Live"
+    xinstall -W ${worksrcpath} MOUL.sh "${worksrcpath}/app/Contents/MacOS/Uru Live"
     
-    if {![file exists ${distpath}/winetrickscache]} {
-        ln -s . ${distpath}/winetrickscache
-    }
-#    system "WINEPREFIX=${worksrcpath}/wineprefix HOME=${distpath} ${prefix}/bin/winetricks -q fontsmooth-rgb"
+    set transgaming_dir "${worksrcpath}/app/Contents/Resources/Myst Online.app/Contents/Resources/transgaming"
+    move ${transgaming_dir} ${worksrcpath}/wineprefix
+    ln -s ${wineprefix} ${transgaming_dir}
     
-    set program_files "${worksrcpath}/wineprefix/drive_c/Program Files"
-    file mkdir ${program_files}
+    set program_files "${worksrcpath}/wineprefix/c_drive/Program Files"
+    delete "${program_files}/Uru Live"
     ln -s ${assets_dir} "${program_files}/Uru Live"
     
+    file mkdir ${worksrcpath}/assets
+    ln -s "${app_package}/Contents/Resources/Myst Online.app/Contents/Resources" ${worksrcpath}/assets/Cider
+    
+    foreach a {Login Updater} {
+        reinplace "s|support.mystonline.com/serverstatus/urulivelive.php|support.cyanworlds.com/serverstatus/moullive.php|g" \
+            "${worksrcpath}/app/Contents/Resources/Myst Online.app/Contents/Resources/URU Live ${a}.app/Contents/Info.plist"
+    }
+    
+    set tos "${worksrcpath}/app/Contents/Resources/Myst Online.app/Contents/Resources/URU Live EULA.app/Contents/Resources/TOS.txt"
+    delete ${tos}
+    ln -s ${assets_dir}/TOS.txt ${tos}
+    
     system "cd ${worksrcpath} && ${configure.cc} chown-data.c -o chown-data"
 }
 
@@ -71,47 +86,53 @@
 destroot {
     xinstall -d ${destroot}${libexec_dir} \
                 ${destroot}${bootstrap_dir} \
-                ${destroot}${assets_dir} \
-                ${destroot}${app_package}/Contents/MacOS
+                ${destroot}${applications_dir}
     
     xinstall -m 4755 -W ${worksrcpath} chown-data ${destroot}${libexec_dir}
     
-    xinstall -W ${worksrcpath} MOUL.sh ${destroot}${app_package}/Contents/MacOS/${app_name}
+    copy ${worksrcpath}/app ${destroot}${app_package}
     
-    xinstall -m 644 -W ${distpath} ${installer_exe} ${destroot}${bootstrap_dir}
+    copy ${worksrcpath}/assets ${destroot}${assets_dir}
     
     copy ${worksrcpath}/wineprefix ${destroot}${wineprefix}
     
     xinstall -d "${destroot}${wineprefix}/Program Files/Common Files"
 }
 
-notes                       This is Myst Online running via the Crossover Games version of Wine. \
+notes                       This is Myst Online running via the Cider wrapper developed for the \
+                            GameTap version of Myst Online a few years ago. \
                             Peculiarities of this method of running Myst Online include: \
-                            \n\n* The first time you open Myst Online, the installer runs. Don't change the default install location. \
-                            Later, you will also be prompted to install PhysX. \
-                            \n* If you click anywhere in the updater window, the window will follow the mouse and will not go away. \
-                            \n* You cannot hold down the Command key while dragging to look around. \
-                            \n* The menubar cannot be hidden. \
-                            \n* The dock does not hide automatically. It can be hidden using the normal ways \
-                            (e.g. Apple menu > Dock > Turn hiding on) but you may also want to move the dock \
-                            to the side of the screen as otherwise it gets in the way of game play. \
-                            \n* The game's dock icon keeps bouncing longer than it should, doesn't show that \
-                            it's running even when it is, and doesn't bring the game to the front if you click it. \
-                            Accessing the dock icon's context menu doesn't let you quit the game normally, \
-                            though it does let you force-quit it. \
-                            \n* The Relto-book application icon is missing. \
-                            \n* The game starts in fullscreen mode. If in fullscreen mode you access the game's \
-                            graphics settings, you cannot return to the game\; you must force-quit. \
-                            \n* To switch between fullscreen and windowed mode, use the checkbox in the graphics settings. \
+                            \n\n* Several icons appear and disappear in the dock while the game is starting. \
+                            \n* The game doesn't always quit itself when it's done. Often you have to force-quit it. \
+                            \n* If you need to force-quit the game while in fullscreen mode, press Command-Option-Escape. \
+                            \n* The game starts in fullscreen mode at 800x600 resolution. To switch to a \
+                            higher resolution, use the in-game graphics settings. \
+                            \n* To switch between fullscreen and windowed mode, press Command-Return. \
                             \n* Intel GMA 950 integrated graphics cards are not supported. Some graphics including your avatar \
                             will not display correctly. \
-                            \n* On Macs with NVIDIA graphics cards, Eder Kemo has graphics glitches and severe \
-                            performance problems. \
+                            \n* On Macs with NVIDIA graphics cards, Eder Kemo has severe performance problems. \
                             \n* Sounds sometimes pop and crackle. \
-                            \n\nOther methods of running Myst Online on a Mac include the Cider version in the \
-                            mystonline-cider port, and running the game in Windows via VMware, Parallels or Boot Camp. \
+                            \n* Several aspects of the game assume your keyboard uses the QWERTY layout. \
+                            \n\nOther methods of running Myst Online on a Mac include the Crossover Games version in the \
+                            mystonline-crossover port, and running the game in Windows via VMware, Parallels or Boot Camp. \
                             \n\nIf you already have the game files from a non-MacPorts installation of Myst Online, \
                             you can copy or move them to ${assets_dir} to save some download time. \
                             \n\nTo play Myst Online, open ${app_package}.
 
 universal_variant           no
+
+# Mounts a disk image.
+proc my_attach_disk_image {disk_image} {
+    global my_name filespath
+    set mountpoint [mkdtemp "/tmp/${my_name}.XXXXXXXX"]
+    # Use this expect script instead of using hdiutil directly,
+    # so that we can agree to the license agreement.
+    system "expect ${filespath}/attach.exp '${disk_image}' '${mountpoint}'"
+    return ${mountpoint}
+}
+
+# Unmounts a disk image.
+proc my_detach_disk_image {mountpoint} {
+    system "hdiutil detach ${mountpoint} -force"
+    file delete -force ${mountpoint}
+}

Modified: users/ryandesign/ports/games/mystonline-cider/files/MOUL.sh
===================================================================
--- users/ryandesign/ports/games/mystonline-crossover/files/MOUL.sh	2010-02-17 04:12:24 UTC (rev 63848)
+++ users/ryandesign/ports/games/mystonline-cider/files/MOUL.sh	2010-02-17 04:21:41 UTC (rev 63849)
@@ -3,16 +3,8 @@
 # This script runs the game launcher (if it's already been installed)
 # or the installer (if it hasn't).
 
-export PREFIX="@PREFIX@"
 export WINEPREFIX="@WINEPREFIX@"
 
-function cleanup {
-    "$PREFIX/bin/wineserver" -k &
-    exit 0
-}
-
-trap cleanup SIGHUP SIGINT SIGTERM
-
 USER=$(id -u)
 GROUP=$(id -g)
 
@@ -21,20 +13,9 @@
 #fi
 
 LAUNCHER="@LAUNCHER@"
-INSTALLER="@INSTALLER@"
-if [ -r "$LAUNCHER" ]; then
-    PROGRAM="$LAUNCHER"
-else
-    PROGRAM="$INSTALLER"
+BOOTSTRAP_LAUNCHER="@BOOTSTRAP_LAUNCHER@"
+if [ ! -r "$LAUNCHER" ]; then
+    cp -p "$BOOTSTRAP_LAUNCHER" "$LAUNCHER"
 fi
 
-"$PREFIX/bin/wine" "$PROGRAM" &
-sleep 5
-
-# If we're running the installer, the installer will run the launcher
-# after it's done. Wait for all apps to exit before exiting this script.
-#"$PREFIX/bin/wineserver" -w
-SOCKET="$(printf "/tmp/.wine-$USER/server-%x-%x/socket" $(stat -f '%d %i' "$WINEPREFIX"))"
-while [ -r "$SOCKET" ]; do
-    sleep 1
-done
+open -a "$(dirname "$0")/../Resources/Myst Online.app"

Copied: users/ryandesign/ports/games/mystonline-cider/files/attach.exp (from rev 63848, trunk/dports/emulators/minivmac/files/attach.exp)
===================================================================
--- users/ryandesign/ports/games/mystonline-cider/files/attach.exp	                        (rev 0)
+++ users/ryandesign/ports/games/mystonline-cider/files/attach.exp	2010-02-17 04:21:41 UTC (rev 63849)
@@ -0,0 +1,19 @@
+#!/usr/bin/env expect --
+
+# $Id$
+
+spawn hdiutil attach "[lindex $argv 0]" -mountpoint "[lindex $argv 1]" -private -nobrowse -noautoopen -noautofsck -noverify -readonly
+
+expect {
+	"License Agreement" {
+		exp_send "q"
+		exp_continue
+	}
+	"Agree Y/N?" {
+		exp_send "y\r"
+		exp_continue
+	}
+	"/dev/" {
+		interact
+	}
+}


Property changes on: users/ryandesign/ports/games/mystonline-cider/files/attach.exp
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:keywords
   + Id
Added: svn:mergeinfo
   + /trunk/dports/emulators/minivmac-devel/files/attach.exp:58118-58174
Added: svn:eol-style
   + native
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100216/876b014e/attachment.html>


More information about the macports-changes mailing list