Page MenuHomeSolus

crystal
Closed, WontfixPublic

Description

Name: crystal
Homepage: https://crystal-lang.org/
Open Source: yes
Licence: Apache License 2.0 https://github.com/crystal-lang/crystal/blob/master/LICENSE
Link to source tarball: https://github.com/crystal-lang/crystal/archive/0.20.4.tar.gz
Description:
Crystal is a programming language with the following goals:

  • Have a syntax similar to Ruby (but compatibility with it is not a goal)
  • Statically type-checked but without having to specify the type of variables or method arguments.
  • Be able to call C code by writing bindings to it in Crystal.
  • Have compile-time evaluation and generation of code, to avoid boilerplate code.
  • Compile to efficient native code.

Thank you. :)

Details

Differential Revisions
D1093: Initial commit for crystal

Related Objects

StatusAssignedTask
WontfixAzphreal
WontfixAzphreal
JoshStrobl triaged this task as Normal priority.Jan 16 2017, 5:58 AM
JoshStrobl moved this task from Backlog to Accepted For Inclusion on the Package Requests board.

I'm sure whoever ends up packaging this would check out the latest release, but just in case, the latest release as of today is 0.23.1.

Azphreal added a subscriber: Azphreal.EditedSep 24 2017, 12:15 AM

The problem with packaging Crystal is that it doesn't have a bootstrap; Crystal requires Crystal to compile. The solution to this, I guess, is to fetch the distributed binary for use in building, but I don't know if we encourage that in situations like this. Do we have a precedence?

Go is the closest I can find, and it correctly has golang as a build dep. Do we just fudge the very first build and leave it for the build bot to figure it out?

edit: Attempting to package it, and it seems that llvm-config --cxxflags generates flags that aren't recognised by our version of g++:

x86_64-solus-linux-g++ -c -mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-omit-frame-pointer -fexceptions -D_FORTIFY_SOURCE=2 -fstack-protector --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT  -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc `/usr/bin/llvm-config --cxxflags`
x86_64-solus-linux-g++: error: unrecognized command line option '-Wcovered-switch-default'; did you mean '-Wno-switch-default'?
x86_64-solus-linux-g++: error: unrecognized command line option '-Wstring-conversion'; did you mean '-Wint-conversion'
Azphreal claimed this task.Sep 24 2017, 1:02 AM
JoshStrobl removed a subtask: T4625: crystal.
acook added a subscriber: acook.May 26 2018, 7:24 PM
rmb added a subscriber: rmb.Aug 5 2018, 8:45 PM
DataDrake closed this task as Wontfix.Oct 20 2018, 4:11 PM
DataDrake added a subscriber: DataDrake.

Closing due to lack of activity in over 30 days. Still eligible for inclusion.

acook added a comment.Jun 15 2019, 1:26 AM

It's pretty common for languages to self-host. It's really convenient for the language developers but it can be pretty annoying for everyone else if there's no provided bootstrap or when trying to build for a new target triple.

Is there anything I can help with?

They figured it out eventually, just never fixed their patches. This is waiting for a maintainer to step forward.