Commit graph

116 commits

Author SHA1 Message Date
Juan RP
e4984d01ea xbps-src: multiple performance improvements
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the show-build-deps target is now much faster.
- the update-bulk/show-repo-updates targets are now much faster.
- the update-sys/show-sys-updates targets are now much faster.
- the bootstrap target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.

Based on work started by @Duncaen on #12433

Close #12433
Close #11282
2019-07-10 20:28:46 +02:00
Jürgen Buchmüller
17ba00b095 Revert "xbps-src: multiple performance improvements."
This reverts commit 2a4e178e35.
2019-07-05 12:08:45 +02:00
Jürgen Buchmüller
95beffd0f5 Revert "xbps-src: fix XBPS_CHECKVERS_XCMD."
This reverts commit 1fc6aea821.
2019-07-05 12:08:43 +02:00
Juan RP
1fc6aea821 xbps-src: fix XBPS_CHECKVERS_XCMD.
Needs to set -r $XBPS_CROSS_BASE to use correct dbdir.
2019-07-05 08:53:51 +02:00
Juan RP
2a4e178e35 xbps-src: multiple performance improvements.
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the `show-build-deps` target is now much faster.
- the `update-bulk/show-repo-updates` targets are now much faster.
- the `update-sys/show-sys-updates` targets are now much faster.
- the `bootstrap` target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.

Based on work started by @Duncaen on https://github.com/void-linux/void-packages/pull/12433

Close https://github.com/void-linux/void-packages/pull/12433
Close https://github.com/void-linux/void-packages/pull/11282
2019-07-05 08:53:51 +02:00
Duncaen
0639ff03da
xbps-src: simplify set_build_options 2019-06-19 11:33:54 +02:00
Duncaen
dd9c7a967e
xbps-src: less forking in get_subpkgs and unset_package_funcs 2019-06-19 11:30:22 +02:00
Duncaen
723170541d
xbps-src: don't check if base-chroot is installed for every single sourced template 2019-06-19 11:08:39 +02:00
Juan RP
7b7d7c13a1
xbps-src: exit properly if mktemp(1) fails, not from its subshell.
Thanks @huglovefan
2019-06-17 17:38:07 +02:00
Juan RP
f59b295903 xbps-src: cleaned up usage of mktemp(1).
This one was on my TODO for a long while... fixes unportable
arguments (checked with the NetBSD's manual page).
2019-06-17 15:23:20 +02:00
Doan Tran Cong Danh
37ed8cb67b common: add BUILD_{CXX,CPP,FC,LD} flags 2019-06-15 16:31:53 +02:00
q66
3c47efa808 common: expose build profile in cross env
[ci skip]
2019-04-09 19:26:59 -03:00
John
01d11a4938 build-style/cmake: set CMAKE_CROSSCOMPILING_EMULATOR 2019-04-05 23:04:14 +02:00
maxice8
b95a49b243
meta: remove last bits. 2019-03-14 19:25:00 -03:00
maxice8
a5bc81adf7 meta: remove supporting code for noarch 2019-03-14 19:22:06 -03:00
maxice8
166b70f35b meta: also run do-$step_name hooks when run_step is called. 2019-03-03 13:08:23 -03:00
maxice8
f683b0aa08
meta: fix build-class -> build-helper 2019-02-26 17:28:12 -03:00
Enno Boland
38c457e1aa add compatibility code for noarch/only_for_archs 2019-02-15 13:19:44 +01:00
Enno Boland
6eb37e35b2 common: merge only_for_archs and noarch=yes into one.
* noarch=yes is replaced with archs=noarch
* only_for_archs= is renamed to archs=
* archs= allows the use of wildcards and negations; first matching rule applies:
  * archs="*-musl" will build the pkg only for musl-libcs
  * archs="~*-musl" will build the pkg only on non-musl-libc
  * archs="x86_64-musl ~*-musl" will build for x86_64-musl and any non-musl
    arch.
* archs= defaults to "*"
2019-02-15 13:19:44 +01:00
Johannes
026ebc069e common: unset rust-cross specific variables for native builds 2019-02-08 19:16:39 +01:00
maxice8
24efa877cd
shutils/common.sh: Remove variables that are now in build-helper/rust.sh 2019-01-25 20:44:42 -02:00
maxice8
e30a9c8908
shutils/common.sh: add support for source build-helper files 2019-01-25 20:44:41 -02:00
maxice8
027cdb5bb8 shutils/common.sh: export CARGO_BUILD_TARGET 2019-01-20 19:41:18 -02:00
maxice8
54040e4b1b shutils/common.sh: define CARGO_BUILD_JOBS and
CARGO_TARGE_${RUST_TAGRGET}_LINKER.
2019-01-20 15:33:10 -02:00
maxice8
1fcdcdd959
shutils/common.sh: fix typo 2019-01-19 08:03:10 -02:00
maxice8
9964ac65d3 common.sh: don't export XBPS_GCC_* 2019-01-18 05:42:18 -02:00
Rasmus Thomsen
9141df9698 cross-profiles: set XBPS_CROSS_RUST_FLAGS&XBPS_CROSS_RUST_TARGET
only added to platforms which support rust
2018-10-15 08:20:10 +02:00
Enno Boland
08d510ab87
common/shutils: fix configuration loading during setup_pkgs 2018-06-29 11:26:37 +02:00
Alessio Sergi
d9f67bcb36 Revert "common/xbps: make unset_package_funcs and run_pkg_hooks nonfatal"
This reverts commit f3d4dc20d7.
2018-06-05 16:17:23 +02:00
Enno Boland
f3d4dc20d7 common/xbps: make unset_package_funcs and run_pkg_hooks nonfatal 2018-06-05 09:22:30 +02:00
maxice8
ac4a294ba4 common: show value of nocross when it is set.
Manual.md says:

"This should be set to a string describing why it fails, or a link to
 a travis buildlog demonstrating the failure."
2018-05-01 19:20:30 -04:00
Enno Boland
7e55558944
common/xbps-src: add stacktraces on build errors 2018-03-28 22:06:51 +02:00
Enno Boland
f5239598d5
common/xbps-src: change directory before each phase.
fixes #9313.
2017-11-29 15:02:10 +01:00
Michael Gehring
75d5240c5b xbps-src: evaluate build_options before setting default flags
Fixes #9454
2017-11-24 07:48:24 +01:00
Enno Boland
ba84655a13 common/libexec: remove redundant pre/do/post preparation code
This pullrequest removes redundant codepaths in
xbps-src-do{build,configure,install}.sh and joins the code in the
run_step function. This causes slightly different behavior to
do_install:
Do install will chdir to wrksrc only _before_ the first step. The
current behavior is that pre_install will run without a chdir, do_ and
post_ is runned with a chdir. This is a subtle but breaking change and
may cause some templates to break at install phase.
2017-11-18 09:44:47 +01:00
Toyam Cox
debdd551f4 xbps-src: add quiet mode 2017-08-29 13:23:54 -04:00
Toyam Cox
04f489e839 xbps-src: expand usage of ignore-problems in reading pkgs 2017-08-29 13:23:54 -04:00
Toyam Cox
5a7e73b89a xbps-src: add informative run mode 2017-08-29 13:23:54 -04:00
Jürgen Buchmüller
272114cd05 xbps-src: trying to fix FFLAGS construction
This still isn't perfect. When the common/xbps-src/shutils/chroot.sh
function chroot_init() is called, the value for $XBPS_FFLAGS, which is
defined in common/build-profiles/bootstrap.sh, is empty.

Put the immediate value into the generated /etc/xbps/xbps-src.conf
file until someone finds out where passing the value of $XBPS_FFLAGS
throughout the scripts is missing.
2017-03-08 17:36:22 +01:00
Jürgen Buchmüller
f7558c16aa common: lost the FCC to FC change somehow
Should now be conforming to GNU make.
2017-03-08 16:06:54 +01:00
Jürgen Buchmüller
60603dd0a5 common: rename FCC to FC and introduce FFLAGS 2017-03-08 16:04:42 +01:00
Jürgen Buchmüller
6d0d142d15 xbps-src common.sh: add FCC for gfortran
Introduce an environment variable `FCC` for fortran, just as CC,
CXX etc. are defined for the other compilers.

It is set to `${XBPS_CROSS_TRIPLET}-gfortran` when cross compiling, or
to just `gfortran` when building for the native architecture.
Use just "$FCC" now when specifying the fortran compiler in a template.
2017-03-08 15:18:14 +01:00
Hadrian Węgrzynowski
86a03ae71a Fix handling of package options in packages with '+' character in name. (#5385)
Substitute '+' character with '_', because eval treats '+' character
as not a part of variable name.
2016-12-24 09:43:30 +01:00
Juergen Buchmueller
2bbaddd4bb common.sh: unset cross environment variables
Closes #5067
2016-10-28 14:47:07 +02:00
Juergen Buchmueller
958b460965 common/xbps-src/shutils/common.sh XBPS_GCC_VER...
Export the environment variables XBPS_GCC_VERSION*
2016-10-26 07:24:00 +02:00
Toyam Cox
7c9d1f61b0 xbps-src: allow show of broken pkgs 2016-10-20 19:49:57 -04:00
Jürgen Buchmüller
cb5e8ef57a common/xbps-src/shutils/common.sh: add cross env
It seems that some (many?) projects rely on the environment defining
compilers, tools and flags by specific XYZ_host and XYZ_target variables.

When cross compiling, define these environment variables.

This enables e.g. qt5/qtwebengine build to succeed. Specificially ninja
relies on these variables when cross compiling.
2016-08-08 21:56:54 +02:00
Juan RP
b722ed3c8b cross-profiles: simplify and rename some of them to match XBPS_TARGET_MACHINE.
- XBPS_TARGET_ARCH var renamed to XBPS_TARGET_MACHINE (gets rid of an extra var).
- Renamed cross profiles to match XBPS_TARGET_MACHINE.
- Added symlinks to keep compatibility with old profiles.
2016-04-27 16:47:05 +02:00
Juan RP
faf97ef55a xbps-src: setup_pkg() do not overwrite env while re-reading conf. 2015-12-12 10:55:04 +01:00
Juan RP
c373ae50d4 xbps-src: get rid of 'broken_as_needed'; not used anymore. 2015-11-28 09:24:01 +01:00