Commit graph

84 commits

Author SHA1 Message Date
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
Juan RP
dcdaa283b7 xbps-src: make LDFLAGS in templates override global defs. 2015-11-28 09:00:14 +01:00
Jürgen Buchmüller
6a25cf1cf2 common.sh: set BUILD_XXXFLAGS as autoconf defaults
Some autotool files (configure.ac) expect host build flags to be
defined as BUILD_CFLAGS, BUILD_CXXFLAGS, BUILD_CPPFLAGS and
BUILD_LDFLAGS. Especially these files tend to default to
LDFLAGS for BUILD_LDFLAGS, which makes host utilities built
with these flags fail with buildpie=yes because of differing
compiler and linker options.

One example is libatasmart where this patch fixes the build.
2015-11-20 20:57:23 +01:00
Enno Boland
c7f2f9840f common/xbps-src: remove force_debug_pkgs variable 2015-11-17 15:36:51 +01:00
Juan RP
c759f096fa xbps-src: give more info for 'restricted' pkgs. 2015-11-14 11:55:04 +01:00
Juan RP
bcdacb66a0 xbps-src: replace basename(1) with ${var##*/}.
Reduce number of fork+exec due to using a subshell to execute basename(1).
2015-09-11 07:55:40 +02:00
Jürgen Buchmüller
0c7cfd6abe setup_pkg(): fix check for pkgname-32bit
+ Also update gcc-multilib to gcc-4.9.3

Trying to build `gcc-multilib` failed because `glibc-32bit`
has no separate `srcpkg/glibc-32bit/template`, but is a
result of building `glibc` for target arch `i686`.

For gcc-4.9.3 to build a patch is required that gets us rid
of strange errors when including /usr/include/bits/stdio2.h
2015-09-03 12:26:13 +02:00
Juan RP
279ead0999 xbps-src: added XBPS_ALLOW_RESTRICTED conf option for restricted pkgs.
Such packages should set the `restricted' var to allow building a binary package.
Note that such packages do not allow redistribution of sources and binaries,
so that it's up to the user if (s)he wants to pkg it locally.
2015-07-26 10:22:35 +02:00
Juan RP
0ce38c4c74 xbps-src: make sure XBPS_WRAPPERDIR is only created in required cases.
- When building a bootstrap pkg and the chroot is not ready (bootstrap).
- When building a pkg within the chroot.
2015-07-12 10:13:43 +02:00
Juan RP
e6b34ca994 xbps-src: set XBPS_MAKEJOBS to 1 if unset or disable_parallel_build. 2015-07-10 10:07:02 +02:00
Juan RP
3caa64b981 xbps-src: create XBPS_WRAPPERDIR in the upperdir with overlayfs. 2015-04-24 11:02:37 +02:00
Juan RP
8cd7f1a901 Revert "xbps-src: Set the MAKEFLAGS environment variable"
This reverts commit d803775b3d.

This breaks all pkgs that exec make directly without ${makejobs}
(which should be built as -j1) and makes installation also parallel,
which we do not want.

We'll probably resurrect this in a certain future.
2015-04-09 09:21:53 +02:00
Sören Tempel
d803775b3d xbps-src: Set the MAKEFLAGS environment variable
This ensures that packages with custom build functions also use our
provided MAKEFLAGS. Without this commit it was necessary to always
append the "${makejobs}" variable manually to make. For compatibility
reasons that is still possible but should probably be removed in the
future by making "makejobs" a local variable.
2015-04-08 19:44:06 +02:00
Juan RP
439807df63 xbps-src: setup_pkg: re-read conf file to propagate vars to build.sh. 2015-03-23 18:02:45 +01:00
Juan RP
451411ad21 xbps-src: set_build_options: read conf file for XBPS_PKG_OPTIONS.
This makes XBPS_PKG_OPTIONS* settings work via build.sh. Thanks chris2.
2015-03-23 17:57:23 +01:00
Christian Neukirchen
ca81f8e7f1 xbps-src/shutils/common.sh: check $version, - and _ are now forbidden. 2015-03-20 19:06:18 +01:00
Juan RP
ce859b4188 xbps-src: run_func on error must return 1 not 2. 2015-03-20 09:17:40 +01:00
Juan RP
0337b86f43 xbps-src: return 0 on success, 1 on error and 2 on nocross/broken (ignore). 2015-03-19 10:08:02 +01:00
Christian Neukirchen
be94bdd70a xbps-src/shutils/common.sh: actively unset disabled build options to override default values. 2015-03-18 16:14:51 +01:00
Juan RP
01afe81aac xbps-src: fix -E to check for the target pkg being registered in repos.
rather than just checking if its binary package is available.
2015-03-15 09:54:52 +01:00
Juan RP
388c3143ac xbps-src: tweak the order of LDFLAGS set in templates.
Rather than appending to the final LDFLAGS, add it to the head,
this way packages that use LDFLAGS="-lfoo" will still work with --as-needed.

This fixes hsetroot build, at least.
2015-03-12 10:46:36 +01:00
Juan RP
50a116d27a xbps-src: set default compiler/preprocessor/linker flags via etc/conf.
Rather than setting them in the build profile, just set them in
etc/defaults.conf (overridable via etc/conf) to simplify the code.

- Also enable _FORTIFY_SOURCE=2 in CPPFLAGS.
- Also enable -z,relro in LDFLAGS.

As suggested by @chneukirchen.
2015-03-04 15:18:46 +01:00
Juan RP
083d139f68 xbps-src: setup_pkg: rename a var for clarity. 2015-03-01 19:29:16 +01:00
Juan RP
bdb798fa64 xbps-src: more improvements for -E and -t options.
If both options are set, check first if the binpkg exists before
creating the temporary masterdir, and clean this up properly.
2015-03-01 19:29:16 +01:00
Juan RP
2f524cf66a xbps-src: cleanups for -E and -t.
-E also detect noarch binpkgs.
-t make sure to cleanup the temporary masterdirs.
2015-03-01 19:29:16 +01:00
Juan RP
8ee4a7c257 xbps-src: added -E opt to exit immediately if a binpkg already exists.
With -E if there's a binary package in a local repository for the
target pkg, exit immediately. This will be used by the upcoming xbps-fbulk(8).
2015-02-28 10:29:27 +01:00
Juan RP
a4ff74aeb6 xbps-src: make sure to not propagate <subpkg>_package() funcs.
Unset all them before processing a new template. Close #1023
2015-02-25 18:54:00 +01:00
Juan RP
df4c861f97 xbps-src: common/{,environment}/build_style -> common/${,environment}/build-style. 2015-02-21 12:13:07 +01:00
Juan RP
3adb1c5c6b xbps-src: add environment/build_style to set env vars for build_styles. 2015-02-21 12:03:48 +01:00
Juan RP
f38c8ba711 xbps-src: fix per pkg options declared in etc/conf (close #973). 2015-02-16 10:48:21 +01:00
Juan RP
5a2536f135 xbps-src: really disable --as-needed if broken_as_needed is set.
Also remove some unnecessary stuff from gnu-configure build_style,
because it's done elsewhere.
2015-01-08 11:54:28 +01:00
Juan RP
897b504d6b xbps-src: use bootstrap build-profile for the bootstrap target.
... otherwise the proper compiler flags are being used in the chroot case.
2014-12-24 09:55:29 +01:00
Juan RP
8252c1a719 xbps-src: set defaults to XBPS_C{,XX}FLAGS for the bootstrap target. 2014-12-23 09:24:17 +01:00