Summary: | lang/crystal: update to 0.25.1 (& devel/shards 0.8.1) + add bootstrap for aarch64 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Val Packett <val> | ||||||
Component: | Individual Port(s) | Assignee: | Yuri Victorovich <yuri> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | CC: | yuri | ||||||
Priority: | --- | ||||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 201763 | ||||||||
Attachments: |
|
Created attachment 195072 [details] crystal0251.patch (+aarch64) Added AArch64 support!! Using LLVM 5 there — LLVM 6 results in assertion failures on aarch64: https://github.com/crystal-lang/crystal/pull/6373 Fails in patch: ===> Applying FreeBSD patches for crystal-0.25.1 I can't seem to find a patch in there anywhere. => FreeBSD patch patch-src_lib__c_x86__64-portbld-freebsd_c_dirent.cr failed to apply cleanly. *** Error code 1 (In reply to Yuri Victorovich from comment #2) There's no patches now, I guess with the way you applied the patch (not with git, I guess) you ended up with empty files instead of deleted files. Do rm -rf files. I think this part will cause questions: .if ${OSVERSION} >= 1200000 . if ${ARCH} == amd64 BOOTSTRAP_PATH= crystal-0.25.0-freebsd12.0 . elif ${ARCH} == aarch64 BOOTSTRAP_PATH= crystal-0.25.1-freebsd12.0-aarch64 LLVM_VERSION= 50 . endif .else . if ${ARCH} == amd64 BOOTSTRAP_PATH= crystal-0.25.0-freebsd11.2 . elif ${ARCH} == aarch64 IGNORE= prebuilt bootstrap for aarch64 only exists for 12-CURRENT . endif .endif .if ${OSVERSION} < 1100000 IGNORE= not supported on 10.x or older .endif .if ${OPSYS} != FreeBSD IGNORE= not supported on anything but FreeBSD .endif 11.2: What if the OS version is still 11.1? Isn't it better to compute 11.2 from OSVERSION? Then, you set LLVM_VERSION=50 only for 12aarch64 and not for 11aarch64. Is this intended? (In reply to Yuri Victorovich from comment #4) See comment above: > Using LLVM 5 there — LLVM 6 results in assertion failures on aarch64 And the first post: > I hope the 11.2 bootstrap works for 11.1 I called the bootstrap binary "…-11.2" because I compiled it on 11.2. It will *likely* work on 11.1 — I don't think there were any actual ABI breaks? (Related: before ino64, I could build haskell binaries on 12 and run them on 11 without any problems :D) Committed, thanks! A commit references this bug: Author: yuri Date: Fri Jul 13 05:35:10 UTC 2018 New revision: 474550 URL: https://svnweb.freebsd.org/changeset/ports/474550 Log: lang/crystal: Update 0.24.1 -> 0.25.1 PR: 229636 Submitted by: Greg V <greg@unrelenting.technology> (maintainer) Changes: head/lang/crystal/Makefile head/lang/crystal/distinfo head/lang/crystal/files/ head/lang/crystal/pkg-plist |
Created attachment 194989 [details] crystal0251.patch I hope the 11.2 bootstrap works for 11.1... Though 11.1 will be EoL soon-ish anyway, so whatever. Switched to LLVM 6 now (requires LLVM 6.0.1 actually).