Commit Graph

281 Commits

Author SHA1 Message Date
Juan RP 1ee6a3174f xbps-src: reduce basename(1) usage.
This saves a few exec()s.
2019-04-14 01:47:16 -03:00
John 01d11a4938 build-style/cmake: set CMAKE_CROSSCOMPILING_EMULATOR 2019-04-05 23:04:14 +02:00
Piotr Wójcik a4e3f89907 build-style/python-module.sh: add do_check 2019-03-21 13:28:56 -03:00
maxice8 20f91ac1c0
meta: set meson_crossfile on both do-patch and do-configure 2019-02-28 09:42:55 -03:00
maxice8 237da231cb build-style/meson: use do_patch to create crossfile 2019-02-27 22:56:19 -03:00
maxice8 1df181b32a build-style/meson.sh: add objcopy to provided binaries 2019-02-25 13:42:40 -03:00
Piotr Wójcik 9291e28d14
build-style/python3-module.sh: add do_check
closes #8969

Co-authored-by: maxice8 <thinkabit.ukim@gmail.com>
2019-02-22 07:24:17 -03:00
Foxlet f726125246 common: Set system processor for PPC cmake 2019-02-09 02:29:24 -02:00
maxice8 069b217655
common/build-style: don't be explicit about pie, fails vala. 2019-02-05 04:40:31 -02:00
maxice8 f421389bd9 build-style/meson.sh: explicitly enable staticpic and pie. 2019-02-05 04:14:56 -02:00
maxice8 3e6ea8d31a build-style/python-module: reset CFLAGS and LDFLAGS in each run 2019-01-31 12:22:30 -02:00
maxice8 732180dc1d build-style/meson.sh: Provide path for gir tools. 2019-01-29 19:39:34 -02:00
q66 82eec0d023 common/build-style/waf,waf3: explicitly pass libdir
Waf has a utility function ('lib64' in waflib/Utils.py) which
either returns an empty string or '64' depending on if either of
the paths '/usr/lib64' or '/usr/local/lib64' exist. Then, the
build system itself decides its default LIBDIR to be either
/usr/lib or /usr/lib64 depending on the result of that function,
except when libdir is passed explicitly.

We don't allow lib64 in our packages. We do have the /usr/lib64
path as that is a symlink. Therefore, do not ever allow waf to
configure the path that way.
2019-01-26 18:43:09 -02:00
John 9518d3c77c
build-style/cmake: add missing space before closing bracket 2019-01-21 22:52:56 +01:00
maxice8 5512d7e69f
build-style/meson.sh: fix binary name 2019-01-21 02:16:03 -02:00
maxice8 a59075f1d1
build-style/meson.sh: add path to 'rustc' 2019-01-21 01:59:23 -02:00
maxice8 8ddc68306e build-style/cargo: don't manually configure with cargo, use the
environment.
2019-01-20 15:33:10 -02:00
Thomas Batten c785cfd34e common: Add ppc target 2019-01-19 10:15:01 +01:00
Noel Cower e892b46432 build-styles: use go install instead of go build.
Fixes multi-package builds.

[ci skip]
2019-01-18 20:18:52 -08:00
John 6f0fee9429 build-style/cmake: add check fo nodebug flag
[ci skip]
2019-01-17 14:04:27 +00:00
John 6638dc5526 build-style/cmake.sh: Use -DCMAKE_BUILD_TYPE=RelWithDebInfo when having XBPS_DEBUG_PKGS set 2019-01-15 16:15:13 +01:00
Enno Boland 0832e1adfa
build-style/cmake: fix typo 2019-01-05 23:45:27 +01:00
q66 151f876627 common: add ppc64 build profiles and other ppc64 bits
This adds the build profiles for ppc64 targets as well as
modifications in other parts of the infra.

These targets are supported:

- ppc64le (glibc little endian elfv2)
- ppc64le-musl (musl little endian)
- ppc64-musl (musl big endian)

ELFv1 targets are explicitly not supported at this point.

Big endian musl supports ppc 970 or newer, while little endian
targets are set to a generic powerpc64le which effectively means
POWER8 and newer. Tuning is always set for POWER9, which is the
most likely target hardware. We also make sure AltiVec is always
on, because it is supported on all hardware we target.

[ci skip]
2019-01-05 23:38:00 +01:00
Noel Cower 43db1c25dc build-styles: Add support for Go modules.
Adds support for Go modules by detecting a go.mod file and, if
available, using it. In addition, to continue supporting vendoring (and
avoid the need for git on all module builds), if a package includes
a vendor directory, the module mode will switch to vendor mode if not
already set. This will use vendored source code for dependencies
instead of downloading that code again using the descriptions under
go.mod.

go_mod_mode=vendor also skips the go.sum check because nothing is
downloaded that isn't already verified, so this fixes packages with
vendored code that have checksum mismatches due to Go 1.11.4 module
checksum changes.

[ci skip]

Closes: #6036 [via git-merge-pr]
2019-01-02 20:10:56 -08:00
John ee4ce35a68 build-style/cmake: dehardcode gtk2 wxWdigets when cross compiling 2018-11-28 16:49:52 -02:00
Andy Weidenbaum afdfdf9991 build_style=perl6-dist: add 2018-11-26 04:11:50 -02:00
maxice8 c646f89f87 build-style/gem.sh: ignore ~> operator 2018-11-19 02:29:28 -02:00
maxice8 6ce9a1636a build-style/gemspec.sh: ignore ~> operator 2018-11-19 02:29:28 -02:00
maxice8 e946d7cfa2 build-style/gemspec.sh: fix cross compilation 2018-11-03 15:38:33 -03:00
Johannes 3aa797cb3a build-style cargo: move cargo config from wrksrc to home
since cargo 0.31.0 ${wrksrc}/.cargo/config is ignored for cargo install
fixes: https://github.com/void-linux/void-packages/issues/4328
2018-11-02 13:39:53 +01:00
Jürgen Buchmüller 7e0642f4ca build-style: qmake.sh add missing QMAKE_LINK_C=$CC 2018-11-02 12:25:31 +01:00
maxice8 70dce3d920
build-style/gemspec.sh: guard against usage of find on man and etc 2018-11-02 07:41:49 -03:00
maxice8 a8bbc60f5b
build-style/gem.sh: guard usage of find on etc and man 2018-11-02 07:41:36 -03:00
maxice8 03ea181231 build_style: Add gemspec build_style 2018-11-02 07:15:08 -03:00
maxice8 49e11e1ca5 build_style: Add gem build_style 2018-11-02 07:15:08 -03:00
Rasmus Thomsen 0318d0385a build-style/cargo.sh: add 2018-10-15 20:58:51 +02:00
maxice8 58d5cc4105 build-style/meson: enable b_ndebug and be explicit about paths used. 2018-10-09 10:36:32 -03:00
maxice8 b552a5f05d build-style/cmake.sh: set CMAKE_SYSTEM_PROCESSOR on cross-builds 2018-10-04 10:30:10 +02:00
maxice8 ea1b905d26
build-style/meson: enable Link-Time-Optimization by default. 2018-10-01 01:59:37 -03:00
Kyle Nusbaum 422e3461fe Fail go build when $go_import_path is not set
Closes: #2881 [via git-merge-pr]
2018-09-20 22:38:35 -07:00
maxice8 2748e21418
build-style/go.sh: fix indent 2018-09-18 21:41:08 -03:00
maxice8 608f10ea59
build-style/meson: add nm to binaries and export LD, AR, CPPFLAGS and
LDFLAGS.
2018-09-12 21:24:31 -03:00
maxice8 d0562177a5
build-style/meson: define PKG_CONFIG for host usage.
PKG_CONFIG environment variable should point to the pkg-config executable
to be used to fetch dependencies that use 'native: true' (indicate to build
against host libraries not cross-compiled ones)

To meet those requirements we set an absolute path to the host
pkg-config since the relative path to pkg-config is taken by the
wrapper.

This currently requires a patch that is a milestone of meson-0.48 that
was generated by the issue:

https://github.com/mesonbuild/meson/issues/1736
2018-09-10 01:17:05 -03:00
newbluemoon 435f99d4a7
common/build-style/perl-ModuleBuild.sh: use target perl includes 2018-09-08 07:10:55 -03:00
newbluemoon 4528a706ff
common/build-style/perl-module.sh: use target perl includes 2018-09-08 07:10:55 -03:00
maxice8 775ad8deba
build_style/meson: also unset _MESON_CPU_FAMILY. 2018-09-08 05:54:44 -03:00
newbluemoon 5e6ed15aa9 build-style/perl-ModuleBuild.sh: fix cross 2018-08-26 14:06:35 -03:00
maxice8 6580c8d657
build_style/meson.sh: export CFLAGS and CXXFLAGS from host
meson when compiling something with 'native: true' (for building
executables that are meant to be run on the host system) uses CFLAGS
and CXXFLAGS environment variables, we "pollute" them with
TARGET system cflags/cxxflags, such as -march= for the cross-compiled
arch.

so to fix it we export CFLAGS and CXXFLAGS to be CFLAGS_host and
CXXFLAGS_host respectively, they are set by XBPS and correspond to
the XBPS_CFLAGS/XBPS_CXXFLAGS. This same set of changes is also done
with CC and CXX see L#61

this was found when cross-compiling lighttpd which created the
'lemon' executable to generate inputs

thanks to @Cogitri from Exherbo for helping me debug this

[ci skip]
2018-08-16 01:49:38 -03:00
Alessio Sergi b0feeed60e build-styles/waf{,3}: make sure waf uses the correct python version 2018-08-09 19:53:32 +02:00
maxice8 97b348502c meson.sh: Fix cross-compilation
following https://mesonbuild.com/Cross-compilation.html

- host_machine is our XBPS_TARGET_MACHINE
- build_machine is our XBPS_MACHINE, and meson can find out the details
on it's own
- also don't include -musl in the CPU because meson doesn't recognize it
and projects like Mesa (LibGL) don't enable optimizations for it
- cpu_family and cpu are different, they need to be set properly:
 - armv* is arm
 - mips* is mips
 - i686 is x86
 - x86_64 is x86_64
 - aarch64 is aarch64
2018-07-29 14:30:20 -03:00
Leah Neukirchen d4e6c49808 build-style/haskell-stack.sh: init using --system-ghc too. 2018-04-05 14:32:40 +02:00
Piotr Wójcik e1a62f4018 build-style/cmake.sh: fix default do_check 2018-03-09 13:43:10 -05:00
Michael Gehring 5d6b70bd29 common/build-style/scons.sh: fix comment 2018-03-05 20:49:36 +00:00
Enno Boland 4ae8c6e8e8
common/build-style: revert last fix, instead fix a typo 2018-02-26 19:52:04 +01:00
Enno Boland 2f792446a5
common/build-style: do not leak host CFLAGS 2018-02-26 19:19:12 +01:00
Jürgen Buchmüller c43b120be0 perl-module: fall back to use host files
If perl is not installed for the target when cross building a module,
fall back to use the host Config*.p? and Errno.pm files.
2018-02-26 09:35:44 +01:00
newbluemoon 67c20224e0 xbps-src: make cmake find/use the wx-config wrapper 2018-01-09 13:35:09 +01:00
Enno Boland 768fd97393
Revert "build-style/cmake.sh: reset working dir to wrksrc after do_install"
This reverts commit 2d678d4188.
2017-11-29 15:02:01 +01:00
maxice8 84a9ac51db build-style/meson.sh: add generic do_check function.
Closes #9594.

Signed-off-by: Enno Boland <gottox@voidlinux.eu>
2017-11-28 09:37:49 +01:00
Michael Aldridge 92d6e1a521 go build style: move GOPATH creation to do_configure() 2017-11-26 00:41:26 -08:00
hipperson0 fb26ec4a5b New package: cross-mips-linux-muslhf-0.24 2017-11-24 10:11:23 +01:00
Michael Gehring 0adf7415b7 common/build-style/meson.sh: fix comment 2017-11-24 06:44:44 +00:00
Enno Boland b842440e76 build-style/cmake.sh: fix result code invalid invertation 2017-11-22 12:55:35 +01:00
maxice8 dd231e7a14 build-style/cmake.sh: add generic do_check function.
Closes #9391.
2017-11-21 12:33:38 +01:00
maxice8 9eea97221e build-style/perl-ModuleBuild.sh: add generic do_check function.
Closes #9408.
2017-11-21 11:51:08 +01:00
Leah Neukirchen 30cfeb722b build-style/gnu-makefile.sh: use "make check" if available. 2017-11-20 13:26:29 +01:00
Leah Neukirchen 6caa3ad3be build-style/configure.sh: use "make check" if available. 2017-11-20 13:26:29 +01:00
Leah Neukirchen c8e8f4276b build-style/gnu-configure.sh: warn, don't fail if "make check" is not implemented.
Closes #9348.
2017-11-20 13:26:29 +01:00
maxice8 0285924292 build-style/perl-module.sh: use generic do_check function 2017-11-20 07:18:29 +01:00
Enno Boland 0d446641e7 build-style/gnu-configure.sh: use generic do_check function 2017-11-19 20:50:48 +01:00
Enno Boland 2d678d4188 build-style/cmake.sh: reset working dir to wrksrc after do_install 2017-11-18 21:25:50 +01:00
John 568df64d8e meson: fix cpp cross compilation 2017-09-30 14:20:47 +02:00
Enno Boland daa28fbae0 Merge pull request #7801 from pbui/meson-cross
meson: add preliminary support for cross compilation
2017-09-26 09:34:01 +02:00
Leah Neukirchen eae6f47e26 common/build-style/perl-module.sh: Config_heavy.pl doesn't have a .pm extensions. 2017-09-25 16:57:31 +02:00
Leah Neukirchen 1001188a07 common/build-style/perl-module.sh: don't try to copy new core_perl/Config/ dir. 2017-09-25 15:34:16 +02:00
Peter Bui d1439f814b meson: add preliminary support for cross compilation 2017-09-24 10:02:07 -04:00
Andrea Brancaleoni 34a5df059d build-style: check for Gopkg.{toml,lock} in go 2017-09-17 23:58:52 +02:00
Andrea Brancaleoni d8f6972200 New package: dep 2017-09-17 23:58:52 +02:00
Alessio Sergi 8742e48972 build-style/python{2,3}-module: do not use custom build directory
There is no need to use a custom build directory for python{2,3}-only
modules.

This indirectly fixes our issues with packages that use distutils-extra.
2017-08-25 16:17:12 +02:00
Leah Neukirchen bcfbba40f4 build-style/cmake.sh: $CC and $CXX are good enough for cross-compiling. 2017-08-16 18:09:35 +02:00
Enno Boland 6a493a1da8 Merge pull request #6278 from Gottox/meson-build-style
common/build-style: add meson build style
2017-07-20 12:53:31 +02:00
Dominic Monroe 36ac446b2a haskell-stack: Add support for stack.yaml in source 2017-06-26 23:21:09 -07:00
Florian Wagner f2c0f7885e Add and document R-cran build style; support CRAN in update-check. 2017-06-08 13:32:40 +02:00
Enno Boland 14cf5b95d2 common/build-style: add meson build style
also use build_style=meson in all templates that use meson.
2017-05-23 14:18:01 +02:00
Toyam Cox 2b19b7eb58 build_style/gnu-makefile: allow good makefiles 2017-04-25 16:20:59 -04:00
Leah Neukirchen 8475a07947 stack: update to 1.4.0. 2017-04-13 12:05:24 +02:00
Jürgen Buchmüller ecf16a91da build-style qmake: detect qmake w/o qtchooser
Instead of relying on qtchooser to provide the link to the qmake
binary for Qt4 or Qt5 test for either version and use that.
Sometimes qtchooser can fail if e.g. a package was built with Qt4
and after that another package with Qt5 without zapping the masterdir.
2017-03-21 19:35:01 +01:00
Jürgen Buchmüller 6082bbfaf3 build-style qmake: set QMAKE_{CC,CXX,LINK} 2017-03-07 02:03:35 +01:00
Jürgen Buchmüller 8679124272 build-style cmake: replace -isystem with -I
Many packages depending on Qt5 or Qt4 and built with cmake
generate "flags.make" files with -isystem for include paths.
With gcc6 this results in e.g. "#include_next <stdlib.h>" giving
an error, because a -isystem /usr/include is in the wrong place.
The simple fix is to replace "-isystem" with just "-I".
2017-01-15 02:50:14 +01:00
Alessio Sergi 2014e03dac Revert "common/buildstyle/python*: build dir can be used as python identifier"
This reverts commit a02132b2ae.

Actually, the issue with packages using python-distutils-extra hasn't
been solved. On the contrary, python build style now generates malformed
packages, e.g., gufw:

+-- usr
    +-- lib
    |   +-- python3.5
    |       +-- site-packages
    |           +-- build3_5
    |           |   +-- lib
    |           |       +-- gufw
    |           |           +-- __init__.py
    |           |           +-- gufw
    |           |           +-- gufw.py
    |           +-- gufw
    |           |   +-- __init__.py
    |           |   +-- gufw
    |           |   +-- gufw.py
    |           +-- gufw-17.04.1-py3.5.egg-info

I don't have a clean solution handy right now, but that obviously isn't.
2017-01-12 12:27:12 +01:00
Enno Boland a02132b2ae common/buildstyle/python*: build dir can be used as python identifier
in order to make gufw installation process work, it includes itself
while installing. this raise the need that the build directory needs
to be a valid python identifier too. this commit solves this issue.
2017-01-05 20:53:47 +01:00
Christian Neukirchen 088dda2191 environment/build-style/haskell-stack.sh: hostmakedepend automatically on ghc and stack. 2016-12-18 15:28:54 +01: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 a91c8dcdfe build-style/qmake.sh: set CC/CXX/LINK. 2016-10-05 14:03:16 +02:00
Christian Neukirchen 814fb802ad build-style/perl-module.sh: fake Errno.pm too. 2016-08-29 16:23:26 +02:00
Christian Neukirchen 5b37844952 build-style/perl-module.sh: use target Config*pm files
These contain the proper CFLAGS.
2016-08-29 15:06:04 +02:00
Alessio Sergi 2c02e09892 build-style/cmake: do not use absolute path in CMAKE_INSTALL_{LIB,SBIN}DIR
...otherwise it ends up with /usr/usr/lib or /usr/usr/bin.

Partially revert PR #4230.
2016-06-26 01:01:26 +02:00
yopito 441da1c388 build-style/cmake.sh: allow templates to override cmake variables and use absolute paths (#4230) 2016-05-26 07:33:58 +02:00
Dominik Honnef ef9ff35c38 New package: prometheus-0.18.0 2016-05-03 00:50:02 +02:00
Enno Boland f6b0e09d9f common/build-style/waf3.sh: allow custom waf script 2016-04-30 18:11:23 +02:00
Enno Boland 45b9ff715a common/build-style/waf.sh: allow custom waf script 2016-04-30 18:11:23 +02:00
Alessio Sergi ffff9d749d build-style/python-module: rename unversioned scripts, if any
- No more name conflicts in case of multi-version python packages
- No more manual renaming
- No more manual shebang fixes
- Alternatives support

ok xtraeme@
2016-04-25 01:29:15 +02:00
Dominik Honnef 795a645de4 build-style/go: add support for build tags 2016-03-16 18:46:06 +01:00
Christian Neukirchen 5093d6b0c1 New build_style haskell-stack. 2015-09-14 16:13:13 +02:00
Juan RP dff3981c64 build-style/scons: also set destdir var (required by vdrift and others). 2015-09-05 10:35:46 +02:00
Juan RP f362068f7c xbps-src: new "scons" build-style. 2015-09-05 10:22:41 +02:00
Andrea Brancaleoni 0321f64b72 build_style qmake: generalized CFLAGS/LDFLAGS passing 2015-08-23 17:45:45 +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
Jürgen Buchmüller 41557ca7fb build-style qmake: INSTALL_ROOT=${DESTDIR} 2015-08-22 19:32:38 +02:00
Jürgen Buchmüller cabc226b2a build-style qmake: don't use configure_script
When running do_configure(), configure_script is already set to
./configure and we can't set another default.
Thus always use qmake directly.
2015-08-21 12:00:26 +02:00
Jürgen Buchmüller 096b4635fb build style qmake: configure_script isn't empty
When running do_configure, configure_script is already set
to ./configure, thus override it
2015-08-21 11:59:01 +02:00
jbu 1fdd815143 xbps-src: New build-style qmake 2015-08-21 09:29:44 +02:00
Juan RP e96a88a027 build-style/ruby-module: force LANG=C to workaround musl. 2015-07-29 10:24:53 +02:00
beefcurtains e30ccdc3ea build-style/cmake.sh: allow build subdirectory 2015-06-29 14:29:46 +00:00
Christian Neukirchen 1f69782fb5 build-style/perl-module.sh: use -lperl when building XS modules for shlib-requires. 2015-06-23 13:37:41 +02:00
Dominik Honnef 504831f121 build-style/go: install cross-built binaries properly 2015-06-12 13:21:32 +02:00
Juan RP 1f0294fb72 build-style/cmake: sbin -> bin. 2015-06-02 18:01:12 +02:00
Juan RP 101839b6e2 build-style/gnu-makefile: force {C,LD}FLAGS via make(1) arguments. 2015-05-12 18:07:58 +02:00
Dominik Honnef 3b617119c7 build-style/go: support building multiple packages 2015-05-04 13:40:44 +02:00
Dominik Honnef 382449cb6e build-style/go: support building subdirectories 2015-04-17 18:27:08 +02:00
Juan RP 40efca7875 build_style/gnu-makefile: set STRIP=true in do_build() too. 2015-03-04 19:43:46 +01:00
TJ Vanderpoel c8738243b2 daemontools: properly use wrksrc/build_wrksrc and no patch_args 2015-02-25 16:16:31 +01:00
TJ Vanderpoel c4bbe395ad daemontools: clean up slashpackage.sh documentation 2015-02-25 16:14:54 +01:00
TJ Vanderpoel b7c6857c62 daemontools: add slashpackage build-style and utilize 2015-02-25 16:14:54 +01:00
Juan RP 2d3f054590 build-style/perl-module: replace host includedir for cross compilation. 2015-02-24 10:05:08 +01:00
Alessio Sergi 398e057844 build_style/python-module: unbreak cross builds 2015-02-21 19:21:21 +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 92c77a10ec create GOPATH in wrksrc 2015-02-21 14:49:02 +01:00
Dominik Honnef bd75088422 rename import_path to go_import_path 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 df4c861f97 xbps-src: common/{,environment}/build_style -> common/${,environment}/build-style. 2015-02-21 12:13:07 +01:00