diff --git a/dev-build/genie/additional-files/gmake.haiku/genie.make b/dev-build/genie/additional-files/gmake.haiku/genie.make index ad5d91dce..47924fb05 100644 --- a/dev-build/genie/additional-files/gmake.haiku/genie.make +++ b/dev-build/genie/additional-files/gmake.haiku/genie.make @@ -62,7 +62,7 @@ ifeq ($(config),release) LIBDEPS += LDDEPS += LDRESP = - LIBS += $(LDDEPS) -dll -lm + LIBS += $(LDDEPS) -lm EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CC) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) @@ -134,7 +134,7 @@ endif ifeq ($(config),debug) OBJDIR = obj/Debug - TARGETDIR = ../../bin/linux + TARGETDIR = ../../bin/haiku override TARGET = $(TARGETDIR)/genie DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_FILE_OFFSET_BITS=64 INCLUDES += -I"../../src/host/lua-5.3.0/src" @@ -149,7 +149,7 @@ ifeq ($(config),debug) LIBDEPS += LDDEPS += LDRESP = - LIBS += $(LDDEPS) -ldl -lm + LIBS += $(LDDEPS) -lm EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CC) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) diff --git a/dev-build/genie/genie-1190.recipe b/dev-build/genie/genie-1192.recipe similarity index 73% rename from dev-build/genie/genie-1190.recipe rename to dev-build/genie/genie-1192.recipe index a4c2d48b5..51c61a438 100644 --- a/dev-build/genie/genie-1190.recipe +++ b/dev-build/genie/genie-1192.recipe @@ -30,12 +30,12 @@ COPYRIGHT="2014-2018 Branimir Karadžić " LICENSE="BSD (3-clause)" REVISION="1" -commit_hash="5f5363f79fd0934dfd775af5c097703f0791923f" -SOURCE_URI="$HOMEPAGE/archive/$commit_hash.zip" -CHECKSUM_SHA256="ebc62188f3fb5530613eda2e9886bb06ad8af85028f892873c3df7e65e56bf91" -SOURCE_FILENAME="$commit_hash.zip" -SOURCE_DIR="GENie-$commit_hash" -PATCHES="allow-haiku-build.patch" +srcGitRev="8ebbdb42a0b2e08547465aa147c192b8d2c2d72c" +SOURCE_URI="https://github.com/bkaradzic/GENie/archive/$srcGitRev.zip" +CHECKSUM_SHA256="b28c3bc2698ba5d9ad4db1bc1b9e37dec98026c036d06f5b890076c552b6a5da" +SOURCE_DIR="GENie-$srcGitRev" +SOURCE_FILENAME="genie-$portVersion.zip" +PATCHES="genie-$portVersion.patch" ADDITIONAL_FILES="gmake.haiku" ARCHITECTURES="all !x86_gcc2" @@ -44,7 +44,6 @@ PROVIDES=" genie = $portVersion cmd:genie = $portVersion " - REQUIRES=" haiku " @@ -52,9 +51,9 @@ REQUIRES=" BUILD_REQUIRES=" haiku_devel " - BUILD_PREREQUIRES=" cmd:gcc + cmd:ld cmd:make cmd:install " @@ -68,8 +67,5 @@ BUILD() INSTALL() { mkdir -p $binDir - install bin/haiku/genie $binDir/genie - rm bin/haiku/genie - rm -d bin/haiku - rm -d bin + install -m 0755 bin/haiku/genie $binDir } diff --git a/dev-build/genie/patches/allow-haiku-build.patch b/dev-build/genie/patches/allow-haiku-build.patch deleted file mode 100644 index 6b2d29181..000000000 --- a/dev-build/genie/patches/allow-haiku-build.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 205c757a02136dea9679088c686f902febd9997d Mon Sep 17 00:00:00 2001 -From: nilFinx -Date: Sun, 12 Oct 2025 18:05:11 +0900 -Subject: [PATCH 2/2] Add Haiku build - ---- - makefile | 6 +++++- - src/host/premake.h | 3 +++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/makefile b/makefile -index f551fcf..d97884a 100644 ---- a/makefile -+++ b/makefile -@@ -4,7 +4,7 @@ - # - - UNAME := $(shell uname) --ifeq ($(UNAME),$(filter $(UNAME),Linux Darwin SunOS FreeBSD GNU/kFreeBSD NetBSD OpenBSD GNU)) -+ifeq ($(UNAME),$(filter $(UNAME),Linux Darwin SunOS FreeBSD GNU/kFreeBSD NetBSD OpenBSD GNU Haiku)) - ifeq ($(UNAME),$(filter $(UNAME),Darwin)) - OS=darwin - else -@@ -14,10 +14,14 @@ else - ifeq ($(UNAME),$(filter $(UNAME),FreeBSD GNU/kFreeBSD NetBSD OpenBSD)) - OS=bsd - else -+ifeq ($(UNAME),$(filter $(UNAME),Haiku)) -+OS=haiku -+else - OS=linux - endif - endif - endif -+endif - else - OS=windows - endif -diff --git a/src/host/premake.h b/src/host/premake.h -index f0782db..eb4a12b 100644 ---- a/src/host/premake.h -+++ b/src/host/premake.h -@@ -27,6 +27,9 @@ - #elif defined(__OS2__) - #define PLATFORM_OS2 (1) - #define PLATFORM_STRING "os2" -+#elif defined(__HAIKU__) -+#define PLATFORM_HAIKU (1) -+#define PLATFORM_STRING "haiku" - #else - #define PLATFORM_WINDOWS (1) - #define PLATFORM_STRING "windows" --- -2.51.0 - diff --git a/dev-build/genie/patches/genie-1192.patch b/dev-build/genie/patches/genie-1192.patch new file mode 100644 index 000000000..9c07e34fe --- /dev/null +++ b/dev-build/genie/patches/genie-1192.patch @@ -0,0 +1,106 @@ +diff --git a/makefile b/makefile +--- a/makefile ++++ b/makefile +@@ -4,7 +4,7 @@ + # + + UNAME := $(shell uname) +-ifeq ($(UNAME),$(filter $(UNAME),Linux Darwin SunOS FreeBSD GNU/kFreeBSD NetBSD OpenBSD GNU)) ++ifeq ($(UNAME),$(filter $(UNAME),Linux Darwin SunOS FreeBSD GNU/kFreeBSD NetBSD OpenBSD GNU Haiku)) + ifeq ($(UNAME),$(filter $(UNAME),Darwin)) + OS=darwin + else +@@ -14,10 +14,14 @@ else + ifeq ($(UNAME),$(filter $(UNAME),FreeBSD GNU/kFreeBSD NetBSD OpenBSD)) + OS=bsd + else ++ifeq ($(UNAME),$(filter $(UNAME),Haiku)) ++OS=haiku ++else + OS=linux + endif + endif + endif ++endif + else + OS=windows + endif +@@ -43,6 +47,7 @@ + $(SILENT) $(GENIE) --to=../build/$(PROJECT_TYPE).linux --os=linux $(PROJECT_TYPE) + $(SILENT) $(GENIE) --to=../build/$(PROJECT_TYPE).darwin --os=macosx --platform=universal32 $(PROJECT_TYPE) + $(SILENT) $(GENIE) --to=../build/$(PROJECT_TYPE).freebsd --os=bsd $(PROJECT_TYPE) ++ $(SILENT) $(GENIE) --to=../build/$(PROJECT_TYPE).haiku --os=haiku $(PROJECT_TYPE) + + rebuild: + $(SILENT) $(MAKE) -C build/$(PROJECT_TYPE).$(OS) clean all +diff --git a/scripts/genie.lua b/scripts/genie.lua +index 7e64ad9..b20f5c7 100644 +--- a/scripts/genie.lua ++++ b/scripts/genie.lua +@@ -86,6 +86,11 @@ + buildoptions { "-mmacosx-version-min=11.0" } + linkoptions { "-mmacosx-version-min=11.0" } + ++ configuration "haiku" ++ targetdir "../bin/haiku" ++ defines { "LUA_USE_POSIX", "LUA_USE_DLOPEN" } ++ links { "root" } ++ + configuration {} + + +diff --git a/scripts/release.lua b/scripts/release.lua +index f320091..15aa073 100644 +--- a/scripts/release.lua ++++ b/scripts/release.lua +@@ -40,6 +40,7 @@ function dorelease() + exec(_PREMAKE_COMMAND .. " /to=../build/gmake.windows /os=windows gmake") + exec(_PREMAKE_COMMAND .. " /to=../build/gmake.linux /os=linux gmake") + exec(_PREMAKE_COMMAND .. " /to=../build/gmake.darwin /os=macosx /platform=universal32 gmake") ++ exec(_PREMAKE_COMMAND .. " /to=../build/gmake.haiku /os=haiku gmake") + + print("") + print( "Finished.") +diff --git a/src/base/cmdline.lua b/src/base/cmdline.lua +index c3357b7..dcdc637 100644 +--- a/src/base/cmdline.lua ++++ b/src/base/cmdline.lua +@@ -57,6 +57,7 @@ + { "macosx", "Apple Mac OS X" }, + { "solaris", "Solaris" }, + { "windows", "Microsoft Windows" }, ++ { "haiku", "Haiku" }, + } + } + +diff --git a/src/base/os.lua b/src/base/os.lua +index ae88c0a..b2c1cfa 100644 +--- a/src/base/os.lua ++++ b/src/base/os.lua +@@ -66,6 +66,9 @@ + if os.is("macosx") then + formats = { "lib%s.dylib", "%s.dylib" } + path = os.getenv("DYLD_LIBRARY_PATH") ++ elseif os.is("haiku") then ++ formats = { "lib%s.so", "%s.so" } ++ path = os.getenv("LIBRARY_PATH") + else + formats = { "lib%s.so", "%s.so" } + path = os.getenv("LD_LIBRARY_PATH") or "" +diff --git a/src/host/premake.h b/src/host/premake.h +index f0782db..5a3a636 100644 +--- a/src/host/premake.h ++++ b/src/host/premake.h +@@ -27,6 +27,9 @@ + #elif defined(__OS2__) + #define PLATFORM_OS2 (1) + #define PLATFORM_STRING "os2" ++#elif defined(__HAIKU__) ++#define PLATFORM_HAIKU (1) ++#define PLATFORM_STRING "haiku" + #else + #define PLATFORM_WINDOWS (1) + #define PLATFORM_STRING "windows" +-- +2.21.0 +