mirror of https://github.com/lukechilds/node.git
Browse Source
Add a .spec file and a rpmbuild(1) driver script. Useful for people on RHEL-based systems that want to compile and package from source. PR-URL: https://github.com/node-forward/node/pull/10 Reviewed-By: Rod Vagg <rod@vagg.org>archived-io.js-v0.12
2 changed files with 148 additions and 0 deletions
@ -0,0 +1,104 @@ |
|||
# Copyright (c) 2013, StrongLoop, Inc. <callback@strongloop.com> |
|||
# |
|||
# Permission to use, copy, modify, and/or distribute this software for any |
|||
# purpose with or without fee is hereby granted, provided that the above |
|||
# copyright notice and this permission notice appear in all copies. |
|||
# |
|||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
|||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
|||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
|||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
|||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|||
|
|||
# This is updated by rpmbuild.sh. |
|||
%define _version 0.10.12 |
|||
|
|||
Name: node |
|||
Version: %{_version} |
|||
Release: 1 |
|||
Summary: Node.js is a platform for building fast, scalable network applications. |
|||
Group: Development/Languages |
|||
License: MIT |
|||
URL: http://nodejs.org/ |
|||
Source0: http://nodejs.org/dist/v%{_version}/node-v%{_version}.tar.gz |
|||
BuildRequires: gcc |
|||
BuildRequires: gcc-c++ |
|||
BuildRequires: glibc-devel |
|||
BuildRequires: make |
|||
BuildRequires: python |
|||
|
|||
# Conflicts with the HAM radio package. |
|||
Conflicts: node <= 0.3.2-11 |
|||
|
|||
# Conflicts with the Fedora node.js package. |
|||
Conflicts: nodejs |
|||
|
|||
|
|||
%description |
|||
Node.js is a platform built on Chrome's JavaScript runtime for easily |
|||
building fast, scalable network applications. |
|||
|
|||
Node.js uses an event-driven, non-blocking I/O model that makes it |
|||
lightweight and efficient, perfect for data-intensive real-time |
|||
applications that run across distributed devices. |
|||
|
|||
|
|||
%prep |
|||
%setup -q |
|||
|
|||
|
|||
%build |
|||
%ifarch arm |
|||
%define _dest_cpu arm |
|||
%endif |
|||
|
|||
%ifarch i386 i686 |
|||
%define _dest_cpu ia32 |
|||
%endif |
|||
|
|||
%ifarch x86_64 |
|||
%define _dest_cpu x64 |
|||
%endif |
|||
|
|||
./configure --prefix=/usr --dest-cpu=%{_dest_cpu} |
|||
make %{?_smp_mflags} |
|||
|
|||
|
|||
%check |
|||
#make test |
|||
|
|||
|
|||
# Use mildly hard-coded paths in the install and files targets for now. |
|||
# _libdir is /usr/lib64 on some systems but the node.js installer always |
|||
# installs to /usr/lib. I have commits sitting in a branch that add --libdir |
|||
# and --mandir configure switches to the node.js configure script but it's |
|||
# debatable if it's worth the extra complexity. |
|||
%install |
|||
export DONT_STRIP=1 # Don't strip debug symbols for now. |
|||
make install DESTDIR=%{buildroot} |
|||
rm -fr %{buildroot}/usr/lib/dtrace/ # No systemtap support. |
|||
install -m 755 -d %{buildroot}/usr/lib/node_modules/ |
|||
install -m 755 -d %{buildroot}%{_datadir}/%{name} |
|||
|
|||
# Remove junk files from node_modules/ - we should probably take care of |
|||
# this in the installer. |
|||
for FILE in .gitmodules .gitignore .npmignore .travis.yml \*.py[co]; do |
|||
find %{buildroot}/usr/lib/node_modules/ -name "$FILE" -delete |
|||
done |
|||
|
|||
|
|||
%files |
|||
/usr/bin/* |
|||
/usr/include/* |
|||
/usr/lib/node_modules/ |
|||
/usr/share/man/man1/node.1.gz |
|||
/usr/share/systemtap/tapset/node.stp |
|||
%{_datadir}/%{name}/ |
|||
%doc ChangeLog LICENSE README.md |
|||
|
|||
|
|||
%changelog |
|||
* Fri Jul 5 2013 Ben Noordhuis <info@bnoordhuis.nl> |
|||
- Initial release. |
@ -0,0 +1,44 @@ |
|||
#!/bin/sh |
|||
|
|||
# Copyright (c) 2013, StrongLoop, Inc. <callback@strongloop.com> |
|||
# |
|||
# Permission to use, copy, modify, and/or distribute this software for any |
|||
# purpose with or without fee is hereby granted, provided that the above |
|||
# copyright notice and this permission notice appear in all copies. |
|||
# |
|||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
|||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
|||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
|||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
|||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|||
|
|||
set -e |
|||
|
|||
TOOLSDIR=`dirname $0` |
|||
TOPLEVELDIR="$TOOLSDIR/../.." |
|||
|
|||
RPMBUILD_PATH="${RPMBUILD_PATH:-$HOME/rpmbuild}" |
|||
if [ ! -d "$RPMBUILD_PATH" ]; then |
|||
echo "Run rpmdev-setuptree first." |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ $# -ge 1 ]; then |
|||
VERSION=$1 |
|||
else |
|||
FILE="$TOPLEVELDIR/src/node_version.h" |
|||
MAJOR=`sed -nre 's/#define NODE_MAJOR_VERSION ([0-9]+)/\1/p' "$FILE"` |
|||
MINOR=`sed -nre 's/#define NODE_MINOR_VERSION ([0-9]+)/\1/p' "$FILE"` |
|||
PATCH=`sed -nre 's/#define NODE_PATCH_VERSION ([0-9]+)/\1/p' "$FILE"` |
|||
VERSION="$MAJOR.$MINOR.$PATCH" |
|||
fi |
|||
|
|||
set -x |
|||
|
|||
sed -re "s/%define _version .+/%define _version ${VERSION}/" \ |
|||
"$TOOLSDIR/node.spec" > $RPMBUILD_PATH/SPECS/node.spec |
|||
tar --exclude-vcs --transform="s|^|node-${VERSION}/|" \ |
|||
-czf $RPMBUILD_PATH/SOURCES/node-v${VERSION}.tar.gz . |
|||
rpmbuild $* -ba $RPMBUILD_PATH/SPECS/node.spec |
Loading…
Reference in new issue