From: joshua stein Subject: Re: Removing llvm/18 To: ports@openbsd.org Date: Sun, 15 Jun 2025 23:52:42 -0500 On Mon, 16 Jun 2025 at 05:58:39 +0200, Theo Buehler wrote: > lang/crystal should support 19 already here's an update diff --git lang/crystal/Makefile lang/crystal/Makefile index a329d31861d..61a0bad46b7 100644 --- lang/crystal/Makefile +++ lang/crystal/Makefile @@ -3,8 +3,8 @@ ONLY_FOR_ARCHS= amd64 USE_NOBTCFI = Yes -V = 1.15.1 -V_SHARDS = 0.18.0 +V = 1.16.2 +V_SHARDS = 0.19.1 V_MOLINILLO = 0.2.0 DIST_TUPLE = github crystal-lang crystal ${V} . \ @@ -30,19 +30,19 @@ WANTLIB += yaml-0 llvm${MODCLANG_VERSION}/lib/LLVM # 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.6" +# make crystal FLAGS="--cross-compile --target amd64-unknown-openbsd7.7" # # The result will be built at .build/crystal.o # SITES = https://jcs.org/distfiles/ -DISTFILES = crystal-${V}-OpenBSD7.6.tar.gz +DISTFILES = crystal-${V}-OpenBSD7.7.tar.gz # Build requires llvm-config from ports, not from base. When changing # MODCLANG_VERSION, keep paths in patches/ in sync here and in bootstrap # environment. MODULES = lang/clang -MODCLANG_VERSION = 18 +MODCLANG_VERSION = 19 MODCLANG_RUNDEP= yes COMPILER = ports-clang LLVM_CONFIG = llvm-config-${MODCLANG_VERSION} diff --git lang/crystal/distinfo lang/crystal/distinfo index 74844eea1f4..6412fc6dcc5 100644 --- lang/crystal/distinfo +++ lang/crystal/distinfo @@ -1,8 +1,8 @@ -SHA256 (crystal-1.15.1-OpenBSD7.6.tar.gz) = 2FaZ69ORZscyPwEbYX+U57V5dX3uztpApLArgbeIEwc= -SHA256 (crystal-lang-crystal-1.15.1.tar.gz) = crMvLaCQWcqWMxvhJM9hHTxr1tqA9SzVUd9Zv+FObr0= +SHA256 (crystal-1.16.2-OpenBSD7.7.tar.gz) = m506O/bEi3hEfxWCvKnWy2C84QF0cA+C99OFQIsxMfo= +SHA256 (crystal-lang-crystal-1.16.2.tar.gz) = TwMnYaQBjG+88WSbhmIX2esvMTlZnHD8ttrINxSDnF4= SHA256 (crystal-lang-crystal-molinillo-v0.2.0.tar.gz) = 4jHPJBGmoRoVOJg8f7UrGeZQrMMzi9PN9v2xPWRjhho= -SHA256 (crystal-lang-shards-v0.18.0.tar.gz) = Rqgwr9kpKAc112XlnYwnrJupLt3elkeufT/IWt3DjMU= -SIZE (crystal-1.15.1-OpenBSD7.6.tar.gz) = 10620483 -SIZE (crystal-lang-crystal-1.15.1.tar.gz) = 3814922 +SHA256 (crystal-lang-shards-v0.19.1.tar.gz) = Kknn/6QCXgs+h3RiD6jbwifT0eR2IR/vougWbcq/grU= +SIZE (crystal-1.16.2-OpenBSD7.7.tar.gz) = 11768984 +SIZE (crystal-lang-crystal-1.16.2.tar.gz) = 3719814 SIZE (crystal-lang-crystal-molinillo-v0.2.0.tar.gz) = 23959 -SIZE (crystal-lang-shards-v0.18.0.tar.gz) = 79910 +SIZE (crystal-lang-shards-v0.19.1.tar.gz) = 83440 diff --git lang/crystal/patches/patch-bin_crystal lang/crystal/patches/patch-bin_crystal index e2728537613..d998f0d4e59 100644 --- lang/crystal/patches/patch-bin_crystal +++ lang/crystal/patches/patch-bin_crystal @@ -7,12 +7,12 @@ Index: bin/crystal ################## https://github.com/mkropat/sh-realpath ##################### # -@@ -188,6 +188,8 @@ esac +@@ -193,6 +193,8 @@ export CRYSTAL_EXEC_PATH if [ -x "$CRYSTAL_DIR/${CRYSTAL_BIN}" ]; then __warning_msg "Using compiled compiler at ${CRYSTAL_DIR#"$PWD/"}/${CRYSTAL_BIN}" -+ export LD_LIBRARY_PATH=/usr/local/llvm18/lib -+ export LLVM_CONFIG=/usr/local/llvm18/bin/llvm-config ++ export LD_LIBRARY_PATH=/usr/local/llvm19/lib ++ export LLVM_CONFIG=/usr/local/llvm19/bin/llvm-config exec "$CRYSTAL_DIR/${CRYSTAL_BIN}" "$@" 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 5bdf2cff4d2..78f39b0c069 100644 --- lang/crystal/patches/patch-src_compiler_crystal_compiler_cr +++ lang/crystal/patches/patch-src_compiler_crystal_compiler_cr @@ -8,7 +8,7 @@ Index: src/compiler/crystal/compiler.cr end + if program.has_flag?("openbsd") -+ link_flags += " -L/usr/local/llvm18/lib" ++ link_flags += " -L/usr/local/llvm19/lib" + end + {DEFAULT_LINKER, %(#{DEFAULT_LINKER} "${@}" -o #{Process.quote_posix(output_filename)} #{link_flags} #{program.lib_flags(@cross_compile)}), object_names} diff --git lang/crystal/pkg/PLIST lang/crystal/pkg/PLIST index d503c1b6a2f..71eed5581ed 100644 --- lang/crystal/pkg/PLIST +++ lang/crystal/pkg/PLIST @@ -41,6 +41,15 @@ lib/crystal/compiler/crystal/ lib/crystal/compiler/crystal.cr lib/crystal/compiler/crystal/annotatable.cr lib/crystal/compiler/crystal/codegen/ +lib/crystal/compiler/crystal/codegen/abi/ +lib/crystal/compiler/crystal/codegen/abi.cr +lib/crystal/compiler/crystal/codegen/abi/aarch64.cr +lib/crystal/compiler/crystal/codegen/abi/arm.cr +lib/crystal/compiler/crystal/codegen/abi/avr.cr +lib/crystal/compiler/crystal/codegen/abi/wasm32.cr +lib/crystal/compiler/crystal/codegen/abi/x86.cr +lib/crystal/compiler/crystal/codegen/abi/x86_64.cr +lib/crystal/compiler/crystal/codegen/abi/x86_win64.cr lib/crystal/compiler/crystal/codegen/asm.cr lib/crystal/compiler/crystal/codegen/ast.cr lib/crystal/compiler/crystal/codegen/cache_dir.cr @@ -279,9 +288,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-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/public/vendor/octicons-${MODCLANG_VERSION}.5.0/ +lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-${MODCLANG_VERSION}.5.0/octicons.css +lib/crystal/compiler/crystal/tools/playground/public/vendor/octicons-${MODCLANG_VERSION}.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 @@ -387,6 +396,7 @@ lib/crystal/crystal/once.cr lib/crystal/crystal/pe.cr lib/crystal/crystal/pointer_linked_list.cr lib/crystal/crystal/pointer_pairing_heap.cr +lib/crystal/crystal/print_buffered.cr lib/crystal/crystal/rw_lock.cr lib/crystal/crystal/scheduler.cr lib/crystal/crystal/small_deque.cr @@ -417,6 +427,7 @@ 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/thread_wait_group.cr lib/crystal/crystal/system/time.cr lib/crystal/crystal/system/unix/ lib/crystal/crystal/system/unix.cr @@ -568,11 +579,26 @@ lib/crystal/fiber/context/interpreted.cr lib/crystal/fiber/context/wasm32.cr lib/crystal/fiber/context/x86_64-microsoft.cr lib/crystal/fiber/context/x86_64-sysv.cr +lib/crystal/fiber/execution_context/ +lib/crystal/fiber/execution_context.cr +lib/crystal/fiber/execution_context/global_queue.cr +lib/crystal/fiber/execution_context/isolated.cr +lib/crystal/fiber/execution_context/monitor.cr +lib/crystal/fiber/execution_context/multi_threaded/ +lib/crystal/fiber/execution_context/multi_threaded.cr +lib/crystal/fiber/execution_context/multi_threaded/scheduler.cr +lib/crystal/fiber/execution_context/runnables.cr +lib/crystal/fiber/execution_context/scheduler.cr +lib/crystal/fiber/execution_context/single_threaded.cr +lib/crystal/fiber/list.cr +lib/crystal/fiber/pointer_linked_list_node.cr +lib/crystal/fiber/stack.cr lib/crystal/fiber/stack_pool.cr lib/crystal/file/ lib/crystal/file.cr lib/crystal/file/error.cr lib/crystal/file/info.cr +lib/crystal/file/match.cr lib/crystal/file/preader.cr lib/crystal/file/tempfile.cr lib/crystal/file_utils.cr @@ -614,6 +640,7 @@ lib/crystal/http/client/response.cr lib/crystal/http/common.cr lib/crystal/http/content.cr lib/crystal/http/cookie.cr +lib/crystal/http/cookies.cr lib/crystal/http/formdata/ lib/crystal/http/formdata.cr lib/crystal/http/formdata/builder.cr @@ -1470,7 +1497,7 @@ 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/find-llvm-config.sh lib/crystal/llvm/ext/llvm-versions.txt lib/crystal/llvm/ext/llvm_ext.cc lib/crystal/llvm/ext/llvm_ext.o @@ -1575,7 +1602,9 @@ lib/crystal/oauth2/client.cr lib/crystal/oauth2/error.cr lib/crystal/oauth2/oauth2.cr lib/crystal/oauth2/session.cr +lib/crystal/object/ lib/crystal/object.cr +lib/crystal/object/properties.cr lib/crystal/openssl/ lib/crystal/openssl.cr lib/crystal/openssl/algorithm.cr