summaryrefslogtreecommitdiff
path: root/dev-lang/fuzion
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/fuzion')
-rw-r--r--dev-lang/fuzion/Manifest3
-rw-r--r--dev-lang/fuzion/files/fuzion-0.092-Makefile.patch28
-rw-r--r--dev-lang/fuzion/fuzion-0.092.ebuild96
3 files changed, 127 insertions, 0 deletions
diff --git a/dev-lang/fuzion/Manifest b/dev-lang/fuzion/Manifest
index a1f5d963e67c..b85ca86cefd1 100644
--- a/dev-lang/fuzion/Manifest
+++ b/dev-lang/fuzion/Manifest
@@ -1,3 +1,6 @@
+AUX fuzion-0.092-Makefile.patch 946 BLAKE2B e538c19d6e902c8ee18ffa377b01ebd73f85459b7c70af6535530620e66c0d958bafb72d128a56a2399f0a9c27bc8a8f74fb1968051ab8324a8ac10215908ee6 SHA512 e200cf6001fd9ed06ebe59a402a707ab1456ebe5c4d7c43cf8cafa0ac0aa8d6b05b7ee480a2fd1f74ab810208be8f75596bdbad2f5d439e03b630721cc99fcd3
DIST fuzion-0.090.tar.gz 1271502 BLAKE2B 88d97759fb1213cdb2a428b6fdb4b3f2a662295530a07765b10b1308608d63d8e75ca001d10f07d92a05c0e6c8d6df491edc9f8a981727255df8cba5ca0f4ca7 SHA512 4f49c2673bfa36321688ce7b5d26f74b57b84b1b95dc5e67c9c3c526a92e6cdd6fc7777e3814117982b29198e5de500250000fa58387d91085f602fe037cf948
+DIST fuzion-0.092.gh.tar.gz 1385098 BLAKE2B 627bb676ccf1a26630c390d6539290591f2949683a2fb8ebd1c70922417a099371785584aa16879a4a67d7e54324722e44e1dbd1fd6f7404670873b82a6d01be SHA512 aae9c57b121275a07fa819d8ce84efb26f6068460f907353b1f3c1b9f15c844a943ff7f8db5707f6609d6b9f4f3833616e765e025da7732b5285f0a764400be5
EBUILD fuzion-0.090.ebuild 1676 BLAKE2B dce26c72918b719d3f27bb6195dd6bbc96694c4e6fde098a6f2f59586d502bcb0f9ab31dc0d30e8ecf39d4c00cd2bc940f0f2a24759859914d437c645833e91d SHA512 f419e32143532c316e8f75efaa9788c0bac800fa2763d229675628d96c37c0c1c71eaf023f581fc0c1f46cd3835106658c581cfd5f3c8c6b0fd555eec8b29254
+EBUILD fuzion-0.092.ebuild 1882 BLAKE2B 8014e5bc9b3c2b77efcf6d2d6c00181870cbe9dbb1503549042cc25b71b6308b6ccc08a2837e492f0c2d6c13bf84603fdd3214083cda046123307a57ea9058b7 SHA512 c6a68196a8aa4b867c7afde07074f67ef1477befbce170238508ca3977040410f88c9702f6a0f440d6a9072cde3b66a7c072618feff2b7aeb354f5fe9351c4f8
MISC metadata.xml 690 BLAKE2B d4e29609d56e8784a8653d928595ee20f096c9a1e408afda2fab5a79c1be188769b84e7b69a6e0b8d5004f9c648c75ee634f2c25d8422d04b0c621079de12b92 SHA512 df41bd000885fea2428ce7c6c675c3a8c50f450902311bf36b8fc9b6ede41f6c4b070eb3c1b77dae70aa63fe13fa9c0b13f28a1481f70df0fd2d29d1c41579d2
diff --git a/dev-lang/fuzion/files/fuzion-0.092-Makefile.patch b/dev-lang/fuzion/files/fuzion-0.092-Makefile.patch
new file mode 100644
index 000000000000..c64e53cd7358
--- /dev/null
+++ b/dev-lang/fuzion/files/fuzion-0.092-Makefile.patch
@@ -0,0 +1,28 @@
+--- a/Makefile
++++ b/Makefile
+@@ -35,6 +35,9 @@ FZJAVA = $(BUILD_DIR)/bin/fzjava
+ CLASSES_DIR = $(BUILD_DIR)/classes
+ CLASSES_DIR_LOGO = $(BUILD_DIR)/classes_logo
+ FUZION_BIN_SH = /bin/sh
++CC :=
++CFLAGS :=
++LDFLAGS :=
+
+ ifeq ($(FUZION_DEBUG_SYMBOLS),true)
+ JAVAC += -g
+@@ -1438,11 +1441,12 @@ ifeq ($(OS),Windows_NT)
+ -lMswsock -lAdvApi32 -lWs2_32
+ touch $(FUZION_RT)
+ else
+- clang -Wall -Werror -O3 -shared -fPIC \
++ $(CC) -Wall -Werror -shared -fPIC \
+ -DFUZION_ENABLE_THREADS \
+- -fno-trigraphs -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 \
++ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 \
++ $(CFLAGS) $(LDFLAGS) \
+ $(BUILD_DIR)/include/posix.c $(BUILD_DIR)/include/shared.c -o $(BUILD_DIR)/lib/libfuzion.so
+- cp $(BUILD_DIR)/lib/libfuzion.so $(BUILD_DIR)/lib/libfuzion.dylib
++# cp $(BUILD_DIR)/lib/libfuzion.so $(BUILD_DIR)/lib/libfuzion.dylib
+ touch $(FUZION_RT)
+ endif
+ # NYI: eventuall link libgc
diff --git a/dev-lang/fuzion/fuzion-0.092.ebuild b/dev-lang/fuzion/fuzion-0.092.ebuild
new file mode 100644
index 000000000000..68a61542736b
--- /dev/null
+++ b/dev-lang/fuzion/fuzion-0.092.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2 toolchain-funcs
+
+DESCRIPTION="A language with a focus on simplicity, safety and correctness"
+HOMEPAGE="https://fuzion-lang.dev/
+ https://github.com/tokiwa-software/fuzion/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/tokiwa-software/${PN}"
+else
+ SRC_URI="https://github.com/tokiwa-software/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=virtual/jre-21:*
+ dev-libs/boehm-gc
+"
+DEPEND="
+ virtual/jdk:21
+"
+BDEPEND="
+ test? (
+ llvm-core/clang:*
+ )
+"
+
+PATCHES=( "${FILESDIR}/fuzion-0.092-Makefile.patch" )
+DOCS=( README.md release_notes.md )
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+
+ # Remove bad tests.
+ local -a bad_tests=(
+ catch_postcondition
+ nom
+ onesCount
+ process
+ )
+ local bad_test=""
+ for bad_test in "${bad_tests[@]}" ; do
+ rm -r "${S}/tests/${bad_test}" \
+ || die "failed to remove test ${bad_tests}"
+ done
+
+ rm -rf "${S}/tests/"{compile_,reg_issue,mod_,sockets}* || die
+}
+
+src_compile() {
+ emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_test() {
+ emake -j1 run_tests_jvm
+}
+
+src_install() {
+ # Remove unnecessary files from build directory. bug #893450
+ local toremove=""
+ local toremove_path=""
+ for toremove in tests run_tests.{failures,results} ; do
+ toremove_path="${S}/build/${toremove}"
+
+ if [[ -e "${toremove_path}" ]] ; then
+ rm -r "${toremove_path}" \
+ || die "failed to remove ${toremove_path}"
+ fi
+ done
+
+ insinto "/usr/share/${PN}"
+ doins -r build/.
+ insopts -m755
+ doins -r build/bin
+
+ local exe=""
+ for exe in fz fzjava ; do
+ dosym -r "/usr/share/${PN}/bin/${exe}" "/usr/bin/${exe}"
+ done
+
+ einstalldocs
+}