Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new package] crystal 1.15.0 #23200

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

HertzDevil
Copy link

Adds the Crystal programming language.

Crystal must be compiled from Crystal itself. An initial 1.15.0 compiler is cross-compiled from Ubuntu using a GitHub workflow; the language's forward compatibility guarantee ensures that this initial compiler should be able to build any subsequent 1.x compiler.

Does not include the Crystal-specific package manager yet.

@Biswa96 Biswa96 added the new-package Pull request which adds new package(s) label Jan 26, 2025
mingw-w64-crystal/PKGBUILD Outdated Show resolved Hide resolved
mingw-w64-crystal/PKGBUILD Outdated Show resolved Hide resolved

prepare() {
# workaround for lack of native symlink support in Git
git clone https://github.com/crystal-lang/crystal.git "$pkgname-$pkgver" -c core.symlinks=true || \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be in source array with proper #tag in the URL. see https://wiki.archlinux.org/title/VCS_package_guidelines

Copy link
Author

@HertzDevil HertzDevil Jan 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried, but our repository contains internal, recursive symlinks that seem to break the prepare step, hence the need for this explicit workaround

"${MINGW_PACKAGE_PREFIX}-lld" # needed for linking std_spec
)
source=(
https://github.com/crystal-lang/crystal/releases/download/1.15.0/crystal-1.15.0-windows-x86_64-gnu-unsupported.zip # stage 0 compiler
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
https://github.com/crystal-lang/crystal/releases/download/1.15.0/crystal-1.15.0-windows-x86_64-gnu-unsupported.zip # stage 0 compiler
https://github.com/crystal-lang/crystal/releases/download/${pkgver}/crystal-${pkgver}-windows-x86_64-gnu-unsupported.zip # stage 0 compiler

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The stage 0 compiler is always 1.15.0, it doesn't change with the MSYS2 package version

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But older releases in crystal repository have those compiled tarball also, not the gnu one. Wouldn't future releases have that *-gnu-unsupported.zip ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe, but if we always use a recent version of the compiler then I believe Crystal itself can be added to makedepends instead once it is available in MSYS2, so there is never a need to use any version other than 1.15.0 here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-package Pull request which adds new package(s)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants