1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-11 02:50:24 +00:00
freebsd-ports/games/openclonk
Jan Beich deb3482f01 games/openclonk: unbreak build after 9cb3316ecd
sdl2 has a namespace pollution where <SDL.h> defines unprefixed HAVE_*
macros often used by autotools, CMake, Meson. As sdl2 now depends on
libinotify for joystick support HAVE_SYS_INOTIFY_H confuses openclonk
which itself fails to detect <sys/inotify.h>. Due to inconsistent macro
visibility and missing -linotify the build breaks. So, force-disable
inotify code as it seems to be only used by editor (e.g., reload scenarios
on changes) which since openclonk 8.0 requires Qt5.

$ rg HAVE_SYS_INOTIFY_H /usr/local/include
/usr/local/include/SDL2/SDL_config.h
223:#define HAVE_SYS_INOTIFY_H 1

$ make
[...]
-- Looking for C++ include sys/inotify.h
-- Looking for C++ include sys/inotify.h - not found
[...]
src/platform/C4FileMonitor.cpp:29:2: error: use of undeclared identifier 'fd'
        fd = inotify_init1(IN_CLOEXEC);
        ^
src/platform/C4FileMonitor.cpp:30:6: error: use of undeclared identifier 'fd'
        if (fd == -1) fd = inotify_init();
            ^
src/platform/C4FileMonitor.cpp:30:16: error: use of undeclared identifier 'fd'
        if (fd == -1) fd = inotify_init();
                      ^
src/platform/C4FileMonitor.cpp:31:6: error: use of undeclared identifier 'fd'
        if (fd == -1) LogF("inotify_init %s", strerror(errno));
            ^
src/platform/C4FileMonitor.cpp:42:15: error: use of undeclared identifier 'fd'
        while (close(fd) == -1 && errno == EINTR) { }
                     ^
src/platform/C4FileMonitor.cpp:57:29: error: use of undeclared identifier 'fd'
        int wd = inotify_add_watch(fd, file, IN_CREATE | IN_MODIFY | IN_MOVED_TO | IN_MOVE_SELF | IN_ONLYDIR);
                                   ^
src/platform/C4FileMonitor.cpp:60:2: error: use of undeclared identifier 'watch_descriptors'
        watch_descriptors[wd] = file;
        ^
src/platform/C4FileMonitor.cpp:65:59: error: use of undeclared identifier 'fd'
        if ((pfd->revents & pfd->events) != POLLIN || pfd->fd != fd)
                                                                 ^
src/platform/C4FileMonitor.cpp:66:69: error: use of undeclared identifier 'fd'
          LogF("C4FileMonitor::Execute unexpectedly called %d %d %hd %hd", fd, pfd->fd, pfd->events, pfd->revents);
                                                                           ^
src/platform/C4FileMonitor.cpp:69:11: error: use of undeclared identifier 'fd'
        if (read(fd, buf, sizeof(buf)) > 0)
                 ^
src/platform/C4FileMonitor.cpp:71:23: error: use of undeclared identifier 'watch_descriptors'
                const char * file = watch_descriptors[event->wd];
                                    ^
src/platform/C4FileMonitor.cpp:99:17: error: use of undeclared identifier 'fd'
        pollfd pfd = { fd, POLLIN, 0 };
                       ^

PR:		260885
Reported by:	pkg-fallout
Submitted by:	Kevin Zheng (maintainer, different commit message)
2022-01-03 21:43:31 +00:00
..
files games/openclonk: unbreak build after 9cb3316ecd 2022-01-03 21:43:31 +00:00
distinfo
Makefile
pkg-descr
pkg-plist