You are not logged in.

#1 2016-12-06 21:24:02

collector1871
Member
From: Poland
Registered: 2016-12-05
Posts: 51

how can I check depdencies of this simple game

Good evening

I want to create simple package in AUR from this game: https://czerwonykapturek.wordpress.com

it is simple and fun platform game created by polish students for educational purposes. It has 6 levels.
Something similar to Machinarium game.
Binary files are unavailable, because are hosted in Google Code. Google removed their hosting service some time ago.
license: freeware (no ads), Code is licensed under the GNU GPL v3

source code:
https://code.google.com/archive/p/kaptu … rce?page=1

you can check it on youtube:
https://www.youtube.com/watch?v=1CYqBV8U0Tw
https://www.youtube.com/watch?v=iTIpiRRKDGg

Nevermind, I have these binary files locally and want to create package from it.

The problem is that... this game is just working out of the box. No errors. No missing dependencies.
I have big number of packages and probably I have already install missing dependencies (lib...).
I am sure that this game has some dependencies, but don`t know how to check it. It will be some graphical dependencies and libs.

Main purpose of this topic is educational, if somebody will help me, I will create and finish my first package wink

thanks

Last edited by collector1871 (2016-12-06 21:46:02)


My: AUR and homepage .

Offline

#2 2016-12-06 21:57:11

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: how can I check depdencies of this simple game

You can use ldd to see which libraries it links. Whether or not the reported libraries should be (direct) dependencies likely requires inspection.

Here's a one-liner to list packages that own the linked libraries. It is only a quick example.

ldd /path/to/binary | grep -hoE '/.+\.so[^ ]*' | pacman -Qoq - | sort -u

My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#3 2016-12-06 21:59:05

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,771

Re: how can I check depdencies of this simple game

First, does it build on your system? 
Then, write a PKGBUILD for it [you could reverse these first two steps]
After you debug the PKGBUILD, the acid test is building it in a clean chroot https://wiki.archlinux.org/index.php/De … ean_Chroot


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#4 2016-12-06 22:03:30

collector1871
Member
From: Poland
Registered: 2016-12-05
Posts: 51

Re: how can I check depdencies of this simple game

Xyne wrote:

You can use ldd to see which libraries it links. Whether or not the reported libraries should be (direct) dependencies likely requires inspection.

Here's a one-liner to list packages that own the linked libraries. It is only a quick example.

ldd /path/to/binary | grep -hoE '/.+\.so[^ ]*' | pacman -Qoq - | sort -u

WOW ! thanks !

ldd ./Kapturek64bit | grep -hoE '/.+\.so[^ ]*' | pacman -Qoq - | sort -u         
bzip2
expat
flac
freetype2
gcc-libs-multilib
glib2
glibc
graphite
harfbuzz
libdrm
libogg
libpng
libsndfile
libvorbis
libx11
libxau
libxcb
libxdamage
libxdmcp
libxext
libxfixes
libxrandr
libxrender
libxshmfence
libxxf86vm
mesa
mesa-libgl
openal
pcre
zlib

In readme from downloaded source code we can also read (this is my translation):

If you want compile game by yourself, you need:
1. SFML - http://www.sfml-dev.org/
2. Lua - http://www.lua.org/

Linux (tested on Ubuntu 10.04):
Ad. 1: SFML version 1.6 CPP, no problems
Ad. 2: LUA version 5.1.4,


but I think compiling is not necessary.

Can I create package from compiled binaries (64 and 32 bit)? I am not C/C++ programmer and don`t understand makefile. I don`t know how to deal with makefile.


EDIT: going to sleep, will back tomorrow

Last edited by collector1871 (2016-12-06 22:13:18)


My: AUR and homepage .

Offline

#5 2016-12-06 22:39:51

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: how can I check depdencies of this simple game

collector1871 wrote:

Can I create package from compiled binaries (64 and 32 bit)? I am not C/C++ programmer and don`t understand makefile. I don`t know how to deal with makefile.

You can easily create a local package if you have the compiled files. If you want to share your PKGBUILD via the AUR, then you need to make the compiled binaries available for download so that others can build them. Because the package is GPLv3, you would legally be required to provide the source files with the binaries (or at least be able to supply the source files upon request*).

Creating a PKGBUILD to build from source is much better. It is not difficult. Just check the wiki to learn how to create a PKGBUILD. With a standard makefile, you will normally only need a "make" and "make install" command. It is worth learning to package. You can always post your PKGBUILD and ask for help here if you get stuck.



* I am not sure, but I think you need to supply the source files upon request for up to 2 years after distributing the binaries, but I may be very wrong.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#6 2016-12-07 11:08:52

collector1871
Member
From: Poland
Registered: 2016-12-05
Posts: 51

Re: how can I check depdencies of this simple game

Xyne wrote:

(...)
You can easily create a local package if you have the compiled files. (...)
Creating a PKGBUILD to build from source is much better. (...)

ok, the problem is:
- source repository contains 787.62MB
- inside it we can find many files which are for windows (*.dll) or post-buils
- we can also find unfinished work for Macintosh, not finished English translation (almost 80% is done), game editor
- these files are not necessary
- I think there is a mess with source repository
- I am also sure that compiling this game is based od make lrrh and make lrrh-clean
- compiling require libsfml , lua

During next week I will try build package from pure binary (82 megabytes only) which I downloaded from Google Hosting when it was available. It will be much easier and faster in this case.

Or - if someone one will help me how to cut source code only for Linux32/64 compilation, then we can upload pure source-code-for-Linux to GitHub. At this moment, there is too much files (unfinished work) inside this repository and I am to stupid how to deal with it (cutting only for Linux).

Last edited by collector1871 (2016-12-07 11:09:24)


My: AUR and homepage .

Offline

Board footer

Powered by FluxBB