From 4f9f2c8bb0a272a02c4ac15433caf242b154610c Mon Sep 17 00:00:00 2001 From: Crestwave <35413013+Crestwave@users.noreply.github.com> Date: Sat, 18 May 2019 16:15:28 +0800 Subject: [PATCH] kona: new recipe (#3849) --- dev-lang/kona/kona-20190226.recipe | 60 +++++++++++++++++++++++ dev-lang/kona/licenses/ISC | 15 ++++++ dev-lang/kona/patches/kona-20190226.patch | 37 ++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 dev-lang/kona/kona-20190226.recipe create mode 100644 dev-lang/kona/licenses/ISC create mode 100644 dev-lang/kona/patches/kona-20190226.patch diff --git a/dev-lang/kona/kona-20190226.recipe b/dev-lang/kona/kona-20190226.recipe new file mode 100644 index 000000000..882ebbdfc --- /dev/null +++ b/dev-lang/kona/kona-20190226.recipe @@ -0,0 +1,60 @@ +SUMMARY="Open-source implementation of the K programming language" +DESCRIPTION="Kona is the open-source implementation of the k3 programming \ +language. k is a synthesis of APL and LISP. Although many of the capabilities \ +come from APL, the fundamental data construct is quite different. In APL the \ +construct is a multi-dimensional matrix-like array, where the dimension of \ +the array can range from 0 to some maximum (often 9). In k, like LISP, the \ +fundamental data construct is a list. Also, like LISP, the k language is \ +ASCII-based, so you don't need a special keyboard." +HOMEPAGE="https://kona.github.io/" +COPYRIGHT="2009-2015 Kevin Lawler" +LICENSE="ISC" +REVISION="1" +SOURCE_URI="https://github.com/kevinlawler/kona/archive/Win64-$portVersion.tar.gz" +CHECKSUM_SHA256="26cfebd47a3ae60753fc8a910132f45cad58381155255fbac2129e4507fef403" +SOURCE_DIR="kona-Win64-$portVersion" +SOURCE_FILENAME="kona-$portVersion.tar.gz" +PATCHES="kona-$portVersion.patch" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then +SECONDARY_ARCHITECTURES="x86" +commandBinDir=$prefix/bin +fi + +PROVIDES=" + kona$secondaryArchSuffix = $portVersion + cmd:k + " +REQUIRES=" + haiku$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:make + " + +defineDebugInfoPackage kona$secondaryArchSuffix \ + $commandBinDir/k + +BUILD() +{ + make $jobArgs +} + +INSTALL() +{ + install -m 755 -d "$commandBinDir" "$docDir" + install -m 755 k "$commandBinDir" + install -m 644 README.md "$docDir" +} + +TEST() +{ + ./k_test bench/sum.k +} diff --git a/dev-lang/kona/licenses/ISC b/dev-lang/kona/licenses/ISC new file mode 100644 index 000000000..adcb0f82d --- /dev/null +++ b/dev-lang/kona/licenses/ISC @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2009-2015, Kevin Lawler + +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. diff --git a/dev-lang/kona/patches/kona-20190226.patch b/dev-lang/kona/patches/kona-20190226.patch new file mode 100644 index 000000000..39566f098 --- /dev/null +++ b/dev-lang/kona/patches/kona-20190226.patch @@ -0,0 +1,37 @@ +--- a/Makefile ++++ b/Makefile +@@ -86,6 +86,13 @@ LDFLAGS += -lsocket + PRODFLAGS += -fast + endif + ++ifeq (haiku,$(OS)) ++OBJS= src/0.o src/bswap.o src/c.o src/getline.o src/mt.o src/p.o src/r.o \ ++ src/k.o src/kc.o src/kx.o src/kg.o src/km.o src/kn.o src/ko.o src/ks.o \ ++ src/v.o src/va.o src/vc.o src/vd.o src/vf.o src/vg.o src/vq.o ++LDFLAGS = -lm -lnetwork ++endif ++ + # k_test versions of OBJS + OBJS_T= $(shell echo ${OBJS} | sed -e "s/\.o/.t.o/g") + +@@ -167,6 +174,10 @@ ifeq (sunos,$(OS)) + src/*.o: src/incs.h src/ts.h Makefile src/k.h + endif + ++ifeq (haiku,$(OS)) ++src/*.o: src/incs.h src/ts.h Makefile src/k.h ++endif ++ + src/0.c: src/0.h src/km.h src/v.h src/vf.h + src/c.c: src/c.h + src/getline.c: src/0.h src/getline.h +--- a/src/k.h ++++ b/src/k.h +@@ -1,3 +1,7 @@ ++#if !defined(WIN32) ++#include ++#endif ++ + ; + extern K KFIXED; + K cd(K a);