Commit Graph

413 Commits

Author SHA1 Message Date
Fabrice Fontaine
fffbd2c9f7 i2pd: new package
i2pd (I2P Daemon) is a full-featured C++ implementation of I2P
client.

I2P (Invisible Internet Protocol) is a universal anonymous
network layer.
All communications over I2P are anonymous and end-to-end
encrypted, participants don't reveal their real IP addresses.

http://i2pd.website

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Thomas:
 - Add third patch to not install the license file in /usr/LICENSE and
   the source code in /usr/src instead of using a post-install-target
   hook to remove /usr/LICENSE and /usr/src. Indeed, we're not sure if
   /usr/src contains only stuff installed by this package.
 - Clarify the comment that explains why -DTHREADS_PTHREAD_ARG=OFF is
   passed, especially because it's only needed for older versions of
   CMake, and causes a warning with newer versions of CMake.
 - Propagate architecture dependencies to the Config.in comment about
   the exception_ptr requirement.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-04-01 21:00:31 +02:00
Fabrice Fontaine
8993436dea libcdio-paranoia: new package
CD paranoia on top of libcdio

http://www.gnu.org/software/libcdio/

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-04-01 20:04:25 +02:00
Peter Korsgaard
d28064d461 DEVELOPERS: add an entry for gstreamer1-editing-services
Add an entry for the recently added gstreamer1-editing-services package for
Peter Seiderer.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-01 19:45:28 +02:00
Peter Seiderer
3522e78fc3 gst1-interpipe: new package
[Peter: use a normal config option instead of menuconfig, update DEVELOPERS]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-01 18:47:32 +02:00
Sergio Prado
e80c892427 package/snort: new package
Tested on Beaglebone Black.

Build-tested with test-pkg.

Patch to fix cross-compilation errors submitted upstream [1].

[1] https://lists.snort.org/pipermail/snort-devel/2018-January/011025.html

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
[Romain:
 - split patch by build issues
 - convert AC_RUN_IFELSE to AC_CHECK_MEMBERS (ThomasP)
 - convert AC_RUN_IFELSE to AC_COMPILE_IFELSE (ThomasP)
 - remove most make variable from SNORT_CONF_ENV
 - remove SNORT_SOURCE default value]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-04-01 18:42:21 +02:00
Peter Seiderer
4553fea647 quotatool: new package
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Thomas: as suggested by Romain Naour, use
QUOTATOOL_INSTALL_TARGET_OPTS to avoid installing man pages, as it
fails due to a bug in the upstream package Makefile]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-04-01 14:16:50 +02:00
Jan Kundrát
ee156ad480 New board: SolidRun ClearFog Base
My goal was to rely on upstreamed features as much as possible, which
means that some bits are only half-baked for now:

- Due to the DTS restructuring in upstream kernel, we require 4.11+. The
latest LTS or CIP kernels do not know about the -Base model.

- Linux has no generic support for SFP cages (yet). It seems that this
has hit the net-next tree in August 2017, but there's been no release
(it's probably targettting 4.14). Also, the merge only included the
required infrastructure; the mvneta driver conversion is not included.
Patches which finalize this exist in Russel King's tree and also in
random vendor trees.

- There's no access to the SPI flash in these versions of
uboot/linux/dts.

Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz>
[Arnout:
 - rename to solidrun_clearfog_defconfig;
 - specify kernel headers version (default is now 4.15);
 - remove ext2 fs size override, the 4 extra MB are not needed;
 - U-Boot needs dtc and openssl;
 - add comments to defconfig;
 - update .gitlab-ci.yml;
 - mention in readme.txt that SFP support is missing;
 - add Jan to DEVELOPERS.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-04-01 12:52:27 +02:00
Peter Korsgaard
bf6b55268f DEVELOPERS: add myself for a number of unmaintained boards
These boards I own and currently have no entries in DEVELOPERS, so add them.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-31 20:56:46 +02:00
André Hentschel
7ae94b51ed libkrb5: new package
Signed-off-by: André Hentschel <nerv@dawncrow.de>
[Thomas:
 - remove LIBKRB5_VERSION_MAJOR
 - minor tweaks to commit title and Config.in help text]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-31 16:13:39 +02:00
Evgeniy Didin
7f430a4e87 board: add support for ARC HS Development Kit (HSDK)
Synopsys DesignWare HSDK (which stands for ARC HS
Development Kit) is the latest and greatest development
platform that sports quad-core ARC HS38 in real silicon.

Most noticeable features of the board are:
 * Quad-core ARC HS38 CPU running at 1GHz
 * 4Gb of DDR
 * Built-in Vivante GPU (well supported via open source
   Etnaviv drivers)
 * Built-in Wi-Fi/Bluetooth module (RedPine RS-9113)

And as usual we have:
 * [micro] SD-card slot
 * 2 USB 2.0 ports
 * 1Gbit Ethernet port
 * Built-in Digilent JTAG probe
 * Serial port accessible via micro-USB port

Writing sdcard.img on SDcard creates two partitions:
 * FAT32 with uImage and uboot.env
 * EXT4 with root filesystem

We modify kernel config because in default hsdk kernel config
CONFIG_INITRAMFS_SOURCE parameter is set and when we build
rootfs separately (BR2_TARGET_ROOTFS_INITRAMFS is not set)
error appears. Also we set up CONFIG_ARC_UBOOT_SUPPORT which
enables usage of uboot variables in the boot process.

[Peter: Fix comments and rename defconfig to snps_archs38_hsdk_defconfig,
	Add defconfig to DEVELOPERS and fixup board/synopsys entry,
	Drop postimage script, rename env file in genimage.cfg and drop size
	setting for rootfs partition,
	Add "" for CONFIG_INITRAMFS_SOURCE in linux fragment]
Signed-off-by: Evgeniy Didin <didin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: arc-buildroot@synopsys.com
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-31 16:04:39 +02:00
Fabrice Fontaine
9b224e6c20 ncmpc: bump to version 0.29
Since version 0.28 ncmpc only supports the meson build.
Therefore, adapt to package infrastructure according to the user manual.

Add a hash for the license file.

Add a nmpc entry for myself in DEVELOPERS

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-31 08:49:14 +02:00
Oleksandr Zhadan
363505241f configs/arcturus_ucls1012a: new defconfig
The uCLS1012A-SOM product family (ucls1012a) is an Arcturus Networks Inc.
64bit ARM Cortex-A53 class System on Module powered by a NXP QorIQ LS1012A
Low Power Communication Processor.  This 314 pin MXM3.0/SMARC module card
contains DDR3, QSPI NOR Flash, eMMC NAND Flash, optional Audio CODEC and is
available with 1 or 2 Gig-Ethernet PHYs.

Signed-off-by: Oleksandr Zhadan <oleks@arcturusnetworks.com>
Signed-off-by: Michael Durrant <mdurrant@arcturusnetworks.com>

Changes v1 -> v2:
    - updated kernel and u-boot source repositories to github

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-26 22:38:16 +02:00
Falco Hyfing
4b30ee9324 python-pymodbus: new package
Signed-off-by: Falco Hyfing <hyfinglists@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-25 23:39:56 +02:00
Adrian Perez de Castro
70afd4afa7 woff2: new package
Add the woff2 package to Builroot. This is needed by webkitgtk from
version 2.20.0 onwards. WebKitGTK+ used to bundle a copy of the library,
but it stopped doing so now that the upstream is has been making
releases.

[Peter: fix license hash]
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-24 11:47:24 +01:00
Adrian Perez de Castro
4f634160b2 brotli: new package
Add the brotli package to Buildroot. This is needed by woff2, which in
turn is needed by webkitgtk from version 2.20.0 onwards. WebKitGTK+ used
to bundle a copy of the library, but it stopped doing so now that the
upstream has started making releases.

[Peter: fix license hash]
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-24 11:45:26 +01:00
Carlos Santos
ad2b4255e2 DEVELOPERS: add myself for tpm2-{abrmd, tools, tss}.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-18 23:24:30 +01:00
Christian Stewart
8175041003 docker-proxy: new package
Add docker-proxy package to Buildroot. Needed by docker-engine at
runtime, and previously not included. This leads to the following error
when attempting to port-map ports to a container:

  $ docker run -p 8080:8080 nginx
  docker: Error response from daemon: driver failed programming external
  connectivity on endpoint:
  exec: "docker-proxy": executable file not found in $PATH.

Docker expects the docker-proxy binary to exist in the PATH.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-11 22:34:10 +01:00
Matt Weber
ad6ed6643a configs/freescale_t1040d4rdb_defconfig: new board
The T1 QoriQ from NXP has had a few varients of RDB dev boards.
This target is against the latest D4RDB version.  Any of the
other versions before D4RDB (plain RDB), may require backing off
the uboot version to SDK 1.6 and/or adjusting the kernel dtb used.

This board configuration provides an upstream kernel build which
has been verified to boot on target.

The target assumes the user still uses the NXP suggested prebuilts
in the SDK2.0 (last release for PowerPC). If a uboot rebuild is
required, the source for SDK2.0 can be found in the following repo.

http://git.freescale.com/git/cgit.cgi/ppc/sdk/u-boot.git/tag/?id=fsl-sdk-v2.0-1703

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-11 22:22:02 +01:00
Matt Weber
b98e541413 configs/freescale_p1025twr_defconfig: new board
Replacing the p1010rdb, this board is based on the tower development
system still available by NXP. The board is setup to track upstream
Linux and has been bumped from 4.1 to 4.15 (compared to p1010).

The target does not build uboot and assumes the user still uses the NXP
suggested prebuilts in the SDK2.0 (last release for PowerPC). If a
uboot is required, the source for SDK2.0 can be found in the following
repo.
http://git.freescale.com/git/cgit.cgi/ppc/sdk/u-boot.git/tag/?id=fsl-sdk-v2.0-1703

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-11 22:19:39 +01:00
Vivien Didelot
79586d2ed5 DEVELOPERS: add myself as the ts5500 maintainer
Add a new entry for myself listing the TS-5500 board directory and
defconfig file.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-11 09:48:48 +01:00
Peter Korsgaard
0877a047aa package: add docker-compose
Python based multi-container orchestration for Docker.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:39:32 +01:00
Peter Korsgaard
146b8d31ea package: add python-functools32
Backport of the functools module from Python 3.2.3 for use on 2.7 and PyPy.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:38:34 +01:00
Peter Korsgaard
7096961385 package: add python-dockerpty
Library to use the pseudo-tty of a docker container.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:38:04 +01:00
Peter Korsgaard
a68ced9432 package: add python-texttable
Module for creating simple ASCII tables.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:37:17 +01:00
Peter Korsgaard
aa2a309b60 package: add python-cached-property
A decorator for caching properties in classes.

[Peter: Correct license as pointed out by Yegor]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:36:11 +01:00
Peter Korsgaard
8b46a14d17 package: add python-docker
Python library for the Docker Engine API.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:31:42 +01:00
Peter Korsgaard
9757f6d11a package: add python-backports-ssl-match-hostname
The ssl.match_hostname() function from Python 3.5.

This function IS available in python 2.7 since 2.7.9, but it doesn't support
matching on IP addresses which is needed for some use cases.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:31:11 +01:00
Peter Korsgaard
6fccba6033 package: add python-websocket-client
WebSocket client module for python.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:30:16 +01:00
Peter Korsgaard
93cc6b6cb0 package: add python-docker-pycreds
Python bindings for the docker credentials store API.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-10 08:28:18 +01:00
Fabrice Fontaine
cf69551e94 libmpdclient: add host-meson dependency
Fixes:
 - http://autobuild.buildroot.net/results/00a/00af3302c4029670a585beb3cb65bd8623cf12da

Add a libmpdclient entry for myself in DEVELOPERS

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Tested-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-09 22:50:29 +01:00
Timo Ketola
8ea3dd2d62 DEVELOPERS: Add myself as a maintainer of fbgrab
Daniel's address is bouncing and my touch on fbgrab is now the most
recent one.

Signed-off-by: Timo Ketola <timo.ketola@exertus.fi>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-08 09:33:56 +01:00
Ezequiel Garcia
95e0751ab4 DEVELOPERS: Add myself to Ci20
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-08 08:56:56 +01:00
Dagg Stompler
6e56fbeaee DEVELOPERS: add few items to my list
Signed-off-by: Dagg Stompler <daggs@gmx.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-07 21:03:55 +01:00
Asaf Kahlon
e5f64bed43 python-jsonmodels: new package
Package to create and handle json structures in Python,
with very easy and convenient API.

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-07 09:04:20 +01:00
Alex Suykov
9a01e6d6cd DEVELOPERS: add myself for chromebook snow
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-05 23:20:07 +01:00
Fabio Estevam
8cffa8163c DEVELOPERS: Add some i.MX boards to my name
I would like to help maintaining the following defconfigs:

imx23evk_defconfig
imx6-sabreauto_defconfig
imx7dpico_defconfig
mx25pdk_defconfig
mx51evk_defconfig
mx53loco_defconfig

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-05 21:22:31 +01:00
Peter Korsgaard
92b8bd0879 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-05 21:04:14 +01:00
Baruch Siach
8304e920cb 18xx-ti-utils: new package
These are spacial RF calibration utilities for TI Wilink 18xx
modules.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-01 23:19:20 +01:00
Alistair Francis
52df4a211c DEVELOPERS: Update email address
I am leaving Xilinx so to avoid future bounces update my email address
to my personal email address.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Alistair Francis <alistair@alistair23.me>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-27 20:16:33 +01:00
Peter Korsgaard
4fdf2d642b sunxi-mali-mainline-driver: new package
Add allwinner mali kernel driver package.  Used in combination with
userspace Allwinner openGL libraries, it gives possibility to use 3D openGL
SoC acceleration.

[Peter: Rename to sunxi-mali-mainline-driver.  Use revision selection from
	sunxi-mali-mainline package.  Depend on that package and default to
	y if dependencies are met. Tweak Linux config]
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-15 21:44:55 +01:00
Peter Korsgaard
7e469bb646 sunxi-mali-mainline: new package
Add Allwinner Mali openGL userspace driver r6p2.
Used combined with kernelspace Mali driver,
it gives possibility to use 3D openGL SoC acceleration.
It provides fbdev libraries and headers.
It is compatible with Linux >= 4.4 as sunxi-mali-driver-mainline.

[Peter: Move version logic to Config.in, ensure directories exists]
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-15 21:33:32 +01:00
Thomas Petazzoni
ab7410fa77 DEVELOPERS: Free Electrons is now Bootlin
Free Electrons is being renamed to Bootlin. While the
@free-electrons.com e-mail addresses still work, it is not guaranteed
to be the case in the future. Hence, this patch updates the DEVELOPERS
file to use the @bootlin.com addresses for all Bootlin engineers.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-14 21:30:22 +01:00
Thomas Petazzoni
647d9a2cdd DEVELOPERS: drop entry for amd-catalyst package
Romain Perier is no longer at Free Electrons, and his e-mail address
@free-electrons.com no longer exists, especially with the rename to
Bootlin. Romain is no longer maintaining the amd-catalyst package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-14 21:30:19 +01:00
Adam Duskett
0bfaedca37 python-flask-sqlalchemy: new package
Flask-SQLAlchemy is a Flask microframework extension which adds support for
the SQLAlchemy SQL toolkit/ORM.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: fix check-package warnings.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-10 16:23:54 +01:00
Adam Duskett
133a0a3b9e python-sqlalchemy: new package
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
gives application developers the full power and flexibility of SQL.

It provides a full suite of well known enterprise-level persistence
patterns, designed for efficient and high-performing database access,
adapted into a simple and Pythonic domain language.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: fix check-package warnings.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-10 16:19:29 +01:00
Steve Kenton
aa33514bee udftools: new package
Signed-off-by: Steve Kenton <skenton@ou.edu>
[Thomas: add hash for the license file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 17:05:35 +01:00
Jagan Teki
98b68d08fa board: Add Tinker RK3288 board support
Add Tinker board, from rk3288 family SOC.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-06 11:39:48 +01:00
Jagan Teki
cdbb96e0b1 board: Add Vyasa RK3288 board support
Add Vyasa board, from rk3288 family SOC.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-06 11:39:48 +01:00
Eric Le Bihan
990a7d14cf 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 <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:48 +01:00
Eric Le Bihan
b50522d838 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.

[1] https://forge.rust-lang.org/platform-support.html

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:47 +01:00