Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 688598 - games-action/minetest-5.0.1-r2 USE="curl luajit ncurses server" fails to build due to missing irrTypes.h
Summary: games-action/minetest-5.0.1-r2 USE="curl luajit ncurses server" fails to buil...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: William Breathitt Gray
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2019-06-24 11:16 UTC by Dragan Kašler
Modified: 2019-06-27 15:05 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dragan Kašler 2019-06-24 11:16:04 UTC
USE="curl luajit ncurses server" emerge =games-action/minetest-5.0.1-r2

Above fails due to missing irrTypes.h, which is part of dev-games/irrlicht. This dependency already exists for USE="client" and should be pulled in case of USE="server" too.

Reproducible: Always
Comment 1 William Breathitt Gray 2019-06-24 14:31:59 UTC
Hmm, it seems strange for this to be a dependency requirement for a non-client build. I suspect this header inclusion is unintentional in the upstream code, so I'll investigate and see whether an upstream patch for this is appropriate.
Comment 2 William Breathitt Gray 2019-06-27 09:27:48 UTC
After investigating, I discovered the irrTypes.h header file is used in the Minetest code for its fixed-width data types. Unfortunately, this has created a dependency on Irrlicht that should in theory not be necessary for server-only builds. The proper solution is to use standard C++ data types like uint32_t (https://en.cppreference.com/w/cpp/types/integer) for this situation.

However, although the task of replacing the irrTypes.h data types with standard C++ data types is technically simple, the abundant use of them throughout the Minetest code base has made the task tedious enough that I've given up on it.

Instead, I've pushed a new ebuild revision to simply add Irrlicht as a build dependency for both client and server builds.
Comment 3 Larry the Git Cow gentoo-dev 2019-06-27 15:05:41 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8c5e6f2ffd709c96e25d8bb744c1c43a2bbd370

commit f8c5e6f2ffd709c96e25d8bb744c1c43a2bbd370
Author:     William Breathitt Gray <vilhelm.gray@gmail.com>
AuthorDate: 2019-06-27 09:08:18 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2019-06-27 15:03:23 +0000

    games-action/minetest: Fix missing Irrlicht headers error
    
    Irrlicht headers are required even for a server-only build.
    
    Closes: https://bugs.gentoo.org/688598
    Package-Manager: Portage-2.3.67, Repoman-2.3.15
    Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/12337
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 games-action/minetest/minetest-5.0.1-r3.ebuild | 146 +++++++++++++++++++++++++
 1 file changed, 146 insertions(+)