Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bundling of various libraries #796

Closed
hasufell opened this issue Aug 15, 2015 · 7 comments
Closed

bundling of various libraries #796

hasufell opened this issue Aug 15, 2015 · 7 comments
Labels
A-Build When the code doesn't compile, or worse, compiles wrong A-Distribution Issues about packaging, or otherwise helping distributing the game T-Improvement Improvement for an existing feature

Comments

@hasufell
Copy link
Contributor

Bundling of libararies is a serious QA issue for packagers and no 1 reason to not include something. Currently, I see two tarballs being fetched. One contains some nacl binaries and even clang/llvm libraries, the other freetype and libpng. Why is that?

@DolceTriade
Copy link
Member

These are for convenience. They are nacl libraries specifically and are therefore crossplatform. You are free to build them yourself using nacl ports and then to set the appropriate variables in CMake.

@hasufell
Copy link
Contributor Author

You are free to build them yourself using nacl ports and then to set the appropriate variables in CMake.

Please be more specific. Which libraries/files exactly (and which version) and which variables? There's no convenient cmake option for that. Afais this is not just a single library, the tarball is stuffed with binaries and llvm stuff as well. See the file list: https://gist.github.com/hasufell/82a1bdcf8f929237482c

@Amanieu
Copy link
Contributor

Amanieu commented Aug 16, 2015

To build the tarballs yourself:
cd daemon/external_deps
./build.sh linux32 naclsdk naclports install package
./build.sh linux64 naclsdk naclports install package

@hasufell
Copy link
Contributor Author

Uhm, that's not what I meant. Building 3rd party libraries during the unvanquished build is not a solution. They must be present on the system already.

@DolceTriade
Copy link
Member

To be clear, these prebuilts are only required for building the crossplatform gamelogic .pexe modules. We ship these already in the assets and the ability to build them is only for developers. You can disable building them with -DBUILD_GAME_NACL=OFF. The native libs and executables will use the existing system libs. The only other issue from a packaging perspective would be the nacl_loader and the bootstrap binary. I'm not where you would build them from source and those are required to actually play the game. ds worked around this by including a minimalist nacl_sdk package with the basics.

@Amanieu
Copy link
Contributor

Amanieu commented Aug 16, 2015

The nacl_loader, irt_core-x86_64.nexe and nacl_bootstrap_helper binaries are taken directly from the Native Client SDK. These are the only binaries from external_deps that are needed for packaging, since they are required at runtime. Everything else is only used to compile the VM code, which is distributed in pre-built .pk3 files.

The reason for downloading these during build time is that:
a) no linux distro that I know of has a package for the Native Client SDK
b) we require a very specific version of the SDK

@Viech Viech added A-Build When the code doesn't compile, or worse, compiles wrong T-Improvement Improvement for an existing feature A-Distribution Issues about packaging, or otherwise helping distributing the game labels Oct 23, 2015
@ghost
Copy link

ghost commented Nov 12, 2015

Closing. If there is a specific action that needs to be taken please re-open. Alternatively see issue #306

@ghost ghost closed this as completed Nov 12, 2015
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Build When the code doesn't compile, or worse, compiles wrong A-Distribution Issues about packaging, or otherwise helping distributing the game T-Improvement Improvement for an existing feature
Projects
None yet
Development

No branches or pull requests

4 participants