Files
Torsten Maehne ef86185d76 mars: Update to version 4.5.1
The original MARS web site got moved to GitHub.
The patch for the jedit-based editor is dropped, as it is fixed upstream.
universalJavaApplicationStub replaces the JavaApplicationStube removed from macOS.
2026-05-19 07:22:53 -04:00

97 lines
3.8 KiB
Tcl

# -*- 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
PortSystem 1.0
name mars
version 4.5.1
set releasedate Oct2024
set fileversion [join [lrange [split ${version} .] 0 1] _]
revision 0
categories java devel
platforms {darwin any}
supported_archs noarch
license MIT
maintainers {gmx.de:Torsten.Maehne @maehne} openmaintainer
description MARS (MIPS Assembler and Runtime Simulator)
long_description MARS is a lightweight interactive development environment \
(IDE) for programming in MIPS assembly language, intended \
for educational-level use with Patterson and Hennessy's \
Computer Organization and Design.
homepage https://dpetersanderson.github.io/
master_sites https://github.com/dpetersanderson/MARS/releases/download/v.${version}:mars \
https://github.com/tofi86/universalJavaApplicationStub/raw/refs/tags/v3.3.0/src:jappstub
distname Mars${fileversion}
distfiles Mars${fileversion}.jar:mars \
universalJavaApplicationStub:jappstub
use_zip yes
extract.only ${distname}.jar
extract.suffix .jar
checksums Mars4_5.jar \
rmd160 1d87e3fbe0c06af5917f56c4e282db89223b1b49 \
sha256 ac340b676ba2b62246b9df77e62f81ad4447bcfd329ab539716bcd09950b7096 \
size 4169142 \
universalJavaApplicationStub \
rmd160 45726412bc0c8c67fd8dd4282316dce871fe6c09 \
sha256 49bd31b90d41b1afd2d0e47636fea2461f5d16c2a55e0147fd82d77305514151 \
size 37008
depends_lib bin:java:kaffe
use_configure no
build {}
# The only reason we extract the zip file is to get the image for the
# macOS app icon, so we don't need to extract it on other platforms.
if {${os.platform} ne "darwin"} {
extract.only
}
destroot {
# Install Mars JAR
xinstall -m 755 -d ${destroot}${prefix}/share/java
xinstall -m 644 -W ${distpath} ${distname}.jar ${destroot}${prefix}/share/java
# Install and configure mars command line wrapper
xinstall -m 755 ${filespath}/mars.in ${destroot}${prefix}/bin/mars
reinplace "s|@MARSJARPATH@|${prefix}/share/java/${distname}.jar|g" ${destroot}${prefix}/bin/mars
}
platform darwin {
depends_build-append port:makeicns
extract.mkdir yes
pre-extract {
extract.post_args-append images/MarsThumbnail.gif
}
# Build a nice .app
post-destroot {
set MarsAppPath ${destroot}${applications_dir}/MARS.app
# Build paths
xinstall -m 755 -d ${MarsAppPath}/Contents/Resources/Java \
${MarsAppPath}/Contents/MacOS
# Basic package information
xinstall -m 644 ${filespath}/PkgInfo ${MarsAppPath}/Contents/PkgInfo
xinstall -m 644 ${filespath}/Info.plist.in ${MarsAppPath}/Contents/Info.plist
# Set the version in the Info.plist
reinplace "s|@VERSION@|${version}|g" ${MarsAppPath}/Contents/Info.plist
# Set the JAR file name
reinplace "s|@MARSJARFILE@|${distname}.jar|g" ${MarsAppPath}/Contents/Info.plist
# Generate the icon
system "${prefix}/bin/makeicns -in ${worksrcpath}/images/MarsThumbnail.gif -out ${MarsAppPath}/Contents/Resources/Mars.icns"
# Link to the JAR file
ln -s ${prefix}/share/java/${distname}.jar \
${MarsAppPath}/Contents/Resources/Java/${distname}.jar
# Copy the stub app
xinstall -m 755 ${distpath}/universalJavaApplicationStub \
${MarsAppPath}/Contents/MacOS
}
}