Commit Graph

29 Commits

Author SHA1 Message Date
Jörg Krause
4f09b5b484 package/nodejs: fix hard float error
Add support for building nodejs with hard floating ABI if supported by the
target and remove bogus comment. Buildroot does propose this tuning.

Basically, you have three cases of floating point strategies:

 * soft float, i.e 'soft' in nodejs speak. This is enabled in Buildroot
   when BR2_ARM_EABI=y and BR2_SOFT_FLOAT=y.

 * hard float using integer registers to pass floating point arguments,
   i.e 'softfp' in nodejs speak. This is enabled in Buildroot when
   BR2_ARM_EABI=y and BR2_SOFT_FLOAT is disabled.

 * hard float using floating pointer registers to pass floating point
   arguments, i.e 'hard' in nodejs speak. This is enabled in Buildroot
   when BR2_ARM_EABIHF=y.

This patch fixes "[Buildroot] Float error on SAMA5D3 Xplained using nodejs":
http://lists.busybox.net/pipermail/buildroot/2014-December/114254.html

Tested at run-time by me on a TI Beaglebone Black.

[Thomas: add qstrip call when using the BR2_GCC_TARGET_FLOAT_ABI
variable.]

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Reported-by: Cédric Heyman <c.heyman@til-technologies.fr>
Suggested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-12 22:03:17 +01:00
Jörg Krause
d434fcbeab package/nodejs: add hash file
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-06 21:52:42 +01:00
Jörg Krause
b7f5b42100 package/nodejs: bump to version 0.10.35
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-06 21:52:28 +01:00
Jörg Krause
92aa6f0cc4 nodejs: Revert "nodejs: disable ssl2 and ssl3 when openssl is not built"
This reverts commit e712638b4a.

The config options --without-ssl2 and --without-ssl3 are intended to be used if
nodejs is built with the bundled OpenSSL library for excluding the SSL2 and
SSL3 features.

Both options are actual only evaluated if --without-ssl is not set:

$ cat configure | grep configure_openssl -n -A 13
619:def configure_openssl(o):
620-  o['variables']['node_use_openssl'] = b(not options.without_ssl)
621-  o['variables']['node_shared_openssl'] = b(options.shared_openssl)
622-  o['variables']['openssl_no_asm'] = (
623-    1 if options.openssl_no_asm else 0)
624-
625-  if options.without_ssl:
626-    return
627-
628-  if options.ssl2:
629-    o['defines'] += ['OPENSSL_NO_SSL2=1']
630-
631-  if options.ssl3:
632-    o['defines'] += ['OPENSSL_NO_SSL3=1']

[Peter: adjusted commit text to make it clear that it is a revert]
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Tested-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-18 22:05:42 +01:00
Jörg Krause
3bc199871e package/nodejs: fix build error without OpenSSL support
Add a patch to fix broken build of nodejs without OpenSSL support.

Version 0.10.33 of nodejs introduced a bug which prevents us from building
nodejs without OpenSSL support. The bug is reported upstream:
https://github.com/joyent/node/issues/8676

This bug caused some build errors:
  * http://autobuild.buildroot.net/results/0bf/0bf17bf710db051d491123482c90f2f72810804b/
  * http://autobuild.buildroot.net/results/e1f/e1fb34818ff1167aa008b4011befb9fd14c81293/

and more...

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-18 22:02:48 +01:00
Fabio Porcedda
e712638b4a nodejs: disable ssl2 and ssl3 when openssl is not built
The nodejs version 0.10.33 is compiled with SSLv2 and SSLv3 protocol
support by default so it fails to build if the package openssl was not
built.

To fix this build failure disable SSLv2 and SSLv3 protcol suppport if
the openssl package is not built.

Fixes:
  http://autobuild.buildroot.net/results/e1fb34818ff1167aa008b4011befb9fd14c81293
  http://autobuild.buildroot.net/results/8b72b0c311f2f7f7430aca5f7cca1f7d82d1c213
  http://autobuild.buildroot.net/results/e5f87dc635e0e6a6d1cc234529a433e12d810097
  http://autobuild.buildroot.net/results/3c4a5be556cfbd0d0e632757887ebc2f1de64bba

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-11 21:41:13 +01:00
Thomas Petazzoni
8c760a7f6a nodejs: use BR2_ARM_CPU_ARM* options
Adjust the nodejs Config.in dependencies to use the per ARM
architecture BR2_ARM_CPU_ARM* options instead of the per ARM core
options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-06 23:45:31 +01:00
Jörg Krause
3174f736d7 package/nodejs: security bump to version 0.10.33
This release handles the recent POODLE vulnerability [CVE-2014-3566] by
disabling SSLv2/SSLv3 by default.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-30 19:06:06 +01:00
Jerzy Grzegorek
df2857de49 package: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-25 10:38:25 +02:00
Thomas De Schampheleire
f268f7131b .mk files: bulk aligment and whitespace cleanup of assignments
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.

This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.

Alignment of line continuation characters (\) is kept as-is.

The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'

Brief explanation of this command:
    ^\([A-Z0-9a-z_]\+\)     a regular variable at the beginning of the line
    \([?:+]\?=\)            any assignment character =, :=, ?=, +=
    \([^\\]\+\)             any string not containing a line continuation
    \([^\\ \t]\+\s*\\\)     string, optional whitespace, followed by a
                            line continuation character
    \(\s*\\\)               optional whitespace, followed by a line
                            continuation character

Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.

This expression was tested on following test text: (initial tab not
included)

	FOO     = spaces before
	FOO     =   spaces before and after
	FOO	= tab before
	FOO	  = tab and spaces before
	FOO =	tab after
	FOO =	   tab and spaces after
	FOO =   	spaces and tab after
	FOO =    \
	FOO = bar \
	FOO = bar space    \
	FOO   =		   \
	GENIMAGE_DEPENDENCIES   = host-pkgconf libconfuse
	FOO     += spaces before
	FOO     ?=   spaces before and after
	FOO     :=
	FOO     =
	FOO	=
	FOO	  =
	FOO =
	   $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
	AT91BOOTSTRAP3_DEFCONFIG = \
	AXEL_DISABLE_I18N=--i18n=0

After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
  expression leaves the number of whitespace between the value and line
  continuation character intact, but the whitespace before that could have
  changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
  actually makes the code more readable.

Finally, the end result was manually reviewed.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-07 15:00:28 +02:00
Jörg Krause
a29129201b package/nodejs: bump to version 0.10.32
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-17 22:55:49 +02:00
Thomas Petazzoni
78ad429cfb nodejs: fix build of host-nodejs
In commit 89fae0d05d ("nodejs: Add
dependency on zlib"), Paul added a dependency of host-nodejs on
host-zlib. When host-zlib is built, the host variant of zlib is
installed in $(HOST_DIR)/usr/lib. However, even though
-L$(HOST_DIR)/usr/lib is passed to the LDFLAGS of host-nodejs
configure script, those LDFLAGS are not re-used at build and install
time. This is because nodejs does not use the autotools and its
configure script does not "save" the environment variables such as
LDFLAGS. This is causing build failures such as:

  http://autobuild.buildroot.org/results/802/802134ceb92d82d2d4ef6a81c67ad1c98696663a/

due to the fact that the host zlib cannot be found.

This commit fixes that by passing $(HOST_CONFIGURE_OPTS) explicitly at
both build time and install time of host-nodejs. This approach was
already used for the target variant of nodejs.

Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-06 22:17:18 +02:00
Jörg Krause
8254051f6f package/nodejs: bump to version 0.10.31
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-04 17:13:43 +02:00
Paul Cercueil
89fae0d05d nodejs: Add dependency on zlib
Prior to this commit, nodejs would build zlib itself and link statically
to it.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-17 09:24:46 +02:00
Jordi Llonch
ce69cc9172 nodejs: updated to 0.10.30
Signed-off-by: Jordi Llonch <jordi.llonch@rochsystems.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-06 19:59:30 +02:00
Thomas Petazzoni
7e91d2b0e3 nodejs: fix build when python3 is selected in Buildroot
When Python 3 is selected in Buildroot, the host/usr/bin/python
symlink of the host Python interpreter points to python3. Packages
that need to use the host Python 2 interpreter have to use python2.

In commit 40218a1652 ("nodejs: force
python interpreter"), Samuel made some changes to the nodejs package
to use python2. One part of the changes is to sed a .gyp file to
replace the string 'python' by the path to python2. However, this
operation is done *after* calling the configure script, so it has in
fact no effect. Putting this sed before calling the configure script
fixes the problem.

However, there is a better solution: the nodejs build system has a
mechanism of variables, and it already defines a python variable
according to the environment variable PYTHON being passed. So this
patch instead adds a new patch to nodejs to use this python variable.

Fixes:

  http://autobuild.buildroot.org/results/aff/affd7300895ec400de50a33d51b4e94e15d63341/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-21 10:34:29 +02:00
Gustavo Zacarias
befab216a2 arch/arm: drop ARM(7TDMI/720T/740T) support
The toolchain currently doesn't build for nommu ARM and is in need of
serious work.
Problem is there are no emulation targets and real ARM(7TDMI/720T/740T)
hardware that's capable of running linux (enough memory, having a
memory controller...) is VERY rare and uses very old versions to
make it usable.

The ARM nommu focus should go into Cortex M series processors that are
obtainable at reasonable cost on modern hardware that has external
memory controllers.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-08 16:53:49 +02:00
Thomas Petazzoni
f565796fbb Revert "host-nodejs: use g++ as linker"
This reverts commit ea737fb100, which in
the end didn't fix the autobuilder problem. Since then,
fb80d28341 ('nodejs: add a patch forcing
link command to use CXX') was added, and was successfully tested.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-20 19:35:47 +02:00
Samuel Martin
fb80d28341 nodejs: add a patch forcing link command to use CXX
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-20 17:31:03 +02:00
Samuel Martin
8b62ac1743 nodejs: add sequence number to the patch filenames
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-20 17:30:53 +02:00
Samuel Martin
ea737fb100 host-nodejs: use g++ as linker
Fixes:
  http://autobuild.buildroot.net/results/f6b/f6b80ae32acf7f89bb1c12999679ff1be9733d44/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-16 19:10:52 +02:00
Samuel Martin
40218a1652 nodejs: force python interpreter
nodejs build system is based on python, and it does not support python3.

This patch makes sure python2 is used for the build.

Note that, setting PYTHON=... at configure time or in the make
environment is not enough to override all the hard-coded python call, so
we have to sed some python scripts to avoid being screwed.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-15 23:18:00 +02:00
Samuel Martin
bde585518e nodejs: use the standard configure/make options
Also cleanup leading whitespace.

Note that overloading LD in required to avoid linker failures.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-15 23:17:10 +02:00
Paul Cercueil
8e7dacf766 nodejs: Bump to version 0.10.12
This makes building on mipsel possible (hard-float variant only).

[Peter: also adjust dependenciess for comment]
Signed-Off-By: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-17 17:01:57 +01:00
Thomas De Schampheleire
be084204eb Config.in files: add missing dependencies to toolchain option comments
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:

config BR2_PACKAGE_A
	depends on BR2_B
	depends on BR2_LARGEFILE
	depends on BR2_WCHAR

comment "A needs a toolchain w/ largefile, wchar"
	depends on !BR2_LARGEFILE || !BR2_WCHAR

This comment should actually be:

comment "A needs a toolchain w/ largefile, wchar"
	depends on BR2_B
	depends on !BR2_LARGEFILE || !BR2_WCHAR

or if possible (typically when B is a package config option declared in that
same Config.in file):

if BR2_B

comment "A needs a toolchain w/ largefile, wchar"
	depends on !BR2_LARGEFILE || !BR2_WCHAR

[other config options depending on B]

endif

Otherwise, the comment would be visible even though the other dependencies
are not met.

This patch adds such missing dependencies, and changes existing such
dependencies from
  depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
  depends on BR2_BASE_DEP
  depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
 (untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-10 23:59:57 +01:00
Thomas De Schampheleire
66bb10b7b0 Config.in files: unify comments of toolchain option dependencies
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-14 22:45:57 +02:00
Gustavo Zacarias
8da92a1c35 nodejs: not supported on old ARM cores
nodejs needs the ARM blx instruction which is only supported in v5t+
cores (v5 ISA with thumb instructions).
Disable it for lower cores. Fixes:
http://autobuild.buildroot.net/results/89e/89ee5ba047a26a8c7a612d0285b08780b70efbd4/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-12 13:31:47 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Daniel Price
b31bc7d438 nodejs: new package
Based off of patches posted by (and Signed-off-by:) Jonathan Liu <net147@gmail.com>

[Peter: fix Config.in whitespace]
Signed-off-by: Daniel Price <daniel.price@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-18 09:42:46 +01:00