Commit graph

266 commits

Author SHA1 Message Date
Đoàn Trần Công Danh
2af30cdd78 setup: compute gitrev from outside of chroot
Together with previous commit, `xbps-src` is able to support
git-worktree and shared repository by now.
2020-05-23 06:59:24 +00:00
Đoàn Trần Công Danh
2cd2b99e41 setup: export SOURCE_DATE_EPOCH from outside of chroot
git-worktree(1), and Git shared repository can use a plain text file
named `.git` at the root of working tree, containing `gitdir: <path>` to
point to the real directory that has repository.
See: gitrepository-layout(5).

But, that directory is usually inaccessible inside chroot.

In order to support git-worktree(1) and Git shared repository, compute
SOURCE_DATE_EPOCH from outside of chroot, and the chroot will carry it
over to inside chroot.

I've only tested again xbps-uunshare(1).
2020-05-23 06:59:24 +00:00
Đoàn Trần Công Danh
fd61886616 setup/git.sh: prefer git plumbing command
git-ls-files(1) is plumbing command, its output will never change
regardless of configuration, version.

git-status(1) output will be changed depends on configuration.
At least, 986d4dbc7d (common/environment/setup/git.sh: ensure untracked
files are checked., 2017-11-24) was added to address a different output
on `status.showUntrackedFiles`.

By doing this, also reduce a pipe, and a fork-exec.

Technically, git-log(1) is also a porcelain, but I _think_ `%ct` is
stable enough to stay there. If the day has come, that `git-log(1)` can
be replaced with:

    git cat-file commit HEAD |
    sed -ne '/^committer/{s/.* \([0-9]*\) [-+][0-9][0-9][0-9][0-9]$/\1/p;q}'
2020-05-23 06:59:24 +00:00
Đoàn Trần Công Danh
20f9bedefb xbps-src: use $XBPS_GIT_CMD for git 2020-05-23 06:59:24 +00:00
mobinmob
17b5ae8dba common/environment/setup/misc.sh: use https where possible,
remove XORG_HOME variable.
2020-05-18 08:01:34 -07:00
q66
ad7ab5c568 configure/autoconf_cache: endian fix in ppc32 2020-04-30 01:10:21 +02:00
q66
e46ea34662 configure/autoconf_cache: fix long double size on musl 2020-04-30 01:06:51 +02:00
q66
472b244572 configure/autoconf-cache: fix ppc and add ppcle 2020-04-30 01:06:51 +02:00
Piotr Wójcik
8a09d89eac common/hooks: remove pycompile_version, use python_version instead 2020-04-22 20:11:26 +02:00
Andrew J. Hesford
596250e4ea xbps-src: remove default python_version
Closes: #21209 [via git-merge-pr]
2020-04-21 18:45:25 -04:00
q66
02eeac0798 environment/build-style/go: check for empty hostmakedepends 2020-04-17 05:00:39 +02:00
q66
1b2bf53e82 build-style/go: allow usage with gccgo compiler
This checks if gcc-go-tools have been specified in host deps
and if so, use gccgo to build (gcc-go-tools conflicts with go).

Also, since gccgo is not a multi-compiler, we need to override GCCGO
to get cross-builds. The gccgo for target is always installed, as
it's a part of our cross-toolchains.

[ci skip]
2020-04-17 04:53:13 +02:00
Juan RP
ac4186c7d2
xbps-src/environment/autoconf_cache: disable lchmod.
lchmod in musl always returns ENOTSUP and this makes some
ruby gems fail, i.e jekyll.
2020-04-12 20:32:57 +02:00
Jürgen Buchmüller
c7891063fb build-style/go.sh: support armv5* as well 2020-04-01 10:23:34 +02:00
q66
ec937e4d29 environment/build-style/go.sh: specify a default set of archs
This is necessary so that crossbuilds to unsupported architectures
are not actually attempted. There is a default archs set which
covers all architectures supported by the official compiler,
and setting it in the template can be used to restrict it more.

Also, add missing GOARCHs. These are irrelevant to whether we
can currently build for that arch or not. Just keep it around
as a list of potential archs to support. These are taken from
gccgo, and in case support for anything is added in the official
compiler, they should match.
2020-03-30 05:32:09 +02:00
Đoàn Trần Công Danh
c0ab53b2f5 git: update to 2.25.2. 2020-03-18 09:34:32 +01:00
Andy Weidenbaum
e8e2b2e90a build-style/perl6-dist: rename to raku-dist. 2020-02-05 09:58:38 +01:00
Leah Neukirchen
bd739bd45f environment/build-style/python*-module: makedepends on the appropriate versions. 2019-12-23 17:34:15 +01:00
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