GENie: bump version + mild changes (#13098)

* bump version + mild changes

* Remove $secondaryArchSuffix and cmd:genie

* Bring back cmd:genie
This commit is contained in:
nilFinx
2025-11-25 01:21:29 +09:00
committed by GitHub
parent 358710d52f
commit 0093e8ba3c
4 changed files with 117 additions and 70 deletions

View File

@@ -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)

View File

@@ -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
}

View File

@@ -1,55 +0,0 @@
From 205c757a02136dea9679088c686f902febd9997d Mon Sep 17 00:00:00 2001
From: nilFinx <nulflox@disroot.org>
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

View File

@@ -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