Commit graph

259 commits

Author SHA1 Message Date
Michal Vasilek
c7206b4bdc common/build-style/python3-pep517: use absolute path for check temp dir
some tests change cwd which causes relative tmpdir to point to a non-existent
location
2023-05-07 16:28:06 +02:00
Jan Christian Grünhage
3c3b8a2e7b common/build-style/cargo.sh: use --locked for build and check as well 2023-04-13 13:15:04 -04:00
icp
37d268a907 common/build-style/python3-pep517.sh: unpack wheels for testing
Python packages built with pep517 system occasionally require
accessing distinfo files and/or entry points provided by the
package for tests to run. Since these assets are packed inside
the wheel generated in `do_build`, the target wheel is unpacked
in `do_check` first so that the said artifacts are accessible
during test runs.
2023-04-12 15:49:51 -04:00
Michal Vasilek
cb9e4c02e6 common/build-style/go.sh: use -modcacherw
makes sure the go mod cache is not read only and ./xbps-src zap can
properly remove it
2023-04-06 18:33:16 +02:00
Marcin Puc
3641d47af7 build-style/cargo: use env var to select sparse index mode 2023-04-02 16:16:10 -04:00
Marcin Puc
c325ca9320 common/build-style/cargo.sh: switch to sparse index protocol 2023-04-02 04:39:44 -04:00
Jami Kettunen
a3876cd45c build-style/qmake: add support for Qt6 2023-03-02 07:52:08 +07:00
zlice
12e6985c34 common: cleanup trailing whitespaces 2023-02-07 03:26:02 -05:00
Đoàn Trần Công Danh
8f84acad0b build-style/void-cross: fix musl __stack_chk_fail_local 2023-01-20 16:06:07 +07:00
oreo639
88c076875e build-style/void-cross: disable libssp 2023-01-20 14:34:27 +07:00
Đoàn Trần Công Danh
48dabfa867 build-style/cmake: Disable FetchContent 2023-01-17 08:20:02 +07:00
oreo639
1be73bd4fa build-style/void-cross: Update flags for gcc12 and glibc 2.36
gcov can't be built without libc:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289

Remove -no-pie from build. glibc 2.35 and newer uses -static-pie by default:
https://sourceware.org/pipermail/glibc-cvs/2021q4/075916.html
2022-12-17 12:52:00 +07:00
Andrew J. Hesford
936a6ed85d build-style/python3-pep517.sh: abandon pip 2022-11-09 21:24:02 -05:00
Jami Kettunen
e0bcd5d955 common/build-style/python3-pep517: add missing \n for msg_warn 2022-11-10 08:42:05 +07:00
Michal Vasilek
693229f70c common: build-style/meson: use meson setup
WARNING: Running the setup command as `meson [options]` instead of
         `meson setup [options]` is ambiguous and deprecated.

meson setup works since 0.42 and this deprecation warning was introduced
in 0.64
2022-11-08 18:24:04 +01:00
Đoàn Trần Công Danh
8c5358f792 xbps-src: set wrksrc to $pkgname-$version unconditionally 2022-11-08 22:30:37 +07:00
Jan Christian Grünhage
ca8c4fb08f build-style/cargo: produce auditable binaries 2022-11-03 03:50:11 -04:00
Joel Beckmeyer
def53da009 common/build-style/python3-pep517.sh: use full path for TMPDIR
fixes side effects with setuptools_rust / rustc
2022-09-28 10:04:27 -04:00
Đoàn Trần Công Danh
014a230f24 build-style/qmake: remove Qt4 reference 2022-09-18 20:36:36 +07:00
q66
5df385d509 Revert "build-style/waf3: set config dir to /etc"
This reverts commit ca4ee9b002.

--configdir is not supported in some projects
2022-09-11 13:28:49 +00:00
Đoàn Trần Công Danh
ca4ee9b002 build-style/waf3: set config dir to /etc 2022-09-06 17:43:20 +07:00
Đoàn Trần Công Danh
d6500f65f7 build-style/cmake: sysconfigdir is /etc 2022-09-05 21:01:16 +07:00
Đoàn Trần Công Danh
3936763f57 build-style/scons: use --install-sandbox for $DESTDIR
See https://scons.org/doc/production/HTML/scons-user.html#b-Install

Some projects uses --prefix=$DESTDIR/usr must be fixed.
2022-09-05 20:00:36 +07:00
classabbyamp
74f4492e5f common/{,environment}/build_style/python3.sh: use python3 build_helper 2022-08-29 23:25:05 -04:00
classabbyamp
e14cf6cc7a
common/build-style/gnu-makefile.sh: define prefix, PREFIX for build
this allows removing the definition from templates, and avoids issues
where the prefix is used during build.
2022-08-24 14:59:23 -04:00
classabbyamp
fc49c6e396 common/build-style/go.sh: error if -s/-w in go_ldflags
-s   Omit the symbol table and debug information.
    -w   Omit the DWARF symbol table.

both are not necessary because xbps-src should strip binaries itself

this does not fit in an xlint because of multiline-string handling woes
2022-08-10 15:01:38 -04:00
Đoàn Trần Công Danh
e19f2af481 build-style/cmake: only set QT_HOST_PATH on cross build
They're used by QtBuildInternals to find other components configuration.
With QT_HOST_PATH and QT_HOST_PATH_CMAKE_DIR set, cmake will only look
into those directories.
2022-08-10 22:46:31 +07:00
Đoàn Trần Công Danh
a72cf1e3de build-style/cmake: set common Qt options 2022-08-09 20:19:57 +07:00
classabbyamp
124ce2e404 common/build-style: make do_check run in parallel unless disabled 2022-06-23 23:08:03 -05:00
0x5c
52729f37f5 common/build-style/cargo.sh: use offline install
This prevents `cargo install` from wasting time fetching the crate registry.
2022-06-11 03:57:14 -03:00
classabbyamp
c011e0e13b common/build-style/python3-*: add support for pytest-xdist
if python3-pytest-xdist is included in checkdepends, use $XBPS_MAKEJOBS
to run tests in parallel.
2022-06-09 21:44:23 -04:00
Andrew J. Hesford
950151c572 build-style/python3-pep517.sh: improve default wheel selection
When naming wheels, hyphens are converted to underscores in package
names. Recognizing this in the build style eliminates manual definition
of `make_install_target` in several templates.
2022-05-16 10:51:58 -04:00
Đoàn Trần Công Danh
90c35c4ac1 common/do_check: move make_check_pre behind env setting
All environment variables setting in command execution must be put
before any non-variables-like, otherwise, they're intepretted as
something else.

Fix: 71b11fdbdb, (xbps-src: add make_check_pre, 2022-02-28)
2022-05-08 08:12:03 +07:00
Michal Vasilek
71b11fdbdb xbps-src: add make_check_pre
$make_check_pre can be used for wrapper commands like xvfb-run or
dbus-run-session which are common ways to make tests work. This way many
templates can avoid defining their own do_check function.
2022-05-04 10:46:53 +02:00
Đoàn Trần Công Danh
0d75e72b8b build-style/cmake: pass LIBS as CMAKE_*_STANDARD_LIBRARIES
Normally, we can add them into configure_args directly.
However, if we need to link with 2 or more libaries (e.g. -latomic
and -lexecinfo on armv6-musl), we have noway to do it properly:
- configure_args will be splited on whitespace
- cmake denies to recognise CMAKE_*_STANDARD_LIBRARIES as a list,
  hence denies to split on semicolon (";")

Let's pass LIBS as CMAKE_*_STANDARD_LIBRARIES instead.
2022-02-23 21:28:37 +07:00
Isaac Freund
020e1aa54b build-styles: add zig-build
We call this "zig-build" instead of just "zig" as this build-style
relies on usage of the zig build system. In the future, other build
systems such as meson may support zig code. Furthermore, the zig
build system may be used to build C/C++ code as well, not just zig.
2021-11-13 11:46:21 -03:00
q66
e51fe8bfe0 build-style/meson: ensure stdout is unbuffered for continuous log
This should deal with the annoying thing that meson will only print
its configure output all at once at the end.
2021-10-12 22:35:38 +02:00
Érico Nogueira
26d349303e build-style/void-cross: check for kernel-libc-headers/patches
The directory isn't always present, so add the same check as used in
other stages of the build.
2021-10-06 22:11:41 -03:00
Joshua Krämer
636336b1a7 Add -DNDEBUG to CFLAGS and CXXFLAGS in CMake build style
CMake adds -DNDEBUG with build types Release, MinSizeRel and RelWithDebInfo.
NDEBUG disables assert(), which can improve performance.
2021-07-16 19:48:16 +02:00
Đoàn Trần Công Danh
8361c4807f build-style/perl-module: respect build_wrksrc
`wrksrc` is supposed to be a top-level directory. Should the build
system need to be run inside a sub-directory, `build_wrksrc` should be
used instead. We change to `build_wrksrc` implicitly before `do_build`
and `do_install`.

Let's respect `build_wrksrc` in `perl-module`.
2021-07-08 18:01:11 +07:00
Đoàn Trần Công Danh
614abf4613 build-style: new build-style for sip-build 2021-06-22 21:27:41 +07:00
q66
44f4cad4ec build-style/void-cross: fix after patch -Np1 transition 2021-06-20 17:54:31 +02:00
Piotr Wójcik
88c9f70cfa build-style/cmake: move CTEST_OUTPUT_ON_FAILURE to environment 2021-06-11 22:45:07 +02:00
Andrew J. Hesford
fa5500228e build-style/python3-{module,pep517}.sh: improve pytest usage
1. Relying on `python3 -m pytest --help` to test for pytest can fail
   because the pytest packages's __main__ is still invoked; this can
   trigger import problems and falsely indicate that pytest is missing.
   A simpler test is to just confirm that pytest is importable. If so,
   the interpreter returns 0. Otherwise, an ImportError is thrown and
   the interpreter will return 1.

2. Many templates require a custom do_check just to set PYTHONPATH to
   either a build directory (especially for compiled extensions) or some
   subdirectory of the source tree. Setting PYTHONPATH automatically to
   the build directory should drastically reduce the need for custom
   do_check in py3 templates. (This only applies to python3-module.sh
   because pep517 builders will have unpredictable build directories.)

Closes: #31354.
2021-06-08 13:53:15 -04:00
John
644bdb2867 common/build-style/cmake.sh: pass full path of TOOLCHAIN_FILE to cmake 2021-05-06 18:23:18 +02:00
newbluemoon
7d5d4aea2e build-style/void-cross.sh: fix leftover _triplet variable 2021-04-05 01:00:35 +02:00
Đoàn Trần Công Danh
1af5a29d87 build-style/cmake: set CMAKE_BUILD_TYPE to None
- CMAKE_BUILD_TYPE=Release will force -O3 instead of respecting our
  CFLAGS and CXXFLAGS
- Theoretically, we could patch cmake to always use -O2 instead,
  however, patching will break users' expectation when compiling their
  our code.
- RelWithDebInfo could be another option if it's acceptable to always
  have debug symbol available.
- However, some projects ignore all CFLAGS and CXXFLAGS;
- Some other projects relies on CMAKE_BUILD_TYPE=Release to install to
  correct location and/or disable coverage.
- To get away with -O3, we need patching either ways, let's go with
  CMAKE_BUILD_TYPE=None, and patch all problematic softwares.
2021-04-03 09:52:55 +07:00
q66
1088eba15b cross*: drop the cross_triplet and _triplet variables 2021-03-15 23:37:10 +01:00
Đoàn Trần Công Danh
6ed61279a2 build-style/qmake: look for modules in target
- With this added, we can remove qt5*-devel from hostmakedepends
2021-03-08 10:40:33 +07:00
Đoàn Trần Công Danh
313afd12f9 build-style/ruby-module: fix _vendorlibdir because of multilib change 2021-02-24 07:37:52 +07:00