Skip to content

Commit

Permalink
Add therubyracer and deps here, as wip won't work for pre-2014Q3 anym…
Browse files Browse the repository at this point in the history
…ore.
  • Loading branch information
Filip Hajny committed Sep 8, 2014
1 parent 755afe1 commit 6cf271c
Show file tree
Hide file tree
Showing 18 changed files with 3,269 additions and 0 deletions.
2 changes: 2 additions & 0 deletions ruby-libv8/DESCR
@@ -0,0 +1,2 @@
A gem for distributing the v8 runtime libraries and headers
in both source and binary form.
21 changes: 21 additions & 0 deletions ruby-libv8/Makefile
@@ -0,0 +1,21 @@
# $NetBSD$

DISTNAME= libv8-3.16.14.3
PKGNAME= ${RUBY_PKGPREFIX}-${DISTNAME}
CATEGORIES= lang

MAINTAINER= filip@joyent.com
HOMEPAGE= http://github.com/cowboyd/libv8
COMMENT= Ruby distribution wrapper for the V8 JavaScript engine
LICENSE= mit

CHECK_PORTABILITY_SKIP+= vendor/v8/tools/run-llprof.sh

CONFIGURE_ARGS+= --with-system-v8

pre-build:
${TOUCH} ${WRKSRC}/ext/libv8/.location.yml

.include "../../joyent/v8-316/buildlink3.mk"
.include "../../lang/ruby/gem.mk"
.include "../../mk/bsd.pkg.mk"
2,950 changes: 2,950 additions & 0 deletions ruby-libv8/PLIST

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions ruby-libv8/distinfo
@@ -0,0 +1,5 @@
$NetBSD$

SHA1 (libv8-3.16.14.3.gem) = f13e4f6aab75ba55d9997b89ee8fa2fc9bd1b784
RMD160 (libv8-3.16.14.3.gem) = ec7e4fae839da289018b07a65d0d9cd6e55b4867
Size (libv8-3.16.14.3.gem) = 12187648 bytes
1 change: 1 addition & 0 deletions ruby-therubyracer/DESCR
@@ -0,0 +1 @@
Embed the V8 JavaScript interpreter into Ruby.
21 changes: 21 additions & 0 deletions ruby-therubyracer/Makefile
@@ -0,0 +1,21 @@
# $NetBSD$

DISTNAME= therubyracer-0.12.1
PKGNAME= ${RUBY_PKGPREFIX}-${DISTNAME}
CATEGORIES= lang

MAINTAINER= filip@joyent.com
HOMEPAGE= http://github.com/cowboyd/libv8
COMMENT= Embedded V8 Javascript
LICENSE= mit

DEPENDS+= ${RUBY_PKGPREFIX}-libv8>=3.16:../../joyent/v8-316

USE_LANGUAGES+= c c++

CONFIGURE_ARGS+= --with-system-v8
CONFIGURE_ARGS+= --with-v8-dir=${BUILDLINK_PREFIX.v8}

.include "../../joyent/v8-316/buildlink3.mk"
.include "../../lang/ruby/gem.mk"
.include "../../mk/bsd.pkg.mk"
96 changes: 96 additions & 0 deletions ruby-therubyracer/PLIST
@@ -0,0 +1,96 @@
@comment $NetBSD$
${GEM_EXTSDIR}/v8/init.${RUBY_DLEXT}
${GEM_HOME}/build_info/${GEM_NAME}.info
${GEM_HOME}/cache/${GEM_NAME}.gem
${GEM_LIBDIR}/.gitignore
${GEM_LIBDIR}/.travis.yml
${GEM_LIBDIR}/Changelog.md
${GEM_LIBDIR}/Gemfile
${GEM_LIBDIR}/README.md
${GEM_LIBDIR}/Rakefile
${GEM_LIBDIR}/benchmarks.rb
${GEM_LIBDIR}/ext/v8/accessor.cc
${GEM_LIBDIR}/ext/v8/array.cc
${GEM_LIBDIR}/ext/v8/backref.cc
${GEM_LIBDIR}/ext/v8/constants.cc
${GEM_LIBDIR}/ext/v8/constraints.cc
${GEM_LIBDIR}/ext/v8/context.cc
${GEM_LIBDIR}/ext/v8/date.cc
${GEM_LIBDIR}/ext/v8/exception.cc
${GEM_LIBDIR}/ext/v8/extconf.rb
${GEM_LIBDIR}/ext/v8/external.cc
${GEM_LIBDIR}/ext/v8/function.cc
${GEM_LIBDIR}/ext/v8/gc.cc
${GEM_LIBDIR}/ext/v8/handles.cc
${GEM_LIBDIR}/ext/v8/heap.cc
${GEM_LIBDIR}/ext/v8/init.cc
${GEM_LIBDIR}/ext/v8/invocation.cc
${GEM_LIBDIR}/ext/v8/locker.cc
${GEM_LIBDIR}/ext/v8/message.cc
${GEM_LIBDIR}/ext/v8/object.cc
${GEM_LIBDIR}/ext/v8/primitive.cc
${GEM_LIBDIR}/ext/v8/rr.cc
${GEM_LIBDIR}/ext/v8/rr.h
${GEM_LIBDIR}/ext/v8/script.cc
${GEM_LIBDIR}/ext/v8/signature.cc
${GEM_LIBDIR}/ext/v8/stack.cc
${GEM_LIBDIR}/ext/v8/string.cc
${GEM_LIBDIR}/ext/v8/template.cc
${GEM_LIBDIR}/ext/v8/trycatch.cc
${GEM_LIBDIR}/ext/v8/v8.cc
${GEM_LIBDIR}/ext/v8/value.cc
${GEM_LIBDIR}/lib/therubyracer.rb
${GEM_LIBDIR}/lib/v8.rb
${GEM_LIBDIR}/lib/v8/access.rb
${GEM_LIBDIR}/lib/v8/access/indices.rb
${GEM_LIBDIR}/lib/v8/access/invocation.rb
${GEM_LIBDIR}/lib/v8/access/names.rb
${GEM_LIBDIR}/lib/v8/array.rb
${GEM_LIBDIR}/lib/v8/context.rb
${GEM_LIBDIR}/lib/v8/conversion.rb
${GEM_LIBDIR}/lib/v8/conversion/array.rb
${GEM_LIBDIR}/lib/v8/conversion/class.rb
${GEM_LIBDIR}/lib/v8/conversion/code.rb
${GEM_LIBDIR}/lib/v8/conversion/fixnum.rb
${GEM_LIBDIR}/lib/v8/conversion/fundamental.rb
${GEM_LIBDIR}/lib/v8/conversion/hash.rb
${GEM_LIBDIR}/lib/v8/conversion/indentity.rb
${GEM_LIBDIR}/lib/v8/conversion/method.rb
${GEM_LIBDIR}/lib/v8/conversion/object.rb
${GEM_LIBDIR}/lib/v8/conversion/primitive.rb
${GEM_LIBDIR}/lib/v8/conversion/proc.rb
${GEM_LIBDIR}/lib/v8/conversion/reference.rb
${GEM_LIBDIR}/lib/v8/conversion/string.rb
${GEM_LIBDIR}/lib/v8/conversion/symbol.rb
${GEM_LIBDIR}/lib/v8/conversion/time.rb
${GEM_LIBDIR}/lib/v8/error.rb
${GEM_LIBDIR}/lib/v8/function.rb
${GEM_LIBDIR}/lib/v8/init.${RUBY_DLEXT}
${GEM_LIBDIR}/lib/v8/object.rb
${GEM_LIBDIR}/lib/v8/stack.rb
${GEM_LIBDIR}/lib/v8/version.rb
${GEM_LIBDIR}/lib/v8/weak.rb
${GEM_LIBDIR}/spec/c/array_spec.rb
${GEM_LIBDIR}/spec/c/constants_spec.rb
${GEM_LIBDIR}/spec/c/exception_spec.rb
${GEM_LIBDIR}/spec/c/external_spec.rb
${GEM_LIBDIR}/spec/c/function_spec.rb
${GEM_LIBDIR}/spec/c/handles_spec.rb
${GEM_LIBDIR}/spec/c/locker_spec.rb
${GEM_LIBDIR}/spec/c/object_spec.rb
${GEM_LIBDIR}/spec/c/script_spec.rb
${GEM_LIBDIR}/spec/c/string_spec.rb
${GEM_LIBDIR}/spec/c/template_spec.rb
${GEM_LIBDIR}/spec/c/trycatch_spec.rb
${GEM_LIBDIR}/spec/mem/blunt_spec.rb
${GEM_LIBDIR}/spec/redjs_spec.rb
${GEM_LIBDIR}/spec/spec_helper.rb
${GEM_LIBDIR}/spec/threading_spec.rb
${GEM_LIBDIR}/spec/v8/context_spec.rb
${GEM_LIBDIR}/spec/v8/conversion_spec.rb
${GEM_LIBDIR}/spec/v8/error_spec.rb
${GEM_LIBDIR}/spec/v8/function_spec.rb
${GEM_LIBDIR}/spec/v8/object_spec.rb
${GEM_LIBDIR}/thefrontside.png
${GEM_LIBDIR}/therubyracer.gemspec
${GEM_HOME}/specifications/${GEM_NAME}.gemspec
6 changes: 6 additions & 0 deletions ruby-therubyracer/distinfo
@@ -0,0 +1,6 @@
$NetBSD$

SHA1 (therubyracer-0.12.1.gem) = 3287eba58dcd0c6bc8c2b7fa5f8b23f1db95803c
RMD160 (therubyracer-0.12.1.gem) = 4bf46c051b20bc66c5412a6070f1517b6efdfe4b
Size (therubyracer-0.12.1.gem) = 58880 bytes
SHA1 (patch-ext_v8_extconf.rb) = e5f61361f67c63d0f4969a06280f54e6175b6ba4
13 changes: 13 additions & 0 deletions ruby-therubyracer/patches/patch-ext_v8_extconf.rb
@@ -0,0 +1,13 @@
$NetBSD$

Make sure we actually link libv8.
--- ext/v8/extconf.rb.orig 2014-01-23 11:49:29.626635920 +0000
+++ ext/v8/extconf.rb
@@ -2,6 +2,7 @@ require 'mkmf'

have_library('pthread')
have_library('objc') if RUBY_PLATFORM =~ /darwin/
+have_library('v8')
$CPPFLAGS += " -Wall" unless $CPPFLAGS.split.include? "-Wall"
$CPPFLAGS += " -g" unless $CPPFLAGS.split.include? "-g"
$CPPFLAGS += " -rdynamic" unless $CPPFLAGS.split.include? "-rdynamic"
6 changes: 6 additions & 0 deletions v8-316/Makefile
@@ -0,0 +1,6 @@
# $NetBSD$

DISTNAME= v8-3.16.14

.include "../../joyent/v8/Makefile.common"
.include "../../mk/bsd.pkg.mk"
15 changes: 15 additions & 0 deletions v8-316/buildlink3.mk
@@ -0,0 +1,15 @@
# $NetBSD$

BUILDLINK_TREE+= v8

.if !defined(V8_BUILDLINK3_MK)
V8_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.v8+= v8>=3.16.0<3.17
BUILDLINK_ABI_DEPENDS.v8+= v8>=3.16.0<3.17
BUILDLINK_PKGSRCDIR.v8?= ../../joyent/v8-316

.include "../../mk/readline.buildlink3.mk"
.endif

BUILDLINK_TREE+= -v8
5 changes: 5 additions & 0 deletions v8-316/distinfo
@@ -0,0 +1,5 @@
$NetBSD$

SHA1 (v8-3.16.14.tar.gz) = 2940c0ec6b31459d0ba724dba9e586f0de23e2c4
RMD160 (v8-3.16.14.tar.gz) = d661b2725907e5a51531a150cf008711d41db97b
Size (v8-3.16.14.tar.gz) = 11843231 bytes
1 change: 1 addition & 0 deletions v8/DESCR
@@ -0,0 +1 @@
Google's open source JavaScript engine.
6 changes: 6 additions & 0 deletions v8/Makefile
@@ -0,0 +1,6 @@
# $NetBSD$

DISTNAME= v8-3.21.17

.include "../../joyent/v8/Makefile.common"
.include "../../mk/bsd.pkg.mk"
91 changes: 91 additions & 0 deletions v8/Makefile.common
@@ -0,0 +1,91 @@
# $NetBSD$
# used by joyent/v8/Makefile
# used by joyent/v8-316/Makefile

CATEGORIES= lang
MASTER_SITES= -https://github.com/v8/v8/archive/${PKGVERSION_NOREV}.tar.gz

MAINTAINER= msporleder@gmail.com
COMMENT= V8 JavaScript Engine
HOMEPAGE= http://code.google.com/p/v8
LICENSE= modified-bsd

BUILD_DEPENDS+= ${PYPKGPREFIX}-gyp-[0-9]*:../../devel/gyp

USE_LANGUAGES= c c++
USE_TOOLS+= gmake

PATCHDIR= ${.CURDIR}/../../joyent/v8/patches
PLIST_SRC= ${.CURDIR}/../../joyent/v8/PLIST
DESCR_SRC= ${.CURDIR}/../../joyent/v8/DESCR

NO_CONFIGURE= yes
BUILD_TARGET= native

.include "../../mk/bsd.prefs.mk"

MAKE_ENV+= GYPFLAGS=-Dtarget_arch=${MACHINE_ARCH:S/i386/ia32/:S/x86_64/x64/}
MAKE_FLAGS+= console=readline
MAKE_FLAGS+= library=shared
MAKE_FLAGS+= werror=no

CPPFLAGS.SunOS+= -fPIC

SUBST_CLASSES+= path
SUBST_STAGE.path= post-patch
SUBST_MESSAGE.path= Fix default paths
SUBST_FILES.path= build/common.gypi
SUBST_FILES.path= Makefile
SUBST_FILES.path+= src/d8.gyp
SUBST_FILES.path+= test/cctest/cctest.gyp
SUBST_FILES.path+= tools/gyp/v8.gyp
SUBST_SED.path= -e 's,python,${PYTHONBIN},'
SUBST_SED.path+= -e 's,/usr/pkg,${PREFIX},g'
SUBST_SED.path+= -e 's,/usr/local,${PREFIX},g'
SUBST_SED.path+= -e 's,build/gyp/,,'
SUBST_SED.path+= -e 's,^native:.*,native:,'

SUBST_CLASSES+= v8
SUBST_STAGE.v8= pre-build
SUBST_MESSAGE.v8= Fix gyp-generated Makefiles
SUBST_FILES.v8= out/Makefile.native
SUBST_FILES.v8+= out/samples/lineprocessor.target.native.mk
SUBST_FILES.v8+= out/samples/process.target.native.mk
SUBST_FILES.v8+= out/samples/shell.target.native.mk
SUBST_FILES.v8+= out/src/d8.target.native.mk
SUBST_FILES.v8+= out/tools/gyp/v8.target.native.mk
SUBST_FILES.v8+= out/tools/gyp/v8_shell.target.native.mk
# Remove nonstandard rpath
SUBST_SED.v8+= -e '/rpath/d'
# Work around problem with thin archives
SUBST_SED.v8+= -e 's,crsT,crs,'
# Prevent Makefile from being regenerated
SUBST_SED.v8+= -e '/do_cmd,regen_makefile/d'

INSTALLATION_DIRS+= bin include lib

# Pre-make the Makefile so that we can patch it
${WRKSRC}/out/Makefile.native:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} out/Makefile.native

pre-build: ${WRKSRC}/out/Makefile.native

do-install:
${INSTALL_PROGRAM} ${WRKSRC}/out/native/d8 ${DESTDIR}${PREFIX}/bin/d8
.if ${_OPSYS_SHLIB_TYPE} == "dylib"
${INSTALL_LIB} ${WRKSRC}/out/native/libv8.dylib ${DESTDIR}${PREFIX}/lib/libv8.1.dylib
${LN} -sf libv8.1.dylib ${DESTDIR}${PREFIX}/lib/libv8.dylib
.else
${INSTALL_LIB} ${WRKSRC}/out/native/lib.target/libv8.so ${DESTDIR}${PREFIX}/lib/libv8.so.1
${LN} -sf libv8.so.1 ${DESTDIR}${PREFIX}/lib/libv8.so
.endif
${INSTALL_DATA} ${WRKSRC}/include/v8.h ${DESTDIR}${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/v8-debug.h ${DESTDIR}${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/v8-preparser.h ${DESTDIR}${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/v8-profiler.h ${DESTDIR}${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/v8-testing.h ${DESTDIR}${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/v8stdint.h ${DESTDIR}${PREFIX}/include

.include "../../devel/libexecinfo/buildlink3.mk"
.include "../../lang/python/pyversion.mk"
.include "../../mk/readline.buildlink3.mk"
10 changes: 10 additions & 0 deletions v8/PLIST
@@ -0,0 +1,10 @@
@comment $NetBSD$
bin/d8
include/v8-debug.h
include/v8-preparser.h
include/v8-profiler.h
include/v8-testing.h
include/v8.h
include/v8stdint.h
lib/libv8.so
lib/libv8.so.1
15 changes: 15 additions & 0 deletions v8/buildlink3.mk
@@ -0,0 +1,15 @@
# $NetBSD$

BUILDLINK_TREE+= v8

.if !defined(V8_BUILDLINK3_MK)
V8_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.v8+= v8>=3.21.0
BUILDLINK_ABI_DEPENDS.v8+= v8>=3.21.0
BUILDLINK_PKGSRCDIR.v8?= ../../joyent/v8

.include "../../mk/readline.buildlink3.mk"
.endif

BUILDLINK_TREE+= -v8
5 changes: 5 additions & 0 deletions v8/distinfo
@@ -0,0 +1,5 @@
$NetBSD$

SHA1 (v8-3.21.17.tar.gz) = 762dacc85a896e23a311eaed1e182f535677f4d6
RMD160 (v8-3.21.17.tar.gz) = c449ba2ca62cdf0a372713718fdf855244f83236
Size (v8-3.21.17.tar.gz) = 13537887 bytes

0 comments on commit 6cf271c

Please sign in to comment.