Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nayuos-ebuilds
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Nicolas Wavrant
nayuos-ebuilds
Commits
ce35ce48
Commit
ce35ce48
authored
May 31, 2016
by
iv
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add NodeJS (more recent version).
parent
d71cb8d0
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
219 additions
and
0 deletions
+219
-0
README.md
README.md
+4
-0
net-libs/nodejs/Manifest
net-libs/nodejs/Manifest
+1
-0
net-libs/nodejs/files/gentoo-global-npm-config.patch
net-libs/nodejs/files/gentoo-global-npm-config.patch
+40
-0
net-libs/nodejs/files/nodejs-v8-3.5.patch
net-libs/nodejs/files/nodejs-v8-3.5.patch
+11
-0
net-libs/nodejs/metadata.xml
net-libs/nodejs/metadata.xml
+20
-0
net-libs/nodejs/nodejs-4.4.1.ebuild
net-libs/nodejs/nodejs-4.4.1.ebuild
+143
-0
No files found.
README.md
View file @
ce35ce48
...
...
@@ -33,5 +33,9 @@ Original: https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryptsetup/cryp
## Existing ebuilds
Original: https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-python/virtualenv/virtualenv-13.1.2-r1.ebuild (modified)
# nodejs (more recent version than the one in Chromium OS overlay)
## Existing ebuilds
Original: https://gitweb.gentoo.org/repo/gentoo.git/plain/net-libs/nodejs/nodejs-4.4.1.ebuild
# TODO
-
it could be nice to create our own portage overlay instead of adding to Chromium OS's one
net-libs/nodejs/Manifest
0 → 100644
View file @
ce35ce48
DIST node-v4.4.1.tar.xz 13112424 SHA256 3a37c89a3ac965688f9e6557579993b73eee44195a5fd53fded03a667d3d6a0a SHA512 53b479085a6f43b5932c75729b21a3efa67534ce6c10445c2ba66492a0e3f12d8e5de8d75bd583239b68f3d5ac1b639d45fd43d631d8a5ef013e25bff0fdab22 WHIRLPOOL d9cee2193a0f94f17ab84722ffb9999f156014cbe0b83bd138d5404ec543a3398bb4d1b965940b19230cf069337dfb5e0159aae3e694137e09261133ae2e2fdd
net-libs/nodejs/files/gentoo-global-npm-config.patch
0 → 100644
View file @
ce35ce48
commit 46ac7cd4229eac5e0182ab62b7ed844c24a8c52e
Author: Johan Bergström <bugs@bergstroem.nu>
Date: Wed Feb 10 22:45:59 2016 +1100
npm: set global config folder to /etc/npm
npm previously assumed that the global config path would be
based on $prefix/etc. Since gentoo installs nodejs into /usr,
this means we're also creating /usr/etc which is less desirable.
This patch will likely never go upstream.
diff --git a/deps/npm/lib/config/core.js b/deps/npm/lib/config/core.js
index d1306eb..bd2ef89 100644
--- a/deps/npm/lib/config/core.js
+++ b/deps/npm/lib/config/core.js
@@ -150,16 +150,14 @@
function load_ (builtin, rc, cli, cb) {
// Eg, `npm config get globalconfig --prefix ~/local` should
// return `~/local/etc/npmrc`
// annoying humans and their expectations!
- if (conf.get('prefix')) {
- var etc = path.resolve(conf.get('prefix'), 'etc')
- mkdirp(etc, function () {
- defaults.globalconfig = path.resolve(etc, 'npmrc')
- defaults.globalignorefile = path.resolve(etc, 'npmignore')
- afterUserContinuation()
- })
- } else {
+
+ // gentoo deviates wrt global config; store in /etc/npm
+ var globalconfig = path.resolve('/etc', 'npm')
+ mkdirp(globalconfig, function () {
+ defaults.globalconfig = path.resolve(globalconfig, 'npmrc')
+ defaults.globalignorefile = path.resolve(globalconfig, 'npmignore')
afterUserContinuation()
- }
+ })
}
function afterUserContinuation () {
net-libs/nodejs/files/nodejs-v8-3.5.patch
0 → 100644
View file @
ce35ce48
--- src/node_buffer.cc 2011-10-25 08:45:00.665600749 +0200
+++ src/node_buffer.cc 2011-10-25 08:45:31.168622565 +0200
@@ -478,7 +478,7 @@
if (written > 0 && p[written-1] == '\0' && char_written == length) {
uint16_t last_char;
- s->Write(&last_char, length - 1, 1, String::NO_HINTS);
+ s->Write(&last_char, length - 1, 1, String::NO_OPTIONS);
if (last_char != 0 || written > s->Utf8Length()) {
written--;
}
net-libs/nodejs/metadata.xml
0 → 100644
View file @
ce35ce48
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer
type=
"person"
>
<email>
bugs@bergstroem.nu
</email>
<name>
Johan Bergstroem
</name>
</maintainer>
<maintainer
type=
"person"
>
<email>
patrick@gentoo.org
</email>
<name>
Patrick Lauer
</name>
</maintainer>
<maintainer
type=
"project"
>
<email>
proxy-maint@gentoo.org
</email>
<name>
Proxy Maintainers
</name>
</maintainer>
<use>
<flag
name=
"npm"
>
Enable NPM package manager
</flag>
<flag
name=
"snapshot"
>
Enable snapshot creation for faster startup
</flag>
</use>
</pkgmetadata>
net-libs/nodejs/nodejs-4.4.1.ebuild
0 → 100644
View file @
ce35ce48
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI
=
5
PYTHON_COMPAT
=(
python2_7
)
PYTHON_REQ_USE
=
"threads"
inherit flag-o-matic pax-utils python-single-r1 toolchain-funcs
DESCRIPTION
=
"A JavaScript runtime built on Chrome's V8 JavaScript engine"
HOMEPAGE
=
"https://nodejs.org/"
SRC_URI
=
"https://nodejs.org/dist/v
${
PV
}
/node-v
${
PV
}
.tar.xz"
LICENSE
=
"Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
SLOT
=
"0"
KEYWORDS
=
"amd64 ~arm ~arm64 x86 ~x64-macos"
IUSE
=
"cpu_flags_x86_sse2 debug icu +npm snapshot +ssl test"
RDEPEND
=
"icu? ( >=dev-libs/icu-55:= )
npm? (
${
PYTHON_DEPS
}
)
>=net-libs/http-parser-2.5.2:=
>=dev-libs/libuv-1.8.0:=
>=dev-libs/openssl-1.0.2g:0=[-bindist]
sys-libs/zlib"
DEPEND
=
"
${
RDEPEND
}
${
PYTHON_DEPS
}
test? ( net-misc/curl )"
S
=
"
${
WORKDIR
}
/node-v
${
PV
}
"
REQUIRED_USE
=
"
${
PYTHON_REQUIRED_USE
}
"
pkg_pretend
()
{
(
use x86
&&
!
use cpu_flags_x86_sse2
)
&&
\
die
"Your CPU doesn't support the required SSE2 instruction."
(
[[
${
MERGE_TYPE
}
!=
"binary"
]]
&&
!
test-flag-CXX
-std
=
c++11
)
&&
\
die
"Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
}
src_prepare
()
{
tc-export CC CXX PKG_CONFIG
export
V
=
1
# Verbose build
export
BUILDTYPE
=
Release
# fix compilation on Darwin
# https://code.google.com/p/gyp/issues/detail?id=260
sed
-i
-e
"/append('-arch/d"
tools/gyp/pylib/gyp/xcode_emulation.py
||
die
# make sure we use python2.* while using gyp
sed
-i
-e
"s/python/
${
EPYTHON
}
/"
deps/npm/node_modules/node-gyp/gyp/gyp
||
die
sed
-i
-e
"s/|| 'python'/|| '
${
EPYTHON
}
'/"
deps/npm/node_modules/node-gyp/lib/configure.js
||
die
# less verbose install output (stating the same as portage, basically)
sed
-i
-e
"/print/d"
tools/install.py
||
die
# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
local
LIBDIR
=
$(
get_libdir
)
sed
-i
-e
"s|lib/|
${
LIBDIR
}
/|g"
tools/install.py
||
die
sed
-i
-e
"s/'lib'/'
${
LIBDIR
}
'/"
lib/module.js
||
die
sed
-i
-e
"s|
\"
lib
\"
|
\"
${
LIBDIR
}
\"
|"
deps/npm/lib/npm.js
||
die
# Avoid a test that I've only been able to reproduce from emerge. It doesnt
# seem sandbox related either (invoking it from a sandbox works fine).
# The issue is that no stdin handle is openened when asked for one.
# It doesn't really belong upstream , so it'll just be removed until someone
# with more gentoo-knowledge than me (jbergstroem) figures it out.
rm test
/parallel/test-stdout-close-unref.js
||
die
# debug builds. change install path, remove optimisations and override buildtype
if
use debug
;
then
sed
-i
-e
"s|out/Release/|out/Debug/|g"
tools/install.py
||
die
BUILDTYPE
=
Debug
fi
epatch_user
}
src_configure
()
{
local
myarch
=
""
local
myconf+
=(
--shared-openssl
--shared-libuv
--shared-http-parser
--shared-zlib
)
use npm
||
myconf+
=(
--without-npm
)
use icu
&&
myconf+
=(
--with-intl
=
system-icu
)
use snapshot
&&
myconf+
=(
--with-snapshot
)
use ssl
||
myconf+
=(
--without-ssl
)
use debug
&&
myconf+
=(
--debug
)
case
${
ABI
}
in
x86
)
myarch
=
"ia32"
;;
amd64
)
myarch
=
"x64"
;;
x32
)
myarch
=
"x32"
;;
arm
)
myarch
=
"arm"
;;
arm64
)
myarch
=
"arm64"
;;
*
)
die
"Unrecognized ARCH
${
ARCH
}
"
;;
esac
GYP_DEFINES
=
"linux_use_gold_flags=0
linux_use_bundled_binutils=0
linux_use_bundled_gold=0"
\
"
${
PYTHON
}
"
configure
\
--prefix
=
"
${
EPREFIX
}
"
/usr
\
--dest-cpu
=
${
myarch
}
\
--without-dtrace
\
"
${
myconf
[@]
}
"
||
die
}
src_compile
()
{
emake
-C
out mksnapshot
pax-mark m
"out/
${
BUILDTYPE
}
/mksnapshot"
emake
-C
out
}
src_install
()
{
local
LIBDIR
=
"
${
ED
}
/usr/
$(
get_libdir
)
"
emake
install
DESTDIR
=
"
${
ED
}
"
PREFIX
=
/usr
if
use npm
;
then
dodoc
-r
"
${
LIBDIR
}
"
/node_modules/npm/html
rm
-rf
"
${
LIBDIR
}
"
/node_modules/npm/
{
doc,html
}
||
die
find
"
${
LIBDIR
}
"
/node_modules
-type
f
-name
"LICENSE*"
-or
-name
"LICENCE*"
-delete
||
die
fi
# set up a symlink structure that npm expects..
dodir /usr/include/node/deps/
{
v8,uv
}
dosym
.
/usr/include/node/src
for
var
in
deps/
{
uv,v8
}
/include
;
do
dosym ../.. /usr/include/node/
${
var
}
done
pax-mark
-m
"
${
ED
}
"
/usr/bin/node
}
src_test
()
{
out/
${
BUILDTYPE
}
/cctest
||
die
"
${
PYTHON
}
"
tools/test.py
--mode
=
${
BUILDTYPE
,,
}
-J
message parallel sequential
||
die
}
pkg_postinst
()
{
einfo
"When using node-gyp to install native modules, you can avoid"
einfo
"having to download the full tarball by doing the following:"
einfo
""
einfo
"node-gyp --nodedir /usr/include/node <command>"
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment