Skip to content

ponyc: 2016-07-26 -> 0.5.1#19457

Merged
NeQuissimus merged 1 commit intoNixOS:masterfrom
dipinhora:ponyc-update
Oct 20, 2016
Merged

ponyc: 2016-07-26 -> 0.5.1#19457
NeQuissimus merged 1 commit intoNixOS:masterfrom
dipinhora:ponyc-update

Conversation

@dipinhora
Copy link
Contributor

Motivation for this change

Update to latest ponyc release

Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • OS X
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@dipinhora, thanks for your PR! By analyzing the history of the files in this pull request, we identified @wizeman, @doublec and @dezgeg to be potential reviewers.

@dipinhora dipinhora mentioned this pull request Oct 11, 2016
7 tasks
Copy link
Member

Choose a reason for hiding this comment

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

this looks a little fragile

Copy link
Member

Choose a reason for hiding this comment

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

How about adding coreutils to testPhase PATH or add it to buildInputs?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Adding coreutils to PATH or buildInputs doesn't help because _test.pony explicitly look for /bin/echo and /bin/cat.

I've updated the search string for the substituteInPlace to be rooted so that it will only match a /bin at the beginning of a path and not in the middle of the path.

Let me know if this still is too brittle or if you guys have any suggestions on how to handle this in a not so brittle manner.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Forgot to mention, the source of the file being patched is at: https://github.com/ponylang/ponyc/blob/master/packages/process/_test.pony with references to /bin on lines 27, 32, 55, 62, 82, 88, 184, 190, 211, 216, 244 and 249.

Copy link
Member

Choose a reason for hiding this comment

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

!stdenv.isDarwin

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks. Fixed.

@LnL7 LnL7 added 6.topic: python Python is a high-level, general-purpose programming language. 8.has: package (update) This PR updates a package to a newer version labels Oct 11, 2016
@dipinhora
Copy link
Contributor Author

@LnL7 I just noticed you added the 6.topic: python to this PR. I think you might have made a mistake because ponyc is not related to python.

@LnL7 LnL7 removed the 6.topic: python Python is a high-level, general-purpose programming language. label Oct 11, 2016
Copy link
Member

Choose a reason for hiding this comment

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

Isn't that something that should go to the upstream?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's only used for testing on CI and CI has libraries in the standard unix locations. We need it because in nix the libraries (pcre2/crypto/ssl) are not in standard unix locations.

I'll see if I can get upstream to accept the change but this would still be needed for the current release. I'll update to a newer release and remove this logic from the nix expression at that time.

Copy link
Member

Choose a reason for hiding this comment

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

👍 I was just wondering if it's something that can be useful not only in nix.

Copy link
Member

Choose a reason for hiding this comment

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

rev = version;?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Member

Choose a reason for hiding this comment

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

name = "ponyc-${version}";
version = "0.5.0";

?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@dipinhora dipinhora changed the title ponyc: 2016-07-26 -> 0.5.0 ponyc: 2016-07-26 -> 0.5.1 Oct 16, 2016
@dipinhora
Copy link
Contributor Author

Updated to the recently released 0.5.1.

@dipinhora
Copy link
Contributor Author

Does anything else need to be changed before this can be merged?

@kamilchm
Copy link
Member

kamilchm commented Oct 20, 2016

0.6.0 is out.
Anyone from maintainers is willing to merge this? @LnL7 ?

@NeQuissimus
Copy link
Member

I was going to merge this but when I check out this PR, it does not build:

Verifying
Writing ./stdlib.o
Linking ./stdlib
make: *** [Makefile:620: test-ci] Illegal instruction
builder for ‘/nix/store/r8y6sg3wg4bm1mwjq4gnk6z1n6hdy9qw-ponyc-0.5.1.drv’ failed with exit code 2
error: build of ‘/nix/store/r8y6sg3wg4bm1mwjq4gnk6z1n6hdy9qw-ponyc-0.5.1.drv’ failed
exit 100

@dipinhora
Copy link
Contributor Author

There is a known issue with Virtualbox and Pony (see https://github.com/ponylang/ponyc/blob/master/README.md#virtualbox) that causes an "Illegal instruction" error. Are you running in Virtualbox?

There's also an edge case around AVX2/AVX512 and llvm 3.8 that causes an "Illegal instruction" error (see ponylang/ponyc#1176). Are you on a non-Xeon Skylake CPU?

Also, you didn't mention, are you building on Linux? Mac OS? NixOS? I only tested on Mac OS 10.10.5 and Ubuntu on AWS.

@NeQuissimus
Copy link
Member

I am directly on hardware, cat /proc/cpuinfo has this:

vendor_id       : GenuineIntel
cpu family      : 6
model           : 78
model name      : Intel(R) Core(TM) m3-6Y30 CPU @ 0.90GHz

No idea if this is a Skylake :D
I am running NixOS.

@dipinhora
Copy link
Contributor Author

@NeQuissimus
Copy link
Member

OK, I will merge this. Note that there seems to be a newer version already.
Could we use a different LLVM as suggested in the linked ponyc issue? They seem to suggest that might fix the issue.

@NeQuissimus NeQuissimus merged commit d2371e6 into NixOS:master Oct 20, 2016
@dipinhora dipinhora mentioned this pull request Oct 20, 2016
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (update) This PR updates a package to a newer version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants