Commit Graph

219 Commits

Author SHA1 Message Date
Alessio Sergi 29c37543cf xbps-src: introduce python_version 2016-11-17 17:42:54 +01:00
Michael Gehring f82da0a8f7 common/environment/setup/install.sh: quote filename in vinstall
Fixes #5011
2016-10-21 01:46:06 +02:00
Alessio Sergi 4e6576e7a4 xbps-src: add support for python3 pkgs
- python_module build style now builds modules for python2/3 by default
- new python2_module and python3_module build styles for building
  python2-only and python3-only packages respectively
- no more python_versions
- no need to define pycompile_version for Python modules anymore
  (still needed for non-Python modules though)
- Python version and paths are now guessed automatically and a set of
  useful variables can now be used in templates
- #!/usr/bin/python2 and #!/usr/bin/python3 are now the default shebangs
- /usr/bin/foo2 and /usr/bin/foo3 are now the default names for bin
  scripts (for use with alternatives)
2016-10-16 16:59:31 +02:00
Christian Neukirchen 43c25bf405 autoconf_cache/aarch64-linux: set as_cv_unaligned_access=no.
Unaligned access is generally permitted, but there are modes where it
is not, and who knows which hacks are enabled when that thing is on.
2016-09-19 21:28:14 +02:00
Christian Neukirchen ff8e25b4f3 build-style/go.sh: enable aarch64. 2016-09-16 22:26:56 +02:00
Alessio Sergi da4d9b7f23 xbps-src: PYPI_SITE: use files.pythonhosted.org for less redirections 2016-05-13 17:35:35 +02:00
Juan RP e97de5b5d3 env/build: get rid of timestamp-macros.sh (dangling symlink). 2016-04-27 16:53:47 +02:00
Juan RP 882f23cf98 env/hardening: fix hardening on MIPS.
Thanks to @chneukirchen for finding the correct solution:

gcc sets -mno-shared by default when compiling non-PIC, and because
we are overriding the builtin specs, this internal rule set for gnu/mips
does not trigger:

gcc/config/mips/gnu-user.h:/* Default to -mno-shared for non-PIC.  */
gcc/config/mips/gnu-user.h:  " %{mshared|mno-shared|fpic|fPIC|fpie|fPIE:;:-mno-shared}"

So that we now use a specific specs file just for mips that sets -mshared for PIC.

This fixes building packages with hardening enabled for MIPS.
2016-04-27 15:01:40 +02:00
Juan RP 7e117fb96d env/hardening: reenable hardening for MIPS.
I just booted a full PIE base-system successfully on my CI20 Creator.

For now we set -fPIE again in C{,XX}FLAGS to fix the build in attr/acl/coreutils, etc.
2016-04-27 12:47:56 +02:00
Juan RP d55d16482d env/hardening: disable PIE generally for MIPS.
PIE is currently broken in MIPS.
2016-04-26 09:41:28 +02:00
Alessio Sergi 0be83d098d xbps-src: switch PYPI_SITE to Warehouse (pypi.io) 2016-04-25 00:25:04 +02:00
Toyam Cox f7cb309d20 build-style/cmake: Add cmake as hostmakedepends 2016-03-12 12:14:42 +00:00
Jürgen Buchmüller c459dade15 gcc: add support for SOURCE_DATE_EPOCH environment
+ Create symlinks from gcc/patches/libcpp-source_date_epoch.patch to cross-*/files/
+ Make all the _apply_patch() functions the same
2016-03-08 13:49:52 +01:00
Jürgen Buchmüller 8ce51e70cf timestamp-macros: fix creation and add cleanup
As described in #3765
2016-03-07 09:46:34 +01:00
Enno Boland 0c4b812ad3 common/environment: fix error message 2016-03-06 14:10:41 +01:00
Enno Boland 15f26298aa common/environment: empty file before writing.
Emptying the headerfile before writing into it. This prevents
defining/undefining a macro multiple times.

addresses #3765.
2016-03-06 13:07:11 +01:00
Enno Boland d84d62940d common/environment: check if package is under version control.
only use git commit date for SOURCE_DATE_EPOCH if the template is under version
control.  Fall back to templates mtime if it's not managed by git.
2016-03-06 13:07:10 +01:00
Juan RP 00b8dd7e50 common/env/install: drop timestamp-macros.sh.
Why? because adding this to the install phase will change the compiler
flags that were used for configure/building and compilation will
happen twice.
2016-03-03 07:44:06 +01:00
Enno Boland d285f4dcdb common/environment: only load git commit date when in chroot. 2016-03-02 07:47:35 +01:00
Enno Boland a04687bf74 common: fix glibc
glibc is a wonderful library. Tidy and clean. To keep it that clean
it does such useful things as sorting the CFLAGS alphabeticly.
Unfortunately this breaks command line arguments that contain parameters
such as `-include /foo/bar`. This commit works around this flaw by
removing the space and using -include/foo/bar instead.
2016-03-01 20:52:44 +01:00
Enno Boland b5e49c48e7 common: replace XBPS_COMMIT_TIMESTAMP by SOURCE_DATE_EPOCH
This way we are compatible to the Debians proposal. See [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html
2016-03-01 18:27:49 +01:00
Enno Boland 69cb0beb58 environment/configure: move macro definition to a header file and include it.
This prevents escaping issues with command line options.
2016-03-01 18:08:56 +01:00
Enno Boland 995c356e30 Revert "common/environment: add missing backslashes for macro definitions."
This reverts commit c46b43df61.

lynx was complaining about missing " in the CFLAGS. apparently this is an error in the lynx
build system, not in the CFLAGS.
2016-03-01 17:50:06 +01:00
Enno Boland c46b43df61 common/environment: add missing backslashes for macro definitions. 2016-03-01 17:45:42 +01:00
Enno Boland 3c04642877 environment/build: overwrite __DATE__, __TIME__, and __TIMESTAMP__ macros.
This commit overwrites timestamps that depend on timestamps with the
commit date of a package.
2016-03-01 15:33:09 +01:00
Enno Boland 144a59a796 srcpkgs: fix MOZILLA_SITE update checks. 2016-02-12 00:50:34 +01:00
Juan RP 3a40219469 env/hardening: fix inverted nopie setting on mips*-musl. 2015-12-12 08:36:51 +01:00
Juan RP b53ac251ea env/hardening: handle {i686,mips,mipsel}-musl in a common place. 2015-12-12 08:32:38 +01:00
Christian Neukirchen bb4c655c11 common/environment/install: add cross.sh and hardening.sh.
You are not supposed to compile in do_install(), but some Makefile
detect CFLAGS changes and then rebuild.
2015-12-11 13:58:44 +01:00
Christian Neukirchen 5745ea5b82 configure/hardening.sh: disable hardening on mipsel-musl. 2015-11-27 18:29:19 +01:00
Christian Neukirchen 4c4c82cb19 configure/gnu-configure-args.sh: match mipsel-musl. 2015-11-27 18:29:19 +01:00
Enno Boland bd307bb9e2 Merge pull request #3001 from Gottox/conf_files-glob
globs files defined in conf_files=
2015-11-26 08:05:34 +01:00
Christian Neukirchen e58a7b24e9 gccspecs/hardened-cc1: also pass -fPIE to cpp by default.
Note that -fPIE defines __PIC__ and __PIE__, so passing this on to
pure cpp(1)/gcc -E executions is relevant.

Found the hard way due to ccache breaking on i686 with precompiled
headers which used the non-PIC definitions in cpuid.h since header
precompilation doesn't read cc1_options.
2015-11-19 16:30:06 +01:00
Dominik Honnef 5accddbb26 go, build-style/go: set nopie=yes 2015-11-19 09:55:48 +01:00
Enno Boland 82b736b616 common: expand_destdir rewrite 2015-11-18 11:19:09 +01:00
Enno Boland 18e288fd2c common: remove unneccessary 'source's; move extglob.sh to install 2015-11-18 10:21:33 +01:00
Enno Boland ef24b7b7cc common: move expand_destdir to environment/pkg; change lint check. 2015-11-18 10:21:33 +01:00
Juan RP 744acd0308 xbps-src: env/hardening: make sure to put pkg overrides at the end. 2015-11-17 17:24:54 +01:00
Juan RP 784f75931d xbps-src: move compiler/linker defaults to env/hardening.sh.
The user can still set his/her defaults via etc/conf, and per
package in the templates.
2015-11-17 17:13:12 +01:00
Juan RP 917024dd19 Merge pull request #2998 from Gottox/no-force_debug_pkgs
common/xbps-src: remove force_debug_pkgs variable
2015-11-17 16:54:10 +01:00
Juan RP 3fdad91bf9 xbps-src: make 'build_pie' the default; use 'nopie' to disable it.
Discussed with @chneukirchen.
2015-11-17 16:47:19 +01:00
Enno Boland c7f2f9840f common/xbps-src: remove force_debug_pkgs variable 2015-11-17 15:36:51 +01:00
Juan RP 3e1154266f xbps-src: support "alternatives" from xbps-0.48. 2015-10-30 12:39:59 +01:00
Juan RP bfcc741398 time: unbreak cross musl; set _GNU_SOURCE and override wait3 test.
Thanks @pullmoll
2015-10-28 17:12:38 +01:00
Juan RP 94cbb90877 env/autoconf_cache: ac_cv_strftime_extensions is supported in glibc and musl. 2015-10-23 14:27:12 +02:00
Juan RP 4bb30370dd xbps-src: set up C{,XX}FLAGS and LDFLAGS correctly for cross compilation.
This way there's no need to set LDFLAGS per-pkg just to fix cross compilation
in multiple packages.
2015-10-17 11:05:21 +02:00
Christian Neukirchen 5093d6b0c1 New build_style haskell-stack. 2015-09-14 16:13:13 +02: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
Dominik Honnef 114c395bf9 build-style/go: support cross-compilation with cgo 2015-09-04 02:18:57 +02:00
Enno Boland cc1e475bff libtar: fix cross compile 2015-09-03 00:12:41 +02:00
Dominik Honnef 2bb87e4e07 build-style/go: don't set GOBIN
Go 1.5 doesn't permit our use of GOBIN anymore, breaking
cross-compilation (for details, see
https://github.com/golang/go/issues/9769)

In retrospect, I'm not sure why we set GOBIN in the first place;
GOPATH/bin should suffice.

Closes #2337
2015-08-22 20:58:24 +02:00
Christian Neukirchen e3da69248b common/environment/configure/build-pie.sh: pass -z relro -z now via $LDFLAGS for libtool to pick them up (see #2275). 2015-08-17 16:53:13 +02:00
Christian Neukirchen 56d1da3a3f environment/configure/build-pie.sh: enable hardening in CXXFLAGS too. 2015-08-13 13:50:23 +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 e03593db73 xbps-src: remove vestiges of the systemd-services hook. 2015-07-11 11:30:09 +02:00
Juan RP db0f20706d env/setup/misc: switch GNU_SITE to http://ftp.gnu.org. 2015-06-25 07:06:25 +02:00
Andrea Brancaleoni 18bc877509 Merge pull request #1846 from thypon/binfmt-support
New package: binfmt-support-2.1.5
2015-06-22 16:04:28 +02:00
Andrea Brancaleoni be90180b48 environment/setup-subpkg/subpkg.sh: add binfmts trigger support 2015-06-22 13:49:10 +02:00
jbu 17107adbca vopt_enable: check for excess parameters 2015-06-20 10:08:44 +02:00
Christopher Brannon 58fd640ff2 socat: unbreak musl builds for arm*, i686
musl's termios doesn't have c_ispeed.
2015-06-18 17:49:43 -07:00
Christian Neukirchen d2600d1411 environment/configure/bootstrap.sh: use -isystem and -rpath-link during bootstrap. 2015-06-05 11:06:31 +02:00
Juan RP 4e27c0b449 environment/configure: append to {C,LD}FLAGS, don't override them. 2015-06-04 16:03:42 +02:00
Juan RP 8bbae79dc0 env/autoconf_cache: updated gnulib override tests for musl from Sabotage. 2015-06-04 08:34:10 +02:00
beefcurtains 4018212525 Merge pull request #1703 from pullmoll/eds
evolution-data-server: revbump, patch + hook to build with musl
2015-06-03 16:47:08 +00:00
Juan RP 53465da53f xbps-src/environment: set --sbindir=/usr/bin in ${configure_args}. 2015-06-03 14:48:30 +02:00
jbu a68112268b evolution-data-server: make it build with musl
+ Add a common/environment/configure/autoconf_cache/musl-linux entry for iconv
+ Add a patch to define ICONV_10646 in case it is not defined
2015-06-02 10:47:20 +02:00
Juan RP 2fc2bdb0f3 env/autoconf: override ac_cv_sys_file_offset_bits for musl. 2015-05-31 09:40:19 +02:00
Juan RP 0609f4c62b environment/gnu-configure-args: set --mandir again. 2015-05-22 14:14:58 +02:00
Juan RP 1f2fec69a9 environment/gnu-configure-args: do not set --localedir.
Some pkgs error out if --localedir is set unconditionally (ncurses),
so that remove this for now.
2015-05-22 14:12:01 +02:00
Juan RP d573e532db env/gnu-configure-args: set --localedir and --bindir explicitely for now. 2015-05-22 11:03:29 +02:00
Juan RP f7bb54b856 environment: override gettext tests for musl on native too. 2015-05-21 12:02:54 +02:00
Juan RP fefa330484 environment: override gettext tests for musl. 2015-05-21 11:47:46 +02:00
Juan RP 167ad4d345 ruby: fix detection of isnan/isinf macros on musl; from Alpine. 2015-05-09 07:46:19 +02:00
Juan RP 65b88db5b3 xbps-src/environment: $nodebug is per srcpkg, not subpkg.
This fixes enabling/disabling debug builds for some pkgs.
2015-05-06 07:34:40 +02:00
Dominik Honnef 3b617119c7 build-style/go: support building multiple packages 2015-05-04 13:40:44 +02:00
Juan RP fdc356cb60 xbps-src: environment/configure: apply arm cache overrides to armv5te too. 2015-05-01 08:18:07 +02:00
Juan RP 11a6f8a681 xbps-src: environment: set CFLAGS and LDFLAGS for the bootstrap case.
Fixes building bootstrap packages that need to find libs in masterdir
and not from the host.
2015-04-21 08:32:59 +02:00
Juan RP 313cdf6ee6 xbps-src: force reconfiguration of base-directories in sysroot.
... otherwise some required symlinks in sysroot aren't created, and this
seems to be required when cross compiling for i686.
2015-04-15 12:23:07 +02:00
Juan RP e898f68084 environment/configure: create lib32 symlink on i686.
otherwise in cross compilation the lib32 symlink is not created, because
base-directories post-install script is skipped.
2015-04-13 09:24:27 +02:00
Christian Neukirchen 1919bb36ca common/environment/configure-args.sh: add aarch64*. 2015-03-30 18:33:43 +02:00
Juan RP 58d6bee509 environment/autoconf_cache: override tests for /dev/{u,}random. 2015-03-29 09:10:10 +02:00
Christian Neukirchen 232dbbd206 environment/configure: move ac_cv_have_decl_sys_siglist=yes from linux to glibc, as musl doesn't have it. 2015-03-22 18:39:19 +01:00
Christian Neukirchen cd01759127 defaults.conf: move -z now to hardened-ld only. 2015-03-08 19:57:01 +01:00
Christian Neukirchen ea96fc3cce xbps-src: pass PIE flags via -specs mechanism, avoids breaking static build. 2015-03-07 20:59:50 +01:00
Juan RP 9870868948 xbps-src: added "build_pie" var to build PIE binaries. 2015-03-04 17:00:19 +01:00
Juan RP 46a8da47f0 environment/autoconf-cache: add more more overrides for gnulib.
Close #1046
2015-03-02 15:29:42 +01:00
Duncaen ecdfaf50ee common-linux: fix tests for coreutils 2015-03-02 15:27:15 +01:00
Juan RP 2d5a7a9323 environment/autoconf_cache: override /dev/{ptc,ptmx} tests. 2015-02-26 09:24:22 +01:00
Juan RP e9c2c65102 environment/autoconf_cache: override some more tests for gnulib. 2015-02-25 19:04:27 +01:00
Juan RP 1bbaef721c xbps-src: do not generate 32bit pkgs for perl/python modules. 2015-02-25 12:00:10 +01:00
Dominik Honnef a62f407007 set Go env vars in environment
This way, a template can overwrite do_build but still have good defaults
for GOPATH, GOARCH and GOARM.
2015-02-21 14:49:02 +01:00
Dominik Honnef 77e8751a93 New build_style: go 2015-02-21 14:49:02 +01:00
Juan RP 869756111e common/environment/README: build_style -> build-style. 2015-02-21 12:25:57 +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 32c5ae8e02 common/environment/README: document build_style. 2015-02-21 12:05:22 +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 bf2ef44e31 xbps-src: environment/subpkg: sort and sync with reality. 2015-02-05 11:40:31 +01:00
Juan RP 5725a2e0ae xbps-src: introduce "noshlibprovides" to skip shlib-provides detection. 2015-02-05 11:37:10 +01:00
Juan RP d104a99fa0 hooks/prepare-32bit: introduce lib32symlinks.
- This creates a symlink of a file stored in usr/lib32 to usr/lib.
- This expects basename of files stored in usr/lib32.
- This is required by an upcoming change to the glibc pkg.
2015-01-28 16:29:45 +01:00
Juan RP da68a7b63f xbps-src: reverts is now propagated to subpkgs. 2015-01-18 19:34:20 +01:00