Commit Graph

558 Commits

Author SHA1 Message Date
Fredrik Fornwall
11c80acb01 Handle dependencies like 'a | b' in buildorder.py 2018-06-16 22:50:06 +02:00
Vishal Biswas
160d3aeb06 update ndk to 17 and switch some packages to clang build (#2415)
* update ndk to 17

* bump NDK version in setup-android script

* libnl: fix for ndk r17

* libpixman: use clang's __builtin_shufflevector instead of __builtin_shuffle (#1)

Required to make package build with ndk17.

* fix as for arm

* ndk17 still uses ld.bfd on aarch64

* use -fno-integrated-as for clang only

* glib: remove patch unnecessary after ndk17

* torsocks: remove unneeded patch after ndk17

* subversion: fix build as clang++ now errors out for mismatched flags

* libpulseaudio: fix build with ndk17

https://github.com/termux/termux-packages/pull/2415#issuecomment-388296684

* gst-plugins-good: disable video4linux2

ioctl is defined as __overloadable in ndk17 headers which
  conflicts with v4l2object's member ioctl

* libzmq: disable Werror to build with ndk17

* ltrace: hardcode symbol not available in ndk17

* busybox: build with clang for all arches except arm

* dropbear: build with clang instead of gcc

* gnupg: build with clang instead of gcc

* openssl: use clang for all arches except arm

* picolisp: build with clang instead of gcc

* valgrind: use clang on all arches except aarch64

* Revert "gst-plugins-good: disable video4linux2"

This reverts commit 43850b81ccf60033c25cb13dfd326c1b0528773a.
Already applied on base branch.

* libllvm: use default arm triple
2018-05-27 14:55:20 +02:00
Fredrik Fornwall
9ccc908e26 Update to ubuntu 18.04 in docker image 2018-05-02 23:01:29 +02:00
Fredrik Fornwall
c8ea6b6c63 setup-ubuntu.sh: ant is no longer used 2018-05-02 23:00:28 +02:00
Fredrik Fornwall
96c9f0466f Update android build tools from 27.0.1 to 27.0.3 2018-03-25 00:08:20 +01:00
tomty89
92fb0e15fd ecj: provide android-21.jar instead of android-16.jar (#2274) 2018-03-25 00:02:47 +01:00
Fredrik Fornwall
0c469ce1df Update meson build system from 0.44.0 to 0.45.1 2018-03-22 23:15:12 +01:00
sogaiu
efe2d03821 Vagrantfile tweaks
Existing Vagrantfile lead to some problems here during provisioning:

  1. setup-ubuntu.sh would fail

and after:

  2. build-all.sh would run out of disk space
  3. build-all.sh would exit due to permission issues

Issue 1 can be addressed by running sudo apt-get update before setup-ubuntu.sh in the Vagrantfile.

One way to address issue 2 is to use the vagrant-disksize plugin:

  https://github.com/sprotheroe/vagrant-disksize

It can be installed by:

  vagrant plugin install vagrant-disksize

Then modifying Vagrantfile to contain a line like:

  config.disksize.size = '50GB'

causes the first partition to be enlarged to 50GB during provisioning.  Combined with an appropriate invocation of resize2fs:

  sudo resize2fs /dev/sda1

so that the filesystem in the partition is resized, the disk space issue seems alleviated.

Issue 3 can be addressed by changing the user from 'ubuntu' to 'vagrant' in the Vagrantfile -- at least that's what worked here.
2018-01-25 22:15:35 +01:00
Fredrik Fornwall
c2b0104802 Fix meson patch (fixes #2051) 2018-01-21 20:45:35 +01:00
Fredrik Fornwall
43e8daa888 Update meson version from 0.43.0 to 0.44.0 2018-01-14 22:23:40 +01:00
Fredrik Fornwall
3e36b0e87b Add TERMUX_PKG_REVISION check to lint-packages.py 2017-12-20 00:13:01 +01:00
Fredrik Fornwall
2523abf65c Modify python formatting 2017-12-05 23:30:44 +01:00
Fredrik Fornwall
ea61862721 Add scripts/lint-packages.py
Harmonize the layout by having the first two lines of a package
definition always be the homepage and the description.
2017-12-05 22:48:12 +01:00
Fredrik Fornwall
dfaf1e308d Improve scripts/list-packages.sh 2017-12-05 22:36:18 +01:00
Fredrik Fornwall
dc5259ab1e Slim down the setup created by setup-ubuntu.sh
This changes the docker image size from around 5.8 to 3.6 GB.

For those wanting more tools in the docker build environment sudo
is always available.
2017-11-26 00:43:19 +01:00
Fredrik Fornwall
b54c3eb86e Update scripts/Vagrantfile for ubuntu 17.10 2017-11-21 06:05:04 +01:00
Fredrik Fornwall
d1776d92e7 Remove NDK gnu-libstdc from the docker image 2017-11-19 14:40:31 +01:00
Fredrik Fornwall
b39b311462 Cleanup scripts/buildorder.py 2017-11-19 14:29:49 +01:00
Fredrik Fornwall
0c0af59332 Update NDK used to r16
Run scripts/update-docker.sh to update the docker image.
2017-11-15 16:48:35 +01:00
Fredrik Fornwall
e4a9db43b8 Improve check-versions.sh 2017-11-07 04:58:09 +01:00
Fredrik Fornwall
41cc3653aa Enable dependency checks for out-of-tree packages
When building an out-of-tree package, as in
	./build-package.sh path/to/my-package.sh
dependency checks now works.
2017-11-04 01:18:32 +01:00
Fredrik Fornwall
ffc53c3978 Update the ubuntu build setup from 17.04 to 17.10
An updated image has been pushed to the docker hub, so update with

./scripts/update-docker.sh
2017-11-02 10:18:05 +01:00
Fredrik Fornwall
45e048f512 Better way of accepting Android SDK licenses 2017-11-02 00:21:36 +01:00
Vladimir Oltean
f579fc2f75 buildorder.py: handle the case when more than one dependency type is set (#1555) 2017-09-23 02:55:06 +02:00
Fredrik Fornwall
64666c40b2 Update android platform setup
- Update to build tools 26.0.1.
- Update from android-25 to android-26.
- Add android-16 for use in https://github.com/termux/termux-packages/pull/1133
2017-08-11 14:09:32 +02:00
Henrik Grimler
af41dc2143 Enable ghostscript (#1135)
* Fix ghostscript for aarch64.

* ghostscript: fix arm header

* ghostscript: clean build script

* ghostscript: disable i686 and x86_64 for now and enable package!

* Add required build dependencies for ghostscript to setup scripts

* ghostscript: add libexpat as dependency

* ghostscript: add (untested) generated headers for x86_64 and i686
2017-08-11 13:25:55 +02:00
Fredrik Fornwall
6980dd1851 Add basic TERMUX_PKG_BUILD_DEPENDS support 2017-08-08 13:28:52 +02:00
Fredrik Fornwall
24b828afb1 setup-ubuntu.sh: Add g++-multilib
The g++-multilib package is required for nodejs-current on 32-bit
arm and i686 builds.
2017-08-08 13:28:08 +02:00
Fredrik Fornwall
8aa86e32b4 Update from NDK version used from r15b to r15c
The docker image has been updated - run scripts/update-docker.sh
2017-08-07 22:53:43 +02:00
Fredrik Fornwall
a13bf95a78 Initial stab at supporting ninja and meson builds
Currently unused.
2017-07-29 02:11:04 +02:00
Fredrik Fornwall
b1f17924b7 notmuch: Fix man page generation 2017-07-26 16:13:45 +02:00
Fredrik Fornwall
549dfb1c2c fontconfig: Update from 2.12.0 to 2.12.4 2017-07-26 14:21:12 +02:00
Henrik Grimler
3c634e4903 Docker: login as "builder" even if run-docker.sh is run as root.
Running with sudo otherwise produces debs that normal users don't have
permission to access.
2017-07-22 18:52:08 +02:00
Fredrik Fornwall
bf74a80eac run-docker.sh: Work around mac readlink 2017-07-15 11:37:17 +02:00
olg
09c5e72a9a Fix the uid in the docker container, but only when needed and make the bind mount work for arbitrary pwd... 2017-07-15 11:20:05 +02:00
hacknox
3ac5e56343 Use $HOME replace home path 2017-07-15 11:20:05 +02:00
hacknox
36eeaeec1b Fix root user $HOME path 2017-07-15 11:20:05 +02:00
hacknox
b21d9e3343 fix docker volume read/write permission 2017-07-15 11:20:05 +02:00
Fredrik Fornwall
369f1e26e3 Do not remove libc++ in Dockerfile setup 2017-07-15 02:25:12 +02:00
Fredrik Fornwall
167405240b Dockerfile: Do not remove non android-21 platforms 2017-07-07 12:23:13 +02:00
Fredrik Fornwall
ab2a420e96 setup-ubuntu.sh: Install libgnutls-dev
Needed for building mariadb
2017-07-07 03:58:32 +02:00
pvagner
cc02b93ff8 Add scripts/setup-archlinux.sh similar to setup-ubuntu.sh (#1098) 2017-07-01 00:39:28 +02:00
Fredrik Fornwall
71b1a471d8 setup-android-sdk.sh: Update from NDK r15 to r15b 2017-06-25 22:13:17 +02:00
Fredrik Fornwall
49dd98a346 Update from NDK r14 to r15
The docker image has been updated, use
	./scripts/update-docker.sh
to update.

Note that we are still using the old deprecated non-unified headers
- updating to that is the next step.
2017-06-11 22:55:04 +02:00
Fredrik Fornwall
81c7229f5a Update android tools and build tools
The Docker image has been rebuilt, update with:

scripts/update-docker.sh
2017-05-20 21:17:00 +02:00
Wetitpig
dd3f197db6 Add ed package for bc (#1032) 2017-05-19 23:54:36 +02:00
Fredrik Fornwall
7dfc98bfe0 setup-ubuntu.sh: libncurses5-dev used by mariadb
The docker image has been updated, run scripts/update-docker.sh.
2017-05-09 17:00:42 +02:00
Fredrik Fornwall
e00dfc00e1 Make ubuntu 17.04 the reference build environment 2017-04-20 09:00:02 +02:00
Fredrik Fornwall
ba198479a3 Fix typo in scripts/setup-ubuntu.sh 2017-03-20 21:03:00 +01:00
Fredrik Fornwall
f0d9d8e2c0 Remove scripts/bintray-upload-deb
It doesn't work and termux-apt-repo is the new black.
2017-03-19 16:19:30 +01:00
Fredrik Fornwall
46fe48b356 Validate that no hard links exists in package 2017-03-07 01:44:53 +01:00
Matthew Klein
a582e5fcb4 Add PowerShell script to run Docker (#815)
* Add .gitattributes file

* Add PowerShell script to run Docker
2017-03-04 22:20:43 +01:00
Fredrik Fornwall
b26283d4a7 Update from NDK r13 to r14
For those using Docker build environments: run scripts/update-docker.sh
to pull the latest Docker image with r14 installed.

Otherwise, remove the $NDK directory (defaults to
$HOME/lib/android-ndk if not setup in the environment) and run
scripts/setup-android-sdk.sh to setup a r14 installation.
2017-03-04 22:03:54 +01:00
Fredrik Fornwall
c197515d23 netpbm: Update from r2831 to r2901 2017-02-24 22:36:19 +01:00
Fredrik Fornwall
95761413f6 run-docker.sh: Use long option names 2017-02-04 23:23:07 +01:00
Fredrik Fornwall
c6f5b04a53 setup-ubuntu.sh: Use shorter string concatenation 2017-02-02 22:14:46 +01:00
Fredrik Fornwall
11af8e220c setup-android-sdk.sh: Remove incorrect folder 2017-02-02 02:23:43 +01:00
Fredrik Fornwall
18fbaa060b Update the android sdk build tools used
The docker image has been rebuilt, so ./scripts/update-docker.sh
should be used.
2017-02-02 01:39:29 +01:00
Fredrik Fornwall
05e29c5b69 Dockerfile: Switch from ADD to COPY 2017-02-02 01:35:53 +01:00
Fredrik Fornwall
d258ef0cea setup-ubuntu.sh: We actually don't need nasm
The NDK already brings yasm which is enough.
2017-01-24 09:58:22 +01:00
Fredrik Fornwall
da1fd85742 setup-ubuntu.sh: Remove yasm as it's in the NDK 2017-01-23 00:05:20 +01:00
Fredrik Fornwall
e59984067b Use non-root user when using docker
We now use a non-root user when building packages using a docker
container. This allows detecting misconfigured packages which try
to install files outside of $TERMUX_PREFIX or otherwise mess with
the system during a build.
2017-01-22 23:13:48 +01:00
Fredrik Fornwall
1006361f98 setup-ubuntu.sh: Remove two unnecessary packages 2017-01-22 22:32:41 +01:00
Fredrik Fornwall
b9b9b2067b Update the Vagrantfile to ubuntu 16.10
This is completely untested.
2017-01-18 02:51:17 +01:00
Fredrik Fornwall
cdb97c0b10 Update to latest config.{guess,sub} 2017-01-18 01:02:18 +01:00
Fredrik Fornwall
154bc46225 lua: Add and replace luajit
luajit is rather complex and lacking upstream maintenance.
2017-01-18 01:02:18 +01:00
Fredrik Fornwall
07884eae94 Fix arm issue with clang-pie-wrapper
We need to wrap arm-linux-androideabi, not arm-linux-android.

Also, specify armv7a as clang cpu target and not just arm.
2017-01-17 17:31:24 +01:00
Fredrik Fornwall
b4a6e58893 golang: Use clang for native build 2017-01-16 11:13:38 +01:00
Vishal Biswas
bd3e679c7d fix clang cmake build left broken for arches other than aarch64 by #2f0de58717 (#677) 2017-01-16 08:48:23 +01:00
Fredrik Fornwall
2f0de58717 Use clang by default through a script wrapper
The script wrapper ensures that position-independent executables
are built without having to modify any build system.
2017-01-15 21:13:22 +01:00
Fredrik Fornwall
60a26b9f4c setup-ubuntu.sh: Remove cmake, add python3.6 2017-01-15 19:44:15 +01:00
Fredrik Fornwall
65512d6058 Dockerfile: Update from ubuntu 16.04 to 16.10 2017-01-15 19:43:49 +01:00
Fredrik Fornwall
ef98cf1c18 Add (currently unused) build-clang.sh script 2017-01-15 19:38:21 +01:00
Fredrik Fornwall
4e8d7d1e42 buildorder.py: Open files with encoding=utf-8
This makes us not depend on the current environment. Fixes #665.
2017-01-09 05:26:31 -05:00
Fredrik Fornwall
e65ab762d3 buildorder.py: Better error message 2017-01-08 07:37:43 -05:00
Fredrik Fornwall
74b5c53c18 valac: Depend on clang, glib-dev, pkg-config
As mentioned in #644.
2017-01-03 17:46:59 -05:00
casept
8a0da1ad11 Add vagrant (#642) 2017-01-03 19:05:15 +01:00
Fredrik Fornwall
539d9e6ab2 buildorder.py: Handle also ' in TERMUX_PKG_DEPENDS 2017-01-03 04:26:10 -05:00
Fredrik Fornwall
b59e03ab08 Remove stray char in comment 2016-10-07 13:56:46 -04:00
Fredrik Fornwall
5b7c3ff6d3 Minor comment cleanups of Dockerfile 2016-10-07 13:37:10 -04:00
Fredrik Fornwall
711e9e5b06 Update to using NDK r13 2016-10-07 13:37:10 -04:00
Fredrik Fornwall
5722e8a67d Remove setup-fedora.sh and setup-mac.sh
The best way to lessen the pain of building packages is probably
to use a version of Ubuntu (currently 16.04) as the only supported
build environment. For users of other Linux distributions and
platforms Docker is the best solution.
2016-10-07 13:11:58 -04:00
Fredrik Fornwall
50166cb172 Update to android-24 in setup-android-sdk.sh 2016-10-06 19:37:47 -04:00
Fredrik Fornwall
0dc712fa46 Add 'ant' as required ubuntu package for building 2016-10-06 19:37:18 -04:00
Fredrik Fornwall
6376c14274 Add nasm and yasm to setup-ubuntu.sh 2016-09-22 20:47:11 -04:00
Fredrik Fornwall
c949d94f4b setup-ubuntu.sh: Install intltool for qalc build 2016-09-22 21:59:25 +02:00
Fredrik Fornwall
39d7cdd7f1 mpv: Use rst2man package instead of pip install 2016-09-22 20:56:09 +02:00
Fredrik Fornwall
bb97a729ca Use offline copies of config.{guess,sub}
Previously the latest version was downloaded from the git web
interface at git.savannah.gnu.org.
2016-09-16 06:23:01 -04:00
Fredrik Fornwall
1858fd1b1d buildorder.py: Always depend on libandroid-support 2016-09-16 05:48:02 -04:00
Fredrik Fornwall
97f23095eb Fix NDK version in setup-android-sdk.sh 2016-07-26 09:06:39 -04:00
Fredrik Fornwall
382cfb780c Update SDK build tools to 24.0.1 2016-07-26 07:23:39 -04:00
Fredrik Fornwall
82620efb1c Update NDK from r12 to r12b 2016-07-19 19:14:41 -04:00
Fredrik Fornwall
39c1918069 Update setup-mac.sh 2016-06-20 00:21:39 +02:00
Fredrik Fornwall
ed021630df Fixes for building on a mac 2016-06-11 01:17:00 +02:00
Fredrik Fornwall
7073199b83 setup-android-sdk.sh: Fix mac sdk download 2016-06-10 23:19:22 +02:00
Fredrik Fornwall
37c88ee367 setup-android-sdk.sh: Fix mac ndk download 2016-06-10 23:11:53 +02:00
Fredrik Fornwall
202ed9d3b3 Update to use NDK r12 2016-06-10 10:45:16 -04:00
Fredrik Fornwall
1b11c6fa66 Merge pull request #300 from vaites/master
Added Fedora setup script
2016-06-06 23:22:37 +02:00
Fredrik Fornwall
a005794323 Tweak build script and docker setup
- Output deb files to debs/ folder by default.
- Use $HOME/.termux-build for build folder by default (changed
  from previous $HOME/termux).
- Make scripts/run-docker.sh re-use a single container instead of
  creating new ones for each run.
- Avoid mounting the whole Termux build folder in docker. This
  fixes #294, mmap not supported host folders under OS X.
- Add a scripts/update-docker.sh utility for checking for an
  updated docker image..
- Make build-package.sh support the [-a ARCH] flag to specify arch.
- Make aarch64 the default arch (from previous arm).
- Try to improve the README a bit.
2016-06-03 18:41:30 -04:00
David Martinez
59ea446228 Added Fedora setup script 2016-06-04 00:07:43 +02:00
Fredrik Fornwall
af8dfb4559 buildorder.py: Show package if lacking build.sh 2016-06-02 11:13:53 -04:00
Fredrik Fornwall
01e91d6146 neovim: Use bundled lua 2016-05-30 18:07:22 -04:00
Fredrik Fornwall
88183689ef Build and docker updates 2016-05-27 18:24:50 -04:00
Fredrik Fornwall
015c1a73bd Fix neovim build deps 2016-05-25 11:29:32 -04:00
Fredrik Fornwall
3c323c69ae Docker and build updates
- Update to build on ubuntu 16.04.
- Docker: Set FORCE_UNSAFE_CONFIGURE=1. Fixes #275.
- Docker: Various fixes.
- Neovim: No longer require lua.
- Some minor package updates.
2016-05-24 18:38:29 -04:00
Fredrik Fornwall
4a9eb8522e Add start of regression testing of packages
Current plan is to have a tests/ folder in packages, where each
file in this folder is a shell script which indicates a test
failure by a non-zero exit value.
2016-05-10 20:43:31 +02:00
Fredrik Fornwall
00875c034b buildorder.py: Handle version qualifiers 2016-04-29 14:14:28 +02:00
Fredrik Fornwall
658bba67c0 Introduce a scripts/ folder 2016-01-14 22:45:50 -05:00