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

kiwix-build.py should detect early if a dependency (svn for example) is not available (and complain) #49

Closed
anarcat opened this issue Jun 8, 2017 · 3 comments

Comments

@anarcat
Copy link

anarcat commented Jun 8, 2017

on a fresh new Debian stretch install, I followed the instructions of this readme and Kiwix failed to compile because SVN was missing. it should detect that and just install subversion through apt-get install subversion.

(similarly, why aren't meson and ninja installed that way? just apt-get install meson was enough here...)

@kelson42
Copy link
Contributor

kelson42 commented Jun 8, 2017

@mgautierfr I had the same "problem" with subversion. I agree with @anarcat that it should be just checked at the beginning an reported properly.

@anarcat for ninja and meson, I agree with you that this is a bit annoying to have to install both of them manually. So far, we have do to so, as we need pretty recent version of them. AFAIK, next Debian stable will be OK.

@kelson42
Copy link
Contributor

kelson42 commented Jun 8, 2017

There is also a ticket to improve a bit the README #3. Will work on this.

@kelson42 kelson42 changed the title should install svn kiwix-build.py should detect early if a dependency (svn for example) is not available (and complain) Jun 8, 2017
mgautierfr added a commit that referenced this issue Jun 12, 2017
mgautierfr added a commit that referenced this issue Jun 12, 2017
automactic added a commit that referenced this issue Jun 20, 2017
* Add an option to hide intermediate progress information.

* Hide the progress information in TravisCI.

With progress information shown, the android build logs are bigger than
4Mo and travisBuild fails. So we have to hide them in travis.

* Move `_patch` method in `Source` class.

The patch method is not specific to a `RealeaseDownload` source.

* Add a `SvnSource`.

This is needed to get source from svn.

* Get ICU source from SVN instead of Release archive.

ICU doesn't provide data sources in their release archives but directly
pre-compiled data.

As we need to compile ourselves our data to remove unwanted data, we need
to get the sources directly from the SVN.

* Patch ICU to remove unwanted data.

We don't need all the ICU data and we need to reduce binaries' size
(Especially for android where we have a limit of 50Mo per APK).

By removing unwanted ICU data, we reduce a lot the data size and so
the final binaries' size.

There is also some "problems" to compile the `ja.txt` collfiles,
the "resource compiler" crashes.
As we don't need it, we also remove it.

* Use ICU data as external archive on android platform.

On android platform, we load the ICU data as external data, not embeded
in the kiwix-lib.

So we need to generate correctly the dat file and use it in kiwix-android.

* Do not force specific arguments when compiling for win32.

Those option should be set by build system, not by kiwix-build.

Moreover, this impact other libraries (as icu) and generate pretty big
library binaries.

* Better argument parse for better help text.

(And one clean line :) )

* Correctly declare dependencies of kiwix-build and projects we are building.

Factorize a bit the code also.

Fixes #49.

* Set the android_abi variable in the meson_cross_file.txt

Kiwix-lib need to know want is the android abi to copy the lib in the
right directory.
@ynikitenko
Copy link

I agree with this proposal. I had a similar issue with qmake. Probably I reported that elsewhere, but I forgot or lost the link. I'm not sure whether it's good to comment on this closed issue, but maybe I shall not open a new one (I already opened several ones today).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants