Cam Hutchison [Mon, 16 Oct 2017 01:13:51 +0000 (12:13 +1100)]
package/ncurses: add option to install extra terminfo files
Add an option to ncurses to install extra user-configured terminfo
files. By default, only a small number of vital terminfo files are
installed on the target. This allows a build to specify the terminfo
files it needs.
Signed-off-by: Cam Hutchison <[email protected]>
[Thomas: qstrip the variable before using it.] Signed-off-by: Thomas Petazzoni <[email protected]>
uClibc-ng removed internal RPC implementation as it
is ipv4 only and can not be used for most important RPC software
rpcbind and nfs-utils.
musl does not implement RPC and GNU C library deprecated the
internal implementation a while ago.
It is still possible to use the C library implementation.
Signed-off-by: Waldemar Brodkorb <[email protected]>
[Thomas: change to use libtirpc when available, not just when the
toolchain does not have RPC support.] Signed-off-by: Thomas Petazzoni <[email protected]>
Romain Naour [Mon, 5 Feb 2018 20:57:15 +0000 (21:57 +0100)]
package/glibc: remove GLIBC_SRC_SUBDIR
GLIBC_SRC_SUBDIR was needed when Buildroot supported
eglibc which stored all sources in a sub-directory.
It was not removed by the commit removing eglibc support [1].
Romain Naour [Mon, 5 Feb 2018 20:57:12 +0000 (21:57 +0100)]
package/x11r7/xlib_libxshmfence: fix build with glibc 2.27
With glibc 2.27 memfd_create() is inside a _GNU_SOURCE guard, so call
AC_USE_SYSTEM_EXTENSIONS to get this defined.
Signed-off-by: Romain Naour <[email protected]>
[Thomas: add reference to upstream commit, as suggested by Yann E. Morin.] Signed-off-by: Thomas Petazzoni <[email protected]>
support/config-fragments: add internal defconfigs for glibc and musl
While we have several defconfigs building internal toolchains with
uClibc, we don't have any building internal toolchain with glibc and
musl. However, having such defconfigs is nice when we bump the C
library version, in order to immediately get feedback on build
failures.
Note that while the ARC internal defconfig uses glibc, it uses the
special ARC glibc version, so it doesn't test version bumps of the
upstream glibc C library.
Eric Le Bihan [Sun, 4 Feb 2018 18:07:49 +0000 (19:07 +0100)]
support/testing: add tests for Rust
To test the support for the Rust language, the following tests are added:
- building Rust compiler and Cargo from source.
- installing a pre-built Rust compiler and building Cargo from source.
For each test, a Rust test program is built and installed in the root file
system of a ARM vexpress QEMU system. The test is declared OK if the program can
be run properly from the test system.
Eric Le Bihan [Sun, 4 Feb 2018 18:07:47 +0000 (19:07 +0100)]
cargo: new package
This new package provides Cargo, the Rust official package manager.
Cargo is written in Rust and uses Cargo as its build system. It also
depends on other Rust packages.
Normally, a previously installed version of Cargo would be used to:
1. Fetch the dependencies.
2. Build the new version of Cargo, using the available Rust compiler.
But the fetching step prevents offline builds. So instead two features
of Cargo are leveraged: vendoring [1] and local registry.
First, a tarball of the build dependencies generated using `cargo
vendor` is fetched along with Cargo source code.
Then, the build process is as follows:
1. The tarball of the build dependencies is uncompressed in a local
registry.
2. A snapshot of Cargo, provided by cargo-bin, builds the final
version of Cargo.
3. A configuration file telling Cargo how to cross-compile programs for
the target is generated and installed.
Currently, only the host variant is provided.
[1] https://github.com/alexcrichton/cargo-vendor
[Peter: use src.fedoraproject.org, fix comment] Signed-off-by: Eric Le Bihan <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
Eric Le Bihan [Sun, 4 Feb 2018 18:07:43 +0000 (19:07 +0100)]
rust: new package
This new package provides rustc, the compiler for the Rust programming
language, built from source.
Currently, only the host variant is built.
The Rust compiler uses LLVM as its backend: a copy of LLVM source code
is provided and CMake is used to build it. It is possible to use a
pre-built external copy. When LLVM/clang will be available in Buildroot,
it would be possible to benefit from this feature and thus decrease
build time.
LLVM is configured to generate code for x86, ARM, PowerPC and MIPS
architectures.
The Rust compiler uses Cargo as its build system and is written in Rust.
Therefore this package depends on cargo-bin and rust-bin.
The internal build process is as follows:
1. stage0 compiler, provided by rust-bin, is used to build stage1
compiler.
2. stage1 compiler builds the final Rust compiler (stage2 compiler)
and the standard library for the host architecture.
3. the standard library for the target architecture is built.
The target architecture to support is given by the GNU/LLVM target
triple. Rust supports some predefined targets [1]. As the build system
expects the triple to be in the form of <arch>-unknown-<system> and
Buildroot toolchain wrapper uses <arch>-buildroot-<system>, the package
Makefile uses $(RUST_TARGET_NAME) defined in the rustc package and uses
it instead of $(GNU_TARGET_NAME).
When compiling Rust code with this compiler, the generated program only
depends on the target C library, as it is statically linked to the Rust
standard library and any other code from Rust packages (a.k.a.
"crates").
If the jemalloc package is selected, support for this memory allocator
will be enabled in the target standard library.
The menuconfig entry for rustc is also updated to expose this provider.
Eric Le Bihan [Sun, 4 Feb 2018 18:07:41 +0000 (19:07 +0100)]
rust-bin: new package
This package provides a pre-built version of rustc, the compiler for the
Rust programming language, fetched from the upstream project.
A pre-built version of the standard library for the host as well as one
for the chosen target are also fetched and installed.
Only the host variant is provided to allow the user to cross-compile
Rust programs and run them on the target.
This package could also be used to provide a bootstrap compiler when building
Rust from source. So, in order to add it as a build dependency, the compiler and
standard libraries are only installed in $(HOST_DIR) if the package is
explicitly selected.
The menuconfig entry for rustc is also updated to expose this provider.
Eric Le Bihan [Sun, 4 Feb 2018 18:07:40 +0000 (19:07 +0100)]
rustc: new virtual package
The compiler for the Rust programming language is called rustc.
There is only one reference implementation for it, based on LLVM, from
the Rust project [1]. It can generate code for various architectures so
it can be labeled as a cross-compiler. But, as for GCC, building it
from source takes time.
So it would be sensible to have at least one package which provides it
as a pre-built version, fetched from the upstream project. Later another
package can be added, to build it from source code.
In addition to the compiler, the standard library for the host and/or
the target should also be fetched/built.
So, add a virtual package named rustc to enable support for multiple
providers.
Currently, only the host variant will be available to allow the user to
cross-compile Rust programs for the target.
As pointed out by Joel Stanley:
https://patchwork.ozlabs.org/patch/863011/
Github now longer provides the exact same tarball for the or1k musl-5.4.0
tarball, breaking the build. Even more, musl-5.4.0 is the name of a git
branch, not a tag.
Fix both problems by changing to the or1k-musl-5.4.0-20170218 tag, which
points to the exact same git commit.
This reverts commit 233202597d9411399aeaded2f9a7cd14f2e29833, which
causes a lot of build failures. Part of the Python build process tries
to use os.replace(), which is only available since Python 3.3. It
should work if the host-python being built was used, but unfortunately
the system Python ends up being used, causing the build failure.
Zoltan Gyarmati [Sat, 3 Feb 2018 21:40:53 +0000 (22:40 +0100)]
package/gpsd: add config option for Spectratime iSync and build fix patch
As in the inital 3.17 version bump patch the iSync config option was not
added, the iSync driver was implicitly enabled in the gpsd config as default,
and due to a bug in the gpsd build setup, this caused several autobuild issues
which are fixed by this. This commit adds both the Buildroot config option and
the gpsd patch which was also sent to and accepted in upstream.
Scott Fan [Sun, 4 Feb 2018 11:16:39 +0000 (19:16 +0800)]
configs/toradex_apalis_imx6: bump U-Boot and kernel to the official image version 2.7
According to the following guide:
https://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code#iMX_6_Based_Modules_ApalisColibri_iMX6
The official final 2.7 version released at 2018-01-04, see the following link:
https://developer.toradex.com/software/linux/linux-software/release-details
Yann E. MORIN [Sun, 4 Feb 2018 14:44:26 +0000 (15:44 +0100)]
support/dockker: create and push tagged images
Currently, we refer to the latest version of the image, which means we
can't guarantee any reproducibility. Also, it measn we can't have a
separate images for the maintenance branches (especially the LTS) and
master.
Update the comment in the Dockerfile to create and push tagged images.
Yann E. MORIN [Sun, 4 Feb 2018 14:44:23 +0000 (15:44 +0100)]
support/docker: don't be silent when setting up
This image is not built very often, and when it is, it is important to
see what's going on, so don't be silent when installing packages from
the distro, and since that can take a bit of time it thus serves as
progress report...
Yann E. MORIN [Sun, 4 Feb 2018 14:44:22 +0000 (15:44 +0100)]
support/docker: limit the number of layers
The official documentation [0] suggests limiting the number of layers
generated from a dockerfile. A layer is created for each RUN (and COPY
and ADD) command. But we are only ever interested in the final image,
so the intermediate layers are useless to us.
Limit the number of RUN commands to limit the number of generated
layers.
Remi is a GUI library for Python applications which transpiles an
application's interface into HTML to be rendered in a web browser.
This removes platform-specific dependencies and lets you easily
develop cross-platform applications in Python!
Pierre CROKAERT [Sat, 20 Jan 2018 10:46:19 +0000 (11:46 +0100)]
gdk-pixbuf: unbreak gdk-pixbuf loaders.cache
Fix gdk-pixbuf broken by host package moved to /lib instead of /usr/lib
Regression occured following commit 19ba17ee3ba946ac86 (Globally replace
$(HOST_DIR)/usr/lib with $(HOST_DIR)/lib).
The host package loader.cache now refer to $(HOST_DIR)/lib, and the target
one should refer to /usr/lib.
Petr Vorel [Thu, 1 Feb 2018 23:45:15 +0000 (00:45 +0100)]
network-manager: Bump to version 1.10.2
handle new dependency to Jansson (since 1.10.0).
[Peter: unconditionally disable ovs support as suggested by Thomas] Signed-off-by: Petr Vorel <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
The isc assertions from the bundled bind dns library are
using the __FILE__ macro for debug messages (see
dhcp-4.3.5/bind/bind-9.9.9-P3/lib/isc/include/isc/assertions.h).
Disabling the assertions gains:
- reproducible builds (no build time paths in the executable)
- space saving on the target:
dhcpd: 1.9M -> 1.6M
dhcrelay: 1.6M -> 1.3M
Andrey Yurovsky [Wed, 31 Jan 2018 19:32:08 +0000 (11:32 -0800)]
ustr: bump debian patch to 1.0.4-6
Version 1.0.4-5 is no longer available, replace with 1.0.4-6 so ustr can
continue to be built.
[Peter: use snapshot.debian.org as suggested by Baruch] Signed-off-by: Andrey Yurovsky <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
Yann E. MORIN [Sat, 3 Feb 2018 15:09:24 +0000 (16:09 +0100)]
package/bash: remove dead comment
Commit 02e5cef1 (system: add option to choose what /bin/sh points to)
removed the symlink creation, but forgot to remove the corresponding
comment, which is now more puzzling than amusing...
Evgeniy Didin [Fri, 2 Feb 2018 15:55:06 +0000 (18:55 +0300)]
configs/snps_arc*_defconfig: update linux version
With this commit we update Linux kernel version to 4.15 and
Linux headers version to 4.15.
Also patches for arc vdk are removed because these
changes were applied in Linux 4.15.
Adam Duskett [Wed, 24 Jan 2018 22:03:56 +0000 (17:03 -0500)]
bootstrap: bump version to 4.0.0
other changes:
- Add a license file to bootstrap.mk
- Add a hash for the license file to bootstrap.hash
- Remove copying bootstrap-theme.min.css as it's no longer included.
- Remove copying fonts folder as it's no longer included.
Bump Linux to 4.15 and U-Boot to 2018.01. Remove networking dts patches
since they has landed in Linux 4.15. Update readme.txt: fix mainline BSP
versions and update boot selection for board rev 1.3.