On 2023/01/01 21:32, Thomas Frohwein wrote: > Hi, > > This is an updated version of my original submission a year ago [1]. > I'm keeping it shorter this time - this does the same as the recently > committed libcsteamworks [2] for hashlink. This replaces the stub > library that is part of steamworks-nosteam. Net benefit is improved > support and maintainability of keeping the following indie games > runnable on OpenBSD: Dead Cells, Northgard, Dice Tribes: Ambitions, > Nuclear Blaze, Evoland Legendary Edition, Voidrun, possibly future > titles. > > ok to import? > > [1] https://marc.info/?l=openbsd-ports&m=163554939711525&w=2 > [2] https://marc.info/?l=openbsd-ports&m=166753024405818&w=2
Diff on top; this moves from using SUBST_CMD on Makefile to passing in variables, and uses c++ instead of cc to compile/link which fixes the recorded deps. If this still works for you (I have only tested building not runtime) then OK sthen@ diff --git games/hlsteam/Makefile games/hlsteam/Makefile index 2d08b83..505ca5a 100644 --- games/hlsteam/Makefile +++ games/hlsteam/Makefile @@ -10,21 +10,21 @@ MAINTAINER = Thomas Frohwein <t...@openbsd.org> # MIT PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} hl steam_api + +WANTLIB += ${COMPILER_LIBCXX} hl m steam_api FIX_CRLF_FILES = Makefile native/gameserver.cpp -# uses libc++ COMPILER = base-clang ports-gcc LIB_DEPENDS = games/goldberg_emulator \ lang/hashlink USE_GMAKE = Yes NO_TEST = Yes -SUBST_VARS += CFLAGS LDFLAGS -CFLAGS += -I${LOCALBASE}/include/goldberg_emulator -do-gen: - ${SUBST_CMD} ${WRKSRC}/Makefile +MAKE_ENV = LDFLAGS="-L${LOCALBASE}/lib" \ + CXX="${CXX}" +CFLAGS += -I${LOCALBASE}/include \ + -I${LOCALBASE}/include/goldberg_emulator do-install: ${INSTALL_DATA} ${WRKSRC}/steam.hdll ${PREFIX}/lib/ diff --git games/hlsteam/patches/patch-Makefile games/hlsteam/patches/patch-Makefile index 788e608..6c03fd3 100644 --- games/hlsteam/patches/patch-Makefile +++ games/hlsteam/patches/patch-Makefile @@ -1,49 +1,37 @@ -honor CFLAGS, LDFLAGS, and LOCALBASE -use parentheses to not clash with SUBST_CMD - Index: Makefile --- Makefile.orig +++ Makefile -@@ -1,30 +1,11 @@ --LBITS := $(shell getconf LONG_BIT) -+CFLAGS = ${CFLAGS} -Wall -I src -I native/include -fPIC -I ../sdk/public -I${LOCALBASE}/include -+LFLAGS = ${LDFLAGS} -lhl -lsteam_api -lstdc++ -L${LOCALBASE}/lib +@@ -2,7 +2,7 @@ LBITS := $(shell getconf LONG_BIT) + + UNAME := $(shell uname) --UNAME := $(shell uname) -- -CFLAGS = -Wall -O3 -I src -I native/include -fPIC -I ../sdk/public -- --ifndef ARCH -- ARCH = $(LBITS) --endif -- --LIBARCH=$(ARCH) --ifeq ($(UNAME),Darwin) --OS=osx --# universal lib in osx32 dir --LIBARCH=32 --else --OS=linux --CFLAGS += -std=c++0x --endif -- ++CFLAGS += -Wall -I src -I native/include -fPIC -I ../sdk/public + + ifndef ARCH + ARCH = $(LBITS) +@@ -18,13 +18,13 @@ OS=linux + CFLAGS += -std=c++0x + endif + -LFLAGS = -lhl -lsteam_api -lstdc++ -L native/lib/$(OS)$(LIBARCH) -L ../sdk/redistributable_bin/$(OS)$(ARCH) -- ++LFLAGS = ${LDFLAGS} -lhl -lsteam_api + SRC = native/cloud.o native/common.o native/controller.o native/friends.o native/gameserver.o \ native/matchmaking.o native/networking.o native/stats.o native/ugc.o all: ${SRC} - ${CC} ${CFLAGS} -shared -o steam.hdll ${SRC} ${LFLAGS} -+ $(CC) $(CFLAGS) -shared -o steam.hdll ${SRC} $(LFLAGS) ++ ${CXX} ${CFLAGS} -shared -o steam.hdll ${SRC} ${LFLAGS} install: cp steam.hdll /usr/lib -@@ -33,7 +14,7 @@ install: +@@ -33,7 +33,7 @@ install: .SUFFIXES : .cpp .o .cpp.o : - ${CC} ${CFLAGS} -o $@ -c $< -+ $(CC) $(CFLAGS) -o $@ -c $< ++ ${CXX} ${CFLAGS} -o $@ -c $< clean_o: rm -f ${SRC}