diff --git a/.github/workflows/build_release_template.yml b/.github/workflows/build_release_template.yml
index 4332adee..f3195e59 100644
--- a/.github/workflows/build_release_template.yml
+++ b/.github/workflows/build_release_template.yml
@@ -55,6 +55,7 @@ jobs:
with:
repository: 'dlang/dmd'
ref: ${{ inputs.release_branch }}
+ fetch-depth: 0
path: 'dmd'
- name: Clone phobos
@@ -62,6 +63,7 @@ jobs:
with:
repository: 'dlang/phobos'
ref: ${{ inputs.release_branch }}
+ fetch-depth: 0
path: 'phobos'
- name: Clone dlang.org
@@ -69,6 +71,7 @@ jobs:
with:
repository: 'dlang/dlang.org'
ref: ${{ inputs.release_branch }}
+ fetch-depth: 0
path: 'dlang.org'
# Fetch host compiler
@@ -126,7 +129,7 @@ jobs:
include:
- os: ubuntu-22.04
target: linux
- - os: macos-13
+ - os: macos-14
target: osx
- os: windows-2022
target: windows
diff --git a/create_dmd_release/build_all.d b/create_dmd_release/build_all.d
index 2e9f093a..b935814c 100644
--- a/create_dmd_release/build_all.d
+++ b/create_dmd_release/build_all.d
@@ -636,9 +636,12 @@ int main(string[] args)
immutable ver = gitTag.chompPrefix("v");
mkdirRecurse("build");
- version (NoVagrant) version(linux) {} else
- if (!skipDocs)
+ version (NoVagrant)
+ {
+ version(linux) {}
+ else if (!skipDocs)
copyDirectory("docs", workDir);
+ }
foreach (p; platforms)
{
diff --git a/osx/Makefile b/osx/Makefile
index 17e824f3..da4ad75b 100644
--- a/osx/Makefile
+++ b/osx/Makefile
@@ -18,12 +18,6 @@ TARGET_DIR=data
# TARGET_SITE=erdani.com
# TARGET_DIR=d
-MAKER:=$(shell \
-if [ -f /Developer/usr/bin/packagemaker ];\
- then echo /Developer/usr/bin/packagemaker;\
- else echo /Applications/PackageMaker.app/Contents/MacOS/PackageMaker;\
-fi)
-
all: dmd.${VERSION}.dmg
rsync -az $< ${TARGET_SITE}:${TARGET_DIR}/dmd.${VERSION}.dmg
@@ -37,7 +31,10 @@ dmd.${VERSION}.dmg: dmd.${VERSION}.osx.zip
rm -rf dmg/
mkdir -p dmg/DMD2
cp uninstall.command dmg/DMD2/
- ${MAKER} -d dmd.pmdoc -o dmg/DMD2/DMD2.pkg --target 10.5
+ pkgbuild --root dmd/ \
+ --version ${VERSION} --identifier org.dlang.dmd.dmd2 \
+ --install-location /Library/D/dmd --scripts scripts/ \
+ --min-os-version 10.5 dmg/DMD2/DMD2.pkg
hdiutil create -srcfolder dmg/DMD2 $@
clean:
diff --git a/osx/dmd.pmdoc/01dmd-contents.xml b/osx/dmd.pmdoc/01dmd-contents.xml
deleted file mode 100644
index bc1e5a79..00000000
--- a/osx/dmd.pmdoc/01dmd-contents.xml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/osx/dmd.pmdoc/01dmd.xml b/osx/dmd.pmdoc/01dmd.xml
deleted file mode 100644
index fc6508be..00000000
--- a/osx/dmd.pmdoc/01dmd.xml
+++ /dev/null
@@ -1 +0,0 @@
-org.dlang.dmd.dmd2.pkg1dmd/Library/D/dmdinstallToinstallFrom.pathidentifierparentinstallTo.pathinstallFrom.isRelativeTypescripts.postinstall.isRelativeTypepost-install.sh
\ No newline at end of file
diff --git a/osx/dmd.pmdoc/index.xml b/osx/dmd.pmdoc/index.xml
deleted file mode 100644
index 6deda4bf..00000000
--- a/osx/dmd.pmdoc/index.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-DMD2/Users/doob/Documents/DMD2.pkgcom.digitalmars.dmd\
-\
-
-\b This package is intended for Mac OS X Mavericks (10.9) and later.}]]>System Requirements FailedThis package can only be installed on Mac OS X Maavericks (10.9) or later.At least 22MB of disk space has to be avaliable to install this package.- 01dmd.xml
properties.titleproperties.userDomainproperties.anywhereDomainproperties.systemDomain
diff --git a/osx/readme.txt b/osx/readme.txt
index b6d4046f..9b47d686 100644
--- a/osx/readme.txt
+++ b/osx/readme.txt
@@ -33,15 +33,14 @@ The it will copy the dmd.conf or dmd2.conf file into dmd/bin, this is
needed because the installer will create symlinks and the dmd.conf
need to have hard coded paths.
-Then it will run packagemaker to create the installer, it will use
-dmd.pmdoc or dmd2.pmdoc, it contains the GUI for the installer and
-what and how to install. packagemaker will also pack post-install.sh,
-it creates symlinks. It will also package the contents of the dmd
-directory into the .pkg file it will create. The .pkg file will be
-saved in dmg/DMD then the uninstall.command file will be copied here
-to, it's a regular shell script that uninstalls everything, it has
-".command" as the file extension because then you can double click on
-it in Finder and it will launch a terminal and run the script.
+Then it will run pkgbuild to create the installer. pkgbuild will
+also pack scripts/postinstall, it creates symlinks. It will also
+package the contents of the dmd directory into the .pkg file it
+will create. The .pkg file will be saved in dmg/DMD then the
+uninstall.command file will be copied here to, it's a regular shell
+script that uninstalls everything, it has ".command" as the file
+extension because then you can double click on it in Finder and it
+will launch a terminal and run the script.
After the installer is created it will run hdiutil on the dmg
directory and create a .dmg file with the name you gave with the -o
@@ -59,9 +58,5 @@ graphical user interface. It's very easy to enable vnc: Apple Menu ->
System Preferences -> Sharing -> enable Screen Sharing -> Computer
Settings... -> VNC viewers ...
-You will need the GUI to run PackageMaker and look at the pmdoc files,
-if you don't want to read xml.
-
-
/Jacob Carlborg
diff --git a/osx/post-install.sh b/osx/scripts/postinstall
similarity index 100%
rename from osx/post-install.sh
rename to osx/scripts/postinstall