Tue Mar 24 13:23:46 2020 UTC ()
lang: Add neko. Based on work by cfkoch in wip.
Neko is a high-level dynamically typed programming language. It can be used
as an embedded scripting language. It has been designed to provide a common
runtime for several different languages. Learning and using Neko is very
easy. You can easily extend the language with C libraries. You can also
write generators from your own language to Neko and then use the Neko
Runtime to compile, run, and access existing libraries.
(nia)
diff -r1.551 -r1.552 pkgsrc/lang/Makefile
diff -r0 -r1.1 pkgsrc/lang/neko/DESCR
diff -r0 -r1.1 pkgsrc/lang/neko/Makefile
diff -r0 -r1.1 pkgsrc/lang/neko/PLIST
diff -r0 -r1.1 pkgsrc/lang/neko/buildlink3.mk
diff -r0 -r1.1 pkgsrc/lang/neko/distinfo
diff -r0 -r1.1 pkgsrc/lang/neko/options.mk
diff -r0 -r1.1 pkgsrc/lang/neko/patches/patch-CMakeLists.txt
diff -r0 -r1.1 pkgsrc/lang/neko/patches/patch-libs_std_sys.c
--- pkgsrc/lang/Makefile 2020/03/21 10:06:53 1.551
+++ pkgsrc/lang/Makefile 2020/03/24 13:23:46 1.552
| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile,v 1.551 2020/03/21 10:06:53 bsiegert Exp $ | | 1 | # $NetBSD: Makefile,v 1.552 2020/03/24 13:23:46 nia Exp $ |
2 | # | | 2 | # |
3 | | | 3 | |
4 | COMMENT= Programming languages | | 4 | COMMENT= Programming languages |
5 | | | 5 | |
6 | SUBDIR+= Cg-compiler | | 6 | SUBDIR+= Cg-compiler |
7 | SUBDIR+= LuaJIT | | 7 | SUBDIR+= LuaJIT |
8 | SUBDIR+= LuaJIT2 | | 8 | SUBDIR+= LuaJIT2 |
9 | SUBDIR+= R-sourcetools | | 9 | SUBDIR+= R-sourcetools |
10 | SUBDIR+= STk | | 10 | SUBDIR+= STk |
11 | SUBDIR+= a60 | | 11 | SUBDIR+= a60 |
12 | SUBDIR+= abcl | | 12 | SUBDIR+= abcl |
13 | SUBDIR+= adoptopenjdk11-bin | | 13 | SUBDIR+= adoptopenjdk11-bin |
14 | SUBDIR+= algol68g | | 14 | SUBDIR+= algol68g |
| @@ -149,26 +149,27 @@ SUBDIR+= lua53 | | | @@ -149,26 +149,27 @@ SUBDIR+= lua53 |
149 | SUBDIR+= lush | | 149 | SUBDIR+= lush |
150 | SUBDIR+= maude | | 150 | SUBDIR+= maude |
151 | SUBDIR+= mawk | | 151 | SUBDIR+= mawk |
152 | SUBDIR+= mercury | | 152 | SUBDIR+= mercury |
153 | SUBDIR+= micropython | | 153 | SUBDIR+= micropython |
154 | SUBDIR+= minischeme | | 154 | SUBDIR+= minischeme |
155 | SUBDIR+= mit-scheme-bin | | 155 | SUBDIR+= mit-scheme-bin |
156 | SUBDIR+= mono | | 156 | SUBDIR+= mono |
157 | SUBDIR+= mono-basic | | 157 | SUBDIR+= mono-basic |
158 | SUBDIR+= mono6 | | 158 | SUBDIR+= mono6 |
159 | SUBDIR+= moscow_ml | | 159 | SUBDIR+= moscow_ml |
160 | SUBDIR+= mpd | | 160 | SUBDIR+= mpd |
161 | SUBDIR+= nawk | | 161 | SUBDIR+= nawk |
| | | 162 | SUBDIR+= neko |
162 | SUBDIR+= newlisp | | 163 | SUBDIR+= newlisp |
163 | SUBDIR+= newsqueak | | 164 | SUBDIR+= newsqueak |
164 | SUBDIR+= nhc98 | | 165 | SUBDIR+= nhc98 |
165 | SUBDIR+= nim | | 166 | SUBDIR+= nim |
166 | SUBDIR+= nodejs | | 167 | SUBDIR+= nodejs |
167 | SUBDIR+= nodejs10 | | 168 | SUBDIR+= nodejs10 |
168 | SUBDIR+= nodejs12 | | 169 | SUBDIR+= nodejs12 |
169 | SUBDIR+= nodejs8 | | 170 | SUBDIR+= nodejs8 |
170 | SUBDIR+= npm | | 171 | SUBDIR+= npm |
171 | SUBDIR+= nqp | | 172 | SUBDIR+= nqp |
172 | SUBDIR+= nuitka | | 173 | SUBDIR+= nuitka |
173 | SUBDIR+= objc | | 174 | SUBDIR+= objc |
174 | SUBDIR+= ocaml | | 175 | SUBDIR+= ocaml |
Neko is a high-level dynamically typed programming language. It can be used
as an embedded scripting language. It has been designed to provide a common
runtime for several different languages. Learning and using Neko is very
easy. You can easily extend the language with C libraries. You can also
write generators from your own language to Neko and then use the Neko
Runtime to compile, run, and access existing libraries.
# $NetBSD: Makefile,v 1.1 2020/03/24 13:23:46 nia Exp $
DISTNAME= neko-2.3.0
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GITHUB:=HaxeFoundation/}
GITHUB_TAG= v${PKGVERSION_NOREV:S/./-/g}
MAINTAINER= cfkoch@edgebsd.org
HOMEPAGE= https://nekovm.org/
COMMENT= High-level dynamically typed programming language
LICENSE= mit
USE_CMAKE= yes
USE_TOOLS+= pkg-config
.include "options.mk"
.include "../../devel/boehm-gc/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@comment $NetBSD: PLIST,v 1.1 2020/03/24 13:23:46 nia Exp $
bin/neko
bin/nekoc
bin/nekoml
bin/nekotools
include/neko.h
include/neko_elf.h
include/neko_mod.h
include/neko_vm.h
lib/cmake/Neko/NekoConfig.cmake
lib/cmake/Neko/NekoConfigVersion.cmake
lib/cmake/Neko/NekoTargets-noconfig.cmake
lib/cmake/Neko/NekoTargets.cmake
lib/libneko.so
lib/libneko.so.2
lib/libneko.so.2.3.0
${PLIST.apache}lib/neko/mod_neko2.ndll
${PLIST.apache}lib/neko/mod_tora2.ndll
${PLIST.mysql}lib/neko/mysql.ndll
${PLIST.mysql}lib/neko/mysql5.ndll
lib/neko/nekoml.std
${PLIST.regexp}lib/neko/regexp.ndll
${PLIST.sqlite}lib/neko/sqlite.ndll
${PLIST.ssl}lib/neko/ssl.ndll
lib/neko/std.ndll
${PLIST.ui}lib/neko/ui.ndll
lib/neko/zlib.ndll
# $NetBSD: buildlink3.mk,v 1.1 2020/03/24 13:23:46 nia Exp $
BUILDLINK_TREE+= neko
.if !defined(NEKO_BUILDLINK3_MK)
NEKO_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.neko+= neko>=2.3.0
BUILDLINK_PKGSRCDIR.neko?= ../../mywip/neko
.endif # NEKO_BUILDLINK3_MK
BUILDLINK_TREE+= -neko
$NetBSD: distinfo,v 1.1 2020/03/24 13:23:46 nia Exp $
SHA1 (neko-2.3.0.tar.gz) = 50dfc92c61361c7559023c69ce6308cbd02c2c58
RMD160 (neko-2.3.0.tar.gz) = b25103c19e167417ab9e307b1d921fd33953585e
SHA512 (neko-2.3.0.tar.gz) = fec51bed0c5500561635656c7456f3da0599aa6a47a25efe739b3c51f9cdded4a8824ed14ab67bab0905d9082cf6f06b3a76c868cb1b61d440957bcd9fd3f3d2
Size (neko-2.3.0.tar.gz) = 514044 bytes
SHA1 (patch-CMakeLists.txt) = 6092f61c14036285653c756cfc89bac13e2e31e8
SHA1 (patch-libs_std_sys.c) = a4fd0296d8716ced3e62b041ffa3caf44278bd73
# $NetBSD: options.mk,v 1.1 2020/03/24 13:23:46 nia Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.neko
PKG_SUPPORTED_OPTIONS= apache mysql pcre sqlite ssl gtk2
PKG_SUGGESTED_OPTIONS= apache mysql pcre sqlite ssl
.include "../../mk/bsd.options.mk"
PLIST_VARS+= apache
.if !empty(PKG_OPTIONS:Mapache)
CMAKE_ARGS+= -DWITH_APACHE=ON
.include "../../www/apache24/buildlink3.mk"
PLIST.apache= yes
.else
CMAKE_ARGS+= -DWITH_APACHE=OFF
.endif
PLIST_VARS+= mysql
.if !empty(PKG_OPTIONS:Mmysql)
CMAKE_ARGS+= -DWITH_MYSQL=ON
.include "../../mk/mysql.buildlink3.mk"
PLIST.mysql= yes
.else
CMAKE_ARGS+= -DWITH_MYSQL=OFF
.endif
PLIST_VARS+= regexp
.if !empty(PKG_OPTIONS:Mpcre)
CMAKE_ARGS+= -DWITH_REGEXP=ON
.include "../../devel/pcre/buildlink3.mk"
PLIST.regexp= yes
.else
CMAKE_ARGS+= -DWITH_REGEXP=OFF
.endif
PLIST_VARS+= sqlite
.if !empty(PKG_OPTIONS:Msqlite)
CMAKE_ARGS+= -DWITH_SQLITE=ON
.include "../../databases/sqlite3/buildlink3.mk"
PLIST.sqlite= yes
.else
CMAKE_ARGS+= -DWITH_SQLITE=OFF
.endif
PLIST_VARS+= ssl
.if !empty(PKG_OPTIONS:Mssl)
CMAKE_ARGS+= -DWITH_SSL=ON
.include "../../security/mbedtls/buildlink3.mk"
PLIST.ssl= yes
.else
CMAKE_ARGS+= -DWITH_SSL=OFF
.endif
PLIST_VARS+= ui
.if !empty(PKG_OPTIONS:Mgtk2)
CMAKE_ARGS+= -DWITH_UI=ON
.include "../../x11/gtk2/buildlink3.mk"
PLIST.ui= yes
.else
CMAKE_ARGS+= -DWITH_UI=OFF
.endif
$NetBSD: patch-CMakeLists.txt,v 1.1 2020/03/24 13:23:46 nia Exp $
Specify additional systems which do not use libdl.
--- CMakeLists.txt.orig 2018-12-22 14:27:53.412791761 -0800
+++ CMakeLists.txt 2018-12-22 14:28:10.004843917 -0800
@@ -360,7 +360,7 @@
target_link_libraries(nekovm libneko)
if(UNIX)
- if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD")
set(DL_LIB "dl")
endif()
find_package(Threads)
$NetBSD: patch-libs_std_sys.c,v 1.1 2020/03/24 13:23:46 nia Exp $
Workaround no uselocale on netbsd. (there's setlocale, though)
--- libs/std/sys.c.orig 2017-12-19 06:38:08.000000000 +0000
+++ libs/std/sys.c
@@ -133,7 +133,7 @@ static value sys_sleep( value f ) {
<doc>Set the locale for LC_TIME, returns true on success</doc>
**/
static value set_time_locale( value l ) {
-#ifdef NEKO_POSIX
+#if defined(NEKO_POSIX) && !defined(__NetBSD__)
locale_t lc, old;
val_check(l,string);
lc = newlocale(LC_TIME_MASK,val_string(l),NULL);