Wed May 17 16:44:52 2023 UTC ()
devel/libnjs: add NGINX JavaScript static library


(osa)
diff -r1.3991 -r1.3992 pkgsrc/devel/Makefile
diff -r0 -r1.1 pkgsrc/devel/libnjs/DESCR
diff -r0 -r1.1 pkgsrc/devel/libnjs/Makefile
diff -r0 -r1.1 pkgsrc/devel/libnjs/PLIST
diff -r0 -r1.1 pkgsrc/devel/libnjs/buildlink3.mk
diff -r0 -r1.1 pkgsrc/devel/libnjs/distinfo
diff -r0 -r1.1 pkgsrc/devel/libnjs/options.mk
diff -r0 -r1.1 pkgsrc/devel/libnjs/patches/patch-auto_make

cvs diff -r1.3991 -r1.3992 pkgsrc/devel/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/Makefile 2023/05/11 05:23:30 1.3991
+++ pkgsrc/devel/Makefile 2023/05/17 16:44:51 1.3992
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.3991 2023/05/11 05:23:30 adam Exp $ 1# $NetBSD: Makefile,v 1.3992 2023/05/17 16:44:51 osa Exp $
2# 2#
3 3
4COMMENT= Development utilities 4COMMENT= Development utilities
5 5
6SUBDIR+= ETL 6SUBDIR+= ETL
7SUBDIR+= ExmanIDE 7SUBDIR+= ExmanIDE
8SUBDIR+= GConf 8SUBDIR+= GConf
9SUBDIR+= GConf-ui 9SUBDIR+= GConf-ui
10SUBDIR+= Gorm 10SUBDIR+= Gorm
11SUBDIR+= MoarVM 11SUBDIR+= MoarVM
12SUBDIR+= ObjectiveLib 12SUBDIR+= ObjectiveLib
13SUBDIR+= ProjectCenter 13SUBDIR+= ProjectCenter
14SUBDIR+= R-BH 14SUBDIR+= R-BH
@@ -934,26 +934,27 @@ SUBDIR+= libmd @@ -934,26 +934,27 @@ SUBDIR+= libmd
934SUBDIR+= libmemcache 934SUBDIR+= libmemcache
935SUBDIR+= libmemcached 935SUBDIR+= libmemcached
936SUBDIR+= libmemmgr 936SUBDIR+= libmemmgr
937SUBDIR+= libmimedir 937SUBDIR+= libmimedir
938SUBDIR+= libmm 938SUBDIR+= libmm
939SUBDIR+= libmowgli 939SUBDIR+= libmowgli
940SUBDIR+= libmpack 940SUBDIR+= libmpack
941SUBDIR+= libmtp 941SUBDIR+= libmtp
942SUBDIR+= libnet 942SUBDIR+= libnet
943SUBDIR+= libnet10 943SUBDIR+= libnet10
944SUBDIR+= libnet11 944SUBDIR+= libnet11
945SUBDIR+= libnfc 945SUBDIR+= libnfc
946SUBDIR+= libnjb 946SUBDIR+= libnjb
 947SUBDIR+= libnjs
947SUBDIR+= libntlm 948SUBDIR+= libntlm
948SUBDIR+= liboil 949SUBDIR+= liboil
949SUBDIR+= liboop 950SUBDIR+= liboop
950SUBDIR+= libosip 951SUBDIR+= libosip
951SUBDIR+= libowfat 952SUBDIR+= libowfat
952SUBDIR+= libpeas 953SUBDIR+= libpeas
953SUBDIR+= libpgm 954SUBDIR+= libpgm
954SUBDIR+= libphutil 955SUBDIR+= libphutil
955SUBDIR+= libportlib 956SUBDIR+= libportlib
956SUBDIR+= libproplist 957SUBDIR+= libproplist
957SUBDIR+= librdkafka 958SUBDIR+= librdkafka
958SUBDIR+= librelp 959SUBDIR+= librelp
959SUBDIR+= librfuncs 960SUBDIR+= librfuncs

File Added: pkgsrc/devel/libnjs/DESCR
The library of the njs scripting language.  njs, is a subset of the JavaScript
language that allows extending nginx functionality.  njs is created in
compliance with ECMAScript 5.1 (strict mode) with some ECMAScript 6 and later
extensions.  The compliance is still evolving.

File Added: pkgsrc/devel/libnjs/Makefile
# $NetBSD: Makefile,v 1.1 2023/05/17 16:44:51 osa Exp $

PKGNAME=	libnjs-${VERSION}
VERSION=	0.7.12
DISTNAME=	njs-${VERSION}
CATEGORIES=	devel www
MASTER_SITES=	${MASTER_SITE_GITHUB:=nginx/}

MAINTAINER=	osa@NetBSD.org
HOMEPAGE=	https://nginx.org/en/docs/njs/
COMMENT=	NGINX JavaScript static library
LICENSE=	2-clause-bsd

HAS_CONFIGURE=	yes
USE_LANGUAGES+=	c

INSTALLATION_DIRS=	include lib/pkgconfig

do-build:
	${RUN} cd ${WRKSRC} && ${BUILD_MAKE_CMD} libnjs

do-install:
	${INSTALL_DATA} ${WRKSRC}/src/*.h ${DESTDIR}${PREFIX}/include
	${INSTALL_DATA} ${WRKSRC}/build/njs_auto_config.h ${DESTDIR}${PREFIX}/include
	${INSTALL_DATA} ${WRKSRC}/build/libnjs.a ${DESTDIR}${PREFIX}/lib
	${INSTALL_DATA} ${WRKSRC}/build/njs.pc ${DESTDIR}${PREFIX}/lib/pkgconfig

.include "options.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/devel/libnjs/PLIST
@comment $NetBSD: PLIST,v 1.1 2023/05/17 16:44:51 osa Exp $
include/njs.h
include/njs_addr2line.h
include/njs_arr.h
include/njs_array.h
include/njs_array_buffer.h
include/njs_assert.h
include/njs_async.h
include/njs_auto_config.h
include/njs_boolean.h
include/njs_buffer.h
include/njs_chb.h
include/njs_clang.h
include/njs_date.h
include/njs_diyfp.h
include/njs_djb_hash.h
include/njs_dtoa.h
include/njs_dtoa_fixed.h
include/njs_encoding.h
include/njs_error.h
include/njs_event.h
include/njs_file.h
include/njs_function.h
include/njs_generator.h
include/njs_iterator.h
include/njs_json.h
include/njs_lexer.h
include/njs_lexer_tables.h
include/njs_lvlhsh.h
include/njs_main.h
include/njs_malloc.h
include/njs_math.h
include/njs_md5.h
include/njs_module.h
include/njs_mp.h
include/njs_murmur_hash.h
include/njs_number.h
include/njs_object.h
include/njs_object_hash.h
include/njs_object_prop_declare.h
include/njs_parser.h
include/njs_promise.h
include/njs_queue.h
include/njs_random.h
include/njs_rbtree.h
include/njs_regex.h
include/njs_regexp.h
include/njs_regexp_pattern.h
include/njs_scope.h
include/njs_sha1.h
include/njs_sha2.h
include/njs_sprintf.h
include/njs_str.h
include/njs_string.h
include/njs_strtod.h
include/njs_symbol.h
include/njs_time.h
include/njs_timer.h
include/njs_trace.h
include/njs_typed_array.h
include/njs_types.h
include/njs_unicode.h
include/njs_unicode_lower_case.h
include/njs_unicode_upper_case.h
include/njs_unix.h
include/njs_utf16.h
include/njs_utf8.h
include/njs_utils.h
include/njs_value.h
include/njs_value_conversion.h
include/njs_variable.h
include/njs_vm.h
include/njs_vmcode.h
lib/libnjs.a
lib/pkgconfig/njs.pc

File Added: pkgsrc/devel/libnjs/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1 2023/05/17 16:44:51 osa Exp $

BUILDLINK_TREE+=	libnjs

.if !defined(LIBNJS_BUILDLINK3_MK)
LIBNJS_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.libnjs+=	libnjs>=0.7.12
BUILDLINK_PKGSRCDIR.libnjs?=	../../devel/libnjs

.endif # LIBNJS_BUILDLINK3_MK

BUILDLINK_TREE+=	-libnjs

File Added: pkgsrc/devel/libnjs/distinfo
$NetBSD: distinfo,v 1.1 2023/05/17 16:44:51 osa Exp $

BLAKE2s (njs-0.7.12.tar.gz) = a4c69c83bcc81ecd593f63f6d3e2d5d9cff8185ad56e8fd4846660c132976133
SHA512 (njs-0.7.12.tar.gz) = a65a6c6aa3fbd499536284f8d8610f61b87112156885e6c3b1f73872df22195af897766f266b4569098a70e1680aef66594da17d13519f16687b4e43dce49062
Size (njs-0.7.12.tar.gz) = 662554 bytes
SHA1 (patch-auto_make) = dc784639fa8c4b7fb1437c16575555b38a1d85af

File Added: pkgsrc/devel/libnjs/options.mk
# $NetBSD: options.mk,v 1.1 2023/05/17 16:44:51 osa Exp $

PKG_OPTIONS_VAR=	PKG_OPTIONS.libnjs
PKG_SUPPORTED_OPTIONS=	ssl pcre2 xml
PKG_SUGGESTED_OPTIONS=	ssl

.include "../../mk/bsd.options.mk"

.if !empty(PKG_OPTIONS:Mpcre2)
.include "../../devel/pcre2/buildlink3.mk"
SUBST_CLASSES+=		fix-pcre2
SUBST_STAGE.fix-pcre2=	pre-configure
SUBST_FILES.fix-pcre2=	auto/pcre
SUBST_SED.fix-pcre2=	-e 's,/usr/pkg,${BUILDLINK_PREFIX.pcre2},g'
SUBST_NOOP_OK.fix-pcre2=yes
.else
CONFIGURE_ARGS+=	--no-pcre
CONFIGURE_ARGS+=	--no-pcre2
.endif

.if !empty(PKG_OPTIONS:Mssl)
.include "../../security/openssl/buildlink3.mk"
.else
CONFIGURE_ARGS+=	--no-openssl
.endif

.if !empty(PKG_OPTIONS:Mxml)
.include "../../textproc/libxml2/buildlink3.mk"
.else
CONFIGURE_ARGS+=	--no-libxml2
.endif

File Added: pkgsrc/devel/libnjs/patches/patch-auto_make
$NetBSD: patch-auto_make,v 1.1 2023/05/17 16:44:51 osa Exp $

Use pipe as a delimiter for sed(1) to fix build for libnjs target.

sed(1) command line utility may fail with the following error:
sed: 1: "s, at EXTRA_LIBS@,-lm   -L ...": bad in substitute command: '-'
when a replacement for @EXTRA_LIBS@ contains a comma symbol.

--- auto/make.orig	2023-05-11 23:24:57 UTC
+++ auto/make
@@ -320,11 +320,11 @@ cat << END >> $NJS_MAKEFILE
 pc: $NJS_BUILD_DIR/njs.pc
 
 $NJS_BUILD_DIR/njs.pc: $NJS_BUILD_DIR/njs_auto_config.h
-	sed -e "s,@PREFIX@,$(pwd)/$NJS_BUILD_DIR," \\
-		-e "s,@LIBDIR@,$(pwd)/$NJS_BUILD_DIR," \\
-		-e "s,@CFLAGS@,-I$(pwd)/$NJS_BUILD_DIR -I$(pwd)/src," \\
-		-e "s,@VERSION@,\$(NJS_VER)," \\
-		-e "s,@EXTRA_LIBS@,-lm $NJS_LIBS $NJS_LIB_AUX_LIBS," \\
+	sed -e "s|@PREFIX@|$(pwd)/$NJS_BUILD_DIR|" \\
+		-e "s|@LIBDIR@|$(pwd)/$NJS_BUILD_DIR|" \\
+		-e "s|@CFLAGS@|-I$(pwd)/$NJS_BUILD_DIR -I$(pwd)/src|" \\
+		-e "s|@VERSION@|\$(NJS_VER)|" \\
+		-e "s|@EXTRA_LIBS@|-lm $NJS_LIBS $NJS_LIB_AUX_LIBS|" \\
 		src/njs.pc.in > \$@
 END