Change github workflows to provide MacOs full release zip file (#1290)
339
.github/workflows/buildLoadup.yml
vendored
@ -60,7 +60,7 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
######################################################################################
|
# JOB: inputs #######################################################################
|
||||||
|
|
||||||
# Regularize the inputs so they can be referenced the same way whether they are
|
# Regularize the inputs so they can be referenced the same way whether they are
|
||||||
# the result of a workflow_dispatch or a workflow_call
|
# the result of a workflow_dispatch or a workflow_call
|
||||||
@ -85,8 +85,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# JOB: sentry #######################################################################
|
||||||
######################################################################################
|
|
||||||
|
|
||||||
# Use sentry-action to determine if this release has already been built
|
# Use sentry-action to determine if this release has already been built
|
||||||
# based on the latest commit to the repo
|
# based on the latest commit to the repo
|
||||||
@ -114,11 +113,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
tag: "loadup"
|
tag: "loadup"
|
||||||
|
|
||||||
######################################################################################
|
|
||||||
|
|
||||||
|
# JOB: loadup #######################################################################
|
||||||
|
|
||||||
#
|
#
|
||||||
# Do the loadup
|
# Do the loadup and push to release on github
|
||||||
#
|
#
|
||||||
|
|
||||||
loadup:
|
loadup:
|
||||||
@ -129,7 +128,8 @@ jobs:
|
|||||||
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
|
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
|
||||||
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
|
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
|
||||||
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
|
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
|
||||||
debs_filename_base: ${{ steps.debs.outputs.DEBS_FILENAME_BASE }}
|
artifacts_filename_template: ${{ steps.job_outputs.outputs.ARTIFACTS_FILENAME_TEMPLATE }}
|
||||||
|
release_url: ${{ steps.push.outputs.html_url }}
|
||||||
|
|
||||||
needs: [inputs, sentry]
|
needs: [inputs, sentry]
|
||||||
if: |
|
if: |
|
||||||
@ -156,22 +156,35 @@ jobs:
|
|||||||
|
|
||||||
# Get Maiko release information, retrieves the name of the latest
|
# Get Maiko release information, retrieves the name of the latest
|
||||||
# release. Used to download the correct Maiko release
|
# release. Used to download the correct Maiko release
|
||||||
- name: Get Maiko Release Information
|
# Find latest release (draft or normal)
|
||||||
|
- name: Get maiko release information
|
||||||
id: maiko
|
id: maiko
|
||||||
uses: abatilo/release-info-action@v1.3.2
|
run: |
|
||||||
with:
|
tag=""
|
||||||
owner: ${{ github.repository_owner }}
|
if [ "${{ needs.inputs.outputs.draft }}" = "true" ];
|
||||||
repo: maiko
|
then
|
||||||
|
gh release list --repo ${{ github.repository_owner }}/maiko | grep Draft >/tmp/releases-$$
|
||||||
|
if [ $? -eq 0 ];
|
||||||
|
then
|
||||||
|
tag=$(head -n 1 /tmp/releases-$$ | awk '{ print $3 }')
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ -z "${tag}" ];
|
||||||
|
then
|
||||||
|
tag=$(gh release list --repo ${{ github.repository_owner }}/maiko | grep Latest | head -n 1 | awk '{ print $3 }')
|
||||||
|
fi
|
||||||
|
echo "maiko_tag=${tag}" >> ${GITHUB_OUTPUT}
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
|
||||||
|
|
||||||
# Setup environment variables & establish job outputs
|
# Setup environment variables & establish job outputs
|
||||||
- name: Setup Environment Variables
|
- name: Setup Environment Variables
|
||||||
run: |
|
run: |
|
||||||
echo "build_time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_OUTPUT}
|
echo "build_time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_OUTPUT}
|
||||||
echo "TARBALL_DIR=installers/deb/tmp/tarballs" >>${GITHUB_ENV}
|
echo "TARBALL_DIR=/tmp/tarballs" >>${GITHUB_ENV}
|
||||||
echo "DEBS_DIR=installers/deb/debs" >>${GITHUB_ENV}
|
|
||||||
echo "TARS_DIR=installers/deb/tars" >>${GITHUB_ENV}
|
|
||||||
echo "MEDLEY_RELEASE_TAG=${RELEASE_TAG}" >>${GITHUB_ENV}
|
echo "MEDLEY_RELEASE_TAG=${RELEASE_TAG}" >>${GITHUB_ENV}
|
||||||
echo "MAIKO_RELEASE_TAG=${{ steps.maiko.outputs.latest_tag }}" >>${GITHUB_ENV}
|
echo "MAIKO_RELEASE_TAG=${{ steps.maiko.outputs.maiko_tag }}" >>${GITHUB_ENV}
|
||||||
|
echo "ARTIFACTS_FILENAME_TEMPLATE=medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@" >>${GITHUB_ENV}
|
||||||
- name: More Environment Variables
|
- name: More Environment Variables
|
||||||
run: |
|
run: |
|
||||||
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_RELEASE_TAG#medley-}" >>${GITHUB_ENV}
|
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_RELEASE_TAG#medley-}" >>${GITHUB_ENV}
|
||||||
@ -182,27 +195,25 @@ jobs:
|
|||||||
- name: Establish job outputs
|
- name: Establish job outputs
|
||||||
id: job_outputs
|
id: job_outputs
|
||||||
run: |
|
run: |
|
||||||
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> $GITHUB_OUTPUT;
|
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
|
||||||
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> $GITHUB_OUTPUT;
|
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
|
||||||
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> $GITHUB_OUTPUT;
|
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
|
||||||
|
echo "ARTIFACTS_FILENAME_TEMPLATE=${ARTIFACTS_FILENAME_TEMPLATE}" >> ${GITHUB_OUTPUT}
|
||||||
|
|
||||||
# Setup some needed dirs in workspace
|
# Setup some needed dirs in workspace
|
||||||
- name: Create work dirs
|
- name: Create work dirs
|
||||||
run: mkdir -p ${TARBALL_DIR}
|
run: mkdir -p ${TARBALL_DIR}
|
||||||
|
|
||||||
# Download Maiko Release Assets
|
# Download Maiko Release Assets and untar it
|
||||||
- name: Download Release Assets
|
- name: Download Release Assets
|
||||||
uses: robinraju/release-downloader@v1.6
|
|
||||||
with:
|
|
||||||
repository: ${{ github.repository_owner }}/maiko
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
latest: true
|
|
||||||
out-file-path: ${{ env.TARBALL_DIR }}
|
|
||||||
fileName: "${{ env.MAIKO_RELEASE_TAG }}-linux.*.tgz"
|
|
||||||
|
|
||||||
- name: Untar Maiko Release for use in loadup
|
|
||||||
run: |
|
run: |
|
||||||
tar -xzf "${TARBALL_DIR}/${{ env.MAIKO_RELEASE_TAG }}-linux.x86_64.tgz"
|
gh release download ${MAIKO_RELEASE_TAG} \
|
||||||
|
-D ${TARBALL_DIR} \
|
||||||
|
--repo ${{ github.repository_owner }}/maiko \
|
||||||
|
-p '*.tgz'
|
||||||
|
tar -xzf "${TARBALL_DIR}/${MAIKO_RELEASE_TAG}-linux.x86_64.tgz"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
|
||||||
|
|
||||||
# Checkout Notecards and tar it in the tarballsdir
|
# Checkout Notecards and tar it in the tarballsdir
|
||||||
- name: Checkout Notecards
|
- name: Checkout Notecards
|
||||||
@ -210,11 +221,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
repository: ${{ github.repository_owner }}/notecards
|
repository: ${{ github.repository_owner }}/notecards
|
||||||
path: ./notecards
|
path: ./notecards
|
||||||
- run: mv ./notecards ../notecards
|
|
||||||
- name: Tar notecards into tarball dir
|
- name: Tar notecards into tarball dir
|
||||||
run: |
|
run: |
|
||||||
cd ..
|
mv ./notecards ../notecards
|
||||||
tar cfz medley/${TARBALL_DIR}/notecards.tgz notecards
|
cd ../notecards
|
||||||
|
git archive --format=tgz --output="${TARBALL_DIR}/notecards.tgz" --prefix=notecards/ main
|
||||||
|
|
||||||
# Install vnc
|
# Install vnc
|
||||||
- name: Install vnc
|
- name: Install vnc
|
||||||
@ -224,7 +235,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
Xvnc -geometry 1280x720 :0 &
|
Xvnc -geometry 1280x720 :0 &
|
||||||
export DISPLAY=":0"
|
export DISPLAY=":0"
|
||||||
PATH="$PWD/maiko:$PATH"
|
|
||||||
scripts/loadup-all.sh -apps
|
scripts/loadup-all.sh -apps
|
||||||
scripts/loadup-db.sh
|
scripts/loadup-db.sh
|
||||||
|
|
||||||
@ -233,15 +243,6 @@ jobs:
|
|||||||
scripts/release-make-tars.sh "${MEDLEY_RELEASE_TAG}"
|
scripts/release-make-tars.sh "${MEDLEY_RELEASE_TAG}"
|
||||||
mv releases/"${MEDLEY_SHORT_RELEASE_TAG}"/*.tgz "${TARBALL_DIR}"
|
mv releases/"${MEDLEY_SHORT_RELEASE_TAG}"/*.tgz "${TARBALL_DIR}"
|
||||||
|
|
||||||
# Build the deb files as well as the tgz files
|
|
||||||
- name: Build .deb files for 3 architectures
|
|
||||||
id: debs
|
|
||||||
run: |
|
|
||||||
cd installers/deb
|
|
||||||
debs_filename_base=$(./build_deb.sh)
|
|
||||||
echo "DEBS_FILENAME_BASE=${debs_filename_base}" >> $GITHUB_ENV;
|
|
||||||
echo "DEBS_FILENAME_BASE=${debs_filename_base}" >> $GITHUB_OUTPUT;
|
|
||||||
|
|
||||||
# Push the release up to github releases
|
# Push the release up to github releases
|
||||||
- name: Delete existing release with same tag (if any)
|
- name: Delete existing release with same tag (if any)
|
||||||
uses: cb80/delrel@latest
|
uses: cb80/delrel@latest
|
||||||
@ -250,21 +251,166 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Push the release
|
- name: Push the release
|
||||||
id: push_release
|
id: push
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
allowUpdates: true
|
allowUpdates: true
|
||||||
artifacts:
|
artifacts:
|
||||||
|
# ${{ env.TARBALL_DIR }}/notecards.tgz,
|
||||||
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
|
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
|
||||||
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz,
|
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz
|
||||||
${{ env.DEBS_DIR }}/*.deb,
|
|
||||||
${{ env.TARS_DIR }}/*.tgz
|
|
||||||
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||||
draft: ${{ needs.inputs.outputs.draft }}
|
draft: ${{ needs.inputs.outputs.draft }}
|
||||||
prerelease: false
|
prerelease: false
|
||||||
generateReleaseNotes: true
|
generateReleaseNotes: true
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# Save the tarball directory for subsequent jobs
|
||||||
|
- name: Save tarballs
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: tarballs
|
||||||
|
path: ${{ env.TARBALL_DIR }}
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
|
||||||
|
# JOB: linux_installer ##############################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create the linux installers (.deb and .tgz) and push to release on github
|
||||||
|
#
|
||||||
|
linux_installer:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
needs: [inputs, sentry, loadup]
|
||||||
|
if: |
|
||||||
|
needs.sentry.outputs.release_not_built == 'true'
|
||||||
|
|| needs.inputs.outputs.force == 'true'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# Checkout latest commit
|
||||||
|
- name: Checkout Medley
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
- name: Environment variables
|
||||||
|
run: |
|
||||||
|
echo "DEBS_DIR=installers/deb/debs" >>${GITHUB_ENV}
|
||||||
|
echo "TARS_DIR=installers/deb/tars" >>${GITHUB_ENV}
|
||||||
|
echo "TARBALL_DIR=installers/deb/tmp/tarballs" >>${GITHUB_ENV}
|
||||||
|
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" \
|
||||||
|
>>${GITHUB_ENV}
|
||||||
|
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
|
||||||
|
|
||||||
|
# Create taball dir
|
||||||
|
- run: mkdir -p ${TARBALL_DIR}
|
||||||
|
|
||||||
|
# Get the tarballs
|
||||||
|
- name: Get tarballs
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: tarballs
|
||||||
|
path: ${{ env.TARBALL_DIR }}
|
||||||
|
|
||||||
|
# Build the deb files as well as the tgz files
|
||||||
|
- name: Build .deb files for 3 architectures
|
||||||
|
id: debs
|
||||||
|
run: |
|
||||||
|
cd installers/deb
|
||||||
|
./build_deb.sh
|
||||||
|
|
||||||
|
# Push the debs and tgz up to github releases
|
||||||
|
- name: Push the release
|
||||||
|
id: push_release
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
allowUpdates: true
|
||||||
|
artifacts:
|
||||||
|
${{ env.DEBS_DIR }}/*.deb,
|
||||||
|
${{ env.TARS_DIR }}/*.tgz
|
||||||
|
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
omitBodyDuringUpdate: true
|
||||||
|
omitDraftDuringUpdate: true
|
||||||
|
omitNameDuringUpdate: true
|
||||||
|
omitPrereleaseDuringUpdate: true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# JOB: macos_installer ##############################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create the macos installers (.dmg and .zip) and push to release on github
|
||||||
|
#
|
||||||
|
macos_installer:
|
||||||
|
|
||||||
|
runs-on: macos-12
|
||||||
|
|
||||||
|
needs: [inputs, sentry, loadup]
|
||||||
|
if: |
|
||||||
|
needs.sentry.outputs.release_not_built == 'true'
|
||||||
|
|| needs.inputs.outputs.force == 'true'
|
||||||
|
# if: false
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# Checkout latest commit
|
||||||
|
- name: Checkout Medley
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
- name: Environment variables
|
||||||
|
run: |
|
||||||
|
MACOS_DIR=installers/macos
|
||||||
|
echo "MACOS_DIR=${MACOS_DIR}" >>${GITHUB_ENV}
|
||||||
|
echo "ARTIFACTS_DIR=${MACOS_DIR}/artifacts" >>${GITHUB_ENV}
|
||||||
|
echo "TARBALL_DIR=${MACOS_DIR}/tmp/tarballs" >>${GITHUB_ENV}
|
||||||
|
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" \
|
||||||
|
>>${GITHUB_ENV}
|
||||||
|
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
|
||||||
|
|
||||||
|
# Create tarball dir
|
||||||
|
- run: mkdir -p ${TARBALL_DIR}
|
||||||
|
|
||||||
|
# Get the tarballs
|
||||||
|
- name: Get tarballs
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: tarballs
|
||||||
|
path: ${{ env.TARBALL_DIR }}
|
||||||
|
|
||||||
|
# Build the .dmg and .zip files
|
||||||
|
- name: Build .dmg & .zip files
|
||||||
|
id: dmg-zip
|
||||||
|
run: |
|
||||||
|
cd ${MACOS_DIR}
|
||||||
|
./build_artifacts.sh
|
||||||
|
|
||||||
|
# Push the .dmg and .zip up to github releases
|
||||||
|
- name: Push the release
|
||||||
|
id: push_release
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
allowUpdates: true
|
||||||
|
artifacts:
|
||||||
|
# 2023-07-20 not yet building dmg -- ${{ env.ARTIFACTS_DIR }}/*.dmg,
|
||||||
|
${{ env.ARTIFACTS_DIR }}/*.zip
|
||||||
|
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
omitBodyDuringUpdate: true
|
||||||
|
omitDraftDuringUpdate: true
|
||||||
|
omitNameDuringUpdate: true
|
||||||
|
omitPrereleaseDuringUpdate: true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# JOB: windows_installer #############################################################
|
||||||
|
|
||||||
#
|
#
|
||||||
# Create the Windows installer, push it up to the release on github and
|
# Create the Windows installer, push it up to the release on github and
|
||||||
@ -279,7 +425,11 @@ jobs:
|
|||||||
needs.sentry.outputs.release_not_built == 'true'
|
needs.sentry.outputs.release_not_built == 'true'
|
||||||
|| needs.inputs.outputs.force == 'true'
|
|| needs.inputs.outputs.force == 'true'
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
windows_installer_filename: ${{ steps.jobout.outputs.INSTALLER_FILENAME }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# Checkout latest commit
|
# Checkout latest commit
|
||||||
- name: Checkout Medley
|
- name: Checkout Medley
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -294,8 +444,8 @@ jobs:
|
|||||||
echo "MEDLEY_RELEASE_TAG=$mrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
echo "MEDLEY_RELEASE_TAG=$mrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||||
$msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
|
$msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
|
||||||
echo "MEDLEY_SHORT_RELEASE_TAG=$msrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
echo "MEDLEY_SHORT_RELEASE_TAG=$msrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||||
$debs="${{ needs.loadup.outputs.debs_filename_base }}"
|
$aft="${{ needs.loadup.outputs.artifacts_filename_template }}"
|
||||||
echo "DEBS_FILENAME_BASE=$debs" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
echo "ARTIFACTS_FILENAME_TEMPLATE=$aft" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||||
|
|
||||||
# Download vnc viewer
|
# Download vnc viewer
|
||||||
- name: Download vncviewer
|
- name: Download vncviewer
|
||||||
@ -310,8 +460,7 @@ jobs:
|
|||||||
shell: powershell
|
shell: powershell
|
||||||
run: |
|
run: |
|
||||||
iscc installers\win\medley.iss
|
iscc installers\win\medley.iss
|
||||||
$filename="medley-install_${env:COMBINED_RELEASE_TAG}_x64.exe"
|
|
||||||
echo "INSTALLER_FILENAME=$filename" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
|
||||||
|
|
||||||
# Upload windows installer to release
|
# Upload windows installer to release
|
||||||
- name: Upload windows installer to release
|
- name: Upload windows installer to release
|
||||||
@ -319,7 +468,7 @@ jobs:
|
|||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
allowUpdates: true
|
allowUpdates: true
|
||||||
artifacts: installers/win/${{ env.INSTALLER_FILENAME }}
|
artifacts: installers/win/medley-*.exe
|
||||||
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
omitBodyDuringUpdate: true
|
omitBodyDuringUpdate: true
|
||||||
@ -327,18 +476,63 @@ jobs:
|
|||||||
omitNameDuringUpdate: true
|
omitNameDuringUpdate: true
|
||||||
omitPrereleaseDuringUpdate: true
|
omitPrereleaseDuringUpdate: true
|
||||||
|
|
||||||
# Install the OpenSSH Client
|
|
||||||
- name: Install the OpenSSH Client
|
# JOB: downloads_page ################################################################
|
||||||
shell: powershell
|
|
||||||
|
#
|
||||||
|
# Update the downloads page on OIO
|
||||||
|
#
|
||||||
|
|
||||||
|
downloads_page:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
needs: [inputs, sentry, loadup, linux_installer, macos_installer, windows_installer]
|
||||||
|
if: |
|
||||||
|
needs.sentry.outputs.release_not_built == 'true'
|
||||||
|
|| needs.inputs.outputs.force == 'true'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
- name: Environment Varibales (from other jobs)
|
||||||
run: |
|
run: |
|
||||||
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
crt="${{ needs.loadup.outputs.combined_release_tag }}"
|
||||||
|
echo "COMBINED_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
|
||||||
|
mrt="${{ needs.loadup.outputs.medley_release_tag }}"
|
||||||
|
echo "MEDLEY_RELEASE_TAG=${mrt}" >>${GITHUB_ENV}
|
||||||
|
msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
|
||||||
|
echo "MEDLEY_SHORT_RELEASE_TAG=${msrt}" >>${GITHUB_ENV}
|
||||||
|
|
||||||
|
# Checkout latest commit
|
||||||
|
- name: Checkout Medley
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
|
||||||
|
# Upload a dummy file to release
|
||||||
|
# Needed since download url of the release changes on every update
|
||||||
|
# So this will be the final update before creating downloads page
|
||||||
|
# and we can use its url for the page
|
||||||
|
- run: echo "placeholder" >placeholder.txt
|
||||||
|
- name: Upload windows installer to release
|
||||||
|
id: pushph
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
allowUpdates: true
|
||||||
|
artifacts: placeholder.txt
|
||||||
|
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
omitBodyDuringUpdate: true
|
||||||
|
omitDraftDuringUpdate: true
|
||||||
|
omitNameDuringUpdate: true
|
||||||
|
omitPrereleaseDuringUpdate: true
|
||||||
|
|
||||||
# Update the downloads page and the man page on OIO
|
# Update the downloads page and the man page on OIO
|
||||||
- name: Update the downloads page and the man page to the OIO static page host
|
- name: Update the downloads page and the man page to the OIO static page host
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
# Figure out filenames
|
# Figure out filenames
|
||||||
download_url="${{ steps.push.outputs.html_url }}"
|
download_url="${{ steps.pushph.outputs.html_url }}"
|
||||||
download_url="${download_url/\/tag\//\/download\/}"
|
download_url="${download_url/\/tag\//\/download\/}"
|
||||||
local_template="installers/downloads_page/medley_downloads.html"
|
local_template="installers/downloads_page/medley_downloads.html"
|
||||||
local_filename="medley_downloads.html"
|
local_filename="medley_downloads.html"
|
||||||
@ -356,9 +550,8 @@ jobs:
|
|||||||
# Fill in downloads page template
|
# Fill in downloads page template
|
||||||
sed \
|
sed \
|
||||||
-e "s/@@@MEDLEY.SHORT.RELEASE.TAG@@@/${MEDLEY_SHORT_RELEASE_TAG}/g" \
|
-e "s/@@@MEDLEY.SHORT.RELEASE.TAG@@@/${MEDLEY_SHORT_RELEASE_TAG}/g" \
|
||||||
|
-e "s/@@@COMBINED.RELEASE.TAG@@@/${COMBINED_RELEASE_TAG}/g" \
|
||||||
-e "s~@@@DOWNLOAD_URL@@@~${download_url}~g" \
|
-e "s~@@@DOWNLOAD_URL@@@~${download_url}~g" \
|
||||||
-e "s/@@@DEBS.FILENAME.BASE@@@/${DEBS_FILENAME_BASE}/g" \
|
|
||||||
-e "s/@@@WINDOWS.INSTALLER.FILENAME@@@/${INSTALLER_FILENAME}/g" \
|
|
||||||
< "${local_template}" > "${local_filename}"
|
< "${local_template}" > "${local_filename}"
|
||||||
# Create sftp instruction file
|
# Create sftp instruction file
|
||||||
echo "-rm ${remote_filepath}.oldold" > batch
|
echo "-rm ${remote_filepath}.oldold" > batch
|
||||||
@ -375,7 +568,7 @@ jobs:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
# JOB: complete #####################################################################
|
||||||
|
|
||||||
# Use set-sentry-action to determine set the sentry that says this release has
|
# Use set-sentry-action to determine set the sentry that says this release has
|
||||||
# been successfully built
|
# been successfully built
|
||||||
@ -387,9 +580,16 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
build_successful: ${{ steps.output.outputs.build_successful }}
|
build_successful: ${{ steps.output.outputs.build_successful }}
|
||||||
|
|
||||||
needs: [inputs, sentry, loadup, windows_installer]
|
needs: [inputs, sentry, loadup, downloads_page]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
# Delete the tarballs artifact
|
||||||
|
- name: Delete tarballs artifact
|
||||||
|
uses: geekyeggo/delete-artifact@v2
|
||||||
|
with:
|
||||||
|
name: tarballs
|
||||||
|
failOnError: false
|
||||||
|
|
||||||
# Checkout the actions for this repo owner
|
# Checkout the actions for this repo owner
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -411,21 +611,4 @@ jobs:
|
|||||||
echo "build_successful='true'" >> $GITHUB_OUTPUT
|
echo "build_successful='true'" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
######################################################################################
|
||||||
|
|
||||||
|
|
||||||
# - name: Download the Windows installer created in windows job
|
|
||||||
# uses: actions/download-artifact@v3
|
|
||||||
# with:
|
|
||||||
# name: windows_installer
|
|
||||||
# path: installers/win
|
|
||||||
|
|
||||||
# - name: Rename the Windows installer w/ version tag
|
|
||||||
# run: |
|
|
||||||
# maiko_release_tag="${{ steps.maiko.outputs.latest_tag }}"
|
|
||||||
# combined_release_tag="${MEDLEY_RELEASE_TAG#medley-}_${maiko_release_tag#maiko-}"
|
|
||||||
# windows_installer_filename="medley_install_${combined_release_tag}_x64.exe"
|
|
||||||
# cd installers/win
|
|
||||||
# mv medley_install_vXXXVERSIONXXX_x64.exe "${windows_installer_filename}"
|
|
||||||
# echo "WINDOWS_INSTALLER_FILENAME=${windows_installer_filename}" >>${GITHUB_ENV}
|
|
||||||
|
|
||||||
|
|||||||
1
.github/workflows/buildReleaseInclDocker.yml
vendored
@ -84,6 +84,7 @@ jobs:
|
|||||||
echo "force=false" >> $GITHUB_OUTPUT;
|
echo "force=false" >> $GITHUB_OUTPUT;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -11,15 +11,6 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# set -x
|
# set -x
|
||||||
|
|
||||||
# mess with file desscriptors so we get only one line on stdout
|
|
||||||
# so we can communicate only what we want back to any githib runner
|
|
||||||
# stash fd 1 in fd 3
|
|
||||||
exec 3>&1
|
|
||||||
# make fd 1 (stdout) be the same as stdout
|
|
||||||
# so none of the std output from this file will be captured by
|
|
||||||
# $() but it will still be written out to the tty (via stderr)
|
|
||||||
exec 1>&2
|
|
||||||
|
|
||||||
tarball_dir=tmp/tarballs
|
tarball_dir=tmp/tarballs
|
||||||
|
|
||||||
# Make sure we are in the right directory
|
# Make sure we are in the right directory
|
||||||
@ -32,6 +23,13 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
|
||||||
|
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
|
||||||
|
then
|
||||||
|
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# If running as a github action or -t arg, then skip downloading the tarballs
|
# If running as a github action or -t arg, then skip downloading the tarballs
|
||||||
if ! [[ -n "${GITHUB_WORKSPACE}" || "$1" = "-t" ]];
|
if ! [[ -n "${GITHUB_WORKSPACE}" || "$1" = "-t" ]];
|
||||||
@ -69,7 +67,6 @@ fi
|
|||||||
pushd ${tarball_dir} >/dev/null 2>/dev/null
|
pushd ${tarball_dir} >/dev/null 2>/dev/null
|
||||||
medley_release=$(echo medley-*-loadups.tgz | sed "s/medley-\(.*\)-loadups.tgz/\1/")
|
medley_release=$(echo medley-*-loadups.tgz | sed "s/medley-\(.*\)-loadups.tgz/\1/")
|
||||||
maiko_release=$(echo maiko-*-linux.x86_64.tgz | sed "s/maiko-\(.*\)-linux.x86_64.tgz/\1/")
|
maiko_release=$(echo maiko-*-linux.x86_64.tgz | sed "s/maiko-\(.*\)-linux.x86_64.tgz/\1/")
|
||||||
debs_filename_base="medley-full-${medley_release}_${maiko_release}"
|
|
||||||
popd >/dev/null 2>/dev/null
|
popd >/dev/null 2>/dev/null
|
||||||
|
|
||||||
|
|
||||||
@ -136,7 +133,7 @@ do
|
|||||||
#
|
#
|
||||||
# Create tar file for this arch
|
# Create tar file for this arch
|
||||||
#
|
#
|
||||||
filename="${debs_filename_base}-${wslp}-${arch}"
|
filename="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e "s#@@PLATFORM@@#${wslp}#" -e "s#@@ARCH@@#${arch}#" -e "s#@@MEDLEY.RELEASE@@#${medley_release}#" -e "s#@@MAIKO.RELEASE@@#${maiko_release}#" )"
|
||||||
mkdir -p tars
|
mkdir -p tars
|
||||||
echo "Creating tar file tars/${filename}.tgz"
|
echo "Creating tar file tars/${filename}.tgz"
|
||||||
tar -C ${il_dir} -czf tars/${filename}.tgz .
|
tar -C ${il_dir} -czf tars/${filename}.tgz .
|
||||||
@ -151,8 +148,5 @@ do
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
# send just one line back to github $() construct
|
################################################################################################################
|
||||||
# do this by restoring fd 1 to what it was orginally
|
################################################################################################################
|
||||||
exec 1>&3
|
|
||||||
echo "${debs_filename_base}"
|
|
||||||
|
|
||||||
|
|||||||
@ -10,36 +10,46 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><h4>Standard Linux</h4>
|
<li><h4>Standard Linux</h4>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86_64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-x86_64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
||||||
<li><h4>Windows System for Linux</h4>
|
<li><h4>Windows System for Linux</h4>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86_64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86.64 machines</a></p>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-x86_64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86.64 machines</a></p>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><h3>Local Installations (for any Linux distro)</h3>
|
<li><h3>Local Installations (for any Linux distro)</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><h4>Standard Linux</h4>
|
<li><h4>Standard Linux</h4>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86_64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-x86_64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
||||||
<li><h4>Windows System for Linux</h4>
|
<li><h4>Windows System for Linux</h4>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86_64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-x86_64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><h2>WINDOWS 10/11 (Medley runs in a Docker container)</h2>
|
<li><h2>macOS 11 (Big Sur) and later - for both Intel and Apple Silicon</h2>
|
||||||
|
|
||||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@WINDOWS.INSTALLER.FILENAME@@@">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines</a></p></li>
|
<ul>
|
||||||
|
<li><h3>DMG Installer</h3>
|
||||||
|
|
||||||
|
<p>Not available</p></li>
|
||||||
|
<li><h3>ZIP Installer</h3>
|
||||||
|
|
||||||
|
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-macos-universal-@@@COMBINED.RELEASE.TAG@@@.zip">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@</a></p></li>
|
||||||
|
</ul></li>
|
||||||
|
<li><h2>WINDOWS 10/11 (Medley running within Cygwin)</h2>
|
||||||
|
|
||||||
|
<p>Not available</p></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -6,38 +6,47 @@
|
|||||||
|
|
||||||
* #### Standard Linux
|
* #### Standard Linux
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86\_64.deb)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-x86\_64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.deb)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.deb)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||||
|
|
||||||
* #### Windows System for Linux
|
* #### Windows System for Linux
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\.64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86\_64.deb)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\.64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-x86\_64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.deb)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||||
|
|
||||||
* ### Local Installations (for any Linux distro)
|
* ### Local Installations (for any Linux distro)
|
||||||
|
|
||||||
* #### Standard Linux
|
* #### Standard Linux
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86\_64.tgz)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-x86\_64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.tgz)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.tgz)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||||
|
|
||||||
* #### Windows System for Linux
|
* #### Windows System for Linux
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86\_64.tgz)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-x86\_64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.tgz)
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||||
|
|
||||||
* ## WINDOWS 10/11 (Medley runs in a Docker container)
|
* ## macOS 11 (Big Sur) and later - for both Intel and Apple Silicon
|
||||||
|
|
||||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines](@@@DOWNLOAD_URL@@@/@@@WINDOWS.INSTALLER.FILENAME@@@)
|
|
||||||
|
|
||||||
|
* ### DMG Installer
|
||||||
|
|
||||||
|
Not available
|
||||||
|
|
||||||
|
* ### ZIP Installer
|
||||||
|
|
||||||
|
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@](@@@DOWNLOAD_URL@@@/medley-full-macos-universal-@@@COMBINED.RELEASE.TAG@@@.zip)
|
||||||
|
|
||||||
|
* ## WINDOWS 10/11 (Medley running within Cygwin)
|
||||||
|
|
||||||
|
Not available
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
7
installers/macos/.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
tmp
|
||||||
|
devtmp
|
||||||
|
pkg/*.pkg
|
||||||
|
artifacts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
33
installers/macos/app/Info.plist
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>medley/medley</string>
|
||||||
|
<key>CFBundleGetInfoString</key>
|
||||||
|
<string>Medley Interlisp, Copyright 2023 Interlisp.org</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>Medley.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>org.interlisp.Medley</string>
|
||||||
|
<key>CFBundleDocumentTypes</key>
|
||||||
|
<array>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>3.51</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>--VERSION_TAG--</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>Medley</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>--VERSION_TAG--</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>Copyright 2023 Interlisp.org</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>11.0</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
1
installers/macos/app/PkgInfo
Normal file
@ -0,0 +1 @@
|
|||||||
|
APPLMedley
|
||||||
170
installers/macos/build_app.sh
Executable file
@ -0,0 +1,170 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# build_app.sh: build app bundle for installing Medley Interlisp on MacOS
|
||||||
|
#
|
||||||
|
# 2023-02-23 Frank Halasz
|
||||||
|
#
|
||||||
|
# Copyright 2023 by Interlisp.org
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
APPNAME=Medley
|
||||||
|
|
||||||
|
# 2023-07-19 Temorary selector to allow us to create .zip asset before app/dmg work is finished
|
||||||
|
INCLUDE_APP="no" # "yes" or "no"
|
||||||
|
|
||||||
|
# Make sure we are in the right directory
|
||||||
|
if [ ! -f ./app/Info.plist ];
|
||||||
|
then
|
||||||
|
echo "Can't find ./app/Info.plist file."
|
||||||
|
echo "Incorrect cwd?"
|
||||||
|
echo "Should be in medley/installers/macos"
|
||||||
|
echo "Exiting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
|
||||||
|
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
|
||||||
|
then
|
||||||
|
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Setup directories
|
||||||
|
#
|
||||||
|
CWD=$(pwd)
|
||||||
|
RESULTS_DIR=${CWD}/artifacts
|
||||||
|
APPBUNDLE=${RESULTS_DIR}/${APPNAME}.app
|
||||||
|
APPBUNDLECONTENTS=${APPBUNDLE}/Contents
|
||||||
|
APPBUNDLEEXE=${APPBUNDLECONTENTS}/MacOS
|
||||||
|
APPBUNDLERESOURCES=${APPBUNDLECONTENTS}/Resources
|
||||||
|
APPBUNDLEICON=${APPBUNDLECONTENTS}/Resources
|
||||||
|
tmp_dir=${CWD}/tmp
|
||||||
|
tarball_dir=${tmp_dir}/tarballs
|
||||||
|
|
||||||
|
# If running as a github action or -t arg, then skip downloading the tarballs
|
||||||
|
if ! [[ -n "${GITHUB_WORKSPACE}" || "$1" = "-t" ]];
|
||||||
|
then
|
||||||
|
# First, make sure gh is available and we are logged in to github
|
||||||
|
if [ -z "$(which gh)" ];
|
||||||
|
then
|
||||||
|
echo "Can't find gh"
|
||||||
|
echo "Exiting."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
gh auth status 2>&1 | grep --quiet --no-messages "Logged in to github.com"
|
||||||
|
if [ $? -ne 0 ];
|
||||||
|
then
|
||||||
|
echo "Not logged into github."
|
||||||
|
echo "Exiting."
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
# then clear out the ./tmp directory
|
||||||
|
rm -rf ${tmp_dir}
|
||||||
|
mkdir -p ${tmp_dir}
|
||||||
|
# then download the maiko and medley tarballs
|
||||||
|
mkdir -p ${tarball_dir}
|
||||||
|
echo "Fetching maiko and medley release tarballs"
|
||||||
|
TAG=$(gh release list --repo interlisp/maiko | head -n 1 | awk "{print \$1 }")
|
||||||
|
gh release download ${TAG} \
|
||||||
|
--repo interlisp/maiko \
|
||||||
|
--dir ${tarball_dir} \
|
||||||
|
--pattern "*darwin*.tgz"
|
||||||
|
TAG=$(gh release list --repo interlisp/medley | head -n 1 | awk "{print \$1 }")
|
||||||
|
gh release download ${TAG} \
|
||||||
|
--repo interlisp/medley \
|
||||||
|
--dir ${tarball_dir} \
|
||||||
|
--pattern "*-loadups.tgz" \
|
||||||
|
--pattern "*-runtime.tgz"
|
||||||
|
gh repo clone interlisp/notecards notecards -- --depth 1
|
||||||
|
(cd notecards; git archive --format=tgz --output=../notecards.tgz --prefix=notecards/ main)
|
||||||
|
mv notecards.tgz ${tarball_dir}
|
||||||
|
rm -rf notecards
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Figure out release tags from tarball names
|
||||||
|
pushd ${tarball_dir} >/dev/null 2>/dev/null
|
||||||
|
medley_release=$(echo medley-*-loadups.tgz | sed "s/medley-\(.*\)-loadups.tgz/\1/")
|
||||||
|
maiko_release=$(echo maiko-*-darwin.x86_64.tgz | sed "s/maiko-\(.*\)-darwin.x86_64.tgz/\1/")
|
||||||
|
popd >/dev/null 2>/dev/null
|
||||||
|
|
||||||
|
if [ "${INCLUDE_APP}" = "yes" ]; then
|
||||||
|
#
|
||||||
|
# Create bundle dirs
|
||||||
|
#
|
||||||
|
rm -rf ${RESULTS_DIR}
|
||||||
|
mkdir -p ${RESULTS_DIR}
|
||||||
|
rm -rf ${APPBUNDLE}
|
||||||
|
mkdir -p ${APPBUNDLE}
|
||||||
|
mkdir ${APPBUNDLE}/Contents
|
||||||
|
mkdir ${APPBUNDLE}/Contents/MacOS
|
||||||
|
mkdir ${APPBUNDLE}/Contents/Resources
|
||||||
|
#
|
||||||
|
# Create icons and put in bundle
|
||||||
|
#
|
||||||
|
iconset_dir=${tmp_dir}/${APPNAME}.iconset
|
||||||
|
rm -rf ${iconset_dir}
|
||||||
|
mkdir -p ${iconset_dir}
|
||||||
|
image_dir=${CWD}/images
|
||||||
|
sips -z 16 16 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_16x16.png >/dev/null 2>&1
|
||||||
|
sips -z 32 32 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_16x16@2x.png >/dev/null 2>&1
|
||||||
|
sips -z 32 32 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_32x32.png >/dev/null 2>&1
|
||||||
|
sips -z 64 64 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_32x32@2x.png >/dev/null 2>&1
|
||||||
|
sips -z 128 128 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_128x128.png >/dev/null 2>&1
|
||||||
|
sips -z 256 256 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_128x128@2x.png >/dev/null 2>&1
|
||||||
|
sips -z 256 256 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_256x256.png >/dev/null 2>&1
|
||||||
|
sips -z 512 512 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_256x256@2x.png >/dev/null 2>&1
|
||||||
|
sips -z 512 512 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_512x512.png >/dev/null 2>&1
|
||||||
|
cp ${image_dir}/App_icon1024.png ${iconset_dir}/icon_512x512@2x.png
|
||||||
|
iconutil -c icns -o ${tmp_dir}/${APPNAME}.icns ${iconset_dir}
|
||||||
|
cp ${tmp_dir}/${APPNAME}.icns ${APPBUNDLEICON}/
|
||||||
|
rm -r ${iconset_dir}
|
||||||
|
rm ${tmp_dir}/${APPNAME}.icns
|
||||||
|
#
|
||||||
|
# Update and copy in "control" files
|
||||||
|
#
|
||||||
|
sed -e "s/--VERSION_TAG--/${medley_release}.${maiko_release}.0/g" \
|
||||||
|
< app/Info.plist \
|
||||||
|
> ${APPBUNDLECONTENTS}/Info.plist
|
||||||
|
cp app/PkgInfo ${APPBUNDLECONTENTS}/
|
||||||
|
fi #INCLUDE_APP
|
||||||
|
|
||||||
|
#
|
||||||
|
# Untar the maiko and medley releases into the bundle
|
||||||
|
#
|
||||||
|
il_dir=${APPBUNDLE}/Contents/MacOS
|
||||||
|
mkdir -p ${il_dir}
|
||||||
|
tar -x -z -C ${il_dir} \
|
||||||
|
-f "${tarball_dir}/maiko-${maiko_release}-darwin.universal.tgz"
|
||||||
|
tar -x -z -C ${il_dir} \
|
||||||
|
-f "${tarball_dir}/medley-${medley_release}-runtime.tgz"
|
||||||
|
tar -x -z -C ${il_dir} \
|
||||||
|
-f "${tarball_dir}/medley-${medley_release}-loadups.tgz"
|
||||||
|
tar -x -z -C ${il_dir} \
|
||||||
|
-f "${tarball_dir}/notecards.tgz"
|
||||||
|
#
|
||||||
|
# Handle run_medley needing separate directories for each arch
|
||||||
|
#
|
||||||
|
pushd ${il_dir}/maiko >/dev/null 2>&1
|
||||||
|
ln -s darwin.universal darwin.aarch64
|
||||||
|
ln -s darwin.universal darwin.x86_64
|
||||||
|
popd >/dev/null 2>&1
|
||||||
|
#
|
||||||
|
# Add file icon to medley.command
|
||||||
|
#
|
||||||
|
if [ -z "$(which fileicon)" ];
|
||||||
|
then
|
||||||
|
brew install fileicon
|
||||||
|
fi
|
||||||
|
fileicon set ${il_dir}/medley/scripts/medley/medley.command ${image_dir}/Command_icon128.png
|
||||||
|
#
|
||||||
|
# Also create the zip file of il_dir for distribution
|
||||||
|
#
|
||||||
|
pushd ${il_dir} >/dev/null 2>&1
|
||||||
|
filename="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e "s#@@PLATFORM@@#macos#" -e "s#@@ARCH@@#universal#" -e "s#@@MEDLEY.RELEASE@@#${medley_release}#" -e "s#@@MAIKO.RELEASE@@#${maiko_release}#" )"
|
||||||
|
zip -r -6 -y -q ${RESULTS_DIR}/${filename}.zip .
|
||||||
|
popd >/dev/null 2>&1
|
||||||
|
|
||||||
|
######################################################################################################
|
||||||
|
######################################################################################################
|
||||||
66
installers/macos/build_artifacts.sh
Executable file
@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# build_artifacts.sh: build the artifacts for installing Medley Interlisp on
|
||||||
|
# MacOS. Basically just calls build_app.sh and build_dmg.sh.
|
||||||
|
# based on Medley.app built by build_app.sh
|
||||||
|
#
|
||||||
|
# 2023-03-03 Frank Halasz
|
||||||
|
#
|
||||||
|
# Copyright 2023 by Interlisp.org
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Figure out what directory this script is being executed from
|
||||||
|
#
|
||||||
|
get_abs_filename() {
|
||||||
|
# $1 : relative filename
|
||||||
|
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_script_dir() {
|
||||||
|
|
||||||
|
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
|
||||||
|
|
||||||
|
# set -x
|
||||||
|
|
||||||
|
local SCRIPT_PATH="$( get_abs_filename "$1" )";
|
||||||
|
|
||||||
|
pushd . > '/dev/null';
|
||||||
|
|
||||||
|
while [ -h "$SCRIPT_PATH" ];
|
||||||
|
do
|
||||||
|
cd "$( dirname -- "$SCRIPT_PATH"; )";
|
||||||
|
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
|
||||||
|
done
|
||||||
|
|
||||||
|
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
|
||||||
|
SCRIPT_PATH="$( pwd; )";
|
||||||
|
|
||||||
|
popd > '/dev/null';
|
||||||
|
|
||||||
|
# set +x
|
||||||
|
|
||||||
|
echo "${SCRIPT_PATH}"
|
||||||
|
}
|
||||||
|
|
||||||
|
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
|
||||||
|
|
||||||
|
#
|
||||||
|
# cd to the dir we are executing from and call
|
||||||
|
# build_app.sh and the build_dmg.sh
|
||||||
|
#
|
||||||
|
cd ${SCRIPTDIR}
|
||||||
|
t=""
|
||||||
|
c=""
|
||||||
|
if [[ "$1" = "-t" || "$2" = "-t" ]]; then t="-t"; fi
|
||||||
|
if [[ "$1" = "-c" || "$2" = "-c" ]]; then c="-c"; fi
|
||||||
|
./build_app.sh "${t}" 2>&1
|
||||||
|
# 2023-07-20 Not building dmg as yet, just using this to build zip file
|
||||||
|
# while we finish work around dmg
|
||||||
|
# ./build_dmg.sh "${c}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
185
installers/macos/build_dmg.sh
Executable file
@ -0,0 +1,185 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# build_dmg.sh: build dmg for installing Medley Interlisp on MacOS
|
||||||
|
# based on Medley.app built by build_app.sh
|
||||||
|
#
|
||||||
|
# 2023-03-03 Frank Halasz
|
||||||
|
#
|
||||||
|
# Copyright 2023 by Interlisp.org
|
||||||
|
#
|
||||||
|
# Based on code found at:
|
||||||
|
# http://stackoverflow.com/questions/96882/how-do-i-create-a-nice-looking-dmg-for-mac-os-x-using-command-line-tools
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
#set -o verbose #echo onset +o verbose #echo off
|
||||||
|
|
||||||
|
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
|
||||||
|
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
|
||||||
|
then
|
||||||
|
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set Parameters
|
||||||
|
#
|
||||||
|
APP_NAME="Medley.app"
|
||||||
|
VOL_NAME="Medley_Install"
|
||||||
|
BG_NAME=Install_Message.png
|
||||||
|
WIN_WIDTH=700
|
||||||
|
WIN_HEIGHT=850
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set pathnames
|
||||||
|
#
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP_DIR=${CWD}/tmp
|
||||||
|
RESULTS_DIR=${CWD}/artifacts
|
||||||
|
APP_PATH=${RESULTS_DIR}/${APP_NAME}
|
||||||
|
DMG_PATH=${RESULTS_DIR}/${VOL_NAME}
|
||||||
|
SRC_DIR=${TMP_DIR}/dmg_src
|
||||||
|
IMAGES_DIR=${CWD}/images
|
||||||
|
SCRIPTS_DIR=${CWD}/scripts
|
||||||
|
|
||||||
|
#
|
||||||
|
# Make sure we are in the right directory
|
||||||
|
#
|
||||||
|
if [ ! -e ${APP_PATH} ];
|
||||||
|
then
|
||||||
|
echo "Can't find the app: ${APP_NAME}."
|
||||||
|
echo "Incorrect cwd? Should be in medley/installers/macos."
|
||||||
|
echo "Or build_app.sh not yet run?"
|
||||||
|
echo "Exiting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copy over files from build app etc to dmg proto-directory
|
||||||
|
#
|
||||||
|
if [ ! "$1" = "-c" ]
|
||||||
|
then
|
||||||
|
#
|
||||||
|
# Cleanup anything leftover from last run
|
||||||
|
#
|
||||||
|
rm -rf ${SRC_DIR}
|
||||||
|
mkdir -p ${SRC_DIR}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Assemble source directory for DMG
|
||||||
|
#
|
||||||
|
#ditto ${APP_PATH} ${SRC_DIR}/${APP_NAME}
|
||||||
|
mv ${APP_PATH} ${SRC_DIR}/${APP_NAME}
|
||||||
|
SetFile -a B ${SRC_DIR}/${APP_NAME}
|
||||||
|
ditto ${SCRIPTS_DIR}/medley_add2path ${SRC_DIR}/medley_add2path
|
||||||
|
ditto ${IMAGES_DIR}/${BG_NAME} ${SRC_DIR}/.background/${BG_NAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create initial dmg image
|
||||||
|
#
|
||||||
|
if [ -e "/Volumes/${VOL_NAME}" ];
|
||||||
|
then
|
||||||
|
hdiutil detach /Volumes/${VOL_NAME}
|
||||||
|
fi
|
||||||
|
rm -f ${DMG_PATH}.temp.dmg
|
||||||
|
hdiutil create -srcfolder ${SRC_DIR} -volname ${VOL_NAME} -fs HFS+ \
|
||||||
|
-fsargs "-c c=64,a=16,e=16" -format UDRW ${DMG_PATH}.temp.dmg
|
||||||
|
device=$(\
|
||||||
|
hdiutil attach -readwrite -noverify -noautoopen "${DMG_PATH}".temp.dmg \
|
||||||
|
| egrep '^/dev/' | sed 1q | awk '{print $1}' \
|
||||||
|
)
|
||||||
|
|
||||||
|
#
|
||||||
|
# cd to the new dmg
|
||||||
|
#
|
||||||
|
pushd /Volumes/${VOL_NAME} >/dev/null 2>&1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Add symbolic link for medley script and icon for addpath
|
||||||
|
#
|
||||||
|
ln -s Medley.app/Contents/MacOS/medley/scripts/medley/medley.command medley
|
||||||
|
if [ -z "$(which fileicon)" ];
|
||||||
|
then
|
||||||
|
brew install fileicon
|
||||||
|
fi
|
||||||
|
fileicon set medley_add2path ${IMAGES_DIR}/A2P_icon128.png
|
||||||
|
|
||||||
|
#
|
||||||
|
# Dress up the appearance using Applescript
|
||||||
|
#
|
||||||
|
ROW1=375
|
||||||
|
ROW2=650
|
||||||
|
COL1=139
|
||||||
|
COL2=350
|
||||||
|
COL3=561
|
||||||
|
osascript <<EOT
|
||||||
|
tell application "Finder"
|
||||||
|
tell disk "${VOL_NAME}"
|
||||||
|
open
|
||||||
|
set current view of container window to icon view
|
||||||
|
set toolbar visible of container window to false
|
||||||
|
set statusbar visible of container window to false
|
||||||
|
set old_bounds to bounds of container window
|
||||||
|
set l to item 1 of old_bounds
|
||||||
|
set t to item 2 of old_bounds
|
||||||
|
set r to l + ${WIN_WIDTH}
|
||||||
|
set b to t + ${WIN_HEIGHT}
|
||||||
|
set the bounds of container window to {l, t, r, b}
|
||||||
|
set theViewOptions to the icon view options of container window
|
||||||
|
set arrangement of theViewOptions to snap to grid
|
||||||
|
set icon size of theViewOptions to 128
|
||||||
|
set background picture of theViewOptions to file ".background:${BG_NAME}"
|
||||||
|
set appHome to path to applications folder from system domain
|
||||||
|
make new alias file at container window to appHome with properties {name:"Applications"}
|
||||||
|
set appHome to path to applications folder from user domain
|
||||||
|
make new alias file at container window to appHome with properties {name:"My Applications"}
|
||||||
|
set appHome to path to home folder from user domain
|
||||||
|
make new alias file at container window to appHome with properties {name:"My Home Folder"}
|
||||||
|
delay 1
|
||||||
|
set position of item "${APP_NAME}" of container window to {${COL1}, ${ROW1}}
|
||||||
|
set position of item "medley" of container window to {${COL2}, ${ROW1}}
|
||||||
|
set position of item "medley_add2path" of container window to {${COL3}, ${ROW1}}
|
||||||
|
set position of item "Applications" of container window to {${COL1}, ${ROW2}}
|
||||||
|
set position of item "My Applications" of container window to {${COL2}, ${ROW2}}
|
||||||
|
set position of item "My Home Folder" of container window to {${COL3}, ${ROW2}}
|
||||||
|
close
|
||||||
|
end tell
|
||||||
|
end tell
|
||||||
|
EOT
|
||||||
|
|
||||||
|
#
|
||||||
|
# Add icon to dmg
|
||||||
|
#
|
||||||
|
fileicon set /Volumes/${VOL_NAME} ${IMAGES_DIR}/Install_icon128.png
|
||||||
|
|
||||||
|
#
|
||||||
|
# return to original dir
|
||||||
|
#
|
||||||
|
popd >/dev/null 2>&1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Detach the tmp dmg and convert it to final (compressed, ro) dmg
|
||||||
|
#
|
||||||
|
hdiutil detach ${device}
|
||||||
|
sync
|
||||||
|
rm -f ${DMG_PATH}.dmg
|
||||||
|
hdiutil convert "${DMG_PATH}".temp.dmg -format UDZO -imagekey zlib-level=6 -o ${DMG_PATH}.dmg
|
||||||
|
rm -rf "${DMG_PATH}".temp.dmg
|
||||||
|
|
||||||
|
#
|
||||||
|
# Extract version info from app Info.plist & rename dmg using version
|
||||||
|
#
|
||||||
|
sed_script='{/CFBundleVersion/!d;N;s/^.*<string>\(.*\)<\/string>/\1/;s/.0$//;s/\./_/;p;}'
|
||||||
|
version=$(sed -ne "${sed_script}" ${SRC_DIR}/${APP_NAME}/Contents/Info.plist)
|
||||||
|
DMG_NAME="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e 's#@@PLATFORM@@#macos#' -e 's#@@ARCH@@#$universal#' -e 's#@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@#${version}#' )"
|
||||||
|
mv ${DMG_PATH}.dmg ${RESULTS_DIR}/${DMG_NAME}.dmg
|
||||||
|
|
||||||
|
#
|
||||||
|
# Done
|
||||||
|
#
|
||||||
|
echo "DMG build completed."
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
209
installers/macos/images/A2P_icon.svg
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
preserveAspectRatio="xMidYMid meet"
|
||||||
|
width="2000"
|
||||||
|
height="2000"
|
||||||
|
viewBox="0 0 2000 2000"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2704"
|
||||||
|
sodipodi:docname="A2P_icon.svg"
|
||||||
|
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||||
|
inkscape:export-filename="A2P_icon128.png"
|
||||||
|
inkscape:export-xdpi="6.1440001"
|
||||||
|
inkscape:export-ydpi="6.1440001"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g
|
||||||
|
id="g1126"
|
||||||
|
transform="translate(-23.756927,163.29152)">
|
||||||
|
<text
|
||||||
|
x="597.27948"
|
||||||
|
y="997.78094"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text2702"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan25093">Medley</tspan></text>
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="1066.795"
|
||||||
|
y="218.396"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2674"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="865.021"
|
||||||
|
y="89.851997"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2676"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="629.06"
|
||||||
|
y="50.366001"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2678"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="396.42899"
|
||||||
|
y="106.215"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2680"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="204.11301"
|
||||||
|
y="248.522"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2682"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="82.689003"
|
||||||
|
y="454.659"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2684"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="51.462002"
|
||||||
|
y="691.854"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2686"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="115.396"
|
||||||
|
y="922.39398"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2688"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="264.327"
|
||||||
|
y="1109.627"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2690"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="474.577"
|
||||||
|
y="1223.783"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2692"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888"
|
||||||
|
id="text288"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan286"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888" /></text>
|
||||||
|
<text
|
||||||
|
x="946.01031"
|
||||||
|
y="1500.8351"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text292"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan290">add2path</tspan></text>
|
||||||
|
</g>
|
||||||
|
<defs
|
||||||
|
id="defs2708">
|
||||||
|
<rect
|
||||||
|
x="1144.3981"
|
||||||
|
y="797.67157"
|
||||||
|
width="915.91937"
|
||||||
|
height="555.16339"
|
||||||
|
id="rect44588" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview2706"
|
||||||
|
pagecolor="#f5e6c4"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.49895222"
|
||||||
|
inkscape:cx="864.81227"
|
||||||
|
inkscape:cy="918.92566"
|
||||||
|
inkscape:window-width="1752"
|
||||||
|
inkscape:window-height="1205"
|
||||||
|
inkscape:window-x="1508"
|
||||||
|
inkscape:window-y="107"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg2704"
|
||||||
|
fit-margin-top="100"
|
||||||
|
fit-margin-left="100"
|
||||||
|
fit-margin-right="100"
|
||||||
|
fit-margin-bottom="100"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<symbol
|
||||||
|
id="window-icon"
|
||||||
|
viewBox="0 0 372 300"
|
||||||
|
transform="translate(-98.918502,49.633999)">
|
||||||
|
<rect
|
||||||
|
x="10"
|
||||||
|
y="10"
|
||||||
|
width="352"
|
||||||
|
height="280"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="rect2665" />
|
||||||
|
<line
|
||||||
|
x1="10"
|
||||||
|
y1="30"
|
||||||
|
x2="362"
|
||||||
|
y2="30"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="line2667" />
|
||||||
|
</symbol>
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="20"
|
||||||
|
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||||
|
id="circle2696" />
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="600"
|
||||||
|
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||||
|
id="circle2698" />
|
||||||
|
<rect
|
||||||
|
x="-98.918503"
|
||||||
|
y="49.633999"
|
||||||
|
width="2922"
|
||||||
|
height="1600"
|
||||||
|
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||||
|
id="rect2700" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
id="text44586"
|
||||||
|
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||||
|
transform="translate(-98.918502,49.633999)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/A2P_icon128.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
installers/macos/images/A2P_icon256.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
209
installers/macos/images/App_icon.svg
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
preserveAspectRatio="xMidYMid meet"
|
||||||
|
width="2000"
|
||||||
|
height="2000"
|
||||||
|
viewBox="0 0 2000 2000"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2704"
|
||||||
|
sodipodi:docname="App_icon.svg"
|
||||||
|
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||||
|
inkscape:export-filename="App_icon512.png"
|
||||||
|
inkscape:export-xdpi="24.576"
|
||||||
|
inkscape:export-ydpi="24.576"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g
|
||||||
|
id="g1126"
|
||||||
|
transform="translate(-23.756927,163.29152)">
|
||||||
|
<text
|
||||||
|
x="597.27948"
|
||||||
|
y="997.78094"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text2702"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan25093">Medley</tspan></text>
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="1066.795"
|
||||||
|
y="218.396"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2674"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="865.021"
|
||||||
|
y="89.851997"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2676"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="629.06"
|
||||||
|
y="50.366001"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2678"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="396.42899"
|
||||||
|
y="106.215"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2680"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="204.11301"
|
||||||
|
y="248.522"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2682"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="82.689003"
|
||||||
|
y="454.659"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2684"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="51.462002"
|
||||||
|
y="691.854"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2686"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="115.396"
|
||||||
|
y="922.39398"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2688"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="264.327"
|
||||||
|
y="1109.627"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2690"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="474.577"
|
||||||
|
y="1223.783"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2692"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888"
|
||||||
|
id="text288"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan286"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888" /></text>
|
||||||
|
<text
|
||||||
|
x="1263.5646"
|
||||||
|
y="1466.0958"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text292"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan290">app</tspan></text>
|
||||||
|
</g>
|
||||||
|
<defs
|
||||||
|
id="defs2708">
|
||||||
|
<rect
|
||||||
|
x="1144.3981"
|
||||||
|
y="797.67157"
|
||||||
|
width="915.91937"
|
||||||
|
height="555.16339"
|
||||||
|
id="rect44588" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview2706"
|
||||||
|
pagecolor="#f5eddc"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.49895222"
|
||||||
|
inkscape:cx="760.59387"
|
||||||
|
inkscape:cy="1017.1315"
|
||||||
|
inkscape:window-width="2286"
|
||||||
|
inkscape:window-height="1205"
|
||||||
|
inkscape:window-x="45"
|
||||||
|
inkscape:window-y="53"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="g1126"
|
||||||
|
fit-margin-top="100"
|
||||||
|
fit-margin-left="100"
|
||||||
|
fit-margin-right="100"
|
||||||
|
fit-margin-bottom="100"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<symbol
|
||||||
|
id="window-icon"
|
||||||
|
viewBox="0 0 372 300"
|
||||||
|
transform="translate(-98.918502,49.633999)">
|
||||||
|
<rect
|
||||||
|
x="10"
|
||||||
|
y="10"
|
||||||
|
width="352"
|
||||||
|
height="280"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="rect2665" />
|
||||||
|
<line
|
||||||
|
x1="10"
|
||||||
|
y1="30"
|
||||||
|
x2="362"
|
||||||
|
y2="30"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="line2667" />
|
||||||
|
</symbol>
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="20"
|
||||||
|
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||||
|
id="circle2696" />
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="600"
|
||||||
|
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||||
|
id="circle2698" />
|
||||||
|
<rect
|
||||||
|
x="-98.918503"
|
||||||
|
y="49.633999"
|
||||||
|
width="2922"
|
||||||
|
height="1600"
|
||||||
|
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||||
|
id="rect2700" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
id="text44586"
|
||||||
|
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||||
|
transform="translate(-98.918502,49.633999)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/App_icon1024.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
installers/macos/images/App_icon512.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
209
installers/macos/images/Command_icon.svg
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
preserveAspectRatio="xMidYMid meet"
|
||||||
|
width="2000"
|
||||||
|
height="2000"
|
||||||
|
viewBox="0 0 2000 2000"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2704"
|
||||||
|
sodipodi:docname="Command_icon.svg"
|
||||||
|
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||||
|
inkscape:export-filename="Command_icon256.png"
|
||||||
|
inkscape:export-xdpi="12.288"
|
||||||
|
inkscape:export-ydpi="12.288"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g
|
||||||
|
id="g1126"
|
||||||
|
transform="translate(-23.756927,163.29152)">
|
||||||
|
<text
|
||||||
|
x="597.27948"
|
||||||
|
y="997.78094"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text2702"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan25093">Medley</tspan></text>
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="1066.795"
|
||||||
|
y="218.396"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2674"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="865.021"
|
||||||
|
y="89.851997"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2676"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="629.06"
|
||||||
|
y="50.366001"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2678"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="396.42899"
|
||||||
|
y="106.215"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2680"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="204.11301"
|
||||||
|
y="248.522"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2682"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="82.689003"
|
||||||
|
y="454.659"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2684"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="51.462002"
|
||||||
|
y="691.854"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2686"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="115.396"
|
||||||
|
y="922.39398"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2688"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="264.327"
|
||||||
|
y="1109.627"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2690"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="474.577"
|
||||||
|
y="1223.783"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2692"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888"
|
||||||
|
id="text288"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan286"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888" /></text>
|
||||||
|
<text
|
||||||
|
x="936.01031"
|
||||||
|
y="1500.8351"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text292"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan290">command</tspan></text>
|
||||||
|
</g>
|
||||||
|
<defs
|
||||||
|
id="defs2708">
|
||||||
|
<rect
|
||||||
|
x="1144.3981"
|
||||||
|
y="797.67157"
|
||||||
|
width="915.91937"
|
||||||
|
height="555.16339"
|
||||||
|
id="rect44588" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview2706"
|
||||||
|
pagecolor="#f5ebd3"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.49895222"
|
||||||
|
inkscape:cx="1195.5053"
|
||||||
|
inkscape:cy="916.92146"
|
||||||
|
inkscape:window-width="1752"
|
||||||
|
inkscape:window-height="1205"
|
||||||
|
inkscape:window-x="1099"
|
||||||
|
inkscape:window-y="119"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="g1126"
|
||||||
|
fit-margin-top="100"
|
||||||
|
fit-margin-left="100"
|
||||||
|
fit-margin-right="100"
|
||||||
|
fit-margin-bottom="100"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<symbol
|
||||||
|
id="window-icon"
|
||||||
|
viewBox="0 0 372 300"
|
||||||
|
transform="translate(-98.918502,49.633999)">
|
||||||
|
<rect
|
||||||
|
x="10"
|
||||||
|
y="10"
|
||||||
|
width="352"
|
||||||
|
height="280"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="rect2665" />
|
||||||
|
<line
|
||||||
|
x1="10"
|
||||||
|
y1="30"
|
||||||
|
x2="362"
|
||||||
|
y2="30"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="line2667" />
|
||||||
|
</symbol>
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="20"
|
||||||
|
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||||
|
id="circle2696" />
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="600"
|
||||||
|
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||||
|
id="circle2698" />
|
||||||
|
<rect
|
||||||
|
x="-98.918503"
|
||||||
|
y="49.633999"
|
||||||
|
width="2922"
|
||||||
|
height="1600"
|
||||||
|
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||||
|
id="rect2700" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
id="text44586"
|
||||||
|
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||||
|
transform="translate(-98.918502,49.633999)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/Command_icon128.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
installers/macos/images/Command_icon256.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
installers/macos/images/Install_Message.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
1556
installers/macos/images/Install_Message.svg
Normal file
|
After Width: | Height: | Size: 144 KiB |
209
installers/macos/images/Install_icon.svg
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
preserveAspectRatio="xMidYMid meet"
|
||||||
|
width="2000"
|
||||||
|
height="2000"
|
||||||
|
viewBox="0 0 2000 2000"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2704"
|
||||||
|
sodipodi:docname="Install_icon.svg"
|
||||||
|
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||||
|
inkscape:export-filename="Install_icon256.png"
|
||||||
|
inkscape:export-xdpi="6.1440001"
|
||||||
|
inkscape:export-ydpi="6.1440001"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g
|
||||||
|
id="g1126"
|
||||||
|
transform="translate(-23.756927,163.29152)">
|
||||||
|
<text
|
||||||
|
x="597.27948"
|
||||||
|
y="997.78094"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text2702"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan25093">Medley</tspan></text>
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="1066.795"
|
||||||
|
y="218.396"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2674"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="865.021"
|
||||||
|
y="89.851997"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2676"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="629.06"
|
||||||
|
y="50.366001"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2678"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="396.42899"
|
||||||
|
y="106.215"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2680"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="204.11301"
|
||||||
|
y="248.522"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2682"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="82.689003"
|
||||||
|
y="454.659"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2684"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="51.462002"
|
||||||
|
y="691.854"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2686"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="115.396"
|
||||||
|
y="922.39398"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2688"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="264.327"
|
||||||
|
y="1109.627"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2690"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="474.577"
|
||||||
|
y="1223.783"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2692"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888"
|
||||||
|
id="text288"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan286"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888" /></text>
|
||||||
|
<text
|
||||||
|
x="970.08179"
|
||||||
|
y="1540.9191"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text292"
|
||||||
|
style="font-weight:bold;font-size:366.667px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:366.667px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan290">install</tspan></text>
|
||||||
|
</g>
|
||||||
|
<defs
|
||||||
|
id="defs2708">
|
||||||
|
<rect
|
||||||
|
x="1144.3981"
|
||||||
|
y="797.67157"
|
||||||
|
width="915.91937"
|
||||||
|
height="555.16339"
|
||||||
|
id="rect44588" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview2706"
|
||||||
|
pagecolor="#f5ebd3"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.49895222"
|
||||||
|
inkscape:cx="1199.5137"
|
||||||
|
inkscape:cy="920.92986"
|
||||||
|
inkscape:window-width="1752"
|
||||||
|
inkscape:window-height="1205"
|
||||||
|
inkscape:window-x="1099"
|
||||||
|
inkscape:window-y="63"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="g1126"
|
||||||
|
fit-margin-top="100"
|
||||||
|
fit-margin-left="100"
|
||||||
|
fit-margin-right="100"
|
||||||
|
fit-margin-bottom="100"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<symbol
|
||||||
|
id="window-icon"
|
||||||
|
viewBox="0 0 372 300"
|
||||||
|
transform="translate(-98.918502,49.633999)">
|
||||||
|
<rect
|
||||||
|
x="10"
|
||||||
|
y="10"
|
||||||
|
width="352"
|
||||||
|
height="280"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="rect2665" />
|
||||||
|
<line
|
||||||
|
x1="10"
|
||||||
|
y1="30"
|
||||||
|
x2="362"
|
||||||
|
y2="30"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="line2667" />
|
||||||
|
</symbol>
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="20"
|
||||||
|
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||||
|
id="circle2696" />
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="600"
|
||||||
|
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||||
|
id="circle2698" />
|
||||||
|
<rect
|
||||||
|
x="-98.918503"
|
||||||
|
y="49.633999"
|
||||||
|
width="2922"
|
||||||
|
height="1600"
|
||||||
|
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||||
|
id="rect2700" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
id="text44586"
|
||||||
|
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||||
|
transform="translate(-98.918502,49.633999)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/Install_icon128.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
installers/macos/images/Install_icon256.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
installers/macos/images/MedleyIcon.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
199
installers/macos/images/MedleyIcon.svg
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
preserveAspectRatio="xMidYMid meet"
|
||||||
|
width="2000"
|
||||||
|
height="2000"
|
||||||
|
viewBox="0 0 2000 2000"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2704"
|
||||||
|
sodipodi:docname="MedleyIcon.svg"
|
||||||
|
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||||
|
inkscape:export-filename="C:\Users\Frank\Dev\il\logos\MedleyIcon256.png"
|
||||||
|
inkscape:export-xdpi="12.287999"
|
||||||
|
inkscape:export-ydpi="12.287999"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g
|
||||||
|
id="g1126"
|
||||||
|
transform="translate(-23.756927,163.29152)">
|
||||||
|
<text
|
||||||
|
x="597.27948"
|
||||||
|
y="997.78094"
|
||||||
|
font-family="'Times New Roman', Times, serif"
|
||||||
|
font-weight="bold"
|
||||||
|
font-size="420px"
|
||||||
|
id="text2702"
|
||||||
|
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||||
|
id="tspan25093">Medley</tspan></text>
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="1066.795"
|
||||||
|
y="218.396"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2674"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="865.021"
|
||||||
|
y="89.851997"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2676"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="629.06"
|
||||||
|
y="50.366001"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2678"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="396.42899"
|
||||||
|
y="106.215"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2680"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="204.11301"
|
||||||
|
y="248.522"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2682"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="82.689003"
|
||||||
|
y="454.659"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2684"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="51.462002"
|
||||||
|
y="691.854"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2686"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="115.396"
|
||||||
|
y="922.39398"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2688"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="264.327"
|
||||||
|
y="1109.627"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2690"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<use
|
||||||
|
xlink:href="#window-icon"
|
||||||
|
x="474.577"
|
||||||
|
y="1223.783"
|
||||||
|
width="372"
|
||||||
|
height="300"
|
||||||
|
id="use2692"
|
||||||
|
transform="translate(147.4565)" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888"
|
||||||
|
id="text288"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan286"
|
||||||
|
x="1003.8107"
|
||||||
|
y="1163.4888" /></text>
|
||||||
|
</g>
|
||||||
|
<defs
|
||||||
|
id="defs2708">
|
||||||
|
<rect
|
||||||
|
x="1144.3981"
|
||||||
|
y="797.67157"
|
||||||
|
width="915.91937"
|
||||||
|
height="555.16339"
|
||||||
|
id="rect44588" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview2706"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.49895222"
|
||||||
|
inkscape:cx="1302.7299"
|
||||||
|
inkscape:cy="918.92566"
|
||||||
|
inkscape:window-width="1752"
|
||||||
|
inkscape:window-height="1205"
|
||||||
|
inkscape:window-x="172"
|
||||||
|
inkscape:window-y="96"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="g1126"
|
||||||
|
fit-margin-top="100"
|
||||||
|
fit-margin-left="100"
|
||||||
|
fit-margin-right="100"
|
||||||
|
fit-margin-bottom="100"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<symbol
|
||||||
|
id="window-icon"
|
||||||
|
viewBox="0 0 372 300"
|
||||||
|
transform="translate(-98.918502,49.633999)">
|
||||||
|
<rect
|
||||||
|
x="10"
|
||||||
|
y="10"
|
||||||
|
width="352"
|
||||||
|
height="280"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="rect2665" />
|
||||||
|
<line
|
||||||
|
x1="10"
|
||||||
|
y1="30"
|
||||||
|
x2="362"
|
||||||
|
y2="30"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||||
|
id="line2667" />
|
||||||
|
</symbol>
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="20"
|
||||||
|
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||||
|
id="circle2696" />
|
||||||
|
<circle
|
||||||
|
cx="551.08148"
|
||||||
|
cy="699.63397"
|
||||||
|
r="600"
|
||||||
|
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||||
|
id="circle2698" />
|
||||||
|
<rect
|
||||||
|
x="-98.918503"
|
||||||
|
y="49.633999"
|
||||||
|
width="2922"
|
||||||
|
height="1600"
|
||||||
|
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||||
|
id="rect2700" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
id="text44586"
|
||||||
|
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588)"
|
||||||
|
transform="translate(-98.918502,49.633999)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5.5 KiB |
BIN
installers/macos/images/MedleyIcon128.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
installers/macos/images/MedleyIcon256.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
29
installers/macos/pkg/Distribution.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<installer-gui-script minSpecVersion="1">
|
||||||
|
<pkg-ref id="org.interlisp.Medley"/>
|
||||||
|
<options customize="always" require-scripts="false" hostArchitectures="x86_64,arm64" />
|
||||||
|
<domains enable_anywhere="false" enable_currentUserHome="true" enable_localSystem="false" />
|
||||||
|
<choices-outline>
|
||||||
|
<line choice="default">
|
||||||
|
<line choice="org.interlisp.Medley" />
|
||||||
|
</line>
|
||||||
|
<line choice="Location" />
|
||||||
|
</choices-outline>
|
||||||
|
<choice id="default" visible="false" />
|
||||||
|
<choice id="org.interlisp.Medley"
|
||||||
|
description="D Install for all Users?"
|
||||||
|
title="T Install for all users?"
|
||||||
|
customLocation="tests"
|
||||||
|
>
|
||||||
|
<pkg-ref id="org.interlisp.Medley"/>
|
||||||
|
</choice>
|
||||||
|
<choice id="Location"
|
||||||
|
description="D Install for all Users?"
|
||||||
|
title="T Install for all users?"
|
||||||
|
customLocation="tests"
|
||||||
|
>
|
||||||
|
<pkg-ref id="org.interlisp.Medley"/>
|
||||||
|
</choice>
|
||||||
|
<pkg-ref id="org.interlisp.Medley" version="01.01.01" onConclusion="none">Medley-base.pkg</pkg-ref>
|
||||||
|
</installer-gui-script>
|
||||||
|
|
||||||
43
installers/macos/scripts/medley_add2path
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# functions to discover what directory this script is being executed from
|
||||||
|
get_abs_filename() {
|
||||||
|
# $1 : relative filename
|
||||||
|
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_script_dir() {
|
||||||
|
|
||||||
|
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
|
||||||
|
|
||||||
|
# set -x
|
||||||
|
|
||||||
|
local SCRIPT_PATH="$( get_abs_filename "$1" )";
|
||||||
|
|
||||||
|
pushd . > '/dev/null';
|
||||||
|
|
||||||
|
while [ -h "$SCRIPT_PATH" ];
|
||||||
|
do
|
||||||
|
cd "$( dirname -- "$SCRIPT_PATH"; )";
|
||||||
|
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
|
||||||
|
done
|
||||||
|
|
||||||
|
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
|
||||||
|
SCRIPT_PATH="$( pwd; )";
|
||||||
|
|
||||||
|
popd > '/dev/null';
|
||||||
|
|
||||||
|
# set +x
|
||||||
|
|
||||||
|
echo "${SCRIPT_PATH}"
|
||||||
|
}
|
||||||
|
|
||||||
|
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
|
||||||
|
|
||||||
|
touch ~/.profile
|
||||||
|
cat >> ~/.profile <<EOF
|
||||||
|
PATH=\${PATH}:${SCRIPTDIR}
|
||||||
|
EOF
|
||||||
|
rm ${SCRIPTDIR}/medley_add2path.command
|
||||||
|
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ SolidCompression=yes
|
|||||||
; 64-bit Program Files directory and the 64-bit view of the registry.
|
; 64-bit Program Files directory and the 64-bit view of the registry.
|
||||||
ArchitecturesInstallIn64BitMode=x64
|
ArchitecturesInstallIn64BitMode=x64
|
||||||
OutputDir="."
|
OutputDir="."
|
||||||
OutputBaseFilename="medley-install_{#version}_{#x86_or_x64}"
|
OutputBaseFilename="medley-full-{#version}-windows-{#x86_or_x64}"
|
||||||
SetupIconFile="Medley.ico"
|
SetupIconFile="Medley.ico"
|
||||||
DisableWelcomePage=no
|
DisableWelcomePage=no
|
||||||
MissingRunOnceIdsWarning=no
|
MissingRunOnceIdsWarning=no
|
||||||
|
|||||||
@ -202,4 +202,3 @@ echo "greet: $LDEINIT"
|
|||||||
export INMEDLEY=1
|
export INMEDLEY=1
|
||||||
|
|
||||||
"$prog" $display $noscroll $geometry $screensize $mem -title "$title" $pass "$LDESRCESYSOUT"
|
"$prog" $display $noscroll $geometry $screensize $mem -title "$title" $pass "$LDESRCESYSOUT"
|
||||||
|
|
||||||
|
|||||||
151
scripts/medley/medley.command
Executable file
@ -0,0 +1,151 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# medley.sh - script for running Medley Interlisp on Linux/WSL.
|
||||||
|
# On Linux and WSL when using X Windows it just sets
|
||||||
|
# up directories and environment variables and then calls
|
||||||
|
# run-medley. On WSL, there is an option to run without
|
||||||
|
# or around X Windows by using the XVnc and a VNC viewer
|
||||||
|
# on the Windows side. This script will start this VNC viewer
|
||||||
|
# on the Windows side.
|
||||||
|
#
|
||||||
|
# 2023-01-12 Frank Halasz
|
||||||
|
#
|
||||||
|
# Copyright 2023 Interlisp.org
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
# functions to discover what directory this script is being executed from
|
||||||
|
get_abs_filename() {
|
||||||
|
# $1 : relative filename
|
||||||
|
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_script_dir() {
|
||||||
|
|
||||||
|
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
|
||||||
|
|
||||||
|
# set -x
|
||||||
|
|
||||||
|
local SCRIPT_PATH="$( get_abs_filename "$1" )";
|
||||||
|
|
||||||
|
pushd . > '/dev/null';
|
||||||
|
|
||||||
|
while [ -h "$SCRIPT_PATH" ];
|
||||||
|
do
|
||||||
|
cd "$( dirname -- "$SCRIPT_PATH"; )";
|
||||||
|
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
|
||||||
|
done
|
||||||
|
|
||||||
|
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
|
||||||
|
SCRIPT_PATH="$( pwd; )";
|
||||||
|
|
||||||
|
popd > '/dev/null';
|
||||||
|
|
||||||
|
# set +x
|
||||||
|
|
||||||
|
echo "${SCRIPT_PATH}"
|
||||||
|
}
|
||||||
|
|
||||||
|
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
|
||||||
|
# Define some generally useful functions
|
||||||
|
source ${SCRIPTDIR}/medley_utils.sh
|
||||||
|
|
||||||
|
export MEDLEYDIR=$(cd ${SCRIPTDIR}; cd ../..; pwd)
|
||||||
|
IL_DIR=$(cd ${MEDLEYDIR}; cd ..; pwd)
|
||||||
|
export LOGINDIR=${HOME}/il
|
||||||
|
|
||||||
|
# Are we running under Docker or if not under WSL
|
||||||
|
# or under Darwin?
|
||||||
|
#
|
||||||
|
docker=false
|
||||||
|
wsl=false
|
||||||
|
darwin=false
|
||||||
|
|
||||||
|
if [ "$(uname)" = "Darwin" ];
|
||||||
|
then
|
||||||
|
darwin=true
|
||||||
|
elif [ -n "${MEDLEY_DOCKER_BUILD_DATE}" ];
|
||||||
|
then
|
||||||
|
docker='true'
|
||||||
|
else
|
||||||
|
wsl_ver=0
|
||||||
|
# WSL2
|
||||||
|
grep --ignore-case --quiet wsl /proc/sys/kernel/osrelease
|
||||||
|
if [ $? -eq 0 ];
|
||||||
|
then
|
||||||
|
wsl='true'
|
||||||
|
wsl_ver=2
|
||||||
|
else
|
||||||
|
# WSL1
|
||||||
|
grep --ignore-case --quiet microsoft /proc/sys/kernel/osrelease
|
||||||
|
if [ $? -eq 0 ];
|
||||||
|
then
|
||||||
|
if [ $(uname -m) = x86_64 ];
|
||||||
|
then
|
||||||
|
wsl='true'
|
||||||
|
wsl_ver=1
|
||||||
|
else
|
||||||
|
echo "ERROR: Running Medley on WSL1 requires an x86_64-based PC."
|
||||||
|
echo "This is not an x86_64-based PC."
|
||||||
|
echo "Exiting"
|
||||||
|
exit 23
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
wsl='false'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# process args
|
||||||
|
source ${SCRIPTDIR}/medley_args.sh
|
||||||
|
|
||||||
|
# Make sure that there is not another instance currently running with this same id
|
||||||
|
ps ax | grep ldex | grep --quiet "\-id ${run_id}"
|
||||||
|
if [ $? -eq 0 ];
|
||||||
|
then
|
||||||
|
echo "Another instance of Medley Interlisp is already running with the id \"${run_id}\"."
|
||||||
|
echo "Only a single instance with a given id can be run at the same time."
|
||||||
|
echo "Please retry using the \"--id <name>\" argument to give this new instance a different id."
|
||||||
|
echo "Exiting"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set LDEDESTSYSOUT env variable based on id
|
||||||
|
if [ -z ${LDEDESTSYSOUT} ];
|
||||||
|
then
|
||||||
|
if [ "${run_id}" = "default" ];
|
||||||
|
then
|
||||||
|
export LDEDESTSYSOUT=${LOGINDIR}/vmem/lisp.virtualmem
|
||||||
|
else
|
||||||
|
export LDEDESTSYSOUT=${LOGINDIR}/vmem/lisp_${run_id}.virtualmem
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create LOGINDIR if necessary
|
||||||
|
if [ ! -e ${LOGINDIR} ];
|
||||||
|
then
|
||||||
|
mkdir -p ${LOGINDIR}
|
||||||
|
elif [ ! -d ${LOGINDIR} ];
|
||||||
|
then
|
||||||
|
echo "ERROR: Medley requires a directory named ${LOGINDIR}."
|
||||||
|
echo "But ${LOGINDIR} exists appears not be a directory."
|
||||||
|
echo "Exiting"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
mkdir -p ${LOGINDIR}/vmem
|
||||||
|
|
||||||
|
# Call run-medley with or without vnc
|
||||||
|
if [[ ( ${darwin} = true ) || (( ${wsl} = false || ${use_vnc} = false ) && ${docker} = false) ]];
|
||||||
|
then
|
||||||
|
# If not using vnc, just call run-medley
|
||||||
|
${MEDLEYDIR}/run-medley -id "${run_id}" ${geometry} ${screensize} ${run_args[@]}
|
||||||
|
else
|
||||||
|
# do the vnc thing on wsl or docker
|
||||||
|
source ${SCRIPTDIR}/medley_vnc.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,142 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
###############################################################################
|
|
||||||
#
|
|
||||||
# medley.sh - script for running Medley Interlisp on Linux/WSL.
|
|
||||||
# On Linux and WSL when using X Windows it just sets
|
|
||||||
# up directories and environment variables and then calls
|
|
||||||
# run-medley. On WSL, there is an option to run without
|
|
||||||
# or around X Windows by using the XVnc and a VNC viewer
|
|
||||||
# on the Windows side. This script will start this VNC viewer
|
|
||||||
# on the Windows side.
|
|
||||||
#
|
|
||||||
# 2023-01-12 Frank Halasz
|
|
||||||
#
|
|
||||||
# Copyright 2023 Interlisp.org
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
#set -x
|
|
||||||
|
|
||||||
# functions to discover what directory this script is being executed from
|
|
||||||
get_abs_filename() {
|
|
||||||
# $1 : relative filename
|
|
||||||
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
|
|
||||||
}
|
|
||||||
get_script_dir() {
|
|
||||||
|
|
||||||
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
|
|
||||||
|
|
||||||
# set -x
|
|
||||||
|
|
||||||
local SCRIPT_PATH="$( get_abs_filename "$1" )";
|
|
||||||
|
|
||||||
pushd . > '/dev/null';
|
|
||||||
|
|
||||||
while [ -h "$SCRIPT_PATH" ];
|
|
||||||
do
|
|
||||||
cd "$( dirname -- "$SCRIPT_PATH"; )";
|
|
||||||
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
|
|
||||||
done
|
|
||||||
|
|
||||||
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
|
|
||||||
SCRIPT_PATH="$( pwd; )";
|
|
||||||
|
|
||||||
popd > '/dev/null';
|
|
||||||
|
|
||||||
# set +x
|
|
||||||
|
|
||||||
echo "${SCRIPT_PATH}"
|
|
||||||
}
|
|
||||||
|
|
||||||
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
|
|
||||||
# Define some generally useful functions
|
|
||||||
source ${SCRIPTDIR}/medley_utils.sh
|
|
||||||
|
|
||||||
export MEDLEYDIR=$(cd ${SCRIPTDIR}; cd ../..; pwd)
|
|
||||||
IL_DIR=$(cd ${MEDLEYDIR}; cd ..; pwd)
|
|
||||||
export LOGINDIR=${HOME}/il
|
|
||||||
|
|
||||||
# Are we running under Docker or if not under WSL?
|
|
||||||
if [ -n "${MEDLEY_DOCKER_BUILD_DATE}" ];
|
|
||||||
then
|
|
||||||
docker='true'
|
|
||||||
wsl='false'
|
|
||||||
else
|
|
||||||
docker='false'
|
|
||||||
wsl_ver=0
|
|
||||||
# WSL2
|
|
||||||
grep --ignore-case --quiet wsl /proc/sys/kernel/osrelease
|
|
||||||
if [ $? -eq 0 ];
|
|
||||||
then
|
|
||||||
wsl='true'
|
|
||||||
wsl_ver=2
|
|
||||||
else
|
|
||||||
# WSL1
|
|
||||||
grep --ignore-case --quiet microsoft /proc/sys/kernel/osrelease
|
|
||||||
if [ $? -eq 0 ];
|
|
||||||
then
|
|
||||||
if [ $(uname -m) = x86_64 ];
|
|
||||||
then
|
|
||||||
wsl='true'
|
|
||||||
wsl_ver=1
|
|
||||||
else
|
|
||||||
echo "ERROR: Running Medley on WSL1 requires an x86_64-based PC."
|
|
||||||
echo "This is not an x86_64-based PC."
|
|
||||||
echo "Exiting"
|
|
||||||
exit 23
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
wsl='false'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# process args
|
|
||||||
source ${SCRIPTDIR}/medley_args.sh
|
|
||||||
|
|
||||||
# Make sure that there is not another instance currently running with this same id
|
|
||||||
ps ax | grep ldex | grep --quiet "\-id ${run_id}"
|
|
||||||
if [ $? -eq 0 ];
|
|
||||||
then
|
|
||||||
echo "Another instance of Medley Interlisp is already running with the id \"${run_id}\"."
|
|
||||||
echo "Only a single instance with a given id can be run at the same time."
|
|
||||||
echo "Please retry using the \"--id <name>\" argument to give this new instance a different id."
|
|
||||||
echo "Exiting"
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set LDEDESTSYSOUT env variable based on id
|
|
||||||
if [ -z ${LDEDESTSYSOUT} ];
|
|
||||||
then
|
|
||||||
if [ "${run_id}" = "default" ];
|
|
||||||
then
|
|
||||||
export LDEDESTSYSOUT=${LOGINDIR}/vmem/lisp.virtualmem
|
|
||||||
else
|
|
||||||
export LDEDESTSYSOUT=${LOGINDIR}/vmem/lisp_${run_id}.virtualmem
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create LOGINDIR if necessary
|
|
||||||
if [ ! -e ${LOGINDIR} ];
|
|
||||||
then
|
|
||||||
mkdir -p ${LOGINDIR}
|
|
||||||
elif [ ! -d ${LOGINDIR} ];
|
|
||||||
then
|
|
||||||
echo "ERROR: Medley requires a directory named ${LOGINDIR}."
|
|
||||||
echo "But ${LOGINDIR} exists appears not be a directory."
|
|
||||||
echo "Exiting"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
mkdir -p ${LOGINDIR}/vmem
|
|
||||||
|
|
||||||
# Call run-medley with or without vnc
|
|
||||||
if [[ ( ${wsl} = false || ${use_vnc} = false ) && ${docker} = false ]];
|
|
||||||
then
|
|
||||||
# If not using vnc, just call run-medley
|
|
||||||
${MEDLEYDIR}/run-medley -id "${run_id}" ${geometry} ${screensize} ${run_args[@]}
|
|
||||||
else
|
|
||||||
# do the vnc thing on wsl or docker
|
|
||||||
source ${SCRIPTDIR}/medley_vnc.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
1
scripts/medley/medley.sh
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
medley.command
|
||||||
@ -140,7 +140,12 @@ do
|
|||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-z | --man)
|
-z | --man)
|
||||||
/usr/bin/man -l "${MEDLEYDIR}/docs/man-page/medley.1.gz"
|
if [ ${darwin} = true ];
|
||||||
|
then
|
||||||
|
/usr/bin/man "${MEDLEYDIR}/docs/man-page/medley.1.gz"
|
||||||
|
else
|
||||||
|
/usr/bin/man -l "${MEDLEYDIR}/docs/man-page/medley.1.gz"
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
--windows)
|
--windows)
|
||||||
@ -155,16 +160,20 @@ do
|
|||||||
usage "${err_msg[@]}"
|
usage "${err_msg[@]}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if [[ $# -eq 1 || "$2" = "--" ]];
|
# if matched the empty string, just ignore
|
||||||
|
if [ -n "$1" ];
|
||||||
then
|
then
|
||||||
sysout_flag=true
|
if [[ $# -eq 1 || "$2" = "--" ]];
|
||||||
sysout_arg="$1"
|
then
|
||||||
else
|
sysout_flag=true
|
||||||
err_msg=(
|
sysout_arg="$1"
|
||||||
"ERROR: sysout argument must be last argument"
|
else
|
||||||
"or last argument before the \"--\" flag"
|
err_msg=(
|
||||||
)
|
"ERROR: sysout argument must be last argument"
|
||||||
usage "${err_msg[@]}"
|
"or last argument before the \"--\" flag"
|
||||||
|
)
|
||||||
|
usage "${err_msg[@]}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||