Thursday, December 30, 2021

Re: update games/irrlamb (was: Re: update devel/bullet)

Pascal Stumpf <pascal@stumpf.co> writes:

> Here's an update for games/irrlamb, which now no longer uses
> devel/bullet. It has an internal copy of Irrlicht, but working around
> this to use the version from ports seems to not create any issues.

Thanks!

I tried to update it but failed, was plaining to give it another shot in
January.

the diff looks fine and irrlamb works fine, i've played it for about
half an hour and there's nothing to report, all usual checks are ok too.

just one minor nit below

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/irrlamb/Makefile,v
> retrieving revision 1.12
> diff -u -p -r1.12 Makefile
> --- Makefile 12 Jul 2019 20:46:19 -0000 1.12
> +++ Makefile 30 Dec 2021 15:36:07 -0000
> @@ -1,43 +1,42 @@
> # $OpenBSD: Makefile,v 1.12 2019/07/12 20:46:19 sthen Exp $
>
> -V = 0.2.1
> +V = 1.0.1
> COMMENT = third person, 3D physics game
> -DISTNAME = irrlamb-$V-src
> +DISTNAME = irrlamb-$Vr613-src
> PKGNAME = irrlamb-$V
> CATEGORIES = games x11
> -REVISION = 2
>
> # GPLv3+
> PERMIT_PACKAGE = Yes
>
> -WANTLIB += BulletCollision BulletDynamics BulletSoftBody Irrlicht
> -WANTLIB += X11 Xext Xrandr Xxf86vm freetype ogg sqlite3 vorbis
> -WANTLIB += LinearMath c m openal vorbisfile
> -WANTLIB += ${COMPILER_LIBCXX} ${MODLUA_WANTLIB}
> +WANTLIB += ${COMPILER_LIBCXX} GL GLU Irrlicht X11 Xext Xrandr
> +WANTLIB += Xxf86vm c freetype jpeg m ogg openal png sqlite3 vorbis
> +WANTLIB += vorbisfile z
>
> MASTER_SITES = https://github.com/jazztickets/irrlamb/releases/download/v$V/
>
> -MODULES = devel/cmake \
> - lang/lua
> -MODLUA_VERSION = 5.3
> +MODULES = devel/cmake
>
> COMPILER = base-clang ports-gcc
>
> LIB_DEPENDS = audio/libvorbis \
> audio/openal \
> databases/sqlite3 \
> - devel/bullet \
> x11/irrlicht
>
> RUN_DEPENDS = devel/desktop-file-utils
>
> -WRKDIST = ${WRKDIR}/irrlamb-$V
> +WRKDIST = ${WRKDIR}/irrlamb-$Vr613
>
> NO_TEST = Yes
>
> +post-extract:
> + rm -rf ${WRKSRC}/src/irrlicht
> +
> post-patch:
> sed -i -e "s,games/,,g" ${WRKSRC}/CMakeLists.txt \
> ${WRKSRC}/deployment/irrlamb
> sed -i -e "s,games,bin,g" ${WRKSRC}/CMakeLists.txt

this bit makes the second half of patch-CMakeLists_txt redundant. I
think we should either remove it and keep the patch (but still
substitute in deployment/irrlamb!) or viceversa.

> [...]
> Index: patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-CMakeLists_txt
> diff -N patches/patch-CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-CMakeLists_txt 30 Dec 2021 15:36:07 -0000
> @@ -0,0 +1,55 @@
> +$OpenBSD$
> +
> +Index: CMakeLists.txt
> +--- CMakeLists.txt.orig
> ++++ CMakeLists.txt
> +@@ -29,7 +29,6 @@ if(WIN32)
> + elseif(UNIX)
> + add_definitions(-DPLATFORM=0)
> + add_definitions(-DLUA_USE_LINUX)
> +- set(EXTRA_LIBS ${EXTRA_LIBS} dl)
> + endif()
> +
> + # compiler flags
> +@@ -72,7 +71,7 @@ find_package(Threads REQUIRED)
> +
> + # include paths
> + include_directories("src")
> +-include_directories("src/irrlicht/include")
> ++include_directories("${LOCALBASE}/include/irrlicht")
> + include_directories("src/OPCODE")
> + include_directories("src/libccd")
> + include_directories("src/libccd/custom")
> +@@ -98,6 +97,7 @@ add_executable(${CMAKE_PROJECT_NAME} ${SRC_ALL})
> +
> + # link libraries
> + target_link_libraries(${CMAKE_PROJECT_NAME}
> ++ Irrlicht
> + ${OPENGL_LIBRARIES}
> + ${FREETYPE_LIBRARIES}
> + ${OPENAL_LIBRARY}
> +@@ -115,15 +115,15 @@ if(WIN32)
> + else()
> +
> + # linux installation
> +- install(TARGETS ${CMAKE_PROJECT_NAME} RUNTIME DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/fonts DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/levels DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/meshes DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/scripts DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/shaders DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/sounds DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/textures DESTINATION share/games/${CMAKE_PROJECT_NAME})
> +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/ui DESTINATION share/games/${CMAKE_PROJECT_NAME})
> ++ install(TARGETS ${CMAKE_PROJECT_NAME} RUNTIME DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/fonts DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/levels DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/meshes DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/scripts DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/shaders DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/sounds DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/textures DESTINATION share/${CMAKE_PROJECT_NAME})
> ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/working/ui DESTINATION share/${CMAKE_PROJECT_NAME})
> + install(FILES ${PROJECT_SOURCE_DIR}/deployment/irrlamb.png DESTINATION share/pixmaps)
> + install(FILES ${PROJECT_SOURCE_DIR}/deployment/irrlamb.desktop DESTINATION share/applications)
> + install(FILES ${PROJECT_SOURCE_DIR}/CHANGELOG DESTINATION share/doc/${CMAKE_PROJECT_NAME})

^^^ I mean this chunk

No comments:

Post a Comment