diff --git a/dev-lang/eisl/Manifest b/dev-lang/eisl/Manifest new file mode 100644 index 0000000000000..475684b5a8409 --- /dev/null +++ b/dev-lang/eisl/Manifest @@ -0,0 +1 @@ +DIST eisl-2.50.tar.gz 1757697 BLAKE2B 83c68213522320c815d9c7930c58181adba6f7fd3387421b7c7de55aca0fb6cabd78f65543c71adb89408531ea59855aafcf5bafd466bf517626a49cd252641f SHA512 4865c09dbbc0db885af69ec5ef0a731e2f55455f296b343b1cb05d3233e1e18c397b3b0a21eb0a6a86f85f20bf4e62f5e968fdf3cab45f6b5e3e3f9ee27d5e80 diff --git a/dev-lang/eisl/eisl-2.50.ebuild b/dev-lang/eisl/eisl-2.50.ebuild new file mode 100644 index 0000000000000..fcc0fddcbb372 --- /dev/null +++ b/dev-lang/eisl/eisl-2.50.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Interpreter and compiler compatible for the ISLisp standard" +HOMEPAGE="https://github.com/sasagawa888/eisl/" +SRC_URI="https://github.com/sasagawa888/eisl/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="test" # Tests run cppcheck (and fail) + +DOCS=( README-ja.md README.md documents ) + +RDEPEND="sys-libs/ncurses:=" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}"/${P}-Makefile.patch ) + +src_compile() { + emake CC="$(tc-getCC)" clean all +} + +src_install() { + dobin edlis eisl + + einstalldocs +} diff --git a/dev-lang/eisl/files/eisl-2.50-Makefile.patch b/dev-lang/eisl/files/eisl-2.50-Makefile.patch new file mode 100644 index 0000000000000..3c30adff8fd2c --- /dev/null +++ b/dev-lang/eisl/files/eisl-2.50-Makefile.patch @@ -0,0 +1,33 @@ +--- a/makefile ++++ b/makefile +@@ -29,7 +29,7 @@ else + CURSES_LIBS := $(shell ncurses6-config --libs) + endif + endif +-CFLAGS := $(INCS) -Wall -Wextra -D_FORTIFY_SOURCE=2 $(CURSES_CFLAGS) -U_XOPEN_SOURCE -D_XOPEN_SOURCE=700 -Inana/src ++CFLAGS += $(INCS) -Wall -Wextra $(CURSES_CFLAGS) -U_XOPEN_SOURCE -D_XOPEN_SOURCE=700 -Inana/src + DFLAGS := --O3 --release --betterC + SRC_CII := cii/src/except.c cii/src/fmt.c cii/src/str.c cii/src/text.c + SRC_D := dextension.d disl.d +@@ -42,7 +42,7 @@ ifeq ($(DEBUG),1) + LDFLAGS := -fsanitize=undefined + endif + else +- CFLAGS += -O3 -flto -DNDEBUG=1 -DWITHOUT_NANA=1 ++ CFLAGS += -DNDEBUG=1 -DWITHOUT_NANA=1 + SRC_CII += cii/src/mem.c + endif + OBJ_CII := $(SRC_CII:.c=.o) +@@ -56,11 +56,10 @@ else + CFLAGS += -std=c17 + endif + ifneq ($(DEBUG),1) +- LDFLAGS += -flto + ifeq ($(OPSYS),macos) + LDFLAGS += -Wl,-S,-x + else +- LDFLAGS += -s ++ LDFLAGS += + endif + endif + PREFIX := /usr/local diff --git a/dev-lang/eisl/metadata.xml b/dev-lang/eisl/metadata.xml new file mode 100644 index 0000000000000..4351ebea821eb --- /dev/null +++ b/dev-lang/eisl/metadata.xml @@ -0,0 +1,18 @@ + + + + + + xgqt@gentoo.org + Maciej Barć + + + Easy-ISLisp(EISL) is an interpreter and compiler compatible with the ISLisp + standard. EISL was written by Kenichi Sasagawa + https://qiita.com/sym_num/items/793adfe118514668e5b0 + + + https://github.com/sasagawa888/eisl/issues + sasagawa888/eisl + +