build: add pkgsrc rule
authorTimothy J Fontaine <tjfontaine@gmail.com>
Tue, 4 Jun 2013 00:05:56 +0000 (17:05 -0700)
committerTimothy J Fontaine <tjfontaine@gmail.com>
Thu, 6 Jun 2013 22:35:59 +0000 (15:35 -0700)
Makefile
tools/pkgsrc/comment [new file with mode: 0644]
tools/pkgsrc/description [new file with mode: 0644]

index a3532f1..78cebdb 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -207,7 +207,8 @@ docopen: out/doc/api/all.html
 docclean:
        -rm -rf out/doc
 
-VERSION=v$(shell $(PYTHON) tools/getnodeversion.py)
+RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
+VERSION=v$(RAWVER)
 RELEASE=$(shell $(PYTHON) tools/getnodeisrelease.py)
 PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
 ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
@@ -235,6 +236,11 @@ BINARYTAR=$(BINARYNAME).tar.gz
 PKG=out/$(TARNAME).pkg
 packagemaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
 
+PKGSRC=nodejs-$(DESTCPU)-$(RAWVER).tgz
+ifdef NIGHTLY
+PKGSRC=nodejs-$(DESTCPU)-$(RAWVER)-$(TAG).tgz
+endif
+
 dist: doc $(TARBALL) $(PKG)
 
 PKGDIR=out/dist-osx
@@ -312,6 +318,19 @@ $(BINARYTAR): release-only
 
 binary: $(BINARYTAR)
 
+$(PKGSRC): release-only
+       rm -rf dist out
+       $(PYTHON) configure --prefix=/ --without-snapshot \
+               --dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS)
+       $(MAKE) install DESTDIR=dist
+       (cd dist; find * -type f | sort) > packlist
+       pkg_info -X pkg_install | \
+               egrep '^(MACHINE_ARCH|OPSYS|OS_VERSION|PKGTOOLS_VERSION)' > build-info
+       pkg_create -B build-info -c tools/pkgsrc/comment -d tools/pkgsrc/description \
+               -f packlist -I /opt/local -p dist -U $(PKGSRC)
+
+pkgsrc: $(PKGSRC)
+
 dist-upload: $(TARBALL) $(PKG)
        ssh node@nodejs.org mkdir -p web/nodejs.org/dist/$(VERSION)
        scp $(TARBALL) node@nodejs.org:~/web/nodejs.org/dist/$(VERSION)/$(TARBALL)
diff --git a/tools/pkgsrc/comment b/tools/pkgsrc/comment
new file mode 100644 (file)
index 0000000..8194975
--- /dev/null
@@ -0,0 +1 @@
+V8 JavaScript for clients and servers (nodejs.org package)
diff --git a/tools/pkgsrc/description b/tools/pkgsrc/description
new file mode 100644 (file)
index 0000000..1cf2a08
--- /dev/null
@@ -0,0 +1,7 @@
+Node.js is an evented I/O framework for the V8 JavaScript engine. It is
+intended for writing scalable network programs such as web servers.
+
+Packaged by nodejs.org
+
+Homepage:
+http://nodejs.org/