pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel



Module Name:    pkgsrc
Committed By:   nia
Date:           Thu Apr 10 16:47:53 UTC 2025

Modified Files:
        pkgsrc/devel: Makefile
Added Files:
        pkgsrc/devel/SDL3: DESCR Makefile PLIST buildlink3.mk distinfo
            options.mk
        pkgsrc/devel/SDL3/patches: patch-CMakeLists.txt

Log Message:
SDL3: initial import of SDL3

Simple DirectMedia Layer (SDL for short) is a cross-platform library
designed to make it easy to write multi-media software, such as games
and emulators.

drecklypkg ci confirms this builds on: FreeBSD, NetBSD, Linux (modern &
retro), macOS, illumos


To generate a diff of this commit:
cvs rdiff -u -r1.4459 -r1.4460 pkgsrc/devel/Makefile
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/SDL3/DESCR pkgsrc/devel/SDL3/Makefile \
    pkgsrc/devel/SDL3/PLIST pkgsrc/devel/SDL3/buildlink3.mk \
    pkgsrc/devel/SDL3/distinfo pkgsrc/devel/SDL3/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/SDL3/patches/patch-CMakeLists.txt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/Makefile
diff -u pkgsrc/devel/Makefile:1.4459 pkgsrc/devel/Makefile:1.4460
--- pkgsrc/devel/Makefile:1.4459        Sat Apr  5 20:06:05 2025
+++ pkgsrc/devel/Makefile       Thu Apr 10 16:47:52 2025
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4459 2025/04/05 20:06:05 gdt Exp $
+# $NetBSD: Makefile,v 1.4460 2025/04/10 16:47:52 nia Exp $
 #
 
 COMMENT=       Development utilities
@@ -112,6 +112,7 @@ SUBDIR+=    SDL
 SUBDIR+=       SDL2
 SUBDIR+=       SDL2-legacy-darwin
 SUBDIR+=       SDL2_Pango
+SUBDIR+=       SDL3
 SUBDIR+=       SDL_Pango
 SUBDIR+=       SDL_gfx
 SUBDIR+=       SDL_ttf

Added files:

Index: pkgsrc/devel/SDL3/DESCR
diff -u /dev/null pkgsrc/devel/SDL3/DESCR:1.1
--- /dev/null   Thu Apr 10 16:47:53 2025
+++ pkgsrc/devel/SDL3/DESCR     Thu Apr 10 16:47:52 2025
@@ -0,0 +1,3 @@
+Simple DirectMedia Layer (SDL for short) is a cross-platform library
+designed to make it easy to write multi-media software, such as games
+and emulators.
Index: pkgsrc/devel/SDL3/Makefile
diff -u /dev/null pkgsrc/devel/SDL3/Makefile:1.1
--- /dev/null   Thu Apr 10 16:47:53 2025
+++ pkgsrc/devel/SDL3/Makefile  Thu Apr 10 16:47:52 2025
@@ -0,0 +1,40 @@
+# $NetBSD: Makefile,v 1.1 2025/04/10 16:47:52 nia Exp $
+
+DISTNAME=      SDL3-3.2.10
+CATEGORIES=    devel
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=libsdl-org/}
+GITHUB_PROJECT=        SDL
+GITHUB_RELEASE=        release-${PKGVERSION_NOREV}
+
+MAINTAINER=    nia%NetBSD.org@localhost
+HOMEPAGE=      https://www.libsdl.org/
+COMMENT=       Simple DirectMedia Layer - cross-platform multimedia library
+LICENSE=       zlib
+
+USE_TOOLS+=    pkg-config
+
+# do not load dependencies with dlopen
+CMAKE_CONFIGURE_ARGS+= -DSDL_DEPS_SHARED=OFF
+
+# potential future options, not supported currently
+CMAKE_CONFIGURE_ARGS+= -DSDL_IBUS=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_PIPEWIRE=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SNDIO=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_LIBUDEV=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_LIBURING=OFF
+
+.include "../../mk/oss.buildlink3.mk"
+
+# use native driver on NetBSD
+.if ${OSS_TYPE} != "none" && ${OPSYS} != "NetBSD"
+CMAKE_CONFIGURE_ARGS+= -DSDL_OSS=ON
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_OSS=OFF
+.endif
+
+.include "options.mk"
+.include "../../devel/cmake/build.mk"
+.include "../../converters/libiconv/buildlink3.mk"
+PTHREAD_OPTS?= require
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/devel/SDL3/PLIST
diff -u /dev/null pkgsrc/devel/SDL3/PLIST:1.1
--- /dev/null   Thu Apr 10 16:47:53 2025
+++ pkgsrc/devel/SDL3/PLIST     Thu Apr 10 16:47:52 2025
@@ -0,0 +1,99 @@
+@comment $NetBSD: PLIST,v 1.1 2025/04/10 16:47:52 nia Exp $
+include/SDL3/SDL.h
+include/SDL3/SDL_assert.h
+include/SDL3/SDL_asyncio.h
+include/SDL3/SDL_atomic.h
+include/SDL3/SDL_audio.h
+include/SDL3/SDL_begin_code.h
+include/SDL3/SDL_bits.h
+include/SDL3/SDL_blendmode.h
+include/SDL3/SDL_camera.h
+include/SDL3/SDL_clipboard.h
+include/SDL3/SDL_close_code.h
+include/SDL3/SDL_copying.h
+include/SDL3/SDL_cpuinfo.h
+include/SDL3/SDL_dialog.h
+include/SDL3/SDL_egl.h
+include/SDL3/SDL_endian.h
+include/SDL3/SDL_error.h
+include/SDL3/SDL_events.h
+include/SDL3/SDL_filesystem.h
+include/SDL3/SDL_gamepad.h
+include/SDL3/SDL_gpu.h
+include/SDL3/SDL_guid.h
+include/SDL3/SDL_haptic.h
+include/SDL3/SDL_hidapi.h
+include/SDL3/SDL_hints.h
+include/SDL3/SDL_init.h
+include/SDL3/SDL_intrin.h
+include/SDL3/SDL_iostream.h
+include/SDL3/SDL_joystick.h
+include/SDL3/SDL_keyboard.h
+include/SDL3/SDL_keycode.h
+include/SDL3/SDL_loadso.h
+include/SDL3/SDL_locale.h
+include/SDL3/SDL_log.h
+include/SDL3/SDL_main.h
+include/SDL3/SDL_main_impl.h
+include/SDL3/SDL_messagebox.h
+include/SDL3/SDL_metal.h
+include/SDL3/SDL_misc.h
+include/SDL3/SDL_mouse.h
+include/SDL3/SDL_mutex.h
+include/SDL3/SDL_oldnames.h
+include/SDL3/SDL_opengl.h
+include/SDL3/SDL_opengl_glext.h
+include/SDL3/SDL_opengles.h
+include/SDL3/SDL_opengles2.h
+include/SDL3/SDL_opengles2_gl2.h
+include/SDL3/SDL_opengles2_gl2ext.h
+include/SDL3/SDL_opengles2_gl2platform.h
+include/SDL3/SDL_opengles2_khrplatform.h
+include/SDL3/SDL_pen.h
+include/SDL3/SDL_pixels.h
+include/SDL3/SDL_platform.h
+include/SDL3/SDL_platform_defines.h
+include/SDL3/SDL_power.h
+include/SDL3/SDL_process.h
+include/SDL3/SDL_properties.h
+include/SDL3/SDL_rect.h
+include/SDL3/SDL_render.h
+include/SDL3/SDL_revision.h
+include/SDL3/SDL_scancode.h
+include/SDL3/SDL_sensor.h
+include/SDL3/SDL_stdinc.h
+include/SDL3/SDL_storage.h
+include/SDL3/SDL_surface.h
+include/SDL3/SDL_system.h
+include/SDL3/SDL_test.h
+include/SDL3/SDL_test_assert.h
+include/SDL3/SDL_test_common.h
+include/SDL3/SDL_test_compare.h
+include/SDL3/SDL_test_crc32.h
+include/SDL3/SDL_test_font.h
+include/SDL3/SDL_test_fuzzer.h
+include/SDL3/SDL_test_harness.h
+include/SDL3/SDL_test_log.h
+include/SDL3/SDL_test_md5.h
+include/SDL3/SDL_test_memory.h
+include/SDL3/SDL_thread.h
+include/SDL3/SDL_time.h
+include/SDL3/SDL_timer.h
+include/SDL3/SDL_touch.h
+include/SDL3/SDL_tray.h
+include/SDL3/SDL_version.h
+include/SDL3/SDL_video.h
+include/SDL3/SDL_vulkan.h
+lib/cmake/SDL3/SDL3Config.cmake
+lib/cmake/SDL3/SDL3ConfigVersion.cmake
+lib/cmake/SDL3/SDL3headersTargets.cmake
+lib/cmake/SDL3/SDL3sharedTargets-relwithdebinfo.cmake
+lib/cmake/SDL3/SDL3sharedTargets.cmake
+lib/cmake/SDL3/SDL3testTargets-relwithdebinfo.cmake
+lib/cmake/SDL3/SDL3testTargets.cmake
+lib/libSDL3.so
+lib/libSDL3.so.0
+lib/libSDL3.so.0.2.10
+lib/libSDL3_test.a
+lib/pkgconfig/sdl3.pc
+share/licenses/SDL3/LICENSE.txt
Index: pkgsrc/devel/SDL3/buildlink3.mk
diff -u /dev/null pkgsrc/devel/SDL3/buildlink3.mk:1.1
--- /dev/null   Thu Apr 10 16:47:53 2025
+++ pkgsrc/devel/SDL3/buildlink3.mk     Thu Apr 10 16:47:52 2025
@@ -0,0 +1,53 @@
+# $NetBSD: buildlink3.mk,v 1.1 2025/04/10 16:47:52 nia Exp $
+
+BUILDLINK_TREE+=       SDL3
+
+.if !defined(SDL3_BUILDLINK3_MK)
+SDL3_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.SDL3+=   SDL3>=3.0.0
+BUILDLINK_PKGSRCDIR.SDL3?=     ../../devel/SDL3
+BUILDLINK_INCDIRS.SDL3+=       include/SDL3
+
+pkgbase := SDL3
+.include "../../mk/pkg-build-options.mk"
+
+.if ${PKG_BUILD_OPTIONS.SDL3:Malsa}
+.  include "../../audio/alsa-lib/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.SDL3:Mjack}
+.  include "../../audio/jack/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.SDL3:Mpulseaudio}
+.  include "../../audio/pulseaudio/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.SDL3:Mopengl} && ${OPSYS} != "Darwin"
+.  include "../../graphics/MesaLib/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.SDL3:Mwayland}
+.  include "../../devel/wayland/buildlink3.mk"
+.  include "../../devel/wayland-protocols/buildlink3.mk"
+.  include "../../x11/libxkbcommon/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.SDL3:Mx11}
+.  include "../../x11/libXcursor/buildlink3.mk"
+.  include "../../x11/libXext/buildlink3.mk"
+.  include "../../x11/libXi/buildlink3.mk"
+.  include "../../x11/libXfixes/buildlink3.mk"
+.  include "../../x11/libXrandr/buildlink3.mk"
+.  include "../../x11/libXrender/buildlink3.mk"
+.  include "../../x11/libXScrnSaver/buildlink3.mk"
+.endif
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+
+.endif # SDL3_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -SDL3
Index: pkgsrc/devel/SDL3/distinfo
diff -u /dev/null pkgsrc/devel/SDL3/distinfo:1.1
--- /dev/null   Thu Apr 10 16:47:53 2025
+++ pkgsrc/devel/SDL3/distinfo  Thu Apr 10 16:47:52 2025
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2025/04/10 16:47:52 nia Exp $
+
+BLAKE2s (SDL3-3.2.10.tar.gz) = e8b9a18da7ac3d7766e89e50a9fbd90783d38184ab8b9dff9a875c191866593b
+SHA512 (SDL3-3.2.10.tar.gz) = e919749ded768ed15c2014efcacfb8ee6614d47727ceb45bbfd4248b36c3790640b4dcbd66de46e4f6870182e13d0d4ceb35da4eb064f9feabdde30ca6eae30d
+Size (SDL3-3.2.10.tar.gz) = 15876292 bytes
+SHA1 (patch-CMakeLists.txt) = 6187ae70c2c2fa8c5e36c93d9132ddd4c96657f6
Index: pkgsrc/devel/SDL3/options.mk
diff -u /dev/null pkgsrc/devel/SDL3/options.mk:1.1
--- /dev/null   Thu Apr 10 16:47:53 2025
+++ pkgsrc/devel/SDL3/options.mk        Thu Apr 10 16:47:52 2025
@@ -0,0 +1,133 @@
+# $NetBSD: options.mk,v 1.1 2025/04/10 16:47:52 nia Exp $
+
+PKG_OPTIONS_VAR=               PKG_OPTIONS.SDL3
+PKG_SUPPORTED_OPTIONS=         alsa dbus jack opengl libusb pulseaudio x11
+
+# other platforms use usbhid etc
+PKG_SUGGESTED_OPTIONS.Linux=   alsa libusb
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+PKG_SUPPORTED_OPTIONS+=                simd
+.endif
+
+.if ${OPSYS} != "Darwin"
+PKG_SUPPORTED_OPTIONS+=                libdrm
+PKG_SUGGESTED_OPTIONS+=                libdrm x11
+.endif
+
+.if ${MACHINE_ARCH} == "x86_64"
+PKG_SUGGESTED_OPTIONS+=                simd
+.endif
+
+.include "../../devel/wayland/platform.mk"
+
+.if ${PLATFORM_SUPPORTS_WAYLAND} == "yes"
+PKG_SUPPORTED_OPTIONS+=        wayland
+PKG_SUGGESTED_OPTIONS+=        wayland
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+CMAKE_CONFIGURE_ARGS+= -DSDL_ALSA=ON
+.  include "../../audio/alsa-lib/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_ALSA=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mdbus)
+CMAKE_CONFIGURE_ARGS+= -DSDL_DBUS=ON
+.  include "../../sysutils/dbus/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_DBUS=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mlibdrm)
+CMAKE_CONFIGURE_ARGS+= -DSDL_KMSDRM=ON
+.  include "../../x11/libdrm/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_KMSDRM=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mjack)
+CMAKE_CONFIGURE_ARGS+= -DSDL_JACK=ON
+.  include "../../audio/jack/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_JACK=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mlibusb)
+CMAKE_CONFIGURE_ARGS+= -DSDL_HIDAPI_LIBUSB=ON
+.  include "../../devel/libusb/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_HIDAPI_LIBUSB=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mopengl)
+CMAKE_CONFIGURE_ARGS+= -DSDL_OPENGL=ON
+.  if ${OPSYS} != "Darwin"
+.    include "../../graphics/MesaLib/buildlink3.mk"
+.  endif
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_OPENGL=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_OPENGLES=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mpulseaudio)
+CMAKE_CONFIGURE_ARGS+= -DSDL_PULSEAUDIO=ON
+.  include "../../audio/pulseaudio/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_PULSEAUDIO=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Msimd)
+# if not i386 use autodetection for compiler support
+.  if ${MACHINE_ARCH} == "i386"
+CFLAGS+=               -march=i686 -mmmx -msse -msse2
+CMAKE_CONFIGURE_ARGS+= -DSDL_AVX=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_AVX2=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_AVX512F=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_MMX=ON
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE=ON
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE=ON
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE2=ON
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE3=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE4_1=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE4_2=OFF
+.  endif
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_AVX=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_AVX2=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_AVX512F=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_MMX=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE2=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE3=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE4_1=OFF
+CMAKE_CONFIGURE_ARGS+= -DSDL_SSE4_2=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mwayland)
+CMAKE_CONFIGURE_ARGS+= -DSDL_WAYLAND=ON
+TOOL_DEPENDS+=         ${BUILDLINK_API_DEPENDS.wayland:=:../../devel/wayland}
+.  include "../../devel/wayland/buildlink3.mk"
+.  include "../../devel/wayland-protocols/buildlink3.mk"
+.  include "../../x11/libxkbcommon/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_WAYLAND=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mx11)
+CMAKE_CONFIGURE_ARGS+= -DSDL_X11=ON
+.  include "../../x11/libXcursor/buildlink3.mk"
+.  include "../../x11/libXext/buildlink3.mk"
+.  include "../../x11/libXi/buildlink3.mk"
+.  include "../../x11/libXfixes/buildlink3.mk"
+.  include "../../x11/libXrandr/buildlink3.mk"
+.  include "../../x11/libXrender/buildlink3.mk"
+.  include "../../x11/libXScrnSaver/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+= -DSDL_X11=OFF
+.endif

Index: pkgsrc/devel/SDL3/patches/patch-CMakeLists.txt
diff -u /dev/null pkgsrc/devel/SDL3/patches/patch-CMakeLists.txt:1.1
--- /dev/null   Thu Apr 10 16:47:53 2025
+++ pkgsrc/devel/SDL3/patches/patch-CMakeLists.txt      Thu Apr 10 16:47:53 2025
@@ -0,0 +1,34 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2025/04/10 16:47:53 nia Exp $
+
+- Disable precompiled headers with GCC, incompatible with -fPIC.
+- Treat FreeBSD like any other pkgsrc platform.
+
+--- CMakeLists.txt.orig        2025-03-31 20:12:19.000000000 +0000
++++ CMakeLists.txt
+@@ -3460,7 +3460,7 @@ if(SDL_SHARED)
+   set_property(TARGET SDL3-shared PROPERTY INTERFACE_SDL3_SHARED TRUE)
+   set_property(TARGET SDL3-shared APPEND PROPERTY COMPATIBLE_INTERFACE_STRING "SDL_VERSION")
+   set_property(TARGET SDL3-shared PROPERTY INTERFACE_SDL_VERSION "SDL${SDL3_VERSION_MAJOR}")
+-  if(NOT CMAKE_VERSION VERSION_LESS "3.16")
++  if(NOT CMAKE_VERSION VERSION_LESS "3.16" AND NOT USE_GCC)
+     target_precompile_headers(SDL3-shared PRIVATE "$<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:${PROJECT_SOURCE_DIR}/src/SDL_internal.h>")
+   endif()
+ endif()
+@@ -3484,7 +3484,7 @@ if(SDL_STATIC)
+   set_property(TARGET SDL3-static PROPERTY INTERFACE_SDL3_SHARED FALSE)
+   set_property(TARGET SDL3-static APPEND PROPERTY COMPATIBLE_INTERFACE_STRING "SDL_VERSION")
+   set_property(TARGET SDL3-static PROPERTY INTERFACE_SDL_VERSION "SDL${SDL3_VERSION_MAJOR}")
+-  if(NOT CMAKE_VERSION VERSION_LESS "3.16")
++  if(NOT CMAKE_VERSION VERSION_LESS "3.16" AND NOT USE_GCC)
+     target_precompile_headers(SDL3-static PRIVATE "$<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:${PROJECT_SOURCE_DIR}/src/SDL_internal.h>")
+   endif()
+ endif()
+@@ -3529,7 +3529,7 @@ else()
+ endif()
+ set(SDL_INSTALL_CMAKEDIR_ROOT "${SDL_INSTALL_CMAKEDIR_ROOT_DEFAULT}" CACHE STRING "Root folder where to install SDL3Config.cmake related files (SDL3 subfolder for MSVC projects)")
+ 
+-if(FREEBSD)
++if(FALSE)
+   # FreeBSD uses ${PREFIX}/libdata/pkgconfig
+   set(SDL_PKGCONFIG_INSTALLDIR "libdata/pkgconfig")
+ else()



Home | Main Index | Thread Index | Old Index