Commit graph

298 commits

Author SHA1 Message Date
Leah Neukirchen 915fe2de9f common/environment/setup/python.sh: update to Python 3.8. 2019-12-23 14:11:45 +01:00
q66 80b96a0ea0 common: better location for config.{sub,guess} + update 2019-11-18 20:36:27 +01:00
Doan Tran Cong Danh bbce69f036 vsed: reduce number of digest cmd call
For a vsed call to `nf' files and `nr' regex,
the old code will make `2 * nf * nr' digest calls.
the new code will make `nf * (nr + 1)' digest calls.

Refereance: https://github.com/void-linux/void-packages/issues/11238
2019-05-14 16:33:30 +02:00
Doan Tran Cong Danh 9374b6938e vsed: strip non-digest part before comparing
Accidentally, this change also fixs a potential bug
if `XBPS_DIGEST_CMD` is changed to something other than
its current value: `xbps-uhelper digest'.

Because the old code compares:
- non-stripped old digest; and
- stripped new digest
2019-05-14 16:33:30 +02:00
Doan Tran Cong Danh c384f85d2b vsed: refactor digest variables' name
We don't specify any specific digest function in this function,
and the old variables' name doesn't reflect the fact that they're
a pair of old and new digest built by the same hash function.
2019-05-14 16:33:30 +02:00
Jürgen Buchmüller f636a5f078
environment/setup/sourcepkg.sh: unset GIR_EXTRA_...
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2019-05-07 15:33:47 +02:00
maxice8 df5886d7d7 vsed.sh: use XBPS_DIGEST_CMD instead of sha256sum 2019-04-15 12:18:00 -03:00
Doan Tran Cong Danh 13901bc715 xbps-src: vsv: force linking on forced rebuild
re-run `xbps-src -f install pkg` on packages with service files failed
because the link was created from previous run.
2019-04-15 10:53:55 -03:00
maxice8 c5b6940949 setup/install.sh: remove dirname usage 2019-04-14 06:22:09 -03:00
maxice8 a5bc81adf7 meta: remove supporting code for noarch 2019-03-14 19:22:06 -03:00
maxice8 415e6cd701 meta: remove support code for only_for_archs= 2019-03-14 19:20:07 -03:00
maxice8 15df6ba5b6 meta: link .sh from configure into patch envrionment. 2019-03-03 13:08:23 -03:00
maxice8 1ba87eee57 meta: unset the pre_patch() do_patch() post_patch() 2019-02-27 22:56:19 -03:00
maxice8 1bda166a6c
meta: fix unsetting of only_for_archs 2019-02-26 09:45:25 -03:00
Enno Boland 8f6d534cac vsed: make more compatible with sed commandline semantics. 2019-02-18 17:23:52 -03:00
maxice8 dfd0cde930 setup/install.sh: remove support for 'all' special arg. 2019-02-18 08:32:27 -03:00
maxice8 0f76ad0f76
environment/build-style/gem.sh: set noarch=yes to archs=noarch 2019-02-16 04:02:31 -02: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
Piotr Wójcik 43e2545baf build-style/perl-ModuleBuild: add perl to makedepends 2019-01-27 10:09:46 +01:00
maxice8 6e0a917d01
environment/build-style/cargo.sh: use rust build_helper 2019-01-25 20:44:42 -02:00
maxice8 5465d131f6
environment/setup/sourcepkg.sh: unset build_helper 2019-01-25 20:44:41 -02:00
maxice8 670f41a585 environment/fetch: add cmd_fetch variable. 2019-01-21 16:17:02 -02:00
maxice8 202b6a7b97 setup/sourcepkg.sh: unset fetch_cmd 2019-01-21 16:17:02 -02:00
maxice8 26eb17f941 setup/sourcepkg.sh: unset more variables that can be set by the template 2019-01-19 23:02:28 -02:00
maxice8 977766323c setup-subpkg/subpkg.sh: unset register_shell. 2019-01-19 19:22:14 -02:00
Thomas Batten c785cfd34e common: Add ppc target 2019-01-19 10:15:01 +01:00
maxice8 673504e524 meta: add vsed function 2019-01-16 17:25:46 -02:00
Leah Neukirchen 6b81302e38 environment/configure/hardening.sh: enable -fstack-clash-protection
This flag will make GCC 8 touch all space allocated using alloca(3)
and thus detect code jumping over the "stack gap".
2019-01-11 16:20:18 +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
Andy Weidenbaum afdfdf9991 build_style=perl6-dist: add 2018-11-26 04:11:50 -02:00
Johannes 5f5a55c2bb build-style/cargo.sh: export common variables to avoid static linking 2018-11-22 18:18:11 -02: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
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
maxice8 c714d13f37 setup/install.sh: support bzipped (.bz2) manpages 2018-10-17 11:28:58 -03:00
Johannes acd2241ba4 build-style cargo: do not pull complete rustc for target 2018-10-16 00:23:41 +02:00
Rasmus Thomsen 0318d0385a build-style/cargo.sh: add 2018-10-15 20:58:51 +02:00
Toyam Cox 1edc8846ca xbps-src: Migrate from build_style for 32bit pkgs
This allows dxpb to have a simpler test for whether or not a 32bit
package will be built.
2018-10-04 10:28:27 +02:00
Alessio Sergi 08408ed943 common/environment/setup/python.sh: always expose py{2,3}_* vars
Their values are static now, so remove the tests.
2018-09-15 01:49:45 +02:00
Jürgen Buchmüller e9cbfacb5a
build style go.sh: split gocache for glibc/muslc
Closes: #2542

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2018-09-11 12:39:29 +02:00
Michael Aldridge a4dd50388a xbps-src: Always enable the gocache
[ci_skip]
2018-09-01 22:05:07 -07:00
maxice8 b2221a8071
build-style/scons.sh: add scons to hostmakedepends= 2018-08-21 20:37:47 -03:00
maxice8 e42406c070
setup/install.sh: transparently deal with gzipped manpages
[ci skip]
2018-08-12 04:21:46 -03:00
Piotr Wójcik 31097aca86 common/environment/fetch/misc.sh: use https for MOZILLA_SITE
Closes #14901.

Signed-off-by: Enno Boland <gottox@voidlinux.eu>
2018-06-05 09:17:45 +02:00
Duncaen 94ed33657b Revert "common/: add support for changelog field."
This reverts commit 8599efd9fd.
2018-05-04 16:46:46 +02:00
maxice8 daf68c6d59 rename vopt_onoff to vopt_bool which returns -D<prop>=true|false
This makes it more generic and allows us to use it freely between
cmake and meson build styles.
2018-05-04 10:56:26 +02:00
maxice8 8599efd9fd common/: add support for changelog field.
This commits allows ./xbps-src show to show the changelog field and for
changelog to be included with the -c/--changelog option via xbps-create.

Closes: #14102 [via git-merge-pr]
2018-05-03 22:58:27 -04:00
Michael Carlberg d5c58a3c60 xbps-src: new vopt_onoff helper
CMake helper function used to set bool argument values

Usage example:

    configure_args+=" $(vopt_onoff logging WITH_LOGGING)"

    configure_args+=" -DWITH_LOGGING=OFF"
2018-05-03 01:26:32 -04:00
maxice8 babcd991bc common/environment/fetch/misc.sh: add KDE_SITE.
there are 272 occourences of download.kde.org/stable, to avoid
repetition add a KDE_SITE variable to be used instead.
2018-04-22 19:16:50 -04:00
Jürgen Buchmüller f274d7728c
04-generate-runtime-deps.sh: introduce skiprdeps
Yet another variable to permit skipping of runtime dependency checks
for a list of files, specifying their absolute path in the $DESTDIR,
allows us to handle known bad detections due to e.g. binaries or
shared libraries not meant to be run or loaded in the host.

This will be used to fix the android-studio template to skip
a number of files which would create a bogus dependency on libc.so.

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2018-04-10 17:54:13 +02:00
Alessio Sergi 7737976464 xbps-src: lib32disabled=yes for python{2,3}-module too 2018-03-26 19:01:36 +02:00
Piotr Wójcik 92fd2f3d4b build-styles/waf{,3}: python{,3} in hostmakedepends
Closes: #11592 [via git-merge-pr]
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2018-03-25 20:00:51 +02:00
Michael Gehring 7c20248a20 common/environment/build-style/go.sh: drop go-cross-linux dep 2018-03-19 08:29:05 +01:00
Michael Gehring b137c5393a xbps-src: ensure GIT_CMD is invoked on the distdir 2018-03-14 15:47:56 +00:00
Michael Gehring a4a229cf64 xbps-src: use HEAD commit time for SOURCE_DATE_EPOCH
In order to make builds more reproducible SOURCE_DATE_EPOCH was set to
the time of the last commit that touched the template. Since trying to
reproduce a build from a different revision is futile (the most obvious
reason is that the source-revisions property includes the HEAD commit
hash) and looking up the commit in question can take several seconds,
stop wasting time an just use HEAD.

Closes: #12314 [via git-merge-pr]
2018-03-14 12:58:36 +00:00
Jürgen Buchmüller fa8becd3e1 autoconf_cache/arm-linux: fix sizeof(wchar_t) 2018-02-04 13:39:47 +01:00
Alessio Sergi 7cac47c7d5 common/environment/setup/python.sh: hardcode values 2018-01-31 16:38:53 +01:00
Jürgen Buchmüller 5bef4d8ad8 autoconf_cache: aarch64 add ac_cv_sizeof_bool=1 2018-01-16 00:29:42 +01:00
Michael Aldridge 92d6e1a521 go build style: move GOPATH creation to do_configure() 2017-11-26 00:41:26 -08:00
Leah Neukirchen 986d4dbc7d common/environment/setup/git.sh: ensure untracked files are checked. 2017-11-24 14:10:00 +01:00
hipperson0 fb26ec4a5b New package: cross-mips-linux-muslhf-0.24 2017-11-24 10:11:23 +01:00
Enno Boland 0d446641e7 build-style/gnu-configure.sh: use generic do_check function 2017-11-19 20:50:48 +01:00
Michael Gehring a8b8efe636 common/environment/setup/sourcepkg.sh: unset {pre,do,post}_check, checkdepends 2017-11-18 14:24:12 +01:00
Jürgen Buchmüller 546228d62a autoconf_cache/musl-linux: use 64 bit off_t etc. 2017-11-13 16:24:11 +01:00
Jürgen Buchmüller b55932255d configure/hardening.sh: use PIE and SSP by default, drop -specs hacks. 2017-11-02 15:57:31 +01:00
Sir_Boops c0aa21a3f2 xbps-src: you need meson to build with meson 2017-09-12 08:58:51 -06:00
Leah Neukirchen 83909fc6b9 common/environment/setup/misc.sh: set CPAN_SITE to www.cpan.org.
cpan.perl.org is currently broken.
2017-08-19 17:29:05 +02:00
Toyam Cox ef77435890 Merge pull request #6733 from The-Fred/xorg-to-https-and-new-url
xbps-src: use https and new url for XORG_SITE
2017-06-15 00:40:50 -04:00
The_Fred 6ec374fa2d xbps-src: use https and new url for XORG_SITE 2017-06-14 21:11:32 -07:00
Enno Boland 5da5cd7c0e Merge pull request #6693 from The-Fred/freedesktop-to-https
xbps-src: use https for FREEDESKTOP_SITE
2017-06-13 09:29:10 +02:00
The_Fred 95bbfa6a6e xbps-src: use https for FREEDESKTOP_SITE 2017-06-12 09:18:45 -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
Jürgen Buchmüller 5a11957d14 Merge branch 'master' into check 2017-05-02 09:18:52 +02:00
Toyam Cox 2b19b7eb58 build_style/gnu-makefile: allow good makefiles 2017-04-25 16:20:59 -04:00
Alessio Sergi 49931349ed xbps-src: use https for KERNEL_SITE 2017-03-09 13:51:18 +01: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 c31dd888f6 xbps-src: implement a 'check' stage
Add another stage 'check' between 'build' and 'install'. It is be enabled using the
variable XBPS_CHECK_PKGS=yes and disabled if unset, set to "0" or "no" in your
local etc/conf.

A new xbps-src option `-q` for `quick` will disable XBPS_CHECK_PKGS by overriding it to 0.
If enabled, `common/xbps-src/shutils/xbps-src-docheck.sh` checks for an existing
`do_check()` function in the package's template and, if it exists, calls it.

A new template variable `checkdepends` may be present and list packages required
to run the `do_check()` function. Example: `checkdepends="bc unittest-cpp"`.
2017-03-08 11:33:48 +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 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