Bug 282815 - [NEW PORT] games/xray-16: Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R.
Summary: [NEW PORT] games/xray-16: Improved version of the X-Ray Engine, the game en...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Vladimir Druzenko
URL: https://github.com/OpenXRay/xray-16/tags
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-17 16:12 UTC by Martin Filla
Modified: 2025-07-22 21:40 UTC (History)
2 users (show)

See Also:


Attachments
0001-xray-16-new-port-stalker-engine.patch (90.41 KB, patch)
2024-11-17 16:12 UTC, Martin Filla
no flags Details | Diff
0001-xray-16-new-port-stalker-engine.patch (90.41 KB, patch)
2024-11-17 16:15 UTC, Martin Filla
no flags Details | Diff
0001-xray-16-new-port-stalker-engine.patch (90.48 KB, patch)
2024-11-18 10:10 UTC, Martin Filla
no flags Details | Diff
/0001-xray-16-new-port.patch (90.52 KB, patch)
2025-06-28 22:13 UTC, Martin Filla
no flags Details | Diff
0001-xray-16-new-port.patch (90.42 KB, patch)
2025-07-15 17:43 UTC, Martin Filla
no flags Details | Diff
0001-xray-16-new-port.patch (88.85 KB, patch)
2025-07-22 13:31 UTC, Martin Filla
freebsd: maintainer-approval+
Details | Diff
0001-xray-16-new-port.patch (88.88 KB, patch)
2025-07-22 17:49 UTC, Martin Filla
freebsd: maintainer-approval+
Details | Diff
0001-xray-16-new-port.patch (88.88 KB, patch)
2025-07-22 18:09 UTC, Martin Filla
freebsd: maintainer-approval+
Details | Diff
0001-xray-16-new-port.patch (88.78 KB, patch)
2025-07-22 19:27 UTC, Martin Filla
freebsd: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Filla 2024-11-17 16:12:13 UTC
Created attachment 255237 [details]
0001-xray-16-new-port-stalker-engine.patch

Hi,
this new port. Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. I Tested in poudriere 14.1.

Updating database digests format: .......... done
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	xray-16: 2188.n.2023.r1

Number of packages to be removed: 1

The operation will free 193 MiB.
[141amd64-default] [1/1] Deinstalling xray-16-2188.n.2023.r1...
[141amd64-default] [1/1] Deleting files for xray-16-2188.n.2023.r1: .......... done
==> Running trigger: desktop-file-utils.ucl
Building cache database of MIME types
===========================================================================
=>> Checking for extra files and directories
[00:08:57] Installing from package
[141amd64-default] Installing xray-16-2188.n.2023.r1...
[141amd64-default] Extracting xray-16-2188.n.2023.r1: .......... done
==> Running trigger: desktop-file-utils.ucl
Building cache database of MIME types
[00:08:57] Cleaning up
===>  Cleaning for xray-16-2188.n.2023.r1
[00:08:58] Deinstalling package
Updating database digests format: . done
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	xray-16: 2188.n.2023.r1

Number of packages to be removed: 1

The operation will free 193 MiB.
[141amd64-default] [1/1] Deinstalling xray-16-2188.n.2023.r1...
[141amd64-default] [1/1] Deleting files for xray-16-2188.n.2023.r1: .......... done
Comment 1 Martin Filla 2024-11-17 16:15:29 UTC
Created attachment 255238 [details]
0001-xray-16-new-port-stalker-engine.patch
Comment 2 Alastair Hogge 2024-11-17 19:56:17 UTC
This is so awesome! You legend, thanks so much.

Is the patch missing an entry in ${PORTS}/games/Makefile?
Comment 3 Martin Filla 2024-11-17 21:06:09 UTC
(In reply to Alastair Hogge from comment #2)
No. It should be complete.
Comment 4 Martin Filla 2024-11-18 10:10:48 UTC
Created attachment 255257 [details]
0001-xray-16-new-port-stalker-engine.patch
Comment 5 Alastair Hogge 2024-11-18 10:54:01 UTC
(In reply to Martin Filla from comment #3)

The Port would be stand-alone without an anchor in the parent Makefile, without this, the Port would not be packaged using Makefiles towards the root of the Ports Tree. Example:

> SUBDIR += xrally
> SUBDIR += xray-16
> SUBDIR += xray_re-tools

Would connect the Port to the build.
Comment 6 Martin Filla 2025-06-28 22:13:10 UTC
Created attachment 261717 [details]
/0001-xray-16-new-port.patch

Hi,
This is an update patch for Xray-16 engine.
Comment 7 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-09 00:43:32 UTC
Is it just library? What ports require it? Do you want to add new ports (games) required it? 
Or this is stand-alone software for develop games?

1. This is incorrect:
BUILD_DEPENDS=	sdl2>0:devel/sdl20 \
USES=		cmake desktop-file-utils localbase jpeg openal
USE_SDL=	sdl2

Correct way is:
USES=		cmake desktop-file-utils jpeg localbase openal sdl
USE_SDL=	sdl2

2. If you have LIB_DEPENDS=liblzo2.so:archivers/lzo2
then you don't need: BUILD_DEPENDS=lzo2>0:archivers/lzo2
Same for several other libraries.

3. Where is "=" in this line?
LIB_DEPENDS	libogg.so:audio/libogg \

4. Don't need "+" here: "GH_TUPLE+=".

5. Move USE_SDL after GH_TUPLE.
Comment 8 Martin Filla 2025-07-15 17:43:11 UTC
Created attachment 262179 [details]
0001-xray-16-new-port.patch

Hi,
This is the engine for stalker games. You need to play games original data.
Comment 9 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-21 17:37:40 UTC
1. Why not use zlib from base?
madler:zlib:545f1949635949159fa6282e81712aec32b5d4f1:zlib/Externals/zlib \

2. Why add this:
xiph:ogg:db5c7a49ce7ebda47b15b78471e78fb7f2483e22:ogg/Externals/ogg \
xiph:theora:7180717276af1ebc7da15c83162d6c5d6203aabf:theora/Externals/theora \
xiph:vorbis:84c023699cdf023a32fa4ded32019f194afcdad0:vorbis/Externals/vorbis \
if we have:
LIB_DEPENDS=    libogg.so:audio/libogg \
                libtheora.so:multimedia/libtheora \
                libvorbis.so:audio/libvorbis \
                libvorbisfile.so:audio/libvorbis \
???

3. Maybe use lang/luajit instead this:
OpenXRay:LuaJIT:5a5cd82:LuaJIT/Externals/LuaJIT \
?

4. Build fine without USES=localbase.

5. Build fine without:
BUILD_DEPENDS=	glew>0:graphics/glew \
		openal-soft>0:audio/openal-soft \
		jpeg-turbo>0:graphics/jpeg-turbo \
		libtheora>0:multimedia/libtheora
Comment 10 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-21 18:19:02 UTC
6. There is in ports: libimgui.so:x11-toolkits/imgui - can we use it instead of:
ocornut:imgui:efe2b21:ocornut/Externals/imgui
Comment 11 Martin Filla 2025-07-22 13:30:40 UTC
(In reply to Vladimir Druzenko from comment #9)
hi,
Thank you for the review.
1. I changed to zlib-ng.
2. I removed old dependencies.
3. They have changed the LuaJIT library.
4. I removed localbase
5. Removed old dependencies
6. Yes, imgui is in port but has not ImGuiBackendFlags_PlatformHasViewports
Comment 12 Martin Filla 2025-07-22 13:31:35 UTC
Created attachment 262341 [details]
0001-xray-16-new-port.patch
Comment 13 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-22 14:51:50 UTC
7. Commit 55a888c252cd815a0ea07439fc97cd954f2e34f0 is not the tag 2921-january-2025-rc1.
Use this instead:
DISTVERSION=    2921-january-2025-rc1.20250720

8. Too long COMMENT.
Maybe this:
COMMENT=        Improved version of the X-Ray Engine (used for run S.T.A.L.K.E.R.)

9. Don't need: USES=desktop-file-utils. *.desktop files don't have MimeType lines.

10. To prevent 100-lines warning-error during configure LuaJit add this:
post-patch:
        ${REINPLACE_CMD} -e 's|^    COMMAND make clean$$|    COMMAND /bin/echo make clean|' \
                ${WRKSRC}/Externals/LuaJIT-proj/CMakeLists.txt
Comment 14 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-22 14:52:38 UTC
7. Or even g20250720.
Comment 15 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-22 17:31:06 UTC
> 1. I changed to zlib-ng.
Not linked with libz-ng.so.
Just remove this line.
Comment 16 Martin Filla 2025-07-22 17:49:54 UTC
Created attachment 262345 [details]
0001-xray-16-new-port.patch
Comment 17 Martin Filla 2025-07-22 18:09:26 UTC
Created attachment 262346 [details]
0001-xray-16-new-port.patch
Comment 18 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-22 18:30:48 UTC
License MIT?
https://github.com/OpenXRay/xray-16?tab=License-1-ov-file
Comment 19 Martin Filla 2025-07-22 19:27:34 UTC
Created attachment 262348 [details]
0001-xray-16-new-port.patch
Comment 20 commit-hook freebsd_committer freebsd_triage 2025-07-22 21:30:58 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=145cc28dca4344a242c0b7f5a104c44d9302ec17

commit 145cc28dca4344a242c0b7f5a104c44d9302ec17
Author:     Martin Filla <freebsd@sysctl.cz>
AuthorDate: 2025-07-22 21:25:17 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-07-22 21:29:36 +0000

    games/xray-16: Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R.

    This port can be used for run S.T.A.L.K.E.R.

    Supported game platforms:
     * Clear Sky 1.5.10 (minor bugs are possible, but the game is stable
       finishable).
     * Call of Pripyat 1.6.02.
     * Call of Chernobyl 1.4.22.
    Shadow of Chernobyl is not supported yet.
    Legends of the Zone/Enhanced Edition is not supported and won't ever be
    likely.

    PR:     282815

 games/Makefile                                     |    1 +
 games/xray-16/Makefile (new)                       |   44 +
 games/xray-16/distinfo (new)                       |   29 +
 ...atch-Externals_renderdoc_renderdoc__app.h (new) |   11 +
 games/xray-16/pkg-descr (new)                      |    6 +
 games/xray-16/pkg-plist (new)                      | 1412 ++++++++++++++++++++
 6 files changed, 1503 insertions(+)
Comment 21 Vladimir Druzenko freebsd_committer freebsd_triage 2025-07-22 21:40:14 UTC
Thanks.