Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/crossdev:master commit in: wrappers/
Date: Thu, 18 Aug 2022 21:57:37
Message-Id: 1660859845.c4cf9b41b4b7b7bc36d3878383666a77d51c804b.sam@gentoo
1 commit: c4cf9b41b4b7b7bc36d3878383666a77d51c804b
2 Author: Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
3 AuthorDate: Thu Aug 18 21:16:38 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Aug 18 21:57:25 2022 +0000
6 URL: https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c4cf9b41
7
8 wrappers/cross-ebuild: new file
9
10 Crossdev currently installs a dead symlink to cross-ebuild. This commit
11 creates it. Mostly copied from cross-emerge.
12
13 Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
14 Signed-off-by: Sam James <sam <AT> gentoo.org>
15
16 wrappers/Makefile | 2 +-
17 wrappers/cross-ebuild | 41 +++++++++++++++++++++++++++++++++++++++++
18 2 files changed, 42 insertions(+), 1 deletion(-)
19
20 diff --git a/wrappers/Makefile b/wrappers/Makefile
21 index 19a1da3..79f47aa 100644
22 --- a/wrappers/Makefile
23 +++ b/wrappers/Makefile
24 @@ -4,7 +4,7 @@
25 include ../settings.mk
26
27 PORTDIR ?= $(shell portageq envvar PORTDIR)
28 -FNAMES = cross-emerge cross-fix-root cross-pkg-config emerge-wrapper
29 +FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config emerge-wrapper
30 SITEDIR = $(PREFIX)/share/crossdev/include/site
31 ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site
32
33
34 diff --git a/wrappers/cross-ebuild b/wrappers/cross-ebuild
35 new file mode 100644
36 index 0000000..6f47cb8
37 --- /dev/null
38 +++ b/wrappers/cross-ebuild
39 @@ -0,0 +1,41 @@
40 +#!/bin/sh
41 +# Copyright 2008-2022 Gentoo Authors
42 +# Distributed under the terms of the GNU General Public License v2
43 +
44 +if [ -z "${CHOST}" ] ; then
45 + CHOST=${0##*/}
46 + CHOST=${CHOST%-ebuild}
47 + CHOST=${CHOST#ebuild-}
48 +fi
49 +export CHOST
50 +
51 +BROOT="@GENTOO_PORTAGE_EPREFIX@"
52 +if [ "${BROOT}" = "@"GENTOO_PORTAGE_EPREFIX"@" ] ; then
53 + BROOT=""
54 +fi
55 +
56 +: ${EPREFIX=}
57 +: ${SYSROOT=${BROOT}/usr/${CHOST}}
58 +: ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}}
59 +export EPREFIX SYSROOT PORTAGE_CONFIGROOT
60 +
61 +if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then
62 + echo "cross-ebuild: CHOST is not set properly"
63 + exit 1
64 +fi
65 +
66 +# Portage defaults CBUILD to CHOST, so we have to remove CHOST
67 +# from the env to get a "good" value for CBUILD
68 +query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS"
69 +clean_vars="${query_vars} CHOST SYSROOT PORTAGE_CONFIGROOT"
70 +eval $(env $(printf -- '-u %s ' ${clean_vars}) \
71 + portageq envvar -v ${query_vars} | sed s:^:_E_:)
72 +: ${CBUILD=${_E_CBUILD}}
73 +: ${BUILD_CFLAGS=${_E_CFLAGS}}
74 +: ${BUILD_CXXFLAGS=${_E_CXXFLAGS}}
75 +: ${BUILD_CPPFLAGS=${_E_CPPFLAGS}}
76 +: ${BUILD_LDFLAGS=${_E_LDFLAGS}}
77 +export CBUILD BUILD_CFLAGS BUILD_CXXFLAGS BUILD_CPPFLAGS BUILD_LDFLAGS
78 +
79 +: ${CROSS_CMD:=ebuild}
80 +exec ${CROSS_CMD} "$@"