Page MenuHomeSolus

Initial commit for crystal

Authored by Azphreal on Sep 27 2017, 11:39 AM.


Group Reviewers
Triage Team
Maniphest Tasks
T2215: crystal

Packaging of crystal for T2215

Some notes about decisions made that may or may not be correct:

  • Crystal is self-hosted by cross-compilation, so the first submission to the build service will be bootstrapped by a pre-built compiler. This can probably be removed later;
  • Some flags generated by llvm-config --cxxflags are not recognised by g++, so these are removed (as mentioned earlier;
  • --no-debug flag is passed to the compiler for the initial build due to an issue in one of the LLVMs (pre-built binary or Solus');
  • Symbolic links are used in library files due to Solus' unique target triple (x86_64-solus-linux rather than x86_64-linux-gnu);
  • Some tests in the check phase are skipped due to network dependencies, PATH checking, or not working in most reports I see;
  • Many many documentation files, so I've used cp -a.
Test Plan
  • Build and run "Hello, World!"
  • Compile some local projects.

Diff Detail

No Linters Available
No Unit Test Coverage

Event Timeline

Azphreal created this revision.Sep 27 2017, 11:39 AM
JoshStrobl requested changes to this revision.Sep 27 2017, 11:52 AM
JoshStrobl added a subscriber: JoshStrobl.
JoshStrobl added inline comments.

You could just to / then have the docs pattern and use libsplit: no if you don't want .so files going into -devel


Part of system.devel, thus not required.


You can also do networking: yes and enable networking, so those tests can at least run.


You can use %YJOBS% if you need just the job count without -j


Could leverage %version%


Should go after the install step.


Not really necessary. We expose the license in the package information.

This revision now requires changes to proceed.Sep 27 2017, 11:52 AM
Azphreal updated this revision to Diff 2652.Sep 27 2017, 12:22 PM
Azphreal edited edge metadata.

Fixed errors: redundant declaration for libssl, unnecessary specification for non-doc package, enable networking tests, leverage variables for cleaning, don't include LICENSE

Azphreal planned changes to this revision.Oct 17 2017, 4:49 AM

The compiler currently doesn't build on LLVM 5.0, which was pushed to unstable and stable in the GNOME stack upgrade this past weekend.

The issue is known and fixed, but awaiting a new release.

Unless someone/me wants to backport patches enabling 5.0, we might as well just wait for the next release. They're overdue (following their previous monthly schedule), so it might not be far.

The next release including the LLVM 5.0 patch was released a few weeks ago as version 0.24.0, but is tagged as a pre-release. Is this a valid release candidate for inclusion, or do we wait for a stable release?

⚠️ WARNING: this is a pre-release version of Crystal. Do not use this in production.

Based on that, I'd have to say no to 0.24.0

Crystal 0.24.1 has been released on Github:
This time it is not a pre-release, so we may package this version.

Azphreal updated this revision to Diff 4213.Dec 25 2017, 9:56 AM

Updated to version 24.1, supporting LLVM 5.0. Additional release notes for the v0.24.0 and v0.24.1 releases are on Github.

Azphreal updated this revision to Diff 6519.Mar 26 2018, 4:57 AM

Updated to 24.2 and re-enabled some tests that are now passing. PATH-related test still doesn't pass in solbuild.

Full changelog for 24.2 found here.

DataDrake requested changes to this revision.Jun 9 2018, 3:14 PM

x86_64-solus-linux-g++: error: unrecognized command line option ‘-fcolor-diagnostics’

Doesn't build.

This revision now requires changes to proceed.Jun 9 2018, 3:14 PM
DataDrake abandoned this revision.Oct 20 2018, 4:11 PM

Closing due to lack of activity in over 30 days.