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

Update io.js #7907

Closed
Havvy opened this issue May 19, 2015 · 8 comments
Closed

Update io.js #7907

Havvy opened this issue May 19, 2015 · 8 comments

Comments

@Havvy
Copy link
Contributor

Havvy commented May 19, 2015

I've already tried to get this working and failed. Here's my latest attempt (which is a few weeks old).

Major changes include: http-parser requires v2.5.0 (which is updated), libuv uses 1.5.0 in io.js 2.1+. There was an --enable-static flag added, but no-disable-static. Other potentially unknown issues.

You'll want to update the version past 2.0.0.

{ stdenv, fetchurl, python, utillinux, openssl, http-parser, zlib, libuv }:

let
  version = "2.0.0";
  inherit (stdenv.lib) optional maintainers licenses platforms;
in stdenv.mkDerivation {
  name = "iojs-${version}";

  src = fetchurl {
    url = "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
    sha256 = "0ykn8zfp7j5ckm6lwixm7mnffydf4gvpcvcwynk9y76lkyqlgpg4";
  };

  prePatch = ''
    sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
  '';

  configureFlags = [ "--shared-openssl" "--shared-http-parser" "--shared-zlib" ];

  # iojs has --enable-static but no --disable-static. Automatically adding --disable-static
  # causes configure to fail, so don't add --disable-static.
  dontDisableStatic = true;

  buildInputs = [ python openssl http-parser zlib libuv ] ++ (optional stdenv.isLinux utillinux);
  makeFlags = [ ''CXXFLAGS="-std=c++0x"'' ];
  setupHook = ../nodejs/setup-hook.sh;

  passthru.interpreterName = "iojs";

  meta = {
    description = "A friendly fork of Node.js with an open governance model";
    homepage = https://iojs.org/;
    license = licenses.mit;
    platforms = platforms.linux;
  };
}
@pSub
Copy link
Member

pSub commented May 20, 2015

The build seems to fail, because a ssl version compatible with openssl 1.0.2a is expected (see nodejs/node#1622). I see two options: 1) Wait until this version is packaged 2) use the bundled version by removing --shared-openssl.

@lucabrunox
Copy link
Contributor

No please not yet another bundled version of something. I'd rather package openssl 1.0.2a if it's really needed than bundling stuff in packages.

@pSub
Copy link
Member

pSub commented May 20, 2015

I am no fan of bundled versions, too. Just wanted to list all options.

@Havvy
Copy link
Contributor Author

Havvy commented May 29, 2015

Openssl 1.0.2a has been packaged. Taking my hand at this again.

@pSub
Copy link
Member

pSub commented Jun 1, 2015

Closing, was updated in ea83ebf and builds successfully.

@pSub pSub closed this as completed Jun 1, 2015
@Havvy
Copy link
Contributor Author

Havvy commented Jun 2, 2015

Actually, this should have been closed three days ago when I sent in a PR for 2.1.0. But yes, the 2.2.1 PR also technically counts.

@pSub
Copy link
Member

pSub commented Jun 2, 2015

I just stumbled upon your commit and remembered this issue. You can close issues on your own if you have created them.

@Havvy
Copy link
Contributor Author

Havvy commented Jun 2, 2015

Yeah, I thought I did by leaving a note in the earlier PR, but I didn't double check to see if it did. I usually do close my own issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants