Page MenuHomeSolus

Initial commit for crystal
AbandonedPublic

Authored by Azphreal on Sep 27 2017, 11:39 AM.
Tags
None
Referenced Files
F11014770: D1093.id4213.diff
Sat, Aug 5, 6:10 AM
F11011316: D1093.diff
Thu, Aug 3, 1:41 PM
F10970735: D1093.diff
Fri, Jul 21, 3:56 AM
F10941621: D1093.id2651.diff
Fri, Jul 14, 6:55 AM
F10859268: D1093.id.diff
Jun 16 2023, 12:21 AM
F10859254: D1093.id6519.diff
Jun 16 2023, 12:09 AM
F10842281: D1093.id6519.diff
Jun 10 2023, 11:11 AM
F10841623: D1093.id2651.diff
Jun 10 2023, 8:10 AM

Details

Reviewers
JoshStrobl
DataDrake
Group Reviewers
Triage Team
Maniphest Tasks
T2215: crystal
Summary

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

Branch
master
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

JoshStrobl added a subscriber: JoshStrobl.
JoshStrobl added inline comments.
package.yml
14

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

23

Part of system.devel, thus not required.

37

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

49

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

50–51

Could leverage %version%

56–57

Should go after the install step.

78

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 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

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: https://github.com/crystal-lang/crystal/releases/tag/v0.24.1
This time it is not a pre-release, so we may package this version.

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.

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.

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

Closing due to lack of activity in over 30 days.