Download raw body.
lang/crystal: update and unbreak
On Tue, 11 Jun 2024 at 15:58:51 +0100, Stuart Henderson wrote:
> On 2024/06/11 09:43, joshua stein wrote:
> > update to 1.12.2, fix linking to libLLVM, and use -Wl,-z,nobtcfi
> > until upstream gets IBT support.
>
> please set USE_NOBTCFI=Yes, even if it needs additional things to make it
> stick, so that it's recorded in sqlports.
>
> > # Build requires llvm-config from ports, not from base
> > MODULES = lang/clang
> > +MODCLANG_VERSION = 13
>
> we really could do with killing 13 - currently it is *only* used so we
> can build gcc (and thus everything fortran) on i386.
Ok, here's a version that builds with llvm 17
diff --git lang/crystal/Makefile lang/crystal/Makefile
index f6ec5ddc13e..de83223c96e 100644
--- lang/crystal/Makefile
+++ lang/crystal/Makefile
@@ -1,18 +1,14 @@
-# https://github.com/crystal-lang/crystal/issues/12743
-#BROKEN = No LLVM 15 support
-
-BROKEN= not IBT compatible, cannot load library libLLVM-13.so
-
# Hopefully ${CLANG_ARCHS} at some point.
ONLY_FOR_ARCHS= amd64
-V = 1.4.1
-V_SHARDS = 0.17.0
+USE_NOBTCFI = Yes
+
+V = 1.12.2
+V_SHARDS = 0.18.0
V_MOLINILLO = 0.2.0
COMMENT = statically typed object oriented language
DISTNAME = crystal-${V}
CATEGORIES = lang
-REVISION = 0
HOMEPAGE = https://crystal-lang.org/
MAINTAINER = joshua stein <jcs@jcs.org>
@@ -20,7 +16,7 @@ MAINTAINER = joshua stein <jcs@jcs.org>
# Apache 2.0
PERMIT_PACKAGE = Yes
-WANTLIB += ${COMPILER_LIBCXX} c event_core gc iconv m pcre yaml-0
+WANTLIB += ${COMPILER_LIBCXX} c event_core gc iconv m pcre2-8 yaml-0
#
# crystal-X-OpenBSDX.X.tar.gz is an archive of a bootstrap compiler object
@@ -28,7 +24,7 @@ WANTLIB += ${COMPILER_LIBCXX} c event_core gc iconv m pcre yaml-0
# current version of Crystal there, then checking out the source for that
# version, applying patches included in this port, and running:
#
-# make crystal FLAGS="--cross-compile --target amd64-unknown-openbsd7.1"
+# make crystal FLAGS="--cross-compile --target amd64-unknown-openbsd7.5"
#
# The result will be built at .build/crystal.o
#
@@ -38,19 +34,20 @@ SITES.a = https://jcs.org/distfiles/
SITES.b = https://github.com/crystal-lang/shards/archive/
SITES.c = https://github.com/crystal-lang/crystal-molinillo/archive/
DISTFILES = crystal-${V}{${V}}.tar.gz
-DISTFILES.a = crystal-${V}-OpenBSD7.1.tar.gz
+DISTFILES.a = crystal-${V}-OpenBSD7.5.tar.gz
DISTFILES.b = shards-${V}{v${V_SHARDS}}.tar.gz
DISTFILES.c = crystal-molinillo-${V}{v${V_MOLINILLO}}.tar.gz
# Build requires llvm-config from ports, not from base
MODULES = lang/clang
+MODCLANG_VERSION = 17
COMPILER = ports-clang
LLVM_CONFIG = llvm-config-${MODCLANG_VERSION}
LIB_DEPENDS = converters/libiconv \
devel/boehm-gc \
devel/libevent2 \
- devel/pcre \
+ devel/pcre2 \
devel/libyaml
USE_GMAKE = Yes
@@ -72,7 +69,7 @@ do-build:
${WRKSRC}/../crystal.o \
${WRKSRC}/src/llvm/ext/llvm_ext.o \
`(${LLVM_CONFIG} --libs --system-libs --ldflags 2> /dev/null)` \
- -L${LOCALBASE}/lib -liconv -lpcre -levent_core -lgc -lyaml
+ -L${LOCALBASE}/lib -liconv -lpcre2-8 -levent_core -lgc -lyaml -Wl,-z,nobtcfi
cd ${WRKSRC}/shards-${V_SHARDS} && \
env LD_LIBRARY_PATH=${LOCALBASE}/llvm${MODCLANG_VERSION}/lib \
CRYSTAL_PATH=lib:${WRKSRC}/src:${WRKSRC}/crystal-molinillo-${V_MOLINILLO}/src \
@@ -90,7 +87,7 @@ do-install:
do-test:
cd ${WRKSRC}; \
- ulimit -s 5120 -d 4096000 && \
+ ulimit -s 5120 -d 6120000 && \
${MAKE_PROGRAM} ${TEST_TARGET}
.include <bsd.port.mk>
diff --git lang/crystal/distinfo lang/crystal/distinfo
index 6c328e4bd27..f0829f2064a 100644
--- lang/crystal/distinfo
+++ lang/crystal/distinfo
@@ -1,8 +1,8 @@
-SHA256 (crystal-1.4.1-OpenBSD7.1.tar.gz) = IGlOAkDwUqwugcVoQe/xgO+Mr6TbZBKOU+Krt4fPdjQ=
-SHA256 (crystal-1.4.1.tar.gz) = l0ZmVq3t4ZlDYZ4YrwMMHVQsLD3R8286QiMQvYtT9eA=
-SHA256 (crystal-molinillo-1.4.1.tar.gz) = 4jHPJBGmoRoVOJg8f7UrGeZQrMMzi9PN9v2xPWRjhho=
-SHA256 (shards-1.4.1.tar.gz) = s/CiJhQ3shs+JGW3dV7fDDPwMFoRK9mjbhs+x0+WsJg=
-SIZE (crystal-1.4.1-OpenBSD7.1.tar.gz) = 8986175
-SIZE (crystal-1.4.1.tar.gz) = 2880860
-SIZE (crystal-molinillo-1.4.1.tar.gz) = 23959
-SIZE (shards-1.4.1.tar.gz) = 71264
+SHA256 (crystal-1.12.2-OpenBSD7.5.tar.gz) = 8XYr6mbsVQeTMZxPq3ksWIxq2fbAL4rTdw35rqrA2pA=
+SHA256 (crystal-1.12.2.tar.gz) = 7VFbnLZPVXOHqoZfxyMgRfuwOMPbTJaP+rukCuTvnIo=
+SHA256 (crystal-molinillo-1.12.2.tar.gz) = 4jHPJBGmoRoVOJg8f7UrGeZQrMMzi9PN9v2xPWRjhho=
+SHA256 (shards-1.12.2.tar.gz) = Rqgwr9kpKAc112XlnYwnrJupLt3elkeufT/IWt3DjMU=
+SIZE (crystal-1.12.2-OpenBSD7.5.tar.gz) = 10235030
+SIZE (crystal-1.12.2.tar.gz) = 3655994
+SIZE (crystal-molinillo-1.12.2.tar.gz) = 23959
+SIZE (shards-1.12.2.tar.gz) = 79910
diff --git lang/crystal/files/crystal lang/crystal/files/crystal
index 13b5c126329..9c748c92a64 100644
--- lang/crystal/files/crystal
+++ lang/crystal/files/crystal
@@ -2,4 +2,5 @@
export CRYSTAL_PATH="lib:${TRUEPREFIX}/lib/crystal"
export CRYSTAL_LIBRARY_PATH=lib:${TRUEPREFIX}/lib
+export LD_LIBRARY_PATH="${TRUEPREFIX}/llvm13/lib"
exec ${TRUEPREFIX}/libexec/crystal "${@}"
diff --git lang/crystal/patches/patch-bin_crystal lang/crystal/patches/patch-bin_crystal
new file mode 100644
index 00000000000..3151a401a21
--- /dev/null
+++ lang/crystal/patches/patch-bin_crystal
@@ -0,0 +1,18 @@
+Index: bin/crystal
+--- bin/crystal.orig
++++ bin/crystal
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/usr/local/bin/bash
+
+ ################## https://github.com/mkropat/sh-realpath #####################
+ #
+@@ -186,6 +186,8 @@ cd "$(realpath "$(pwd)")"
+
+ if [ -x "$CRYSTAL_DIR/crystal" ]; then
+ __warning_msg "Using compiled compiler at ${CRYSTAL_DIR#"$PWD/"}/crystal"
++ export LD_LIBRARY_PATH=/usr/local/llvm17/lib
++ export LLVM_CONFIG=/usr/local/llvm17/bin/llvm-config
+ exec "$CRYSTAL_DIR/crystal" "$@"
+ elif !($PARENT_CRYSTAL_EXISTS); then
+ __error_msg 'You need to have a crystal executable in your path! or set CRYSTAL env variable'
diff --git lang/crystal/patches/patch-src_compiler_crystal_compiler_cr lang/crystal/patches/patch-src_compiler_crystal_compiler_cr
index 36d53d91c6b..f66a9959eb0 100644
--- lang/crystal/patches/patch-src_compiler_crystal_compiler_cr
+++ lang/crystal/patches/patch-src_compiler_crystal_compiler_cr
@@ -3,13 +3,13 @@
Index: src/compiler/crystal/compiler.cr
--- src/compiler/crystal/compiler.cr.orig
+++ src/compiler/crystal/compiler.cr
-@@ -365,6 +365,9 @@ module Crystal
+@@ -466,6 +466,9 @@ module Crystal
else
link_flags = @link_flags || ""
link_flags += " -rdynamic"
+ if program.has_flag? "openbsd"
-+ link_flags += " -L/usr/local/lib"
++ link_flags += " -L/usr/local/lib -L/usr/local/llvm17/lib -Wl,-z,nobtcfi"
+ end
- { %(#{CC} "${@}" -o #{Process.quote_posix(output_filename)} #{link_flags} #{program.lib_flags}), object_names }
+ {DEFAULT_LINKER, %(#{DEFAULT_LINKER} "${@}" -o #{Process.quote_posix(output_filename)} #{link_flags} #{program.lib_flags}), object_names}
end
diff --git lang/crystal/pkg/PLIST lang/crystal/pkg/PLIST
index a31d93e9db6..16209e73d7f 100644
--- lang/crystal/pkg/PLIST
+++ lang/crystal/pkg/PLIST
@@ -64,6 +64,7 @@ lib/crystal/compiler/crystal/codegen/types.cr
lib/crystal/compiler/crystal/codegen/unions.cr
lib/crystal/compiler/crystal/command/
lib/crystal/compiler/crystal/command.cr
+lib/crystal/compiler/crystal/command/clear_cache.cr
lib/crystal/compiler/crystal/command/cursor.cr
lib/crystal/compiler/crystal/command/docs.cr
lib/crystal/compiler/crystal/command/env.cr
@@ -90,6 +91,7 @@ lib/crystal/compiler/crystal/interpreter/c.cr
lib/crystal/compiler/crystal/interpreter/cast.cr
lib/crystal/compiler/crystal/interpreter/class_vars.cr
lib/crystal/compiler/crystal/interpreter/closure.cr
+lib/crystal/compiler/crystal/interpreter/closure_context.cr
lib/crystal/compiler/crystal/interpreter/compiled_block.cr
lib/crystal/compiler/crystal/interpreter/compiled_def.cr
lib/crystal/compiler/crystal/interpreter/compiled_instructions.cr
@@ -109,17 +111,21 @@ lib/crystal/compiler/crystal/interpreter/local_vars_gatherer.cr
lib/crystal/compiler/crystal/interpreter/multidispatch.cr
lib/crystal/compiler/crystal/interpreter/op_code.cr
lib/crystal/compiler/crystal/interpreter/primitives.cr
+lib/crystal/compiler/crystal/interpreter/pry_reader.cr
lib/crystal/compiler/crystal/interpreter/repl.cr
+lib/crystal/compiler/crystal/interpreter/repl_reader.cr
lib/crystal/compiler/crystal/interpreter/to_bool.cr
lib/crystal/compiler/crystal/interpreter/value.cr
lib/crystal/compiler/crystal/loader/
lib/crystal/compiler/crystal/loader.cr
+lib/crystal/compiler/crystal/loader/msvc.cr
lib/crystal/compiler/crystal/loader/unix.cr
lib/crystal/compiler/crystal/macros/
lib/crystal/compiler/crystal/macros.cr
lib/crystal/compiler/crystal/macros/interpreter.cr
lib/crystal/compiler/crystal/macros/macros.cr
lib/crystal/compiler/crystal/macros/methods.cr
+lib/crystal/compiler/crystal/macros/types.cr
lib/crystal/compiler/crystal/program.cr
lib/crystal/compiler/crystal/progress_tracker.cr
lib/crystal/compiler/crystal/semantic/
@@ -153,6 +159,7 @@ lib/crystal/compiler/crystal/semantic/normalizer.cr
lib/crystal/compiler/crystal/semantic/path_lookup.cr
lib/crystal/compiler/crystal/semantic/recursive_struct_checker.cr
lib/crystal/compiler/crystal/semantic/restrictions.cr
+lib/crystal/compiler/crystal/semantic/restrictions_augmenter.cr
lib/crystal/compiler/crystal/semantic/semantic_visitor.cr
lib/crystal/compiler/crystal/semantic/suggestions.cr
lib/crystal/compiler/crystal/semantic/to_s.cr
@@ -164,6 +171,7 @@ lib/crystal/compiler/crystal/semantic/type_guess_visitor.cr
lib/crystal/compiler/crystal/semantic/type_intersect.cr
lib/crystal/compiler/crystal/semantic/type_lookup.cr
lib/crystal/compiler/crystal/semantic/type_merge.cr
+lib/crystal/compiler/crystal/semantic/type_to_restriction.cr
lib/crystal/compiler/crystal/semantic/warnings.cr
lib/crystal/compiler/crystal/syntax/
lib/crystal/compiler/crystal/syntax.cr
@@ -179,6 +187,7 @@ lib/crystal/compiler/crystal/syntax/virtual_file.cr
lib/crystal/compiler/crystal/syntax/visitor.cr
lib/crystal/compiler/crystal/tools/
lib/crystal/compiler/crystal/tools/context.cr
+lib/crystal/compiler/crystal/tools/dependencies.cr
lib/crystal/compiler/crystal/tools/doc/
lib/crystal/compiler/crystal/tools/doc.cr
lib/crystal/compiler/crystal/tools/doc/constant.cr
@@ -187,6 +196,7 @@ lib/crystal/compiler/crystal/tools/doc/html/
lib/crystal/compiler/crystal/tools/doc/html/404.html
lib/crystal/compiler/crystal/tools/doc/html/_head.html
lib/crystal/compiler/crystal/tools/doc/html/_list_items.html
+lib/crystal/compiler/crystal/tools/doc/html/_macros_inherited.html
lib/crystal/compiler/crystal/tools/doc/html/_method_detail.html
lib/crystal/compiler/crystal/tools/doc/html/_method_summary.html
lib/crystal/compiler/crystal/tools/doc/html/_methods_inherited.html
@@ -214,6 +224,7 @@ lib/crystal/compiler/crystal/tools/doc/templates.cr
lib/crystal/compiler/crystal/tools/doc/to_json.cr
lib/crystal/compiler/crystal/tools/doc/type.cr
lib/crystal/compiler/crystal/tools/expand.cr
+lib/crystal/compiler/crystal/tools/flags.cr
lib/crystal/compiler/crystal/tools/formatter.cr
lib/crystal/compiler/crystal/tools/git.cr
lib/crystal/compiler/crystal/tools/implementations.cr
@@ -261,12 +272,9 @@ lib/crystal/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/
lib/crystal/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/css/materialize.min.css
lib/crystal/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/js/
lib/crystal/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/js/materialize.min.js
-lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-3.5.0/
-lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-3.5.0/octicons.css
-lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-3.5.0/octicons.eot
-lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-3.5.0/octicons.svg
-lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-3.5.0/octicons.ttf
-lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-3.5.0/octicons.woff
+lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0/
+lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0/octicons.css
+lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0/octicons.svg
lib/crystal/compiler/crystal/tools/playground/server.cr
lib/crystal/compiler/crystal/tools/playground/views/
lib/crystal/compiler/crystal/tools/playground/views/_about.html
@@ -278,8 +286,10 @@ lib/crystal/compiler/crystal/tools/print_hierarchy.cr
lib/crystal/compiler/crystal/tools/print_types_visitor.cr
lib/crystal/compiler/crystal/tools/table_print.cr
lib/crystal/compiler/crystal/tools/typed_def_processor.cr
+lib/crystal/compiler/crystal/tools/unreachable.cr
lib/crystal/compiler/crystal/types.cr
lib/crystal/compiler/crystal/util.cr
+lib/crystal/compiler/crystal/warnings.cr
lib/crystal/compiler/requires.cr
lib/crystal/complex.cr
lib/crystal/compress/
@@ -316,6 +326,7 @@ lib/crystal/crypto/blowfish.cr
lib/crystal/crypto/subtle.cr
lib/crystal/crystal/
lib/crystal/crystal/at_exit_handlers.cr
+lib/crystal/crystal/atomic_semaphore.cr
lib/crystal/crystal/compiler_rt/
lib/crystal/crystal/compiler_rt.cr
lib/crystal/crystal/compiler_rt/divmod128.cr
@@ -323,6 +334,8 @@ lib/crystal/crystal/compiler_rt/fixint.cr
lib/crystal/crystal/compiler_rt/float.cr
lib/crystal/crystal/compiler_rt/mul.cr
lib/crystal/crystal/compiler_rt/multi3.cr
+lib/crystal/crystal/compiler_rt/pow.cr
+lib/crystal/crystal/compiler_rt/shift.cr
lib/crystal/crystal/datum.cr
lib/crystal/crystal/digest/
lib/crystal/crystal/digest/md5.cr
@@ -345,6 +358,7 @@ lib/crystal/crystal/once.cr
lib/crystal/crystal/pointer_linked_list.cr
lib/crystal/crystal/rw_lock.cr
lib/crystal/crystal/scheduler.cr
+lib/crystal/crystal/small_deque.cr
lib/crystal/crystal/spin_lock.cr
lib/crystal/crystal/syntax_highlighter/
lib/crystal/crystal/syntax_highlighter.cr
@@ -365,8 +379,10 @@ lib/crystal/crystal/system/path.cr
lib/crystal/crystal/system/print_error.cr
lib/crystal/crystal/system/process.cr
lib/crystal/crystal/system/random.cr
+lib/crystal/crystal/system/signal.cr
lib/crystal/crystal/system/socket.cr
lib/crystal/crystal/system/thread.cr
+lib/crystal/crystal/system/thread_condition_variable.cr
lib/crystal/crystal/system/thread_linked_list.cr
lib/crystal/crystal/system/thread_mutex.cr
lib/crystal/crystal/system/time.cr
@@ -391,6 +407,7 @@ lib/crystal/crystal/system/unix/process.cr
lib/crystal/crystal/system/unix/pthread.cr
lib/crystal/crystal/system/unix/pthread_condition_variable.cr
lib/crystal/crystal/system/unix/pthread_mutex.cr
+lib/crystal/crystal/system/unix/signal.cr
lib/crystal/crystal/system/unix/socket.cr
lib/crystal/crystal/system/unix/syscall.cr
lib/crystal/crystal/system/unix/sysconf_cpucount.cr
@@ -413,13 +430,17 @@ lib/crystal/crystal/system/wasi/main.cr
lib/crystal/crystal/system/wasi/path.cr
lib/crystal/crystal/system/wasi/process.cr
lib/crystal/crystal/system/wasi/random.cr
+lib/crystal/crystal/system/wasi/signal.cr
lib/crystal/crystal/system/wasi/socket.cr
lib/crystal/crystal/system/wasi/thread.cr
+lib/crystal/crystal/system/wasi/thread_condition_variable.cr
lib/crystal/crystal/system/wasi/thread_mutex.cr
lib/crystal/crystal/system/wasi/user.cr
lib/crystal/crystal/system/wasi/wasi.cr
lib/crystal/crystal/system/win32/
lib/crystal/crystal/system/win32/cpucount.cr
+lib/crystal/crystal/system/win32/crypto.cr
+lib/crystal/crystal/system/win32/delay_load.cr
lib/crystal/crystal/system/win32/dir.cr
lib/crystal/crystal/system/win32/env.cr
lib/crystal/crystal/system/win32/event_loop_iocp.cr
@@ -428,12 +449,15 @@ lib/crystal/crystal/system/win32/file.cr
lib/crystal/crystal/system/win32/file_descriptor.cr
lib/crystal/crystal/system/win32/file_info.cr
lib/crystal/crystal/system/win32/hostname.cr
+lib/crystal/crystal/system/win32/library_archive.cr
lib/crystal/crystal/system/win32/mime.cr
lib/crystal/crystal/system/win32/path.cr
lib/crystal/crystal/system/win32/process.cr
lib/crystal/crystal/system/win32/random.cr
+lib/crystal/crystal/system/win32/signal.cr
lib/crystal/crystal/system/win32/socket.cr
lib/crystal/crystal/system/win32/thread.cr
+lib/crystal/crystal/system/win32/thread_condition_variable.cr
lib/crystal/crystal/system/win32/thread_mutex.cr
lib/crystal/crystal/system/win32/time.cr
lib/crystal/crystal/system/win32/visual_studio.cr
@@ -517,8 +541,13 @@ lib/crystal/float/printer/
lib/crystal/float/printer.cr
lib/crystal/float/printer/cached_powers.cr
lib/crystal/float/printer/diy_fp.cr
+lib/crystal/float/printer/dragonbox.cr
+lib/crystal/float/printer/dragonbox_cache.cr
lib/crystal/float/printer/grisu3.cr
+lib/crystal/float/printer/hexfloat.cr
lib/crystal/float/printer/ieee.cr
+lib/crystal/float/printer/ryu_printf.cr
+lib/crystal/float/printer/ryu_printf_table.cr
lib/crystal/gc/
lib/crystal/gc.cr
lib/crystal/gc/boehm.cr
@@ -607,6 +636,49 @@ lib/crystal/kernel.cr
lib/crystal/levenshtein.cr
lib/crystal/lib_c/
lib/crystal/lib_c.cr
+lib/crystal/lib_c/aarch64-android/
+lib/crystal/lib_c/aarch64-android/c/
+lib/crystal/lib_c/aarch64-android/c/arpa/
+lib/crystal/lib_c/aarch64-android/c/arpa/inet.cr
+lib/crystal/lib_c/aarch64-android/c/dirent.cr
+lib/crystal/lib_c/aarch64-android/c/dlfcn.cr
+lib/crystal/lib_c/aarch64-android/c/elf.cr
+lib/crystal/lib_c/aarch64-android/c/errno.cr
+lib/crystal/lib_c/aarch64-android/c/fcntl.cr
+lib/crystal/lib_c/aarch64-android/c/grp.cr
+lib/crystal/lib_c/aarch64-android/c/iconv.cr
+lib/crystal/lib_c/aarch64-android/c/link.cr
+lib/crystal/lib_c/aarch64-android/c/netdb.cr
+lib/crystal/lib_c/aarch64-android/c/netinet/
+lib/crystal/lib_c/aarch64-android/c/netinet/in.cr
+lib/crystal/lib_c/aarch64-android/c/netinet/tcp.cr
+lib/crystal/lib_c/aarch64-android/c/pthread.cr
+lib/crystal/lib_c/aarch64-android/c/pwd.cr
+lib/crystal/lib_c/aarch64-android/c/sched.cr
+lib/crystal/lib_c/aarch64-android/c/signal.cr
+lib/crystal/lib_c/aarch64-android/c/stdarg.cr
+lib/crystal/lib_c/aarch64-android/c/stddef.cr
+lib/crystal/lib_c/aarch64-android/c/stdint.cr
+lib/crystal/lib_c/aarch64-android/c/stdio.cr
+lib/crystal/lib_c/aarch64-android/c/stdlib.cr
+lib/crystal/lib_c/aarch64-android/c/string.cr
+lib/crystal/lib_c/aarch64-android/c/sys/
+lib/crystal/lib_c/aarch64-android/c/sys/file.cr
+lib/crystal/lib_c/aarch64-android/c/sys/ioctl.cr
+lib/crystal/lib_c/aarch64-android/c/sys/mman.cr
+lib/crystal/lib_c/aarch64-android/c/sys/resource.cr
+lib/crystal/lib_c/aarch64-android/c/sys/select.cr
+lib/crystal/lib_c/aarch64-android/c/sys/socket.cr
+lib/crystal/lib_c/aarch64-android/c/sys/stat.cr
+lib/crystal/lib_c/aarch64-android/c/sys/syscall.cr
+lib/crystal/lib_c/aarch64-android/c/sys/system_properties.cr
+lib/crystal/lib_c/aarch64-android/c/sys/time.cr
+lib/crystal/lib_c/aarch64-android/c/sys/types.cr
+lib/crystal/lib_c/aarch64-android/c/sys/un.cr
+lib/crystal/lib_c/aarch64-android/c/sys/wait.cr
+lib/crystal/lib_c/aarch64-android/c/termios.cr
+lib/crystal/lib_c/aarch64-android/c/time.cr
+lib/crystal/lib_c/aarch64-android/c/unistd.cr
lib/crystal/lib_c/aarch64-darwin/
lib/crystal/lib_c/aarch64-darwin/c/
lib/crystal/lib_c/aarch64-darwin/c/arpa/
@@ -1166,6 +1238,46 @@ lib/crystal/lib_c/x86_64-openbsd/c/termios.cr
lib/crystal/lib_c/x86_64-openbsd/c/time.cr
lib/crystal/lib_c/x86_64-openbsd/c/unistd.cr
lib/crystal/lib_c/x86_64-portbld-freebsd
+lib/crystal/lib_c/x86_64-solaris/
+lib/crystal/lib_c/x86_64-solaris/c/
+lib/crystal/lib_c/x86_64-solaris/c/arpa/
+lib/crystal/lib_c/x86_64-solaris/c/arpa/inet.cr
+lib/crystal/lib_c/x86_64-solaris/c/dirent.cr
+lib/crystal/lib_c/x86_64-solaris/c/dlfcn.cr
+lib/crystal/lib_c/x86_64-solaris/c/elf.cr
+lib/crystal/lib_c/x86_64-solaris/c/errno.cr
+lib/crystal/lib_c/x86_64-solaris/c/fcntl.cr
+lib/crystal/lib_c/x86_64-solaris/c/grp.cr
+lib/crystal/lib_c/x86_64-solaris/c/iconv.cr
+lib/crystal/lib_c/x86_64-solaris/c/link.cr
+lib/crystal/lib_c/x86_64-solaris/c/netdb.cr
+lib/crystal/lib_c/x86_64-solaris/c/netinet/
+lib/crystal/lib_c/x86_64-solaris/c/netinet/in.cr
+lib/crystal/lib_c/x86_64-solaris/c/netinet/tcp.cr
+lib/crystal/lib_c/x86_64-solaris/c/pthread.cr
+lib/crystal/lib_c/x86_64-solaris/c/pwd.cr
+lib/crystal/lib_c/x86_64-solaris/c/sched.cr
+lib/crystal/lib_c/x86_64-solaris/c/signal.cr
+lib/crystal/lib_c/x86_64-solaris/c/stdarg.cr
+lib/crystal/lib_c/x86_64-solaris/c/stddef.cr
+lib/crystal/lib_c/x86_64-solaris/c/stdint.cr
+lib/crystal/lib_c/x86_64-solaris/c/stdio.cr
+lib/crystal/lib_c/x86_64-solaris/c/stdlib.cr
+lib/crystal/lib_c/x86_64-solaris/c/string.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/
+lib/crystal/lib_c/x86_64-solaris/c/sys/file.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/mman.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/resource.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/select.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/socket.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/stat.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/time.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/types.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/un.cr
+lib/crystal/lib_c/x86_64-solaris/c/sys/wait.cr
+lib/crystal/lib_c/x86_64-solaris/c/termios.cr
+lib/crystal/lib_c/x86_64-solaris/c/time.cr
+lib/crystal/lib_c/x86_64-solaris/c/unistd.cr
lib/crystal/lib_c/x86_64-unknown-freebsd
lib/crystal/lib_c/x86_64-windows-msvc/
lib/crystal/lib_c/x86_64-windows-msvc/c/
@@ -1176,6 +1288,7 @@ lib/crystal/lib_c/x86_64-windows-msvc/c/consoleapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/consoleapi2.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/corecrt.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/dbghelp.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/delayimp.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/direct.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/errhandlingapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/errno.cr
@@ -1183,23 +1296,30 @@ lib/crystal/lib_c/x86_64-windows-msvc/c/fcntl.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/fileapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/guiddef.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/handleapi.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/heapapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/in6addr.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/inaddr.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/int_safe.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/io.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/ioapiset.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/jobapi2.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/knownfolders.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/libloaderapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/malloc.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/memoryapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/minwinbase.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/mswsock.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/ntifs.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/ntsecapi.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/ntstatus.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/process.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/processenv.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/processthreadsapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/profileapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/regapix.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/sdkddkver.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/shlobj_core.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/signal.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/stdarg.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/stddef.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/stdint.cr
@@ -1214,9 +1334,12 @@ lib/crystal/lib_c/x86_64-windows-msvc/c/sys/types.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/sys/utime.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/sysinfoapi.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/timezoneapi.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/tlhelp32.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/win_def.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/winbase.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/wincrypt.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/windows.cr
+lib/crystal/lib_c/x86_64-windows-msvc/c/winioctl.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/winnls.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/winnt.cr
lib/crystal/lib_c/x86_64-windows-msvc/c/winreg.cr
@@ -1242,7 +1365,9 @@ lib/crystal/llvm/basic_block_collection.cr
lib/crystal/llvm/builder.cr
lib/crystal/llvm/context.cr
lib/crystal/llvm/di_builder.cr
+lib/crystal/llvm/enums/
lib/crystal/llvm/enums.cr
+lib/crystal/llvm/enums/atomic.cr
lib/crystal/llvm/ext/
lib/crystal/llvm/ext/find-llvm-config
lib/crystal/llvm/ext/llvm-versions.txt
@@ -1255,13 +1380,29 @@ lib/crystal/llvm/generic_value.cr
lib/crystal/llvm/global_collection.cr
lib/crystal/llvm/instruction_collection.cr
lib/crystal/llvm/jit_compiler.cr
+lib/crystal/llvm/lib_llvm/
lib/crystal/llvm/lib_llvm.cr
+lib/crystal/llvm/lib_llvm/analysis.cr
+lib/crystal/llvm/lib_llvm/bit_writer.cr
+lib/crystal/llvm/lib_llvm/core.cr
+lib/crystal/llvm/lib_llvm/debug_info.cr
+lib/crystal/llvm/lib_llvm/error.cr
+lib/crystal/llvm/lib_llvm/execution_engine.cr
+lib/crystal/llvm/lib_llvm/initialization.cr
+lib/crystal/llvm/lib_llvm/ir_reader.cr
+lib/crystal/llvm/lib_llvm/target.cr
+lib/crystal/llvm/lib_llvm/target_machine.cr
+lib/crystal/llvm/lib_llvm/transforms/
+lib/crystal/llvm/lib_llvm/transforms/pass_builder.cr
+lib/crystal/llvm/lib_llvm/transforms/pass_manager_builder.cr
+lib/crystal/llvm/lib_llvm/types.cr
lib/crystal/llvm/lib_llvm_ext.cr
lib/crystal/llvm/memory_buffer.cr
lib/crystal/llvm/module.cr
lib/crystal/llvm/module_pass_manager.cr
lib/crystal/llvm/operand_bundle_def.cr
lib/crystal/llvm/parameter_collection.cr
+lib/crystal/llvm/pass_builder_options.cr
lib/crystal/llvm/pass_manager_builder.cr
lib/crystal/llvm/pass_registry.cr
lib/crystal/llvm/phi_table.cr
@@ -1371,10 +1512,15 @@ lib/crystal/range/
lib/crystal/range.cr
lib/crystal/range/bsearch.cr
lib/crystal/reference.cr
+lib/crystal/reference_storage.cr
lib/crystal/regex/
lib/crystal/regex.cr
+lib/crystal/regex/engine.cr
lib/crystal/regex/lib_pcre.cr
+lib/crystal/regex/lib_pcre2.cr
lib/crystal/regex/match_data.cr
+lib/crystal/regex/pcre.cr
+lib/crystal/regex/pcre2.cr
lib/crystal/semantic_version.cr
lib/crystal/set.cr
lib/crystal/signal.cr
@@ -1408,6 +1554,7 @@ lib/crystal/spec/filters.cr
lib/crystal/spec/formatter.cr
lib/crystal/spec/helpers/
lib/crystal/spec/helpers/iterate.cr
+lib/crystal/spec/helpers/string.cr
lib/crystal/spec/item.cr
lib/crystal/spec/junit_formatter.cr
lib/crystal/spec/methods.cr
@@ -1478,7 +1625,6 @@ lib/crystal/va_list.cr
lib/crystal/value.cr
lib/crystal/wasi_error.cr
lib/crystal/weak_ref.cr
-lib/crystal/windows_stubs.cr
lib/crystal/winerror.cr
lib/crystal/xml/
lib/crystal/xml.cr
lang/crystal: update and unbreak