Skip to content

Commit c976a4f

Browse files
authored
Release 2025.1 (#1721)
2 parents 2ff9153 + 0f7d957 commit c976a4f

File tree

23 files changed

+84
-41
lines changed

23 files changed

+84
-41
lines changed

.github/workflows/build-release.yml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,34 @@ jobs:
88
build:
99
runs-on: ${{ matrix.os }}
1010
strategy:
11+
fail-fast: false
1112
matrix:
12-
os: [macos-latest]
13+
os: [macos-latest,ubuntu-latest]
1314
steps:
1415
- uses: actions/checkout@v4
1516
with:
1617
submodules: recursive
1718

18-
- name: Install Dependencies
19-
run: |
20-
if [ "$RUNNER_OS" == "macOS" ]; then
21-
brew install autoconf automake ninja
22-
fi
19+
# Install a bootstrap compiler.
20+
- uses: dylan-lang/install-opendylan@v3
2321

24-
- name: Install bootstrap compiler
22+
- name: Install Dependencies
2523
run: |
26-
if [ "$RUNNER_OS" == "Linux" ]; then
27-
curl -LO https://github.com/dylan-lang/opendylan/releases/download/v2023.1.0/opendylan-2023.1-x86_64-linux.tar.bz2
28-
tar xvf opendylan-2023.1-x86_64-linux.tar.bz2
29-
fi
30-
if [ "$RUNNER_OS" == "macOS" ]; then
31-
curl -LO https://github.com/dylan-lang/opendylan/releases/download/v2023.1.0/opendylan-2023.1-x86_64-darwin.tar.bz2
32-
tar xvf opendylan-2023.1-x86_64-darwin.tar.bz2
33-
fi
34-
echo "`pwd`/opendylan-2023.1/bin" >> $GITHUB_PATH
24+
case "$RUNNER_OS" in
25+
macOS)
26+
brew install autoconf automake ninja ;;
27+
Linux)
28+
sudo apt install -y lld ;;
29+
esac
3530
3631
- name: "Build with batteries"
3732
run: ./build/unix/release-with-batteries.sh
3833

3934
- uses: actions/upload-artifact@v4
4035
with:
41-
name: release-tarball
42-
path: release/opendylan.tar.bz2
36+
name: opendylan-release-tarball
37+
# The - in the path is to omit the opendylan.tar.bz2 symlink.
38+
path: release/opendylan-*.tar.bz2
4339
compression-level: 0
4440
retention-days: 3
4541
overwrite: true

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,9 @@
4040
[submodule "sources/lib/channels"]
4141
path = sources/lib/channels
4242
url = https://github.com/dylan-lang/channels
43+
[submodule "sources/lib/uncommon-dylan"]
44+
path = sources/lib/uncommon-dylan
45+
url = https://github.com/cgay/uncommon-dylan
46+
[submodule "sources/lib/columnist"]
47+
path = sources/lib/columnist
48+
url = https://github.com/cgay/columnist

Makefile.in

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ BOOTSTRAP_3_ROOT = $(abs_builddir)/Bootstrap.3
191191
BOOTSTRAP_3_LIBRARIES = \
192192
dylan-compiler dylan-environment parser-compiler dswank
193193
BOOTSTRAP_3_STATICS = \
194-
deft-app dylan-lsp-server
194+
dylan-lsp-server
195195

196196
BOOTSTRAP_3_COMPILER = \
197197
$(BOOTSTRAP_2_ROOT)/bin/dylan-compiler \
@@ -222,6 +222,18 @@ bootstrap-stage-3-statics:
222222
@echo Building Open Dylan unified executables...
223223
@$(BOOTSTRAP_3_ENV) $(FDMAKE) --compiler "$(BOOTSTRAP_3_COMPILER)" \
224224
--unify $(BOOTSTRAP_3_STATICS)
225+
# `make -C` for deft would build using a different registry and _build directory,
226+
# so here we repeat its logic for making `deft version` work. (TODO: make
227+
# `make -C sources/app/deft build-for-opendylan` work instead.)
228+
git_version=$(shell cd $(abs_srcdir)/sources/app/deft && git describe --tags --always --match 'v*'); \
229+
file="$(abs_srcdir)/sources/app/deft/sources/commands/version.dylan"; \
230+
orig=$$(mktemp); \
231+
temp=$$(mktemp); \
232+
cp -p $${file} $${orig}; \
233+
cat $${file} | sed "s|_NO_VERSION_SET_|$${git_version} built on $$(date -Iseconds)|g" > $${temp}; \
234+
mv $${temp} $${file}; \
235+
$(BOOTSTRAP_3_ENV) $(FDMAKE) --compiler "$(BOOTSTRAP_3_COMPILER)" --unify deft-app; \
236+
cp -p $${orig} $${file}
225237

226238
BOOTSTRAP_3_LLVM_RTGVARSyes = \
227239
OPEN_DYLAN_LLVM_RUNTIME_GENERATOR=$(BOOTSTRAP_3_ROOT)/bin/$(RTG)
@@ -387,7 +399,7 @@ TEST_LIBS = \
387399
command-line-parser-test-suite \
388400
logging-test-suite \
389401
regular-expressions-test-suite \
390-
hash-algorithms-test
402+
hash-algorithms-test-suite
391403

392404
TEST_LOADS = $(shell for lib in $(TEST_LIBS); do echo "--load lib$${lib}.@shrext@ "; done)
393405

build/unix/release-with-batteries.sh

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22
set -e
33

4-
LLVM_RELEASE=19.1.0
4+
LLVM_RELEASE=20.1.7
55
LLVM_REL=$(echo $LLVM_RELEASE | sed s/-rc/rc/)
66

77
LLVM_CLANG=$(echo $LLVM_RELEASE | sed 's/\([0-9]*\).*/\1/')
@@ -26,9 +26,11 @@ mkdir -p ${DISTDIR}
2626

2727
MAKE=make
2828
TAR=tar
29+
LLVM_TARGETS=Native
2930
NEED_LIBUNWIND=:
3031
NEED_INSTALL_NAME=false
3132
SYSROOT=
33+
CFLAGS_ARCH=
3234
USE_LLD="-fuse-ld=lld"
3335
USE_LLD_OPTS="-DLLVM_ENABLE_LLD:BOOL=ON -DCLANG_DEFAULT_LINKER=lld"
3436
BUILD_SRC=false
@@ -65,6 +67,17 @@ case ${MACHINE}-${SYSTEM} in
6567
USE_LLD_OPTS=
6668
DYLAN_JOBS=$(getconf _NPROCESSORS_ONLN)
6769
;;
70+
arm64-Darwin)
71+
TRIPLE=x86_64-apple-darwin
72+
LLVM_TARGETS="AArch64;ARM;X86"
73+
CFLAGS_ARCH="-arch x86_64"
74+
NEED_LIBUNWIND=false
75+
NEED_INSTALL_NAME=:
76+
SYSROOT=" -isysroot $(xcrun --show-sdk-path)"
77+
USE_LLD=
78+
USE_LLD_OPTS=
79+
DYLAN_JOBS=$(getconf _NPROCESSORS_ONLN)
80+
;;
6881
esac
6982

7083
LLVM_DIST=llvm-project-${LLVM_REL}
@@ -89,9 +102,10 @@ fi
89102
(cd ${LLVM_DIST};
90103
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=OFF \
91104
-DCMAKE_INSTALL_PREFIX=${DISTDIR}/llvm \
92-
-DLLVM_TARGETS_TO_BUILD:STRING="Native" \
105+
-DLLVM_TARGETS_TO_BUILD:STRING="${LLVM_TARGETS}" \
93106
-DLLVM_ENABLE_PROJECTS="llvm;clang;lld" \
94107
${RT_OPTS} ${USE_LLD_OPTS} \
108+
-DLLVM_DISABLE_ASSEMBLY_FILES=ON \
95109
-DLLVM_ENABLE_TERMINFO=OFF \
96110
-DLLVM_ENABLE_LIBEDIT=OFF \
97111
-DLLVM_ENABLE_LIBXML2=OFF \
@@ -149,7 +163,7 @@ fi
149163
echo Building BDWGC in ${BDWGC_DIST}
150164
(cd ${BDWGC_DIST};
151165
./autogen.sh;
152-
./configure CC="$CC" -q --prefix=$DISTDIR \
166+
./configure CC="$CC" CFLAGS="-O2 ${CFLAGS_ARCH}" -q --prefix=$DISTDIR \
153167
--disable-docs --disable-static \
154168
--enable-threads=posix \
155169
--enable-parallel-mark \
@@ -166,7 +180,9 @@ done
166180
echo Building Open Dylan
167181
$top_srcdir/configure CC="$CC" CXX="$CXX" \
168182
CPPFLAGS="-I${DISTDIR}/include" \
183+
CFLAGS="-O2 ${CFLAGS_ARCH}" \
169184
LDFLAGS="-L${DISTDIR}/lib $USE_LLD" \
185+
--build ${TRIPLE} \
170186
--with-gc=${DISTDIR} \
171187
--with-harp-collector=boehm \
172188
"$@"

configure.ac

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
AC_INIT([Open Dylan], [2025.1pre])
1+
AC_INIT([Open Dylan], [2025.1])
22
AC_PREREQ(2.50)
33

44
# Directory for config.guess etc.
@@ -119,8 +119,8 @@ AC_SUBST(DYLANCOMPILER)
119119
bootstrap_target=3-stage-bootstrap
120120
AC_SUBST(bootstrap_target)
121121

122-
AC_PROG_CC([clang-17 clang-16 clang-15 clang-14 clang14 clang-12 clang12 clang-11 clang11 clang-10 clang10 clang-9 clang90 clang-8 clang80 clang gcc cc])
123-
AC_PROG_CXX([clang++-17 clang++-16 clang++-15 clang++-14 clang++14 clang++-12 clang++12 clang++-11 clang++11 clang++-10 clang++10 clang++-9 clang++90 clang++-8 clang++80 clang++ g++ c++])
122+
AC_PROG_CC([clang-20 clang-19 clang-18 clang-17 clang-16 clang-15 clang-14 clang14 clang-12 clang12 clang-11 clang11 clang-10 clang10 clang-9 clang90 clang-8 clang80 clang gcc cc])
123+
AC_PROG_CXX([clang++-20 clang++-19 clang++-18 clang++-17 clang++-16 clang++-15 clang++-14 clang++14 clang++-12 clang++12 clang++-11 clang++11 clang++-10 clang++10 clang++-9 clang++90 clang++-8 clang++80 clang++ g++ c++])
124124

125125
AS_IF([test -n "$SUPPORT_LLVM"],
126126
[AC_MSG_CHECKING([if LLVM bitcode can be compiled])

documentation/source/release-notes/2025.1.rst

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
Open Dylan 2025.1
33
*****************
44

5-
This document describes the 2025.1 release of Open Dylan, released DD
6-
MMM, 2024. The highlights of the release are listed below. For complete
5+
This document describes the 2025.1 release of Open Dylan, released 21
6+
June, 2024. The highlights of the release are listed below. For complete
77
details see the `commit logs
88
<https://github.com/dylan-lang/opendylan/compare/v2024.1.0...v2025.1.0>`_ for
99
this release.
@@ -78,6 +78,11 @@ Tools
7878
compatibility (for example in GitHub workflows) but it will be removed in a
7979
future release.
8080

81+
A new command, `deft test <https://package.opendylan.org/deft/index.html#deft-test>`_,
82+
has been added to run tests defined in your workspace. See the `Deft 0.13.0 release
83+
notes <https://github.com/dylan-lang/deft/releases/tag/v0.13.0>`_ for a list of other
84+
Deft changes.
85+
8186
Library Updates
8287
===============
8388

@@ -128,3 +133,8 @@ Other
128133
Contributors
129134
============
130135

136+
* Carl Gay
137+
* Peter Housel
138+
* Bruce Mitchener
139+
* Fernando Raya
140+

documentation/source/release-notes/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Open Dylan Release Notes
22
========================
33

4-
* :doc:`2025.1` (coming soon)
4+
* :doc:`2025.1`
55
* :doc:`2024.1`
66
* :doc:`2023.1`
77
* :doc:`2022.1`

sources/app/deft

Submodule deft updated 64 files

0 commit comments

Comments
 (0)