Thursday, July 31, 2025

Re: new(ish) devel/sdl3

Things need to be simpler with libraries, flavours are a problem there. If you have people using ones of two versions of a library, when they write pets for things depending on that library, they'll end up with wrong WANTLIB.

-- 
  Sent from a phone, apologies for poor formatting.


On 1 August 2025 01:33:59 yaydn@protonmail.com wrote:

På fredag 1. august 2025 kl. 01:44, <yaydn@protonmail.com> skrev:

På torsdag 31. juli 2025 kl. 19:18, Omar Polo
op@omarpolo.com skrev:

Stuart Henderson stu@spacehopper.org wrote:

On 2025/07/31 17:46, Omar Polo wrote:

Hello,

This is thfr' devel/sdl3 port but with the version bumped.

I need it for updating games/taisei. I can testify that it works :)

I think it's ok to import this, but be prepared to deal with any SDL 2
ports which might start picking it up. I think I've disabled that in
something before but there may be others.

Ideally test with a 'mini bulk' with this already installed and
run port-lib-depends-check first, though I appreciate there a quite a
lot of ports, it might at least be worth doing a sample (perhaps the
more recently updated ones?).

I usually construct a list from grep [...] ports-INDEX | cut -d\| -f2,
edit then point SUBDIRLIST at it, e.g. something along these lines

cd /usr/ports
SUBDIRLIST=/path/to/list make prepare FETCH_PACKAGES=
SUBDIRLIST=/path/to/list make package REPORT_PROBLEM=/usr/bin/true
SUBDIRLIST=/path/to/list make port-lib-depends-check REPORT_PROBLEM=/usr/bin/true

(setting REPORT_PROBLEM like this stops it from killing the build at
the first error)

oh, thank you for the tip! i'll try to make a list later and run a mini
bulk tonight. let's see how it goes :)



I built this successfully on current/amd64.

May I inquire if there is any technical reason for explicitly disabling
wayland?

Upstream has wayland and x11 enabled, so maybe this is to lower
dependencies? Can we have subpackages if that is the case?

I know some only use X11, others wayland only, and the general mix of
these and maybe arcan.

I suppose this could be done in a couple ways. Here is a non-exhaustive
list.

Case 1)
There is some reason for x11 only and no subpackages.

Case 2)
The main package with only X11 and a subpackage -wayland.

Case 3)
The main package with both wayland and X11 and a subpackage -x11only.



Example of Makefile with wayland not explicitly disabled and a x11only
flavor:



COMMENT = cross-platform multimedia library

V = 3.2.18
DISTNAME = SDL3-${V}
PKGNAME = ${DISTNAME:L}

SHARED_LIBS +=  SDL3                      0.0 # 3.2.18

CATEGORIES = devel
HOMEPAGE = https://libsdl.org/
MAINTAINER = Thomas Frohwein <thfr@openbsd.org>

# zlib
PERMIT_PACKAGE = Yes

WANTLIB += X11 Xcursor Xext Xfixes Xi Xrandr Xrender Xss iconv m pthread

SITES = https://github.com/libsdl-org/SDL/releases/download/release-${V}/

FLAVORS = x11only
FLAVOR ?=

MODULES = devel/cmake
MODCMAKE_LDFLAGS = -L${LOCALBASE}/lib -L${X11BASE}/lib -liconv

WANTLIB += X11 Xcursor Xext Xfixes Xi Xrandr Xrender Xss iconv m pthread

CONFIGURE_ARGS = -DSDL_ALSA=OFF \
  -DSDL_DBUS=OFF \
  -DSDL_HIDAPI=OFF \
  -DSDL_INSTALL=ON \
  -DSDL_JACK=OFF \
  -DSDL_LIBUDEV=OFF \
  -DSDL_PIPEWIRE=OFF \
  -DSDL_PULSEAUDIO=OFF \
  -DSDL_SNDIO_SHARED=OFF \
  -DSDL_TESTS=ON \
  -DSDL_VULKAN=ON \
  -DSDL_WAYLAND_SHARED=OFF \
  -DSDL_X11_SHARED=OFF

.if ${FLAVOR:Mx11only}
FULLPKGNAME=   sdl3-x11only-${V}

WANTLIB += sndio

LIB_DEPENDS = converters/libiconv

CONFIGURE_ARGS += -DSDL_WAYLAND=OFF \

.else
WANTLIB += sndio wayland-client wayland-cursor xkbcommon

BUILD_DEPENDS = wayland/libinput-openbsd \
  wayland/wayland-protocols

LIB_DEPENDS = converters/libiconv \
  wayland/wayland \
  x11/xkbcommon
.endif

CFLAGS += -I${LOCALBASE}/include -I${X11BASE}/include

.include <bsd.port.mk>

--

I had an erronious extra WANTLIB line.

Something like this, again apologizes, I am a novice. I am sorry if I missed something obvious and for the noise.


--

I think this could be done more elegantly, but I am a novice at cvs.

Thank you for your time.

--
Happy porting and well wishes

No comments:

Post a Comment