[gentoo-commits] proj/crossdev:master commit in: wrappers/site/

2025-01-19 Thread Sam James
commit: 9cc43baef9c8a70213a48815d38cc395084f3902
Author: Sam James  gentoo  org>
AuthorDate: Sun Jan 19 17:06:32 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Sun Jan 19 17:06:32 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9cc43bae

wrappers: site: cleanup typo & link in comments

Signed-off-by: Sam James  gentoo.org>

 wrappers/site/linux | 2 +-
 wrappers/site/linux-gnu | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/wrappers/site/linux b/wrappers/site/linux
index cb6b191..0190908 100644
--- a/wrappers/site/linux
+++ b/wrappers/site/linux
@@ -22,7 +22,7 @@ gio_can_sniff=yes
 # everywhere, mark the test as yes.
 ac_cv_func_mmap_fixed_mapped=yes
 
-# coreutils. https://bugs.gentoo.org/show_bug.cgi?id=177061
+# coreutils. https://bugs.gentoo.org/177061
 fu_cv_sys_stat_statvfs=yes
 gl_cv_func_rename_trailing_dest_slash_bug=no
 gl_cv_func_rename_trailing_slash_bug=no

diff --git a/wrappers/site/linux-gnu b/wrappers/site/linux-gnu
index 102be13..882c26d 100644
--- a/wrappers/site/linux-gnu
+++ b/wrappers/site/linux-gnu
@@ -14,7 +14,7 @@ gl_cv_func_re_compile_pattern_working=yes
 ac_cv_have_abstract_sockets=yes
 
 # autoconf-provided macros.
-# The AC_FUNC_WAIT3 macro uses AC_RUN.  Iit's obsolete, but some still use it.
+# The AC_FUNC_WAIT3 macro uses AC_RUN.  It's obsolete, but some still use it.
 ac_cv_func_wait3_rusage=yes
 
 # app-admin/sudo-1.7.2_p1



[gentoo-commits] proj/crossdev:master commit in: /

2025-01-12 Thread Sam James
commit: 8f3a29fe8dd2e70882c016497507ebb036120f23
Author: Sam James  gentoo  org>
AuthorDate: Sun Jan 12 18:39:12 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Sun Jan 12 18:39:25 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=8f3a29fe

crossdev: update --ex-gcc description

gcj is gone.

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 59eb836..57c9bb0 100755
--- a/crossdev
+++ b/crossdev
@@ -98,7 +98,7 @@ External Tooling Options:
 
 Extra Fun (must be run after above stages):
 ${GOOD}--ex-only${NORMAL}Skip the stage steps above
-${GOOD}--ex-gcc${NORMAL} Build extra gcc targets 
(gcj/ada/etc...)
+${GOOD}--ex-gcc${NORMAL} Build extra gcc targets 
(ada/d/fortran/etc...)
 ${GOOD}--ex-gdb${NORMAL} Build a cross gdb
 ${GOOD}--ex-pkg${NORMAL} pkg Build extra packages (may be used 
multiple times)
 



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-04 Thread Sam James
commit: 6c8d0147034871cd89d02e5470e775756fbdec52
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 23:53:29 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 23:56:57 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6c8d0147

ci: add powerpc64le-unknown-linux-gnu

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 8d9fbfa..840ab95 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -63,6 +63,7 @@ jobs:
   - target: powerpc-unknown-linux-musl
   - target: powerpc64-unknown-linux-gnu
   - target: powerpc64-unknown-linux-musl
+  - target: powerpc64le-unknown-linux-gnu
   - target: riscv32-unknown-linux-gnu
   # busybox fails to build: `‘SYS_settimeofday’ undeclared`.
   # - target: riscv32-unknown-linux-musl



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-04 Thread Sam James
commit: 8e4ef49ce468b9d6658f18d2dc7279c2779ab551
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 23:55:28 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 23:56:58 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=8e4ef49c

ci: add more arm targets

Add softfp and hardfp targets for armv6j and armv7a.

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 840ab95..f265484 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -28,12 +28,12 @@ jobs:
   - target: armeb-unknown-linux-gnueabihf
   - target: armeb-unknown-linux-musleabi
   - target: armeb-unknown-linux-musleabihf
-  # glibc fails to build: `attempt to use an ARM instruction on a
-  # Thumb-only processor`.
-  # - target: armv7-unknown-linux-gnueabi
-  # - target: armv7-unknown-linux-gnueabihf
   - target: armv7-unknown-linux-musleabi
   - target: armv7-unknown-linux-musleabihf
+  - target: armv6j-softfp-linux-gnueabi
+  - target: armv6j-unknown-linux-gnueabihf
+  - target: armv7a-softfp-linux-gnueabi
+  - target: armv7a-unknown-linux-gnueabihf
   - target: hppa1.1-unknown-linux-gnu
   - target: hppa2.0-unknown-linux-gnu
   - target: hppa64-unknown-linux-gnu



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-04 Thread Sam James
commit: de7ff73d292928a9e2168cc0a0860340f09c8e0f
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 23:57:41 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 23:57:41 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=de7ff73d

ci: add aarch64_be-unknown-linux-gnu

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index f265484..f74cf03 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -19,6 +19,7 @@ jobs:
 target:
   - target: aarch64-unknown-linux-gnu
   - target: aarch64-unknown-linux-musl
+  - target: aarch64_be-unknown-linux-gnu
   - target: alpha-unknown-linux-gnu
   - target: arm-unknown-linux-gnueabi
   - target: arm-unknown-linux-gnueabihf



[gentoo-commits] proj/crossdev:master commit in: /

2025-01-04 Thread Sam James
commit: aa924c1dd55492910d348eb870fd960450f29cdb
Author: Sam James  gentoo  org>
AuthorDate: Sat Jan  4 08:40:09 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Jan  4 10:27:09 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=aa924c1d

crossdev: special-case bpf

Avoid needing to pass -s1/-s2 manually: C-only and no linux-headers.

Signed-off-by: Sam James  gentoo.org>

 crossdev | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/crossdev b/crossdev
index cfdb93f..59eb836 100755
--- a/crossdev
+++ b/crossdev
@@ -270,6 +270,13 @@ parse_target() {
WITH_DEF_HEADERS="no"
;;
 
+   bpf*)
+   # Doesn't support C++ and friends
+   STAGE_DEFAULT=${STAGE_C_ONLY}
+   # No linux-headers needed/required
+   WITH_DEF_HEADERS="no"
+   ;;
+
# Has no glibc support yet (or even ABI defined). Can
# only compile linux kernel:
# https://parisc.wiki.kernel.org/index.php/Userspace64



[gentoo-commits] proj/crossdev:master commit in: scripts/

2025-01-04 Thread Sam James
commit: 3345d024a61673fed420dfa3a39d8bb6fb17a109
Author: Sam James  gentoo  org>
AuthorDate: Sat Jan  4 00:13:01 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Jan  4 08:44:18 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=3345d024

ci: try to get binpkgs for dev-vcs/git and friends (via eselect-repository)

This should speed things up a little bit to avoid needlessly building
dev-vcs/git over and over at the start of each job.

Signed-off-by: Sam James  gentoo.org>

 scripts/container_test.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/container_test.sh b/scripts/container_test.sh
index afd7e5f..4205dbd 100755
--- a/scripts/container_test.sh
+++ b/scripts/container_test.sh
@@ -93,7 +93,8 @@ done
/bin/sleep inf
 
 run_in_container emerge-webrsync
-run_in_container emerge app-eselect/eselect-repository sys-apps/config-site
+run_in_container getuto
+run_in_container emerge --getbinpkg app-eselect/eselect-repository 
sys-apps/config-site
 run_in_container make install
 run_in_container eselect repository create crossdev
 run_in_container crossdev --show-fail-log --target "${TARGET}"



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-04 Thread Sam James
commit: 6cd7a63029ffd09c5da079775be1365edc159eff
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 23:51:26 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 23:51:26 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6cd7a630

ci: add s390-ibm-linux-gnu

31-bit.

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index f0fba99..2ba0f5f 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -70,6 +70,7 @@ jobs:
   # glibc fails to build: `no support for pre-v8 sparc`.
   # - target: sparc-unknown-linux-gnu
   - target: sparc64-unknown-linux-gnu
+  - target: s390-ibm-linux-gnu
   - target: s390x-unknown-linux-gnu
   # musl ebuilds don't support s390x. The target is supported upstream,
   # we need to fix and test our ebuilds.



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-04 Thread Sam James
commit: 97df418f74bc38e03e93bcf8746792b6c48ca18a
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 23:52:39 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 23:56:57 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=97df418f

ci: add alpha-unknown-linux-gnu

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index c303d49..8d9fbfa 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -19,6 +19,7 @@ jobs:
 target:
   - target: aarch64-unknown-linux-gnu
   - target: aarch64-unknown-linux-musl
+  - target: alpha-unknown-linux-gnu
   - target: arm-unknown-linux-gnueabi
   - target: arm-unknown-linux-gnueabihf
   - target: arm-unknown-linux-musleabi



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-04 Thread Sam James
commit: 6c2bf7f6c5729a8cd476f34286ec02ff4ce7e54f
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 23:51:54 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 23:56:53 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6c2bf7f6

ci: adjust s390x tuple name

unknown -> ibm to match profiles/

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 2ba0f5f..c303d49 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -71,7 +71,7 @@ jobs:
   # - target: sparc-unknown-linux-gnu
   - target: sparc64-unknown-linux-gnu
   - target: s390-ibm-linux-gnu
-  - target: s390x-unknown-linux-gnu
+  - target: s390x-ibm-linux-gnu
   # musl ebuilds don't support s390x. The target is supported upstream,
   # we need to fix and test our ebuilds.
   # - target: s390x-unknown-linux-musl



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-04 Thread Sam James
commit: 63c1fe9ea8b8fca2d99eb2617c8654b4c295d3bb
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 23:50:58 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 23:50:58 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=63c1fe9e

ci: add bpf-unknown-none

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 3a4d996..f0fba99 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -93,6 +93,8 @@ jobs:
 args: --skip-system
   - target: nvptx-none
 args: --skip-system
+  - target: bpf-unknown-none
+args: --skip-system
 stage3:
   - latest # `openrc` (glibc+GCC) is tagged as `latest`
   - musl



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: 688e9a15973c22490d962f3d90344c0c5aa949a1
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 10:39:20 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:15 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=688e9a15

ci: no userland for hppa64

We don't have glibc ported yet upstream.

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index a6068af..3a4d996 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -36,6 +36,7 @@ jobs:
   - target: hppa1.1-unknown-linux-gnu
   - target: hppa2.0-unknown-linux-gnu
   - target: hppa64-unknown-linux-gnu
+args: --skip-system
   - target: loongarch64-unknown-linux-gnu
   # musl ebuilds don't support loong. The target is supported upstream,
   # we need to fix and test our ebuilds.



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: e6097049353729713df11837ba6f347effb48690
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:43:46 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:13 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=e6097049

ci: fix loong and uncomment

loongarch64, not loongaarch64

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index e4be74f..fb582f8 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -33,10 +33,8 @@ jobs:
   # - target: armv7-unknown-linux-gnueabihf
   - target: armv7-unknown-linux-musleabi
   - target: armv7-unknown-linux-musleabihf
-  # binutils fails to configure: `machine 'loongaarch64-unknown' not
-  # recognized`
-  # - target: loongaarch64-unknown-linux-gnu
-  # - target: loongaarch64-unknown-linux-musl
+  - target: loongarch64-unknown-linux-gnu
+  - target: loongarch64-unknown-linux-musl
   - target: m68k-unknown-linux-gnu
   - target: mips-unknown-linux-gnu
   - target: mips-unknown-linux-musl



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: b087770c90489c897e2b702e6908e98027477e49
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:45:37 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:14 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b087770c

ci: add HPPA targets

* hppa1.1-unknown-linux-gnu
* hppa2.0-unknown-linux-gnu
* hppa64-unknown-linux-gnu

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 03eef0b..fb90c45 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -33,6 +33,9 @@ jobs:
   # - target: armv7-unknown-linux-gnueabihf
   - target: armv7-unknown-linux-musleabi
   - target: armv7-unknown-linux-musleabihf
+  - target: hppa1.1-unknown-linux-gnu
+  - target: hppa2.0-unknown-linux-gnu
+  - target: hppa64-unknown-linux-gnu
   - target: loongarch64-unknown-linux-gnu
   - target: loongarch64-unknown-linux-musl
   - target: m68k-unknown-linux-gnu



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: 79f556e81651918c284aaf01a37c802352788c7a
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  3 10:38:51 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:15 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=79f556e8

ci: don't run loong musl

We don't have things wired up for that yet in ::gentoo.

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index fb90c45..a6068af 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -37,7 +37,9 @@ jobs:
   - target: hppa2.0-unknown-linux-gnu
   - target: hppa64-unknown-linux-gnu
   - target: loongarch64-unknown-linux-gnu
-  - target: loongarch64-unknown-linux-musl
+  # musl ebuilds don't support loong. The target is supported upstream,
+  # we need to fix and test our ebuilds.
+  #- target: loongarch64-unknown-linux-musl
   - target: m68k-unknown-linux-gnu
   - target: mips-unknown-linux-gnu
   - target: mips-unknown-linux-musl



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: 40471bb640e7bf98186a5fecc17b755cbf42b939
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:37:30 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:12 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=40471bb6

ci: fix whitespace

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 27b01b1..3d47f63 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -84,7 +84,7 @@ jobs:
   - target: x86_64-unknown-linux-musl
 stage3:
   - latest # `openrc` (glibc+GCC) is tagged as `latest`
-  - musl 
+  - musl
   fail-fast: false
 name: crossdev target=${{ matrix.target.target }} stage3=${{ matrix.stage3 
}}
 runs-on: ubuntu-latest



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: 101fbba69d05813cfccdedcd2b14773abdd5d839
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:44:08 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:14 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=101fbba6

ci: fix comment typo

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index fb582f8..03eef0b 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -57,7 +57,7 @@ jobs:
   - target: powerpc64-unknown-linux-gnu
   - target: powerpc64-unknown-linux-musl
   - target: riscv32-unknown-linux-gnu
-  # busybox fails to buils: `‘SYS_settimeofday’ undeclared`.
+  # busybox fails to build: `‘SYS_settimeofday’ undeclared`.
   # - target: riscv32-unknown-linux-musl
   - target: riscv64-unknown-linux-gnu
   - target: riscv64-unknown-linux-musl



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: 094d2b3c1f7ed0c31e4d552e7633da468a811e36
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:39:47 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:12 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=094d2b3c

ci: add embedded/special targets (arm-none-eabi, nvptx-none)

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 5 +
 1 file changed, 5 insertions(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 3d47f63..5ab973a 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -82,6 +82,11 @@ jobs:
   # - target: sh4eb-unknown-linux-musl
   - target: x86_64-unknown-linux-gnu
   - target: x86_64-unknown-linux-musl
+  # Embedded or otherwise special targets
+  - target: arm-none-eabi
+args: --skip-system
+  - target: nvptx-none
+args: --skip-system
 stage3:
   - latest # `openrc` (glibc+GCC) is tagged as `latest`
   - musl



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2025-01-03 Thread Sam James
commit: a73acbc7b8d9b20ef8bbca232903ae64d28e9fc1
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:42:16 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  3 11:15:13 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a73acbc7

ci: add avr too

Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 5ab973a..e4be74f 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -85,6 +85,8 @@ jobs:
   # Embedded or otherwise special targets
   - target: arm-none-eabi
 args: --skip-system
+  - target: avr
+args: --skip-system
   - target: nvptx-none
 args: --skip-system
 stage3:



[gentoo-commits] proj/crossdev:master commit in: /

2025-01-02 Thread Sam James
commit: 0261fe00ae660641f280144000c7b191e01936c1
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:25:18 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jan  2 23:26:45 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=0261fe00

crossdev: build C++ by default for *-newlib/*-elf/*-avr etc

These days, tutorials and classes expect a C++ compiler for arm-none-eabi
and friends and it often confuses users. Stop overriding the crossdev
default (which is -s4) for these targets accordingly.

Bug: https://bugs.gentoo.org/900713
Bug: https://bugs.gentoo.org/939677
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 --
 1 file changed, 2 deletions(-)

diff --git a/crossdev b/crossdev
index 096169f..cfdb93f 100755
--- a/crossdev
+++ b/crossdev
@@ -267,7 +267,6 @@ parse_target() {
GUSE+=" -fortran -go" # doesn't work
MULTILIB_USE="yes" #377039
BUSE+=" cxx"
-   STAGE_DEFAULT=${STAGE_LIBC}
WITH_DEF_HEADERS="no"
;;
 
@@ -407,7 +406,6 @@ parse_target() {
*-newlib|*-elf|*-eabi|*-rtems*)
LPKG="newlib"
KPKG="[none]"
-   STAGE_DEFAULT=${STAGE_LIBC}
GMASK+=" default-stack-clash-protection hardened ssp"
GUSE+=" cxx -openmp" #489798
GUSE+=" -fortran" #589672, needs syscalls



[gentoo-commits] proj/crossdev:master commit in: /

2025-01-02 Thread Sam James
commit: 6cc041eb180b63f0b5b1a572bfd29bae581fc60d
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:18:02 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jan  2 23:19:16 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6cc041eb

crossdev: small style tweaks

Signed-off-by: Sam James  gentoo.org>

 crossdev | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/crossdev b/crossdev
index e4747bf..3740578 100755
--- a/crossdev
+++ b/crossdev
@@ -448,7 +448,7 @@ parse_target() {
esac
;;
esac
-   if [[ $sanitizer_support = "no" ]]; then
+   if [[ ${sanitizer_support} = "no" ]]; then
GUSE+=" -sanitize"
fi
 
@@ -470,7 +470,7 @@ parse_target() {
esac
;;
esac
-   if [[ $vtv_support = "no" ]]; then
+   if [[ ${vtv_support} = "no" ]]; then
GUSE+=" -vtv"
fi
 
@@ -1443,7 +1443,8 @@ set_portage() {
force+=" multilib"
;;
*)
-   mask+=" multilib";;
+   mask+=" multilib"
+   ;;
esac
 
set_use_mask ${pkg} "${mask}"
@@ -1576,7 +1577,7 @@ else
pkglist+=( B G D )
 fi
 for pkg in ${pkglist[@]}; do
-   set_portage $pkg
+   set_portage ${pkg}
 done
 
 for_each_extra_pkg set_portage X



[gentoo-commits] proj/crossdev:master commit in: /

2025-01-02 Thread Sam James
commit: 4f2a1d6e7588fad375feea538887b0680abb5ad6
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:16:20 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jan  2 23:16:20 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=4f2a1d6e

crossdev: drop 'nocxx' (noop)

nocxx hasn't been a thing in ages.

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 2ed27fd..e4747bf 100755
--- a/crossdev
+++ b/crossdev
@@ -329,7 +329,7 @@ parse_target() {
 
# due to upstream lameness, build C/C++ at first glance
*-cygwin)
-   GUSE_DISABLE_STAGE_1+=" -nocxx cxx"
+   GUSE_DISABLE_STAGE_1+=" cxx"
;;
 
# these are the mingw64 targets that binutils seems to use



[gentoo-commits] proj/crossdev:master commit in: /

2025-01-02 Thread Sam James
commit: 450d48aa5b61bd48aae827a2edf00626388ed024
Author: Sam James  gentoo  org>
AuthorDate: Thu Jan  2 23:18:16 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jan  2 23:19:17 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=450d48aa

crossdev: crank copyright

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 3740578..096169f 100755
--- a/crossdev
+++ b/crossdev
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 CROSSDEV_VER="@CDEVPV@"



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-24 Thread Sam James
commit: a95616adbecd27e9f88539a588f95d2560eb9819
Author: Sam James  gentoo  org>
AuthorDate: Wed Dec 25 00:44:52 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Dec 25 00:44:52 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a95616ad

crossdev: nvptx: add comment wrt GFORCE and openmp/fortran

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/crossdev b/crossdev
index 47df8ce..2ed27fd 100755
--- a/crossdev
+++ b/crossdev
@@ -308,6 +308,8 @@ parse_target() {
# openmp, unless doing standalone bare minimum testing.
# They also often want Fortran.
STAGE_DEFAULT=${STAGE_C_CPP}
+   # We can't force these on via GFORCE because they need
+   # to be disabled for stage1.
GUSE+=" cxx openmp fortran"
# 
https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html
GMASK+=" ada d go graphite modula2 rust"



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-24 Thread Sam James
commit: a63705c41afcca7b8cf07fe26076363d4d21e080
Author: Sam James  gentoo  org>
AuthorDate: Wed Dec 25 00:43:14 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Dec 25 00:43:14 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a63705c4

Revert "crossdev: nvptx: force on openmp & fortran"

This reverts commit afc0f03b6e846e1c0aa104a809f86133bad55b6d.

We have to be able to turn these off for stage1 but we need them
on for stage2... need to figure out how to do that.

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 1 -
 1 file changed, 1 deletion(-)

diff --git a/crossdev b/crossdev
index 2c2d098..47df8ce 100755
--- a/crossdev
+++ b/crossdev
@@ -309,7 +309,6 @@ parse_target() {
# They also often want Fortran.
STAGE_DEFAULT=${STAGE_C_CPP}
GUSE+=" cxx openmp fortran"
-   GFORCE+=" cxx openmp fortran"
# 
https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html
GMASK+=" ada d go graphite modula2 rust"
 



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-24 Thread Sam James
commit: 23aab902cc8d2a0ff07d86061af8e3401e990d5f
Author: Sam James  gentoo  org>
AuthorDate: Sun Dec 15 18:53:39 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Dec 25 00:42:06 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=23aab902

crossdev, Makefile: fix version handling again

`git archive` was using HEAD so it wouldn't include the sed performed
in the `dist` target.

Signed-off-by: Sam James  gentoo.org>

 Makefile | 5 ++---
 crossdev | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 5c483b8..9819d92 100644
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,7 @@
 include settings.mk
 
 all:
+   sed -i -e '/^CROSSDEV_VER=/s:.*:CROSSDEV_VER="$(PV)":g' crossdev
 
 install:
$(INSTALL_DIR) $(DESTDIR)$(PREFIX)/bin/
@@ -14,11 +15,9 @@ install:
 PV = $(shell test -e .git && git describe)
 P = crossdev-$(PV)
 COMP = xz
-dist:
-   sed -i -e 's:@CDEVPV@:$(PV):g' crossdev
+dist: all
git archive --prefix=$(P)/ HEAD > $(P).tar
-$(COMP) -f $(P).tar
du -b $(P).tar*
-   sed -i -e 's:$(PV):@CDEVPV@:g' crossdev
 
 .PHONY: all dist install

diff --git a/crossdev b/crossdev
index 47df8ce..ee65fbc 100755
--- a/crossdev
+++ b/crossdev
@@ -2,7 +2,7 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-CROSSDEV_VER="@CDEVPV@"
+CROSSDEV_VER="20241215"
 
 cd /
 umask 0022 #159111



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-24 Thread Sam James
commit: c18f677d742830eef7f88ec5edc3babf25ba803c
Author: Sam James  gentoo  org>
AuthorDate: Sun Dec 15 19:00:46 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Dec 25 00:42:06 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c18f677d

Revert "crossdev, Makefile: fix version handling again"

This reverts commit 681c5fb86714d8e2c585c8e5ae423b6f9364ccfb.

Signed-off-by: Sam James  gentoo.org>

 Makefile | 5 +++--
 crossdev | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 9819d92..5c483b8 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,6 @@
 include settings.mk
 
 all:
-   sed -i -e '/^CROSSDEV_VER=/s:.*:CROSSDEV_VER="$(PV)":g' crossdev
 
 install:
$(INSTALL_DIR) $(DESTDIR)$(PREFIX)/bin/
@@ -15,9 +14,11 @@ install:
 PV = $(shell test -e .git && git describe)
 P = crossdev-$(PV)
 COMP = xz
-dist: all
+dist:
+   sed -i -e 's:@CDEVPV@:$(PV):g' crossdev
git archive --prefix=$(P)/ HEAD > $(P).tar
-$(COMP) -f $(P).tar
du -b $(P).tar*
+   sed -i -e 's:$(PV):@CDEVPV@:g' crossdev
 
 .PHONY: all dist install

diff --git a/crossdev b/crossdev
index ee65fbc..47df8ce 100755
--- a/crossdev
+++ b/crossdev
@@ -2,7 +2,7 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-CROSSDEV_VER="20241215"
+CROSSDEV_VER="@CDEVPV@"
 
 cd /
 umask 0022 #159111



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-24 Thread Sam James
commit: afc0f03b6e846e1c0aa104a809f86133bad55b6d
Author: Sam James  gentoo  org>
AuthorDate: Wed Dec 25 00:40:42 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Dec 25 00:42:07 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=afc0f03b

crossdev: nvptx: force on openmp & fortran

Without openmp, various critical files are missing. Offloading makes
no sense without OpenMP.

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 1 +
 1 file changed, 1 insertion(+)

diff --git a/crossdev b/crossdev
index 47df8ce..2c2d098 100755
--- a/crossdev
+++ b/crossdev
@@ -309,6 +309,7 @@ parse_target() {
# They also often want Fortran.
STAGE_DEFAULT=${STAGE_C_CPP}
GUSE+=" cxx openmp fortran"
+   GFORCE+=" cxx openmp fortran"
# 
https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html
GMASK+=" ada d go graphite modula2 rust"
 



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-15 Thread Sam James
commit: be22d125b604b4f5ec69ac2f79268100df833824
Author: Sam James  gentoo  org>
AuthorDate: Sun Dec 15 18:29:12 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sun Dec 15 18:29:12 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=be22d125

crossdev: adapt to sys-libs/compiler-rt -> llvm-runtimes/compiler-rt rename

Followup to 38f0f3e04e184fa397d8c2c2a6e3d53568f7fde5.

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 8b87040..47df8ce 100755
--- a/crossdev
+++ b/crossdev
@@ -892,7 +892,7 @@ GCAT="sys-devel"  ; GPKG="gcc"   ; GVER="" GUSE="" 
GENV="" GOVL="" GMASK
 KCAT="sys-kernel" ; KPKG="linux-headers" ; KVER="" KUSE="" KENV="" KOVL="" 
KMASK="" KFORCE=""
 LCAT="sys-libs"   ; LPKG="[none]"; LVER="" LUSE="" LENV="" LOVL="" 
LMASK="" LFORCE=""
 DCAT="dev-debug"  ; DPKG="gdb"   ; DVER="" DUSE="" DENV="" DOVL="" 
DMASK="" DFORCE=""
-RCAT="sys-libs"   ; RPKG="compiler-rt"   ; RVER="" RUSE="" RENV="" ROVL="" 
RMASK="" RFORCE=""
+RCAT="llvm-runtimes" ; RPKG="compiler-rt"   ; RVER="" RUSE="" RENV="" ROVL="" 
RMASK="" RFORCE=""
 CCAT="sys-devel"  ; CPKG="clang-crossdev-wrappers" ; CVER="" CUSE="" CENV="" 
COVL="" CMASK="" CFORCE=""
 XPKGS=() XVERS=() XUSES=() XENVS=() XOVLS=() XMASKS=() XFORCES=()
 DEFAULT_VER="[latest]"



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-14 Thread Sam James
commit: 38f0f3e04e184fa397d8c2c2a6e3d53568f7fde5
Author: Sam James  gentoo  org>
AuthorDate: Sat Dec 14 18:13:40 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Dec 14 18:13:54 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=38f0f3e0

crossdev: adapt to sys-devel/llvm -> llvm-core/llvm rename

Signed-off-by: Sam James  gentoo.org>

 crossdev | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/crossdev b/crossdev
index 9342120..8b87040 100755
--- a/crossdev
+++ b/crossdev
@@ -1775,12 +1775,12 @@ if ! ex_fast ; then
 
# stage 0: binutils
if [[ "${LLVM}" == "yes" ]] ; then
-   if ! portageq has_version / "sys-devel/llvm" ; then
+   if ! portageq has_version / "llvm-core/llvm" ; then
eerror "LLVM is not installed"
exit 1
fi
 
-   best_ver=$(portageq best_version "${EPREFIX}"/ sys-devel/llvm)
+   best_ver=$(portageq best_version "${EPREFIX}"/ llvm-core/llvm)
llvm_use=$(portageq metadata "${EPREFIX}"/ installed 
"${best_ver}" USE)
 
llvm_arch=""



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-02 Thread Sam James
commit: f2a90ee45d276e9943a13bef728ffc5d7e79ddb4
Author: Sam James  gentoo  org>
AuthorDate: Mon Dec  2 21:37:02 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Mon Dec  2 21:37:31 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f2a90ee4

crossdev: nvptx: refine multilib comment

The multilib bug comment was copied from newlib where it's for arm,
replace it with a better one. There's another comment linking to a GCC ML
post in the file too (in set_portage).

Signed-off-by: Sam James  gentoo.org>

 crossdev | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index c400ff1..9342120 100755
--- a/crossdev
+++ b/crossdev
@@ -320,7 +320,8 @@ parse_target() {
# for that.
GUSE+=" zlib zstd"
 
-   MULTILIB_USE="yes" #407275
+   # We need multilib for openmp to be built w/ -mgomp
+   MULTILIB_USE="yes"
WITH_DEF_HEADERS="no"
;;
 



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-02 Thread Sam James
commit: 88d805301c5ca721d66d5102aa6ba2747cb2771e
Author: Sam James  gentoo  org>
AuthorDate: Mon Dec  2 15:24:29 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Mon Dec  2 15:27:14 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=88d80530

crossdev: nvptx: enable zlib+zstd for LTO

LTO is used behind-the-scenes between the host and offload to communicate
data. We need to use the same compression for both. It's easiest if we just
enable both supported compression formats in the offload compiler: zlib
and zstd.

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 747ee10..c400ff1 100755
--- a/crossdev
+++ b/crossdev
@@ -315,6 +315,10 @@ parse_target() {
GMASK+=" default-stack-clash-protection hardened ssp"
GUSE+=" -hardened" #687598, needs 
-fstack-check=specific support
GUSE+=" -default-stack-clash-protection -ssp" # SSP 
isn't supported for freestanding anyway
+   # Offloading uses LTO to stream data, we need to make 
sure
+   # we support whatever compression the host compiler uses
+   # for that.
+   GUSE+=" zlib zstd"
 
MULTILIB_USE="yes" #407275
WITH_DEF_HEADERS="no"
@@ -901,7 +905,7 @@ AUTOGEN_TAG="# Autogenerated and managed by crossdev"
 # not tested, or doesn't make sense, or no one simply cares about them
 GUSE_DISABLE="-d -objc -objc++ -objc-gc -vtv"
 # These are disabled only for stage1 gcc. Normally need libc presence.
-GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -openmp -sanitize"
+GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -openmp -sanitize 
-zstd -zlib"
 # These are also disabled for stage2, but could be used later if dependencies
 # are installed into ${SYSROOT}:
 # - sanitize needs crypt.h: #799707



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-02 Thread Sam James
commit: 075277041c223391b2c980d0e05989bfd1adee41
Author: Sam James  gentoo  org>
AuthorDate: Mon Dec  2 09:42:08 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Mon Dec  2 09:42:30 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=07527704

crossdev: nvptx: don't force on openmp as it affects stage1 too

Bug: https://bugs.gentoo.org/945296
Fixes: 9e258378b3b596b14130a8538fc37193e3abd5e1
Signed-off-by: Sam James  gentoo.org>

 crossdev | 1 -
 1 file changed, 1 deletion(-)

diff --git a/crossdev b/crossdev
index f8f11d5..747ee10 100755
--- a/crossdev
+++ b/crossdev
@@ -309,7 +309,6 @@ parse_target() {
# They also often want Fortran.
STAGE_DEFAULT=${STAGE_C_CPP}
GUSE+=" cxx openmp fortran"
-   GFORCE+=" cxx openmp fortran"
# 
https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html
GMASK+=" ada d go graphite modula2 rust"
 



[gentoo-commits] proj/crossdev:master commit in: /

2024-12-01 Thread Sam James
commit: 9e258378b3b596b14130a8538fc37193e3abd5e1
Author: Sam James  gentoo  org>
AuthorDate: Sun Dec  1 23:04:50 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sun Dec  1 23:04:50 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9e258378

crossdev: nvptx: disable irrelevant languages and force necessary ones on

Link: https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html
Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 887cf7a..f8f11d5 100755
--- a/crossdev
+++ b/crossdev
@@ -299,6 +299,7 @@ parse_target() {
WITH_DEF_HEADERS="no"
;;
 
+   # Offload targets
nvptx*)
KPKG="[none]"
BPKG="nvptx-tools"
@@ -308,11 +309,14 @@ parse_target() {
# They also often want Fortran.
STAGE_DEFAULT=${STAGE_C_CPP}
GUSE+=" cxx openmp fortran"
+   GFORCE+=" cxx openmp fortran"
+   # 
https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html
+   GMASK+=" ada d go graphite modula2 rust"
 
-   # TODO: deduplicate this with newlib block below
GMASK+=" default-stack-clash-protection hardened ssp"
GUSE+=" -hardened" #687598, needs 
-fstack-check=specific support
GUSE+=" -default-stack-clash-protection -ssp" # SSP 
isn't supported for freestanding anyway
+
MULTILIB_USE="yes" #407275
WITH_DEF_HEADERS="no"
;;



[gentoo-commits] proj/crossdev:master commit in: /

2024-11-30 Thread Sam James
commit: 2cef8f3d996277a8f44a49b7c220ab8ba2a9e435
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 10:16:55 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 10:18:24 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=2cef8f3d

crossdev: nvptx needs multilib

See https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html.

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 1c2650f..887cf7a 100755
--- a/crossdev
+++ b/crossdev
@@ -1427,7 +1427,8 @@ set_portage() {
mask+=" -multilib"
force+=" multilib"
;;
-   *-newlib|*-elf|*-eabi)
+   nvptx*|*-newlib|*-elf|*-eabi)
+   # nvptx: needs multilib because of 
https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html.
mask+=" -multilib"
force+=" multilib"
;;



[gentoo-commits] proj/crossdev:master commit in: /

2024-11-30 Thread Sam James
commit: baba6164d1aa2fd4eee6b52ef10f70b999ee9393
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 05:39:15 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 10:18:27 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=baba6164

Makefile: fix tarball generation

Signed-off-by: Sam James  gentoo.org>

 Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index a935a98..5c483b8 100644
--- a/Makefile
+++ b/Makefile
@@ -15,8 +15,10 @@ PV = $(shell test -e .git && git describe)
 P = crossdev-$(PV)
 COMP = xz
 dist:
-   git archive --prefix=$(P)/ HEAD | sed 's:@CDEVPV@:$(PV):g' > $(P).tar
+   sed -i -e 's:@CDEVPV@:$(PV):g' crossdev
+   git archive --prefix=$(P)/ HEAD > $(P).tar
-$(COMP) -f $(P).tar
du -b $(P).tar*
+   sed -i -e 's:$(PV):@CDEVPV@:g' crossdev
 
 .PHONY: all dist install



[gentoo-commits] proj/crossdev:master commit in: /

2024-11-29 Thread Sam James
commit: 301d1bb0c55e2e848a13decae8201e674e1600f7
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 05:12:20 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 05:12:20 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=301d1bb0

Makefile: use git describe

Lets us handle .1 and so on.

Signed-off-by: Sam James  gentoo.org>

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index aa07a91..a935a98 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ install:
sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g" 
$(DESTDIR)$(PREFIX)/bin/crossdev
$(MAKE) -C wrappers install
 
-PV = $(shell test -e .git && date --date="`git log -1 --format=%ci`" +%Y%m%d)
+PV = $(shell test -e .git && git describe)
 P = crossdev-$(PV)
 COMP = xz
 dist:



[gentoo-commits] proj/crossdev:master commit in: /

2024-11-29 Thread Sam James
commit: 5fcf21142c9bc90ecae60826e0a2e70357769666
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 04:40:54 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 04:41:20 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5fcf2114

crossdev: build openmp, fortran by default for nvptx

Followup to c272f335f8b0df15f724e9ee3e2289a9deddbd11.

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/crossdev b/crossdev
index f26da45..1c2650f 100755
--- a/crossdev
+++ b/crossdev
@@ -303,11 +303,14 @@ parse_target() {
KPKG="[none]"
BPKG="nvptx-tools"
LPKG="newlib"
-   STAGE_DEFAULT=${STAGE_LIBC}
+   # Offloading targets are only really useful with
+   # openmp, unless doing standalone bare minimum testing.
+   # They also often want Fortran.
+   STAGE_DEFAULT=${STAGE_C_CPP}
+   GUSE+=" cxx openmp fortran"
 
# TODO: deduplicate this with newlib block below
GMASK+=" default-stack-clash-protection hardened ssp"
-   GUSE+=" cxx"
GUSE+=" -hardened" #687598, needs 
-fstack-check=specific support
GUSE+=" -default-stack-clash-protection -ssp" # SSP 
isn't supported for freestanding anyway
MULTILIB_USE="yes" #407275



[gentoo-commits] proj/crossdev:master commit in: /

2024-11-29 Thread Sam James
commit: c272f335f8b0df15f724e9ee3e2289a9deddbd11
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 02:28:09 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 02:52:12 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c272f335

crossdev: don't turn off openmp/fortran for nvptx

openmp and fortran are rather useful for offloading.

Not clear to me whether or not we can turn this on for newlib in general
wrt bug #489798 and bug #589672.

Bug: https://bugs.gentoo.org/489798
Bug: https://bugs.gentoo.org/589672
Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/crossdev b/crossdev
index 60db465..f26da45 100755
--- a/crossdev
+++ b/crossdev
@@ -307,8 +307,7 @@ parse_target() {
 
# TODO: deduplicate this with newlib block below
GMASK+=" default-stack-clash-protection hardened ssp"
-   GUSE+=" cxx -openmp" #489798
-   GUSE+=" -fortran" #589672, needs syscalls
+   GUSE+=" cxx"
GUSE+=" -hardened" #687598, needs 
-fstack-check=specific support
GUSE+=" -default-stack-clash-protection -ssp" # SSP 
isn't supported for freestanding anyway
MULTILIB_USE="yes" #407275



[gentoo-commits] proj/crossdev:master commit in: /

2024-11-29 Thread Sam James
commit: 2b44881a2d2defadcdcd30260f535b92458da9b5
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 01:46:37 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 02:08:19 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=2b44881a

crossdev: no SSP for nvptx

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 176bb71..82183bb 100755
--- a/crossdev
+++ b/crossdev
@@ -490,7 +490,7 @@ parse_target() {
case ${CTARGET} in
# [1.]: no -fstack-protector flag support:
#   check as '$CC -fstack-protector -c -x c - 

[gentoo-commits] proj/crossdev:master commit in: wrappers/

2024-11-29 Thread Sam James
commit: ae9adb13dc23de2fb45a858ba7f18998fb238b62
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 02:06:18 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 02:08:20 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=ae9adb13

wrappers/emerge-wrapper: add nvptx*

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 wrappers/emerge-wrapper | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper
index 79c182e..eab8f96 100755
--- a/wrappers/emerge-wrapper
+++ b/wrappers/emerge-wrapper
@@ -62,7 +62,7 @@ cross_wrap_etc()
*musl*)   LIBC=musl ;;
*cygwin*) LIBC=Cygwin ;;
*mingw*)  LIBC=mingw ;;
-   *-newlib|*-elf|*-eabi) LIBC=newlib ;;
+   nvptx*|*-newlib|*-elf|*-eabi) LIBC=newlib ;;
*)emit_setup_warning "No LIBC is known for this target." ;;
esac
 



[gentoo-commits] proj/crossdev:master commit in: /

2024-11-29 Thread Sam James
commit: f212c4740e1e16748d965bbd80155fcdfd4786a1
Author: Sam James  gentoo  org>
AuthorDate: Sat Nov 30 02:06:58 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Nov 30 02:08:20 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f212c474

crossdev: nvptx target fixes

* We don't need linux-headers
* Set the same GMASK/GUSE as newlib (not sure how useful the multilib
bit here is, mind)

Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James  gentoo.org>

 crossdev | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/crossdev b/crossdev
index 82183bb..60db465 100755
--- a/crossdev
+++ b/crossdev
@@ -300,9 +300,19 @@ parse_target() {
;;
 
nvptx*)
+   KPKG="[none]"
BPKG="nvptx-tools"
LPKG="newlib"
STAGE_DEFAULT=${STAGE_LIBC}
+
+   # TODO: deduplicate this with newlib block below
+   GMASK+=" default-stack-clash-protection hardened ssp"
+   GUSE+=" cxx -openmp" #489798
+   GUSE+=" -fortran" #589672, needs syscalls
+   GUSE+=" -hardened" #687598, needs 
-fstack-check=specific support
+   GUSE+=" -default-stack-clash-protection -ssp" # SSP 
isn't supported for freestanding anyway
+   MULTILIB_USE="yes" #407275
+   WITH_DEF_HEADERS="no"
;;
 
# due to upstream lameness, build C/C++ at first glance



[gentoo-commits] proj/crossdev:master commit in: /, .github/workflows/, scripts/

2024-11-25 Thread Sam James
commit: f8448b2265ffdaefd2991f16116d15cf3562927e
Author: Michal Rostecki  protonmail  com>
AuthorDate: Wed Nov 13 19:29:37 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Mon Nov 25 16:22:09 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f8448b22

ci: Test more targets, move the testing logic to a script

Cover all possible targets. The ones which fail to build, are disabled
with an appropriate comment explaining the error.

To make the tests easier to reproduce locally, provide the
`container_test.sh` script and move the most of logic there.

Signed-off-by: Michal Rostecki  protonmail.com>
Closes: https://github.com/gentoo/crossdev/pull/28
Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml |  99 +--
 README |  15 ++
 scripts/container_test.sh  | 102 +
 3 files changed, 193 insertions(+), 23 deletions(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 321bb31..27b01b1 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -14,35 +14,88 @@ jobs:
   crossdev:
 strategy:
   matrix:
+# All targets which are known to be broken, are commented. Pull
+# requests fixing them welcome!
 target:
-  - aarch64-unknown-linux-gnu
-  - aarch64-unknown-linux-musl
+  - target: aarch64-unknown-linux-gnu
+  - target: aarch64-unknown-linux-musl
+  - target: arm-unknown-linux-gnueabi
+  - target: arm-unknown-linux-gnueabihf
+  - target: arm-unknown-linux-musleabi
+  - target: arm-unknown-linux-musleabihf
+  - target: armeb-unknown-linux-gnueabi
+  - target: armeb-unknown-linux-gnueabihf
+  - target: armeb-unknown-linux-musleabi
+  - target: armeb-unknown-linux-musleabihf
+  # glibc fails to build: `attempt to use an ARM instruction on a
+  # Thumb-only processor`.
+  # - target: armv7-unknown-linux-gnueabi
+  # - target: armv7-unknown-linux-gnueabihf
+  - target: armv7-unknown-linux-musleabi
+  - target: armv7-unknown-linux-musleabihf
+  # binutils fails to configure: `machine 'loongaarch64-unknown' not
+  # recognized`
+  # - target: loongaarch64-unknown-linux-gnu
+  # - target: loongaarch64-unknown-linux-musl
+  - target: m68k-unknown-linux-gnu
+  - target: mips-unknown-linux-gnu
+  - target: mips-unknown-linux-musl
+  - target: mipsel-unknown-linux-gnu
+  - target: mipsel-unknown-linux-musl
+  - target: mips64-unknown-linux-gnu
+  # libgcc_s.so fails to build: `cannot find crti.o: No such file or
+  # directory`.
+  # - target: mips64-unknown-linux-musl
+  - target: mips64el-unknown-linux-gnu
+  # libgcc_s.so fails to build: `cannot find crti.o: No such file or
+  # directory`.
+  # - target: mips64el-unknown-linux-musl
+  - target: or1k-unknown-linux-gnu
+args: --skip-system
+  - target: or1k-unknown-linux-musl
+args: --skip-system
+  - target: powerpc-unknown-linux-gnu
+  - target: powerpc-unknown-linux-musl
+  - target: powerpc64-unknown-linux-gnu
+  - target: powerpc64-unknown-linux-musl
+  - target: riscv32-unknown-linux-gnu
+  # busybox fails to buils: `‘SYS_settimeofday’ undeclared`.
+  # - target: riscv32-unknown-linux-musl
+  - target: riscv64-unknown-linux-gnu
+  - target: riscv64-unknown-linux-musl
+  # glibc fails to build: `no support for pre-v8 sparc`.
+  # - target: sparc-unknown-linux-gnu
+  - target: sparc64-unknown-linux-gnu
+  - target: s390x-unknown-linux-gnu
+  # musl ebuilds don't support s390x. The target is supported upstream,
+  # we need to fix and test our ebuilds.
+  # - target: s390x-unknown-linux-musl
+  # All sh* targets fail to install binutils, because of a missing
+  # keyword.
+  # - target: sh2-unknown-linux-gnu
+  # - target: sh2-unknown-linux-musl
+  # - target: sh2eb-unknown-linux-gnu
+  # - target: sh2eb-unknown-linux-musl
+  # - target: sh4-unknown-linux-gnu
+  # - target: sh4-unknown-linux-musl
+  # - target: sh4eb-unknown-linux-gnu
+  # - target: sh4eb-unknown-linux-musl
+  - target: x86_64-unknown-linux-gnu
+  - target: x86_64-unknown-linux-musl
 stage3:
   - latest # `openrc` (glibc+GCC) is tagged as `latest`
-  - musl
-name: crossdev target=${{ matrix.target }} stage3=${{ matrix.stage3 }}
+  - musl 
+  fail-fast: false
+name: crossdev target=${{ matrix.target.target }} stage3=${{ matrix.stage3 
}}
 runs-on: ubuntu-latest
 step

[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2024-11-12 Thread Sam James
commit: a46280d73c8eef5fafc705d2b91363ae32b48bcf
Author: Michal Rostecki  protonmail  com>
AuthorDate: Tue Nov 12 14:12:01 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Nov 12 15:24:00 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a46280d7

ci: Run the container explicitly with `docker run`

Using `container:` setting in GitHub actions unfortunately doesn't
work with musl-llvm Gentoo images. The reason is that GitHub actions
are injecting a NodeJS binary and for distros other than Alpine, it
injects a binary linked against glibc.[0]

The proper fix would involve either defaulting to musl or making the
libc detection in the container system smarter, but for now, let's just
run the container manually.

[0] 
https://github.com/actions/runner/blob/6ef5803f24724b77a8d3599a478d06018da5d7c6/src/Runner.Worker/Handlers/StepHost.cs#L143-L172

Signed-off-by: Michal Rostecki  protonmail.com>
Closes: https://github.com/gentoo/crossdev/pull/27
Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 33 +
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index 5af15bb..321bb31 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -22,26 +22,27 @@ jobs:
   - musl
 name: crossdev target=${{ matrix.target }} stage3=${{ matrix.stage3 }}
 runs-on: ubuntu-latest
-container: docker.io/gentoo/stage3:${{ matrix.stage3 }}
 steps:
   - uses: actions/checkout@v4
 
-  - name: Install dependencies
+  - name: Create cross environment
 run: |
-  emerge --sync --quiet
-  emerge \
-app-eselect/eselect-repository \
-sys-apps/config-site
+  docker run -v $(pwd):/workspace -w /workspace \
+docker.io/gentoo/stage3:${{ matrix.stage3 }} bash -c "
+# Install dependencies
+emerge --sync --quiet
+emerge \
+  app-eselect/eselect-repository \
+  sys-apps/config-site
 
-  - name: Install crossdev
-run: make install
+# Install crossdev
+make install
 
-  - name: Create cross environment
-run: |
-  eselect repository create crossdev
-  crossdev ${{ matrix.args }} --target ${{ matrix.target }}
+# Create cross environment
+eselect repository create crossdev
+crossdev ${{ matrix.args }} --target ${{ matrix.target }}
 
-  # zstd and its dependencies need both C and C++ toolchain. If any of them
-  # is broken, the installation will fail.
-  - name: Sanity check
-run: ${{ matrix.target }}-emerge app-arch/zstd
+# zstd and its dependencies need both C and C++ toolchain. If any 
of them
+# is broken, the installation will fail.
+run: ${{ matrix.target }}-emerge app-arch/zstd
+"



[gentoo-commits] proj/crossdev:master commit in: .github/workflows/

2024-11-12 Thread Sam James
commit: c9aaa3e484e39debe599b82fdc8451833bb8f19e
Author: Michal Rostecki  protonmail  com>
AuthorDate: Tue Nov 12 00:39:35 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Nov 12 08:46:11 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c9aaa3e4

ci: Test crossdev in GitHub Actions

Add a workflow which sets up and tests crossdev for the given list of
targets.

Signed-off-by: Michal Rostecki  protonmail.com>
Closes: https://github.com/gentoo/crossdev/pull/25
Signed-off-by: Sam James  gentoo.org>

 .github/workflows/crossdev.yml | 47 ++
 1 file changed, 47 insertions(+)

diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
new file mode 100644
index 000..5af15bb
--- /dev/null
+++ b/.github/workflows/crossdev.yml
@@ -0,0 +1,47 @@
+name: CI
+
+on:
+  push:
+branches:
+  - master
+  pull_request:
+branches:
+  - master
+  schedule:
+- cron: 00 4 * * *
+
+jobs:
+  crossdev:
+strategy:
+  matrix:
+target:
+  - aarch64-unknown-linux-gnu
+  - aarch64-unknown-linux-musl
+stage3:
+  - latest # `openrc` (glibc+GCC) is tagged as `latest`
+  - musl
+name: crossdev target=${{ matrix.target }} stage3=${{ matrix.stage3 }}
+runs-on: ubuntu-latest
+container: docker.io/gentoo/stage3:${{ matrix.stage3 }}
+steps:
+  - uses: actions/checkout@v4
+
+  - name: Install dependencies
+run: |
+  emerge --sync --quiet
+  emerge \
+app-eselect/eselect-repository \
+sys-apps/config-site
+
+  - name: Install crossdev
+run: make install
+
+  - name: Create cross environment
+run: |
+  eselect repository create crossdev
+  crossdev ${{ matrix.args }} --target ${{ matrix.target }}
+
+  # zstd and its dependencies need both C and C++ toolchain. If any of them
+  # is broken, the installation will fail.
+  - name: Sanity check
+run: ${{ matrix.target }}-emerge app-arch/zstd



[gentoo-commits] proj/crossdev:master commit in: /

2024-10-15 Thread Sam James
commit: 467cff30d0a828868dcdc98f49afcd7d136234d5
Author: Michal Rostecki  protonmail  com>
AuthorDate: Mon Oct  7 20:01:11 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Oct 15 07:13:52 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=467cff30

crossdev: Use libunwind and libc++ in LLVM environments

Avoid build issues on cross environments using musl and LLVM by using
libunwind and libc++ explicitly in the clang configuration. Otherwise,
clang expects GCC libunwind and libstdc++.

These flags were not set explicitly in the clang configuration, because
LLVM profiles were setting them, but that's not the case anymore[0].

[0] 
https://github.com/gentoo/gentoo/commit/5e5c9d5c524871f5af260557dbd2962b8eec5087

Bug: https://bugs.gentoo.org/941140
Signed-off-by: Michal Rostecki  protonmail.com>
Closes: https://github.com/gentoo/crossdev/pull/23
Signed-off-by: Sam James  gentoo.org>

 crossdev | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 1b53fd2..176bb71 100755
--- a/crossdev
+++ b/crossdev
@@ -1736,7 +1736,8 @@ if [[ "${LLVM}" == "yes" ]]; then
--rtlib=compiler-rt
--sysroot=/usr/${CTARGET}
--target=${CTARGET}
-   --unwindlib=none
+   --unwindlib=libunwind
+   --stdlib=libc++
-fuse-ld=lld
EOF
# Workaround until LLVM libc supports dynamic linking and SSP



[gentoo-commits] proj/crossdev:master commit in: /

2024-10-15 Thread Sam James
commit: b9bcca92c56e87436852888a7ef0f52cee7d5ee2
Author: Sam James  gentoo  org>
AuthorDate: Tue Oct 15 07:11:57 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Oct 15 07:13:51 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b9bcca92

crossdev: tweak GUSE_DISABLE*

USE=boundschecking, USE=gcj, USE=gtk, USE=libffi, USE=mudflap
are all long gone, so drop those from GUSE_DISABLE.

USE=mpx is also gone, so remove that from GUSE_DISABLE_STAGE_1.

Shift USE=vtv from GUSE_DISABLE_STAGE_1 -> GUSE_DISABLE as it falls under
everything described in that comment ;)

Signed-off-by: Sam James  gentoo.org>

 crossdev | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/crossdev b/crossdev
index a02016a..1b53fd2 100755
--- a/crossdev
+++ b/crossdev
@@ -884,9 +884,9 @@ CROSSDEV_OVERLAY_CREATE_REPOS_CONF=""
 AUTOGEN_TAG="# Autogenerated and managed by crossdev"
 # These flags are always disabled for cross-gcc; either usually/always broken, 
or
 # not tested, or doesn't make sense, or no one simply cares about them
-GUSE_DISABLE="-boundschecking -d -gcj -gtk -libffi -mudflap -objc -objc++ 
-objc-gc"
+GUSE_DISABLE="-d -objc -objc++ -objc-gc -vtv"
 # These are disabled only for stage1 gcc. Normally need libc presence.
-GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -mpx -openmp 
-sanitize -vtv"
+GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -openmp -sanitize"
 # These are also disabled for stage2, but could be used later if dependencies
 # are installed into ${SYSROOT}:
 # - sanitize needs crypt.h: #799707



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2024-09-22 Thread James Le Cuirot
commit: a1f5ed5e8f866cd904e439b3792ac7505895f7f3
Author: James Le Cuirot  gentoo  org>
AuthorDate: Sat Sep 21 21:35:27 2024 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Sat Sep 21 21:48:40 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a1f5ed5e

cross-pkg-config: Don't unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS/LIBS

These variables control whether pkg-config returns flags to search
directories that the toolchain would search by default anyway. Rust's
pkg-config-rs enables them by default, and some crates expect flags to
always be returned, even if they are technically unnecessary. Unsetting
these variables in the wrapper therefore breaks some crates. Having seen
how this works in detail, it would be fruitless to ask upstream to
change it.

These lines were originally added at a time when we expected other
non-Gentoo-based distributions to use crossdev. That didn't happen.
Gentoo itself doesn't set these variables anywhere that I can see. Even
if they were set, they are unlikely to break anything in practise now
that our cross builds are better behaved than they used to be.

Bug: https://bugs.gentoo.org/939334
Signed-off-by: James Le Cuirot  gentoo.org>

 wrappers/cross-pkg-config | 2 --
 1 file changed, 2 deletions(-)

diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
index eb4047f..9bff474 100755
--- a/wrappers/cross-pkg-config
+++ b/wrappers/cross-pkg-config
@@ -103,8 +103,6 @@ export PKG_CONFIG_FDO_SYSROOT_RULES=1
 # Time to pull a captain planet on them.
 #
 unset PKG_CONFIG_PATH
-unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
-unset PKG_CONFIG_ALLOW_SYSTEM_LIBS
 
 #
 # Try and figure out the appropriate libdir for this target.



[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/

2024-09-21 Thread James Le Cuirot
commit: 6caddf235b5598a9725d21134801b4426e6d3ea6
Author: James Le Cuirot  gentoo  org>
AuthorDate: Sat Sep 21 21:02:45 2024 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Sat Sep 21 21:02:45 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6caddf23

Don't set PKG_CONFIG_PATH in make.conf

This is pointless because cross-pkg-config unsets it anyway. It's also
harmful because if a cross build needs to call CBUILD's pkg-config,
which doesn't use the wrapper, it will pick up .pc files from the wrong
location.

Bug: https://bugs.gentoo.org/936677
Signed-off-by: James Le Cuirot  gentoo.org>

 wrappers/etc/portage/make.conf | 1 -
 1 file changed, 1 deletion(-)

diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf
index b845ba6..0d74bc0 100644
--- a/wrappers/etc/portage/make.conf
+++ b/wrappers/etc/portage/make.conf
@@ -19,5 +19,4 @@ FEATURES="-collision-protect sandbox buildpkg noman noinfo 
nodoc"
 PKGDIR=${ROOT}var/cache/binpkgs/
 PORTAGE_TMPDIR=${ROOT}tmp/
 
-PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
 #PORTDIR_OVERLAY="/var/db/repos/local/"



[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/

2024-09-21 Thread James Le Cuirot
commit: da3d831561b884a6b3d02d069ec9c7cd9d8df475
Author: James Le Cuirot  gentoo  org>
AuthorDate: Sat Sep 21 21:05:32 2024 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Sat Sep 21 21:05:32 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=da3d8315

Remove commented PORTDIR_OVERLAY line from make.conf

This variable is deprecated in favour of repos.conf.

Signed-off-by: James Le Cuirot  gentoo.org>

 wrappers/etc/portage/make.conf | 2 --
 1 file changed, 2 deletions(-)

diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf
index 0d74bc0..4a93675 100644
--- a/wrappers/etc/portage/make.conf
+++ b/wrappers/etc/portage/make.conf
@@ -18,5 +18,3 @@ FEATURES="-collision-protect sandbox buildpkg noman noinfo 
nodoc"
 # Be sure we dont overwrite pkgs from another repo..
 PKGDIR=${ROOT}var/cache/binpkgs/
 PORTAGE_TMPDIR=${ROOT}tmp/
-
-#PORTDIR_OVERLAY="/var/db/repos/local/"



[gentoo-commits] proj/crossdev:master commit in: /

2024-07-02 Thread James Le Cuirot
commit: daec387a1c91d5a0b9f94ee00ef95f63a9a6d9d2
Author: James Le Cuirot  gentoo  org>
AuthorDate: Tue Jul  2 16:22:06 2024 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Tue Jul  2 16:22:06 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=daec387a

crossdev: Configure the cet USE flag to match the profiles

We especially don't want to enable it on i?86.

Signed-off-by: James Le Cuirot  gentoo.org>

 crossdev | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/crossdev b/crossdev
index 020d17c..a02016a 100755
--- a/crossdev
+++ b/crossdev
@@ -499,6 +499,21 @@ parse_target() {
GMASK+=" default-stack-clash-protection ssp hardened -nossp"
GFORCE+=" nossp"
fi
+
+   # Configure the cet USE flag to match the profiles. We especially
+   # don't want to enable it on i?86.
+   case ${CTARGET} in
+   x86_64-*)
+   BFORCE+=" cet"
+   GUSE+=" cet"
+   LUSE+=" cet"
+   ;;
+   *)
+   BMASK+=" cet"
+   GMASK+=" cet"
+   LMASK+=" cet"
+   ;;
+   esac
 }
 
 parse_repo_config() {



[gentoo-commits] proj/crossdev:master commit in: /

2024-06-16 Thread Luca Barbato
commit: 9b82332fb2a1068640c07c60f627fb6779f28a3b
Author: Luca Barbato  gentoo  org>
AuthorDate: Thu Jun 13 18:26:09 2024 +
Commit: Luca Barbato  gentoo  org>
CommitDate: Sun Jun 16 13:46:47 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9b82332f

crossdev: Force static-libs for -gnu targets

Without `static-libs`, the configure check for `-static` would fail and
it leads to a cascade failure in finding `-lpthread` in stage2 gcc.

Closes: https://github.com/gentoo/crossdev/pull/21
Signed-off-by: Luca Barbato  gentoo.org>

 crossdev | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/crossdev b/crossdev
index 6de317a..020d17c 100755
--- a/crossdev
+++ b/crossdev
@@ -354,6 +354,9 @@ parse_target() {
;;
*-gnu*)
LPKG="glibc"
+   # gcc would not find -lpthread without static libraries 
while building
+   # its copy of libgomp.
+   LUSE+=" static-libs"
;;
*-klibc)
LPKG="klibc"



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-07 Thread Sam James
commit: df5372661bd09a1ffcbc129d89caa7b2a4a65aec
Author: vindicatorr  gmail  com>
AuthorDate: Tue May  7 11:36:16 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue May  7 16:06:18 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=df537266

Reorder gnu<-glibc wording, under "LIBC" for "--help", to follow with usage of 
other libs listed.

Signed-off-by: vindicatorr  gmail.com>
Closes: https://github.com/gentoo/crossdev/pull/20
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index d643aaa..6de317a 100755
--- a/crossdev
+++ b/crossdev
@@ -162,7 +162,7 @@ parse_target() {
   - sh / sh[1-5] / sh64
   - x86_64 (amd64)
Supported C Libraries (LIBC):
-  - glibc (gnu)
+  - gnu (glibc)
   - klibc   [prob wont work]
   - musl
   - newlib  [bare metal/no operating system]



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-07 Thread Sam James
commit: 118ced12162677ba67d634245dc56e701af9ce94
Author: Sam James  gentoo  org>
AuthorDate: Tue May  7 13:04:23 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue May  7 13:04:23 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=118ced12

crossdev: fix whitespace in comment

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 8d8f186..d643aaa 100755
--- a/crossdev
+++ b/crossdev
@@ -1694,7 +1694,7 @@ doemerge() {
eend 0
 }
 
-# We include the '-u' so that we don't re-emerge packages. Avoid
+# We include the '-u' so that we don't re-emerge packages. Avoid
 # using --nodeps as packages have more host depends nowadays (like
 # gcc wanting updated mpfr/gmp).  Don't use --oneshot anymore to
 # follow normal emerge behavior; people can pass the -1 to portage



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-07 Thread Sam James
commit: 656fb7aac1d118c3814b8d5997943791fbbf34ef
Author: Sam James  gentoo  org>
AuthorDate: Tue May  7 12:41:35 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue May  7 12:41:35 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=656fb7aa

crossdev: fix setting EAPI

Fixes: c012baee91797ddbd87fa26f4cb73c9a58de3c0c
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index af47349..8d8f186 100755
--- a/crossdev
+++ b/crossdev
@@ -1498,7 +1498,7 @@ set_metadata() {
 
if [[ ! -f "${CROSSDEV_OVERLAY}"/profiles/eapi ]] ; then
cat <<-EOF > "${CROSSDEV_OVERLAY}"/profiles/eapi || die "could 
not write ${CROSSDEV_OVERLAY}/profiles/eapi"
-   ${repo_name}
+   8
EOF
fi
 



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2024-05-04 Thread Sam James
commit: 1a15a8788a72f6649636a52b468e0e8d440b7e1b
Author: Sam James  gentoo  org>
AuthorDate: Sat May  4 11:58:47 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat May  4 11:58:47 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=1a15a878

wrappers/README: update config.site path

Signed-off-by: Sam James  gentoo.org>

 wrappers/README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/README b/wrappers/README
index 0ff42ac..9fdb2ae 100644
--- a/wrappers/README
+++ b/wrappers/README
@@ -1,2 +1,2 @@
 Drop here your local overrides for autoconf cache variables.
-See @PREFIX@/share/config.site for details.
+See @PREFIX@/share/config.site.d/80crossdev.conf for details.



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-04 Thread Sam James
commit: 5b76e726a4000e28a2bc7c76e3538027c745de48
Author: Sam James  gentoo  org>
AuthorDate: Sat May  4 11:57:12 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat May  4 11:57:12 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5b76e726

README: small fixes

Signed-off-by: Sam James  gentoo.org>

 README | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/README b/README
index d4198b2..c37472e 100644
--- a/README
+++ b/README
@@ -15,7 +15,7 @@ It is useful for various purposes:
 Crossdev nano HOWTO
 ---
 
-So you want to cross-compile a Gentoo package (say busybox to s390x):
+So you want to cross-compile a Gentoo package (say, busybox to s390x):
 
   # crossdev -t s390x-unknown-linux-gnu
   # (optional) ARCH=s390 PORTAGE_CONFIGROOT=/usr/s390x-unknown-linux-gnu 
eselect profile set default/linux/s390/17.0/s390x
@@ -30,7 +30,7 @@ You can use qemu-user to run this binary:
   $ qemu-s390x -L /usr/s390x-unknown-linux-gnu/ 
/usr/s390x-unknown-linux-gnu/bin/busybox uname -m
   s390x
 
-or even chroot to /usr/s390x-unknown-linux-gnu directory!
+or even chroot to the /usr/s390x-unknown-linux-gnu directory!
 
 https://wiki.gentoo.org/wiki/Crossdev_qemu-static-user-chroot
 
@@ -120,7 +120,7 @@ If toolchains were simple programs crossdev would be a 
one-liner script:
   ROOT=...\
   emerge "$@"
 
-Unfortunately todays' toolchains have loops in their build-time dependencies:
+Unfortunately today's toolchains have cycles/loops in their build-time 
dependencies:
 
 - cross-compiler itself normally needs a libc built for  because
   libc defines various aspects of userland ABI and features provided.
@@ -153,11 +153,13 @@ Done!
 How crossdev works (more details)
 -
 
-This section contains more details on what actually happens.
+This section contains more details on what actually happens (what crossdev
+does for you).
+
 Here we elaborate on each step outlined in previous section:
 
 1. create an overlay with new ebuilds (symlinks to existing ebuilds)
-   . After this step the
+   . After this step the
outcomes are:
 
- overlay layout is formed in cross-overlay/:
@@ -262,19 +264,19 @@ Various notes (AKA dirty little tricks)
   Some ./configure scripts rely on runtime feature testing. We would
   still like to enable things even in cross-environment.
 
-  crossdev installs /usr/share/config.site with a bunch of cache
+  crossdev installs /usr/share/config.site.d/80crossdev.conf with a bunch of 
cache
   variables preset for targets. It might be a nice place to drop
   more things into. Or it could be a source of all your cross-compilation
   problems if variables set incorrect values.
 
 - eclass importing
 
-  To find out various things about target crossdev loads multilib.eclass
-  and tries to find out default ABI supported by the target.
+  To find out various things about the target, crossdev loads multilib.eclass
+  and tries to find out the default ABI supported by the target.
 
 - crossdev is just a tiny shell script around emerge :)
 
-  It's full source code is comparable to the size of this README.
+  Its full source code is comparable to the size of this README.
 
 - USE=headers-only
 



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-04 Thread Sam James
commit: fbbcdd8e4ba2dd77c6161745b43602dd69a1e096
Author: Sam James  gentoo  org>
AuthorDate: Sat May  4 11:52:49 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat May  4 11:52:49 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=fbbcdd8e

crossdev: tweak comment

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 48a848c..af47349 100755
--- a/crossdev
+++ b/crossdev
@@ -315,7 +315,7 @@ parse_target() {
KPKG="[none]";
LCAT="dev-util"
LPKG="mingw64-runtime"
-   WITH_DEF_HEADERS="yes" # gcc can't boot without 
headers: bug #693770
+   WITH_DEF_HEADERS="yes" # gcc can't bootstrap without 
headers: bug #693770
GMASK+=" default-stack-clash-protection hardened"
GUSE+=" -default-stack-clash-protection -hardened" # 
gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc
;;



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-04 Thread Sam James
commit: 250ce4a1e3661118f30626d5be4a597d27843615
Author: Sam James  gentoo  org>
AuthorDate: Sat May  4 11:51:04 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat May  4 11:51:04 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=250ce4a1

crossdev: fix whitespace

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 5eef531..90381f9 100755
--- a/crossdev
+++ b/crossdev
@@ -1439,7 +1439,7 @@ set_metadata() {
fi
 
# build up a list of possible repos where we can pull from
-   for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" "${ROVL}"  "${DOVL}" 
${SEARCH_OVERLAYS} "${MAIN_REPO_PATH}" ; do
+   for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" "${ROVL}" "${DOVL}" 
${SEARCH_OVERLAYS} "${MAIN_REPO_PATH}" ; do
[[ -z ${d} ]] && continue
 
name=



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-04 Thread Sam James
commit: 5bff6e60922c7eaa7ea9e8d11b7ee43ef467c994
Author: Sam James  gentoo  org>
AuthorDate: Sat May  4 11:51:15 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat May  4 11:51:15 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5bff6e60

crossdev: crank copyright

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 90381f9..48a848c 100755
--- a/crossdev
+++ b/crossdev
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 CROSSDEV_VER="@CDEVPV@"



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-04 Thread Sam James
commit: c012baee91797ddbd87fa26f4cb73c9a58de3c0c
Author: Sam James  gentoo  org>
AuthorDate: Sat May  4 11:47:08 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat May  4 11:47:33 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c012baee

crossdev: declare EAPI in profiles/

Declare the EAPI in profiles/, otherwise we're EAPI 0. pkgcraft rightly
complains about this.

* Similar to 9e889bc74012c4d7bedb9f7fa31d6625be93cf3c.
* See also 7f2f74f4e471172ceeceb78913fd8f8c88aa031d in 
app-eselect/eselect-repository.

Signed-off-by: Sam James  gentoo.org>

 crossdev | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/crossdev b/crossdev
index 1a63bb8..5eef531 100755
--- a/crossdev
+++ b/crossdev
@@ -1496,6 +1496,12 @@ set_metadata() {
EOF
fi
 
+   if [[ ! -f "${CROSSDEV_OVERLAY}"/profiles/eapi ]] ; then
+   cat <<-EOF > "${CROSSDEV_OVERLAY}"/profiles/eapi || die "could 
not write ${CROSSDEV_OVERLAY}/profiles/eapi"
+   ${repo_name}
+   EOF
+   fi
+
# If there is no repos.conf entry for the output overlay, create one 
here
if [[ -n ${CROSSDEV_OVERLAY_CREATE_REPOS_CONF} ]]; then
cat <<-EOF > "${CROSSDEV_OVERLAY_CREATE_REPOS_CONF}" || die 
"could not create the repo conf"



[gentoo-commits] proj/crossdev:master commit in: /

2024-05-04 Thread Sam James
commit: 9e889bc74012c4d7bedb9f7fa31d6625be93cf3c
Author: Sam James  gentoo  org>
AuthorDate: Sat May  4 11:44:11 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Sat May  4 11:47:05 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9e889bc7

crossdev: write profiles/repo_name

PMS requires it, the key in layout.conf isn't enough. Noticed after
pkgcraft rightly complained about it.

Signed-off-by: Sam James  gentoo.org>

 crossdev | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/crossdev b/crossdev
index 7a5ad37..1a63bb8 100755
--- a/crossdev
+++ b/crossdev
@@ -1490,6 +1490,12 @@ set_metadata() {
$(printf '%b' "${this_manifests}")
EOF
 
+   if [[ ! -f "${CROSSDEV_OVERLAY}"/profiles/repo_name ]] ; then
+   cat <<-EOF > "${CROSSDEV_OVERLAY}"/profiles/repo_name || die 
"could not write ${CROSSDEV_OVERLAY}/profiles/repo_name"
+   ${repo_name}
+   EOF
+   fi
+
# If there is no repos.conf entry for the output overlay, create one 
here
if [[ -n ${CROSSDEV_OVERLAY_CREATE_REPOS_CONF} ]]; then
cat <<-EOF > "${CROSSDEV_OVERLAY_CREATE_REPOS_CONF}" || die 
"could not create the repo conf"



[gentoo-commits] proj/crossdev:master commit in: wrappers/site/

2024-02-08 Thread Sam James
commit: bff7bb77cc9d7f8219c95a8e6a35459fec2b458a
Author: Sam James  gentoo  org>
AuthorDate: Fri Feb  9 06:13:53 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Feb  9 06:13:53 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=bff7bb77

wrappers: mipsel-linux-gnu: fix ac_cv_type_uid_t cache value

Reported by matoro when building coreutils for mipsel-unknown-linux-gnu. If
autoconf-2.72 is used, apparently this shows up, and the coreutils-9.4 dist
tarball was indeed built with it...

The symptoms are similar to bug #885485 but it's a different cause -- we
were exporting a dodgy cache value with a missing '$':

```
configure:14771: checking for uid_t
configure:14771: result: {ac_cv_type_uid_t=yes}
```

```
ac_cv_type_uid_t='{ac_cv_type_uid_t=yes}'
```

```
$ rg ac_cv_type_uid_t
wrappers/site/mipsel-linux-gnu:115:ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
```

Bug: https://bugs.gentoo.org/885485
Signed-off-by: Sam James  gentoo.org>

 wrappers/site/mipsel-linux-gnu | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/site/mipsel-linux-gnu b/wrappers/site/mipsel-linux-gnu
index 7ecdba1..c96fad1 100644
--- a/wrappers/site/mipsel-linux-gnu
+++ b/wrappers/site/mipsel-linux-gnu
@@ -112,7 +112,7 @@ mono_cv_uscore=${mono_cv_uscore=no}
 ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=no}
 ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
 ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
-ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
+ac_cv_type_uid_t=${ac_cv_type_uid_t=yes}
 
 # bash
 bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=no}



[gentoo-commits] proj/crossdev:master commit in: /

2024-01-26 Thread Sam James
commit: a5daa83d8dd73d73035403aa57b24f7e057e4e19
Author: Alfred Persson Forsberg  catcream  org>
AuthorDate: Fri Jan 26 00:05:30 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan 26 09:30:46 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a5daa83d

llvm.conf: set AS="clang -c" instead of llvm-as

Bug: https://bugs.gentoo.org/680652
Signed-off-by: Alfred Persson Forsberg  catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/18
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 8788747..7a5ad37 100755
--- a/crossdev
+++ b/crossdev
@@ -1594,7 +1594,7 @@ esac
 if [[ "${LLVM}" == "yes" ]] ; then
cat <<-EOF > "${CONFIGROOT}/env/${CROSSDEV_OVERLAY_CATEGORY}/llvm.conf"
AR=llvm-ar
-   AS=llvm-as
+   AS="${CTARGET}-clang -c"
CC="${CTARGET}-clang"
CROSS_COMPILE="${CTARGET}-"
CXX="${CTARGET}-clang++"



[gentoo-commits] proj/crossdev:master commit in: /

2024-01-16 Thread Sam James
commit: 7aadbdb87851afeebae018b00679acfd105a21a5
Author: Krzesimir Nowak  microsoft  com>
AuthorDate: Tue Jan 16 16:21:11 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Jan 17 04:51:20 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7aadbdb8

crossdev: Make dev-debug a default category for gdb

The sys-devel/gdb package was moved to dev-debug category, so reflect
this change in the script.

Signed-off-by: Krzesimir Nowak  microsoft.com>
Closes: https://github.com/gentoo/crossdev/pull/17
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 94313b9..8788747 100755
--- a/crossdev
+++ b/crossdev
@@ -853,7 +853,7 @@ BCAT="sys-devel"  ; BPKG="binutils"  ; BVER="" BUSE="" 
BENV="" BOVL="" BMASK
 GCAT="sys-devel"  ; GPKG="gcc"   ; GVER="" GUSE="" GENV="" GOVL="" 
GMASK="" GFORCE=""
 KCAT="sys-kernel" ; KPKG="linux-headers" ; KVER="" KUSE="" KENV="" KOVL="" 
KMASK="" KFORCE=""
 LCAT="sys-libs"   ; LPKG="[none]"; LVER="" LUSE="" LENV="" LOVL="" 
LMASK="" LFORCE=""
-DCAT="sys-devel"  ; DPKG="gdb"   ; DVER="" DUSE="" DENV="" DOVL="" 
DMASK="" DFORCE=""
+DCAT="dev-debug"  ; DPKG="gdb"   ; DVER="" DUSE="" DENV="" DOVL="" 
DMASK="" DFORCE=""
 RCAT="sys-libs"   ; RPKG="compiler-rt"   ; RVER="" RUSE="" RENV="" ROVL="" 
RMASK="" RFORCE=""
 CCAT="sys-devel"  ; CPKG="clang-crossdev-wrappers" ; CVER="" CUSE="" CENV="" 
COVL="" CMASK="" CFORCE=""
 XPKGS=() XVERS=() XUSES=() XENVS=() XOVLS=() XMASKS=() XFORCES=()



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2024-01-08 Thread Sam James
commit: 40d924aafe602583a23aa3212528ca3d528c5b2c
Author: Sam James  gentoo  org>
AuthorDate: Mon Jan  8 14:27:31 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Mon Jan  8 14:27:31 2024 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=40d924aa

cross-{ebuild,emerge}: improve error message for missing SYSROOT

This can happen if you rm -rf the SYSROOT (rather than crossdev -C).

Signed-off-by: Sam James  gentoo.org>

 wrappers/cross-ebuild | 7 ++-
 wrappers/cross-emerge | 7 ++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/wrappers/cross-ebuild b/wrappers/cross-ebuild
index 6f47cb8..a520e18 100644
--- a/wrappers/cross-ebuild
+++ b/wrappers/cross-ebuild
@@ -19,11 +19,16 @@ fi
 : ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}}
 export EPREFIX SYSROOT PORTAGE_CONFIGROOT
 
-if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then
+if [ -z "${CHOST}" ] ; then
echo "cross-ebuild: CHOST is not set properly"
exit 1
 fi
 
+if [ ! -d "${SYSROOT}" ] ; then
+   echo "cross-ebuild: ${SYSROOT} does not exist (is CHOST set properly?)"
+   exit 1
+fi
+
 # Portage defaults CBUILD to CHOST, so we have to remove CHOST
 # from the env to get a "good" value for CBUILD
 query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS"

diff --git a/wrappers/cross-emerge b/wrappers/cross-emerge
index a85d41e..eb2d5b5 100755
--- a/wrappers/cross-emerge
+++ b/wrappers/cross-emerge
@@ -19,11 +19,16 @@ fi
 : ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}}
 export EPREFIX SYSROOT PORTAGE_CONFIGROOT
 
-if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then
+if [ -z "${CHOST}" ] ; then
echo "cross-emerge: CHOST is not set properly"
exit 1
 fi
 
+if [ ! -d "${SYSROOT}" ] ; then
+   echo "cross-emerge: ${SYSROOT} does not exist (is CHOST set properly?)"
+   exit 1
+fi
+
 # Portage defaults CBUILD to CHOST, so we have to remove CHOST
 # from the env to get a "good" value for CBUILD
 query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS"



[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/

2023-12-12 Thread James Le Cuirot
commit: 5fd3a2f7f14512bb2a56e1b0e7a8e143ab3d5600
Author: Ian Jordan  gmail  com>
AuthorDate: Tue Dec 12 06:03:31 2023 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Tue Dec 12 22:02:26 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5fd3a2f7

wrapper/etc/portage/make.conf: Remove -pam

Removing default option of disabling PAM as no longer needed in all tests done.

Signed-off-by: Ian Jordan  gmail.com>
Closes: https://github.com/gentoo/crossdev/pull/16
Signed-off-by: James Le Cuirot  gentoo.org>

 wrappers/etc/portage/make.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf
index 59bf61e..b845ba6 100644
--- a/wrappers/etc/portage/make.conf
+++ b/wrappers/etc/portage/make.conf
@@ -9,7 +9,7 @@ ROOT=@GENTOO_PORTAGE_EPREFIX@/usr/${CHOST}/
 
 ACCEPT_KEYWORDS="${ARCH} ~${ARCH}"
 
-USE="${ARCH} -pam"
+USE="${ARCH}"
 
 CFLAGS="-O2 -pipe -fomit-frame-pointer"
 CXXFLAGS="${CFLAGS}"



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2023-10-14 Thread Matt Turner
commit: 7392a9387240d86af931b517178ff657453ac4d6
Author: Matt Turner  gentoo  org>
AuthorDate: Fri Oct 13 18:51:33 2023 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sun Oct 15 04:23:17 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7392a938

cross-pkg-config: Set PKG_CONFIG_FDO_SYSROOT_RULES=1

When cross-compiling, pkgconf behaves in a way that causes many packages
to install files to ${SYSROOT}/${SYSROOT}/... without
PKG_CONFIG_FDO_SYSROOT_RULES set.

I'm aware of at least gobject-introspection, modemmanager, and libp11,
but there are likely more.

Signed-off-by: Matt Turner  gentoo.org>

 wrappers/cross-pkg-config | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
index ba4d3ac..eb4047f 100755
--- a/wrappers/cross-pkg-config
+++ b/wrappers/cross-pkg-config
@@ -95,6 +95,9 @@ fi
 export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR%/}
 PKG_CONFIG_ESYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}${PREFIX}
 
+# https://github.com/pkgconf/pkgconf/issues/205
+export PKG_CONFIG_FDO_SYSROOT_RULES=1
+
 #
 # Some distributions pollute the pkg-config environment.
 # Time to pull a captain planet on them.



[gentoo-commits] proj/crossdev:master commit in: /

2023-09-26 Thread Sam James
commit: 90995af1950ac42dbb8795450dabd93de6d15dc3
Author: Nathan Du  outlook  com>
AuthorDate: Tue Sep 26 07:39:19 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Sep 26 18:30:18 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=90995af1

make riscv targets use riscv portage arch

Closes: https://bugs.gentoo.org/914725
Signed-off-by: Nathan Du  outlook.com>
Signed-off-by: Sam James  gentoo.org>

 crossdev | 1 +
 1 file changed, 1 insertion(+)

diff --git a/crossdev b/crossdev
index f6ad232..94313b9 100755
--- a/crossdev
+++ b/crossdev
@@ -244,6 +244,7 @@ parse_target() {
mips*)  TARCH=mips;;
powerpc64*) TARCH=ppc64;;
powerpc*)   TARCH=ppc;;
+   riscv*) TARCH=riscv;;
sparc*) TARCH=sparc;;
s390*)  TARCH=s390;;
sh*)TARCH=sh;;



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2023-09-23 Thread Sam James
commit: d57c266058fcfd2bc3f535a832ab86efde3fb0ab
Author: James Le Cuirot  gentoo  org>
AuthorDate: Wed Sep 20 07:59:29 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Sep 23 12:56:09 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=d57c2660

cross-pkg-config: Properly set PKG_CONFIG_SYSTEM_*_PATH variables

Perhaps this was a difference between pkg-config and pkgconf, but we
have not set PKG_CONFIG_SYSTEM_LIBRARY_PATH correctly since we began
setting it in 2014. It should include the SYSROOT. We also never set
PKG_CONFIG_SYSTEM_INCLUDE_PATH at all.

These variables tell pkg-config not to emit paths that the toolchain
would search in anyway. This helps to reduce the noise appearing in
newly-installed .pc files.

This change does assume that if you have set SYSROOT differently to the
toolchain's default, then you have also added the --sysroot argument to
your compiler flags. Neither Portage nor Gentoo currently do this for
you. cross-boss does, but it's not an officially supported solution. The
change could therefore potentially break things, but it's likely you'll
run into other problems if you don't add --sysroot anyway.

Signed-off-by: James Le Cuirot  gentoo.org>
Closes: https://github.com/gentoo/crossdev/pull/13
Signed-off-by: Sam James  gentoo.org>

 wrappers/cross-pkg-config | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
index 4e4da92..ba4d3ac 100755
--- a/wrappers/cross-pkg-config
+++ b/wrappers/cross-pkg-config
@@ -118,7 +118,9 @@ if [ -z "${libdir}" ] ; then
libdir=${libdir##*/}
 fi
 : ${libdir:=lib}
-export 
PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PREFIX}/usr/${libdir}:${PREFIX}/${libdir}"
+export \
+   
PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PKG_CONFIG_ESYSROOT_DIR}/usr/${libdir}:${PKG_CONFIG_ESYSROOT_DIR}/${libdir}"
 \
+   PKG_CONFIG_SYSTEM_INCLUDE_PATH="${PKG_CONFIG_ESYSROOT_DIR}/usr/include"
 
 #
 # Set the pkg-config search paths to our staging directory.



[gentoo-commits] proj/crossdev:master commit in: /

2023-09-23 Thread Sam James
commit: c92086906ae712ffe5cd5dde9ad470f3950695d8
Author: Benjamin Gilbert  backtick  net>
AuthorDate: Sat Sep 23 11:09:50 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Sep 23 12:21:29 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c9208690

Fix check for installed LLVM

It always succeeds, and then if LLVM isn't installed, crossdev fails with
a confusing error:

Target architecture not supported by installed LLVM toolchain

Signed-off-by: Benjamin Gilbert  backtick.net>
Closes: https://github.com/gentoo/crossdev/pull/14
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index b84b757..f6ad232 100755
--- a/crossdev
+++ b/crossdev
@@ -1722,7 +1722,7 @@ if ! ex_fast ; then
 
# stage 0: binutils
if [[ "${LLVM}" == "yes" ]] ; then
-   if [[ $(portageq has_version / "sys-devel/llvm") -ne 0 ]] ; then
+   if ! portageq has_version / "sys-devel/llvm" ; then
eerror "LLVM is not installed"
exit 1
fi



[gentoo-commits] proj/crossdev:master commit in: /

2023-08-30 Thread Sam James
commit: d787403e6b0a7715cc9a90024f7554690dd081bb
Author: Alfred Persson Forsberg  catcream  org>
AuthorDate: Thu Aug 31 01:26:29 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Aug 31 01:32:14 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=d787403e

LLVM/Clang: abort early if libc is glibc

Signed-off-by: Alfred Persson Forsberg  catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/12
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/crossdev b/crossdev
index c1b59de..b84b757 100755
--- a/crossdev
+++ b/crossdev
@@ -966,6 +966,8 @@ done
 if [[ "${LLVM}" == "yes" ]] ; then
WITH_HEADERS="yes"
CROSSDEV_OVERLAY_CATEGORY_PREFIX="cross_llvm-"
+# To avoid bug reports
+[[ "${LPKG}" == "glibc" ]] && die "LLVM/Clang cannot currently compile 
glibc"
 fi
 
 CROSSDEV_OVERLAY_CATEGORY="${CROSSDEV_OVERLAY_CATEGORY_PREFIX}${CTARGET}"



[gentoo-commits] proj/crossdev:master commit in: /

2023-08-30 Thread Sam James
commit: 7c2e00bf7c5f2ea52c2687e39cad70344c8596e2
Author: Alfred Persson Forsberg  catcream  org>
AuthorDate: Wed Aug 30 11:01:15 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Aug 31 01:15:44 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7c2e00bf

fix x86 in LLVM targets check

previously it would match CTARGET for amd64*.

Signed-off-by: Alfred Persson Forsberg  catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/11
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 29adbeb..c1b59de 100755
--- a/crossdev
+++ b/crossdev
@@ -1730,7 +1730,7 @@ if ! ex_fast ; then
 
llvm_arch=""
case ${CTARGET} in
-   amd64*) llvm_arch="X86" ;;
+   x86*) llvm_arch="X86" ;;
arm*) llvm_arch="ARM" ;;
aarch64*) llvm_arch="AArch64" ;;
riscv*) llvm_arch="RISCV" ;;



[gentoo-commits] proj/crossdev:master commit in: wrappers/, /

2023-08-22 Thread Sam James
commit: bc2c2acbc92f2119db9633fd186978265eed8f03
Author: Alfred Persson Forsberg  catcream  org>
AuthorDate: Wed Jul  5 18:59:29 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Aug 22 17:05:32 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=bc2c2acb

Support standalone LLVM/Clang as crosscompiler

This change makes it possible to use Clang instead of GCC in
Crossdev. As LLVM is already able to target other architectures,
provided that LLVM_TARGETS is set accordingly, the only thing needed
to do is compile builtins (compiler-rt) for the target triple. Note
that compiler-rt needs libc headers to target when building, and in
turn linux-headers needs to be installed for Linux targets, so most
stages except binutils and GCC are still there.

Currently having both a GCC and LLVM Crossdev environment installed
for the same triple is not supported since many ebuilds just use
/usr/${CTARGET} as a hardcoded sysroot, but I plan adding support.

Note: by standalone I mean a pure LLVM toolchain not dependent on an
existing GCC toolchain.

Bug: https://bugs.gentoo.org/680652
Signed-off-by: Alfred Persson Forsberg  catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/10
Signed-off-by: Sam James  gentoo.org>

 crossdev  | 243 --
 wrappers/cross-pkg-config |   1 +
 wrappers/emerge-wrapper   |  20 
 3 files changed, 215 insertions(+), 49 deletions(-)

diff --git a/crossdev b/crossdev
index befce40..29adbeb 100755
--- a/crossdev
+++ b/crossdev
@@ -31,7 +31,7 @@ die_logs() {
local log
eerror
eerror "If you file a bug, please attach the following logfiles:"
-   eerror "${PORT_LOGDIR}/cross-${CTARGET}-info.log"
+   eerror "${PORT_LOGDIR}/${CROSSDEV_OVERLAY_CATEGORY}-info.log"
for log in "$@" ; do
eerror "${log}"
done
@@ -48,6 +48,7 @@ cat << EOF
 Usage: ${HILITE}crossdev${NORMAL} ${GOOD}[options]${NORMAL} ${BRACKET}--target 
TARGET${NORMAL}
 
 Options:
+${GOOD}-L,  --llvm${NORMAL}  Use LLVM/Clang as a cross compiler
 ${GOOD}--b, --binutils${NORMAL} ver  Specify version of binutils to use
 ${GOOD}--g, --gcc${NORMAL} ver   Specify version of gcc to use
 ${GOOD}--k, --kernel${NORMAL} verSpecify version of kernel headers 
to use
@@ -68,7 +69,6 @@ Options:
 ${GOOD}--with[out]-headers${NORMAL}  Build C library headers before C 
compiler?
 ${GOOD}--show-fail-log${NORMAL}  If the build fails, dump the 
failing log
 
-
 Overlay Options:
 ${GOOD}-oS, --overlays${NORMAL} list Space delimited list of overlays 
to search
 [default: \`portageq 
repositories_configuration\`]
@@ -102,6 +102,15 @@ Extra Fun (must be run after above stages):
 ${GOOD}--ex-gdb${NORMAL} Build a cross gdb
 ${GOOD}--ex-pkg${NORMAL} pkg Build extra packages (may be used 
multiple times)
 
+LLVM/Clang Specific Options (--llvm):
+${GOOD}--r, --crt${NORMAL} ver   Specify version of compiler-rt to 
use
+${GOOD}--c, --ccw${NORMAL} ver   Specify version of 
clang-crossdev-wrapper to use
+${GOOD}--[rc]env${NORMAL} envSpecify env settings for 
compiler-rt/clang-crossdev-wrapper
+${GOOD}--[rc]cat${NORMAL} category   Use 
compiler-rt/clang-crossdev-wrapper package from category
+${GOOD}--[rc]pkg${NORMAL} pkgUse 
compiler-rt/clang-crossdev-wrapper package with given name
+${GOOD}-or, --ov-crt${NORMAL} path   Overlay for compiler-rt ebuilds 
[default: search]
+${GOOD}-oc, --ov-ccw${NORMAL} path   Overlay for 
clang-crossdev-wrapper ebuilds [default: search]
+
 ${BRACKET}Target (-t)${NORMAL} takes a tuple 
${BRACKET}ARCHITECTURE-VENDOR-OS-LIBC${NORMAL}; see 'crossdev -t help'
 EOF
[[ -n $* ]] && echo && eerror "Error: $*"
@@ -123,6 +132,12 @@ STAGE_DISP=(
 
 parse_target() {
CTARGET=${1#cross-}
+   if [[ ${CTARGET} == "cross-*" ]] ; then
+   CTARGET=${1#cross-}
+   elif [[ ${CTARGET} == "cross_llvm-*" ]] ; then
+   CTARGET=${1#cross_llvm-}
+   LLVM="yes"
+   fi
 
[[ -z ${CTARGET} ]] && usage 1
 
@@ -351,6 +366,9 @@ parse_target() {
*-musl*)
LPKG="musl"
;;
+   *-llvm*)
+   LPKG="llvm-libc"
+   ;;
 
# Windows targets
*-cygwin)
@@ -569,7 +587,7 @@ setup_portage_vars() {
# install our stuff to the first overlay in the list.
if [[ -z ${CROSSDEV_OVERLAY} ]] ; then
local repo_path repo_name
-   for repo_name in "cross-${CTARGET}" crossdev ; do
+   for repo_name in "${CROSSDEV_OVERLAY_CATEGORY}" crossdev ; do
repo_path=$(echo "${REPO_CONFIG}" | sed -n 
"/^${repo_name}:/s,^[^:]*:,,p")

[gentoo-commits] proj/crossdev:master commit in: wrappers/

2023-06-16 Thread Mike Gilbert
commit: 54839f5869b46c727c43f247e421b1f9e32704d4
Author: Mike Gilbert  gentoo  org>
AuthorDate: Fri Jun 16 18:17:34 2023 +
Commit: Mike Gilbert  gentoo  org>
CommitDate: Fri Jun 16 18:17:34 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=54839f58

Avoid calling portageq from Makefile

It is probably better to look up the repo path at runtime anyway.

Bug: https://bugs.gentoo.org/908602
Signed-off-by: Mike Gilbert  gentoo.org>

 wrappers/Makefile   | 4 +---
 wrappers/emerge-wrapper | 3 ++-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/wrappers/Makefile b/wrappers/Makefile
index 031f099..a55c2bc 100644
--- a/wrappers/Makefile
+++ b/wrappers/Makefile
@@ -1,9 +1,8 @@
-# Copyright 2008-2010 Gentoo Foundation
+# Copyright 2008-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 include ../settings.mk
 
-PORTDIR ?= $(shell portageq envvar PORTDIR)
 FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config 
emerge-wrapper
 SITEDIR = $(PREFIX)/share/crossdev/include/site
 ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site
@@ -24,6 +23,5 @@ install:
sed -i -e s:@SITEDIR@:$(SITEDIR):g $(DESTDIR)$(SITEDIR)/config.site
sed -i -e s:@ETC_SITEDIR@:$(ETC_SITEDIR):g 
$(DESTDIR)$(SITEDIR)/config.site
mv $(DESTDIR)$(SITEDIR)/config.site $(DESTDIR)$(PREFIX)/share/
-   ln -sf $(PORTDIR)/profiles/embedded 
$(DESTDIR)$(PREFIX)/share/crossdev/etc/portage/make.profile
 
 .PHONY: all install

diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper
index 051948a..87dcb00 100755
--- a/wrappers/emerge-wrapper
+++ b/wrappers/emerge-wrapper
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2008-2010 Gentoo Foundation
+# Copyright 2008-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 if [[ $1 == "--help" || $1 == "-h" ]] ; then
@@ -37,6 +37,7 @@ cross_wrap_etc()
setup_warning=false
 
cp -a "${PREFIX}"/share/crossdev/etc ${SYSROOT}/ || return 1
+   ln -snf "${MAIN_REPO_PATH}/profiles/embedded" 
"${SYSROOT}/etc/portage/make.profile" || return 1
 
local confs=(
${SYSROOT}/etc/portage/make.conf



[gentoo-commits] proj/crossdev:master commit in: /

2023-03-21 Thread Sam James
commit: 32b6409942f31a8029d27ae3470d4338a8ae4d5d
Author: Sam James  gentoo  org>
AuthorDate: Tue Mar 21 22:41:19 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Mar 21 22:41:37 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=32b64099

crossdev: initial nvptx-none porting

Signed-off-by: Sam James  gentoo.org>

 crossdev | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/crossdev b/crossdev
index 2282826..befce40 100755
--- a/crossdev
+++ b/crossdev
@@ -283,6 +283,12 @@ parse_target() {
WITH_DEF_HEADERS="no"
;;
 
+   nvptx*)
+   BPKG="nvptx-tools"
+   LPKG="newlib"
+   STAGE_DEFAULT=${STAGE_LIBC}
+   ;;
+
# due to upstream lameness, build C/C++ at first glance
*-cygwin)
GUSE_DISABLE_STAGE_1+=" -nocxx cxx"



[gentoo-commits] proj/crossdev:master commit in: /

2023-02-24 Thread Sam James
commit: 45ec770440ce8b23673546a7d119656bfd4b1208
Author: Sam James  gentoo  org>
AuthorDate: Sat Feb 25 01:13:44 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Feb 25 01:14:39 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=45ec7704

crossdev: delete ${CTARGET}-ebuild too on --clean

Fixes: c4cf9b41b4b7b7bc36d3878383666a77d51c804b
Fixes: 7eeb1d8f8fbb712706165e780c9b2904e4da7b92
Fixes: 748fcd09f89d10b8cf85d11dc574aad3896281d9
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 2299661..2282826 100755
--- a/crossdev
+++ b/crossdev
@@ -682,7 +682,7 @@ uninstall() {
 
# clean out files from crossdev itself
[[ -e ${EPREFIX}/var/db/pkg/cross-${CTARGET} ]] && rmdir 
"${EPREFIX}"/var/db/pkg/cross-${CTARGET}
-   rm -f "${EPREFIX}"/usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} 
"${EPREFIX}"/usr/bin/emerge-${CTARGET}
+   rm -f 
"${EPREFIX}"/usr/bin/${CTARGET}-{emerge,ebuild,fix-root,pkg-config} 
"${EPREFIX}"/usr/bin/emerge-${CTARGET}
 
for f in make.{conf,globals,profile} ; do
f="${EPREFIX}/usr/${CTARGET}/etc/${f}"



[gentoo-commits] proj/crossdev:master commit in: wrappers/site/

2023-02-08 Thread Sam James
commit: 86c7a0a4149490bfb53077a1e26543130f2baca2
Author: Sam James  gentoo  org>
AuthorDate: Thu Feb  9 00:46:24 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Feb  9 00:46:24 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=86c7a0a4

wrappers: fix mipsel-linux-gnu cache vars for *sys_siglist

sys_siglist was removed from glibc-2.32. Before now, for mipsel-linux-gnu,
we were forcing the cache var to 'yes', rather than 'no'. I suspect this
test would've worked correctly even without caching anyway, but it is what it
is.

Default to 'no' instead of 'yes'.

See also: 
https://lists.openembedded.org/g/openembedded-core/topic/dunfell_patch_site_make/77178472?p=
Closes: https://bugs.gentoo.org/791154
Signed-off-by: Sam James  gentoo.org>

 wrappers/site/mipsel-linux-gnu | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/wrappers/site/mipsel-linux-gnu b/wrappers/site/mipsel-linux-gnu
index 42f82bf..7ecdba1 100644
--- a/wrappers/site/mipsel-linux-gnu
+++ b/wrappers/site/mipsel-linux-gnu
@@ -109,14 +109,14 @@ cv_mono_sizeof_sunpath=108
 mono_cv_uscore=${mono_cv_uscore=no}
 
 # general
-ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=no}
 ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
 ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
 ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
 
 # bash
-bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
-bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=no}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=no}
 
 # clamav
 
clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes}



[gentoo-commits] proj/crossdev:master commit in: /

2023-02-02 Thread Sam James
commit: 47c9af8ca53f3612be6e4ddfb0090644cde4d94a
Author: Sam James  gentoo  org>
AuthorDate: Thu Feb  2 17:03:53 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Feb  2 17:03:53 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=47c9af8c

crossdev: disable SSP for freestanding/no libc targets

Otherwise, we end up with a mess like:
```
[...]
/usr/libexec/gcc/arm-none-eabi/ld: 
/usr/lib/gcc/arm-none-eabi/12/../../../../arm-none-eabi/lib/libg.a(libc_a-stack_protector.o):
 in function `__stack_chk_fail':
stack_protector.c:(.text.__stack_chk_fail+0x60): undefined reference to `_exit'
[...]
```

Signed-off-by: Sam James  gentoo.org>

 crossdev | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 902d9dc..bd13f7f 100755
--- a/crossdev
+++ b/crossdev
@@ -334,10 +334,11 @@ parse_target() {
LPKG="newlib"
KPKG="[none]"
STAGE_DEFAULT=${STAGE_LIBC}
-   GMASK+=" hardened"
+   GMASK+=" default-stack-clash-protection hardened ssp"
GUSE+=" cxx -openmp" #489798
GUSE+=" -fortran" #589672, needs syscalls
GUSE+=" -hardened" #687598, needs 
-fstack-check=specific support
+   GUSE+=" -default-stack-clash-protection -ssp" # SSP 
isn't supported for freestanding anyway
MULTILIB_USE="yes" #407275
WITH_DEF_HEADERS="no"
;;



[gentoo-commits] proj/crossdev:master commit in: /

2023-02-02 Thread Sam James
commit: f8695a7d33d03250bacc1dd833653adda34c357a
Author: Sam James  gentoo  org>
AuthorDate: Thu Feb  2 17:04:28 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Feb  2 17:13:55 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f8695a7d

crossdev: style tweaks

Signed-off-by: Sam James  gentoo.org>

 crossdev | 125 ++-
 1 file changed, 76 insertions(+), 49 deletions(-)

diff --git a/crossdev b/crossdev
index bd13f7f..2299661 100755
--- a/crossdev
+++ b/crossdev
@@ -244,21 +244,23 @@ parse_target() {
# this is a linux+ target, not microcontroller (below)
avr32*) :;;
 
-   avr*) KPKG="[none]"
- LCAT="dev-embedded"
- LPKG="avr-libc"
- GUSE+=" -fortran -go" # doesn't work
- MULTILIB_USE="yes" #377039
- BUSE+=" cxx"
- STAGE_DEFAULT=${STAGE_LIBC}
- WITH_DEF_HEADERS="no";;
+   avr*)
+   KPKG="[none]"
+   LCAT="dev-embedded"
+   LPKG="avr-libc"
+   GUSE+=" -fortran -go" # doesn't work
+   MULTILIB_USE="yes" #377039
+   BUSE+=" cxx"
+   STAGE_DEFAULT=${STAGE_LIBC}
+   WITH_DEF_HEADERS="no"
+   ;;
 
# Has no glibc support yet (or even ABI defined). Can
# only compile linux kernel:
# https://parisc.wiki.kernel.org/index.php/Userspace64
hppa64*)
- STAGE_DEFAULT=${STAGE_C_ONLY}
- WITH_DEF_HEADERS="no";;
+   STAGE_DEFAULT=${STAGE_C_ONLY}
+   WITH_DEF_HEADERS="no";;
 
ia64*)
# gcc's libgcc needs glibc headers for unwinder.
@@ -275,58 +277,80 @@ parse_target() {
 
# added in bug #609602
mmix*)
- KPKG="[none]"
- LPKG="newlib"
- STAGE_DEFAULT=${STAGE_LIBC}
- WITH_DEF_HEADERS="no";;
+   KPKG="[none]"
+   LPKG="newlib"
+   STAGE_DEFAULT=${STAGE_LIBC}
+   WITH_DEF_HEADERS="no"
+   ;;
 
# due to upstream lameness, build C/C++ at first glance
*-cygwin)
- GUSE_DISABLE_STAGE_1+=" -nocxx cxx";;
+   GUSE_DISABLE_STAGE_1+=" -nocxx cxx"
+   ;;
 
# these are the mingw64 targets that binutils seems to use
x86_64-*-mingw*|*-w64-mingw*)
- KPKG="[none]";
- LCAT="dev-util"; LPKG="mingw64-runtime"
- WITH_DEF_HEADERS="yes" # gcc can't boot without headers: 
bug #693770
- GMASK+=" default-stack-clash-protection hardened"
- GUSE+=" -default-stack-clash-protection -hardened" # gcc 
ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc
- ;;
+   KPKG="[none]";
+   LCAT="dev-util"
+   LPKG="mingw64-runtime"
+   WITH_DEF_HEADERS="yes" # gcc can't boot without 
headers: bug #693770
+   GMASK+=" default-stack-clash-protection hardened"
+   GUSE+=" -default-stack-clash-protection -hardened" # 
gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc
+   ;;
 
mingw*|*-mingw*)
- # bug #584858
- die "'${CTARGET}' target is not supported anymore, use 
i686-w64-mingw32"
- ;;
+   # bug #584858
+   die "'${CTARGET}' target is not supported anymore, use 
i686-w64-mingw32"
+   ;;
 
-   spu*) TARCH=ppc64;
- KPKG="[none]";
- LPKG="newlib";;
-   ppu*) TARCH=ppc64;;
+   spu*)
+   TARCH=ppc64
+   KPKG="[none]"
+   LPKG="newlib"
+   ;;
+   ppu*)
+   TARCH=ppc64
+   ;;
 
mips64*-gnuabin32|mipsisa64*-gnuabin32)
- [[ ${MULTILIB_ABIS} == "default" ]] && 
MULTILIB_ABIS="n32";;
-   mips64*-gnuabi64|mipsisa64*-gnuabi64|\
-   mips64*-gnuabin64|mipsisa64*-gnuabin64)
- [[ ${MULTILIB_ABIS} == "default" ]] && 
MULTILIB_ABIS="n64";;
-   mips64*-gnuabi32|mipsisa64*-gnuabi32|\
-   mips64*-gnuabio32|mipsisa64*-gnuabio32)
- [[ ${MULTILIB_A

[gentoo-commits] proj/crossdev:master commit in: /

2023-01-14 Thread Sam James
commit: dd89e2ff97e249a0800660cd6d135ff161e30ed0
Author: Sam James  gentoo  org>
AuthorDate: Sat Jan 14 17:58:08 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Jan 14 17:58:08 2023 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=dd89e2ff

crossdev: add TODO re picking versions from overlays & best version

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/crossdev b/crossdev
index de9ce7a..902d9dc 100755
--- a/crossdev
+++ b/crossdev
@@ -1225,6 +1225,8 @@ set_links() {
;;
esac
 
+   # TODO: Import eapi7-ver.eclass and prefer the best 
version
+   # rather than just the first we find.
if grep -qre "KEYWORDS=.*${search_kw_string}" 
"${s}/${cat}/${pkg}" ; then
# ... so only skip if we found one which is at 
least stable.
srcdir=${s}



[gentoo-commits] proj/crossdev:master commit in: /

2022-12-28 Thread Sam James
commit: 82dd3e00f1838f3ce00c4a156e67d73bbb1a2760
Author: Sam James  gentoo  org>
AuthorDate: Wed Dec 28 15:17:40 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Dec 28 15:17:40 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=82dd3e00

crossdev: adapt to new USE=default-stack-clash-protection

Signed-off-by: Sam James  gentoo.org>

 crossdev | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/crossdev b/crossdev
index caf912e..de9ce7a 100755
--- a/crossdev
+++ b/crossdev
@@ -289,8 +289,8 @@ parse_target() {
  KPKG="[none]";
  LCAT="dev-util"; LPKG="mingw64-runtime"
  WITH_DEF_HEADERS="yes" # gcc can't boot without headers: 
bug #693770
- GUSE+=" -hardened" # gcc ICEs as libssp/ssp.c:186:1: 
internal compiler error: in seh_emit_stackalloc
- GMASK+=" hardened"
+ GMASK+=" default-stack-clash-protection hardened"
+ GUSE+=" -default-stack-clash-protection -hardened" # gcc 
ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc
  ;;
 
mingw*|*-mingw*)
@@ -440,7 +440,7 @@ parse_target() {
if [[ $ssp_support = "no" ]]; then
# ssp is >=gcc-6, nossp is 

[gentoo-commits] proj/crossdev:master commit in: /

2022-12-28 Thread Sam James
commit: 0f55fd20c5d70f84bbf009a8f4c08ad1558ba9b0
Author: Sam James  gentoo  org>
AuthorDate: Wed Dec 28 15:17:09 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Dec 28 15:17:09 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=0f55fd20

crossdev: force off hardened in more cases (avoid leaking hardened from host)

See: c439961a06625b27d39d683beee00e8c3a54005f
See: cb41e7e05c55f6ef64e7a617869bbb644899e724
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/crossdev b/crossdev
index 1b37e47..caf912e 100755
--- a/crossdev
+++ b/crossdev
@@ -290,6 +290,7 @@ parse_target() {
  LCAT="dev-util"; LPKG="mingw64-runtime"
  WITH_DEF_HEADERS="yes" # gcc can't boot without headers: 
bug #693770
  GUSE+=" -hardened" # gcc ICEs as libssp/ssp.c:186:1: 
internal compiler error: in seh_emit_stackalloc
+ GMASK+=" hardened"
  ;;
 
mingw*|*-mingw*)
@@ -333,6 +334,7 @@ parse_target() {
LPKG="newlib"
KPKG="[none]"
STAGE_DEFAULT=${STAGE_LIBC}
+   GMASK+=" hardened"
GUSE+=" cxx -openmp" #489798
GUSE+=" -fortran" #589672, needs syscalls
GUSE+=" -hardened" #687598, needs 
-fstack-check=specific support



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2022-12-27 Thread Sam James
commit: cbaa46284277310826fbe3e32c0f33ae8d977960
Author: James Le Cuirot  gentoo  org>
AuthorDate: Tue Dec 27 15:49:41 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Dec 27 16:06:30 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=cbaa4628

cross-pkg-config: Rework to properly support prefix

This helps with both cross-compiling into a prefix and cross-compiling
within a prefix.

Signed-off-by: James Le Cuirot  gentoo.org>
Signed-off-by: Sam James  gentoo.org>

 wrappers/cross-pkg-config | 87 +++
 1 file changed, 51 insertions(+), 36 deletions(-)

diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
index 62f0dfa..f178147 100755
--- a/wrappers/cross-pkg-config
+++ b/wrappers/cross-pkg-config
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright 2008-2014 Gentoo Foundation
+# Copyright 2008-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 #
@@ -20,6 +20,9 @@ error() {
exit 1
 }
 
+# abort infinite loop due to misconfiguration
+[ "${0##*/}" = "pkg-config" ] && error "aborting infinite loop! (make sure to 
delete uClinux-dist/tools/pkg-config)"
+
 #
 # Allow very basic checks.  This is not very sophisticated, but should get the
 # job done, practically speaking.
@@ -48,32 +51,49 @@ if [ "$1" = "--cross-pkg-config-install" ] ; then
exit 0
 fi
 
-unset EXTRA_PKG_CONFIG_LIBDIR
+export PKG_CONFIG_LIBDIR=
+unset PREFIX
+
 if [ -z "${CHOST}" ] ; then
CHOST=${0##*/}
CHOST=${CHOST%-pkg-config}
 fi
-if [ -z "${SYSROOT}" ] ; then
-   if [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then
-   # Manual install
-   SYSROOT="@CROSS_PKG_CONFIG_PATH@"
-   elif [ -n "${ROOT}" ] ; then
-   # Gentoo
-   SYSROOT=${ROOT}
-   elif [ -n "${STAGEDIR}" ] ; then
-   # uClinux-dist
-   SYSROOT=${STAGEDIR}
-   EXTRA_PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR}
+
+if [ -n "${ESYSROOT+x}" ] ; then
+   # Gentoo EAPI 7+
+   : ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}}
+   PREFIX=${ESYSROOT%/}
+   PREFIX=${PREFIX#${SYSROOT%/}}
+elif [ -n "${ROOT+x}" ] ; then
+   # Gentoo EAPI 0-6
+   if [ -n "${SYSROOT%/}" ]; then
+   : ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}}
+   PREFIX=${EPREFIX%/}
else
-   # /usr/
-   SYSROOT="/usr/${CHOST}"
-   if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then
-   error "Need \$ROOT or \$STAGEDIR set first"
-   fi
+   : ${PKG_CONFIG_SYSROOT_DIR=}
+   PREFIX=${PORTAGE_OVERRIDE_EPREFIX%/}
+   fi
+elif [ -n "${SYSROOT+x}" ] ; then
+   # Generic
+   : ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}}
+elif [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then
+   # Manual install
+   : ${PKG_CONFIG_SYSROOT_DIR="@CROSS_PKG_CONFIG_PATH@"}
+elif [ -n "${STAGEDIR}" ] ; then
+   # uClinux-dist
+   : ${PKG_CONFIG_SYSROOT_DIR=${STAGEDIR}}
+   PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR}
+else
+   # /usr/
+   : ${PKG_CONFIG_SYSROOT_DIR=/usr/${CHOST}}
+
+   if [ -z "${CHOST}" ] || [ ! -d "${PKG_CONFIG_SYSROOT_DIR}" ] ; then
+   error "Need \$ROOT or \$STAGEDIR set first"
fi
 fi
-# abort infinite loop due to misconfiguration
-[ "${0##*/}" = "pkg-config" ] && error "aborting infinite loop! (make sure to 
delete uClinux-dist/tools/pkg-config)"
+
+export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR%/}
+PKG_CONFIG_ESYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}${PREFIX}
 
 #
 # Some distributions pollute the pkg-config environment.
@@ -94,20 +114,15 @@ if [ -z "${libdir}" ] ; then
# Fall back to probing the compiler.
libdir=$(realpath "$(${CC:-${CHOST}-gcc} ${CFLAGS} ${LDFLAGS} 
-print-file-name=pkgconfig)/..")
# Chopping the basename isn't exactly correct, but it's good enough for 
now.
-   libdir=$(basename "${libdir}")
+   libdir=${libdir##*/}
 fi
 : ${libdir:=lib}
-export PKG_CONFIG_SYSTEM_LIBRARY_PATH="/usr/${libdir}:/${libdir}"
+export 
PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PREFIX}/usr/${libdir}:${PREFIX}/${libdir}"
 
 #
 # Set the pkg-config search paths to our staging directory.
 #
-export 
PKG_CONFIG_LIBDIR="${SYSROOT}/usr/${libdir}/pkgconfig:${SYSROOT}/usr/share/pkgconfig"
-if [ -n "${EXTRA_PKG_CONFIG_LIBDIR}" ] ; then
-   PKG_CONFIG_LIBDIR="${EXTRA_PKG_CONFIG_LIBDIR}:${PKG_CONFIG_LIBDIR}"
-fi
-: ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}}
-export PKG_CONFIG_SYSROOT_DIR
+PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR}${PKG_CONFIG_LIBDIR:+:}${PKG_CONFIG_ESYSROOT_DIR}/usr/${libdir}/pkgconfig:${PKG_CONFIG_ESYSROOT_DIR}/usr/share/pkgconfig"
 
 #
 # Sanity check the output to catch common errors that do not
@@ -118,20 +133,20 @@ ret=$?
 
 # We turn the output into a newline separate string of options, then use grep
 # to look for bad -Is and -Ls.  Bad -Is and -Ls

[gentoo-commits] proj/crossdev:master commit in: wrappers/site/

2022-12-27 Thread Sam James
commit: 0cc5fdf16454cfc371bdd50472c098fe01b6443b
Author: James Le Cuirot  gentoo  org>
AuthorDate: Tue Dec 27 15:51:47 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Dec 27 16:06:30 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=0cc5fdf1

config.site: Fix tzset in Python with autoconf override

The Python build assumes that tzset is broken when cross-compiling. We
can assume it works under Linux.

Signed-off-by: James Le Cuirot  gentoo.org>
Closes: https://github.com/gentoo/crossdev/pull/8
Signed-off-by: Sam James  gentoo.org>

 wrappers/site/linux | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/wrappers/site/linux b/wrappers/site/linux
index e97d26b..cb6b191 100644
--- a/wrappers/site/linux
+++ b/wrappers/site/linux
@@ -58,3 +58,6 @@ 
screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
 screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
 screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
 screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+# Python
+ac_cv_working_tzset=${ac_cv_working_tzset=yes}



[gentoo-commits] proj/crossdev:master commit in: /

2022-11-18 Thread Mike Gilbert
commit: 10a87d6f135b30140a168190b408c49daf8a15ae
Author: Mike Gilbert  gentoo  org>
AuthorDate: Fri Sep 23 15:19:26 2022 +
Commit: Mike Gilbert  gentoo  org>
CommitDate: Fri Sep 23 15:23:24 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=10a87d6f

Call emerge instead of qmerge to unmerge packages

qmerge does not remove packages from the world file.
Also, this allows us to drop the dependency on portage-utils.

Signed-off-by: Mike Gilbert  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 6b868f8..6c3a3e4 100755
--- a/crossdev
+++ b/crossdev
@@ -638,7 +638,7 @@ uninstall() {
rmdir "${EPREFIX}"/etc/revdep-rebuild 2>/dev/null
 
# Unmerge all toolchain packages for this target.
-   qmerge -Uqy $(qlist -IC "cross-${CTARGET}/")
+   emerge -q --rage-clean "cross-${CTARGET}/*"
 
# clean out known toolchain files (binutils/gcc)
for f in \



[gentoo-commits] proj/crossdev:master commit in: /

2022-11-18 Thread Mike Gilbert
commit: f7af005b835e7fee7cb9990fa551128e3fc480a5
Author: Mike Gilbert  gentoo  org>
AuthorDate: Fri Nov 18 17:34:50 2022 +
Commit: Mike Gilbert  gentoo  org>
CommitDate: Fri Nov 18 17:34:50 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f7af005b

Revert "crossdev: clean world file on uninstall"

This hack is unnecessary if we use emerge for uninstalls instead.

Reverts: bec5fd6a5597f736a868e79017f99b5bc79a9dbf
Signed-off-by: Mike Gilbert  gentoo.org>

 crossdev | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/crossdev b/crossdev
index 6c3a3e4..1b37e47 100755
--- a/crossdev
+++ b/crossdev
@@ -584,9 +584,6 @@ uninstall() {
ewarn "Uninstalling target '${CTARGET}' ..."
 
# clean out portage config files
-   if grep -qs "^cross-${CTARGET}/" "${EPREFIX}"/var/lib/portage/world ; 
then
-   sed -i "/^cross-${CTARGET}/d" "${EPREFIX}"/var/lib/portage/world
-   fi
if [[ -d ${CROSSDEV_OVERLAY}/cross-${CTARGET} ]]; then
rm -r "${CROSSDEV_OVERLAY}"/cross-${CTARGET}
# if we remove all the package in the category,



[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/

2022-09-08 Thread Sam James
commit: 5ff32d9c306ecdfdcc2b2f828a4f7938676bd564
Author: Jakov Smolić  gentoo  org>
AuthorDate: Thu Sep  8 19:47:11 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Sep  9 04:31:57 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5ff32d9c

wrappers: Actually set PKGDIR to /var/cache/binpkgs

Probably a typo, so accidentally got changed to `cache/binpkgs` instead of
`/var/cache/binpkgs`

Signed-off-by: Jakov Smolić  gentoo.org>
Closes: https://github.com/gentoo/crossdev/pull/5
Signed-off-by: Sam James  gentoo.org>

 wrappers/etc/portage/make.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf
index 0571e8b..59bf61e 100644
--- a/wrappers/etc/portage/make.conf
+++ b/wrappers/etc/portage/make.conf
@@ -16,7 +16,7 @@ CXXFLAGS="${CFLAGS}"
 
 FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc"
 # Be sure we dont overwrite pkgs from another repo..
-PKGDIR=${ROOT}cache/binpkgs/
+PKGDIR=${ROOT}var/cache/binpkgs/
 PORTAGE_TMPDIR=${ROOT}tmp/
 
 PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2022-08-18 Thread Sam James
commit: 2e96f990095bd86dbe2d181047fbb00674fb
Author: Alfred Persson Forsberg  catcream  org>
AuthorDate: Thu Aug 18 21:49:32 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Aug 18 21:57:26 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=2e96f990

wrappers/Makefile: fix weird double spaces

Signed-off-by: Alfred Persson Forsberg  catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/4
Signed-off-by: Sam James  gentoo.org>

 wrappers/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/Makefile b/wrappers/Makefile
index 79f47aa..031f099 100644
--- a/wrappers/Makefile
+++ b/wrappers/Makefile
@@ -4,7 +4,7 @@
 include ../settings.mk
 
 PORTDIR ?= $(shell portageq envvar PORTDIR)
-FNAMES = cross-ebuild  cross-emerge  cross-fix-root  cross-pkg-config  
emerge-wrapper
+FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config 
emerge-wrapper
 SITEDIR = $(PREFIX)/share/crossdev/include/site
 ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site
 



[gentoo-commits] proj/crossdev:master commit in: wrappers/

2022-08-18 Thread Sam James
commit: c4cf9b41b4b7b7bc36d3878383666a77d51c804b
Author: Alfred Persson Forsberg  catcream  org>
AuthorDate: Thu Aug 18 21:16:38 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Aug 18 21:57:25 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c4cf9b41

wrappers/cross-ebuild: new file

Crossdev currently installs a dead symlink to cross-ebuild. This commit
creates it. Mostly copied from cross-emerge.

Signed-off-by: Alfred Persson Forsberg  catcream.org>
Signed-off-by: Sam James  gentoo.org>

 wrappers/Makefile |  2 +-
 wrappers/cross-ebuild | 41 +
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/wrappers/Makefile b/wrappers/Makefile
index 19a1da3..79f47aa 100644
--- a/wrappers/Makefile
+++ b/wrappers/Makefile
@@ -4,7 +4,7 @@
 include ../settings.mk
 
 PORTDIR ?= $(shell portageq envvar PORTDIR)
-FNAMES = cross-emerge  cross-fix-root  cross-pkg-config  emerge-wrapper
+FNAMES = cross-ebuild  cross-emerge  cross-fix-root  cross-pkg-config  
emerge-wrapper
 SITEDIR = $(PREFIX)/share/crossdev/include/site
 ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site
 

diff --git a/wrappers/cross-ebuild b/wrappers/cross-ebuild
new file mode 100644
index 000..6f47cb8
--- /dev/null
+++ b/wrappers/cross-ebuild
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Copyright 2008-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+if [ -z "${CHOST}" ] ; then
+   CHOST=${0##*/}
+   CHOST=${CHOST%-ebuild}
+   CHOST=${CHOST#ebuild-}
+fi
+export CHOST
+
+BROOT="@GENTOO_PORTAGE_EPREFIX@"
+if [ "${BROOT}" = "@"GENTOO_PORTAGE_EPREFIX"@" ] ; then
+   BROOT=""
+fi
+
+: ${EPREFIX=}
+: ${SYSROOT=${BROOT}/usr/${CHOST}}
+: ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}}
+export EPREFIX SYSROOT PORTAGE_CONFIGROOT
+
+if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then
+   echo "cross-ebuild: CHOST is not set properly"
+   exit 1
+fi
+
+# Portage defaults CBUILD to CHOST, so we have to remove CHOST
+# from the env to get a "good" value for CBUILD
+query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS"
+clean_vars="${query_vars} CHOST SYSROOT PORTAGE_CONFIGROOT"
+eval $(env $(printf -- '-u %s ' ${clean_vars}) \
+   portageq envvar -v ${query_vars} | sed s:^:_E_:)
+: ${CBUILD=${_E_CBUILD}}
+: ${BUILD_CFLAGS=${_E_CFLAGS}}
+: ${BUILD_CXXFLAGS=${_E_CXXFLAGS}}
+: ${BUILD_CPPFLAGS=${_E_CPPFLAGS}}
+: ${BUILD_LDFLAGS=${_E_LDFLAGS}}
+export CBUILD BUILD_CFLAGS BUILD_CXXFLAGS BUILD_CPPFLAGS BUILD_LDFLAGS
+
+: ${CROSS_CMD:=ebuild}
+exec ${CROSS_CMD} "$@"



[gentoo-commits] proj/crossdev:master commit in: /

2022-07-08 Thread Sam James
commit: 718184e68a99cad05475854c136ab4664da12dee
Author: Krzesimir Nowak  microsoft  com>
AuthorDate: Wed Jul  6 19:44:21 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Jul  9 03:45:00 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=718184e6

crossdev: Fix matching of stable keywords

Not sure how this worked before - in our case emerge couldn't find a
matching ebuild any more when requesting stable versions.

Signed-off-by: Krzesimir Nowak  microsoft.com>
Closes: https://github.com/gentoo/crossdev/pull/3
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 954d2ce..6b868f8 100755
--- a/crossdev
+++ b/crossdev
@@ -1219,7 +1219,7 @@ set_links() {
 
case "${LVER}" in
"[stable]")
-   search_kw_string="^[~]${TARCH}"
+   search_kw_string="[^~]${TARCH}"
;;
*)
search_kw_string="${TARCH}"



[gentoo-commits] proj/crossdev:master commit in: /

2022-07-08 Thread Sam James
commit: e4acb756ed5c898e4b244807fa5d3d14464765ea
Author: Krzesimir Nowak  microsoft  com>
AuthorDate: Thu Jul  7 12:56:57 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Jul  9 03:45:00 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=e4acb756

crossdev: Fall back to default version for gdb too

Passing `--stable` didn't affect the version of built GDB, thus we
needed to pass `--gdb '[stable]'` on our own.

Signed-off-by: Krzesimir Nowak  microsoft.com>
Signed-off-by: Sam James  gentoo.org>

 crossdev | 1 +
 1 file changed, 1 insertion(+)

diff --git a/crossdev b/crossdev
index a7566ba..8cc3693 100755
--- a/crossdev
+++ b/crossdev
@@ -900,6 +900,7 @@ BVER=${BVER:-${DEFAULT_VER}}
 GVER=${GVER:-${DEFAULT_VER}}
 KVER=${KVER:-${DEFAULT_VER}}
 LVER=${LVER:-${DEFAULT_VER}}
+DVER=${DVER:-${DEFAULT_VER}}
 STAGE=${STAGE:-${STAGE_DEFAULT}}
 [[ -z ${CTARGET} ]] && usage 1
 for with in HEADERS ; do



[gentoo-commits] proj/crossdev:master commit in: /

2022-07-08 Thread Sam James
commit: 951e3f54dae6c815fbd89c16004c99b5c4c391ae
Author: Krzesimir Nowak  microsoft  com>
AuthorDate: Thu Jul  7 12:58:55 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Jul  9 03:45:00 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=951e3f54

crossdev: Take gdb variables into account

When restoring user settings and when figuring out the list of repos.

Signed-off-by: Krzesimir Nowak  microsoft.com>
Signed-off-by: Sam James  gentoo.org>

 crossdev | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/crossdev b/crossdev
index 8cc3693..954d2ce 100755
--- a/crossdev
+++ b/crossdev
@@ -988,7 +988,7 @@ done
 
 # grab user settings
 d="${CONFIGROOT}/crossdev/${CTARGET}"
-for v in MULTILIB_ABIS USE BVER GVER KVER LVER STAGE CFLAGS LDFLAGS ASFLAGS ; 
do
+for v in MULTILIB_ABIS USE BVER GVER KVER LVER DVER STAGE CFLAGS LDFLAGS 
ASFLAGS ; do
if [[ -e ${d}/${v} ]] ; then
# yes, quotes are needed in this instance (export $var="...")
export ${v}="$(<"${d}"/${v})"
@@ -1347,7 +1347,7 @@ set_metadata() {
fi
 
# build up a list of possible repos where we can pull from
-   for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" ${SEARCH_OVERLAYS} 
"${MAIN_REPO_PATH}" ; do
+   for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" "${DOVL}" 
${SEARCH_OVERLAYS} "${MAIN_REPO_PATH}" ; do
[[ -z ${d} ]] && continue
 
name=



[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/

2022-06-16 Thread Sam James
commit: 553ab9e4f5d985103fa2f30de74aad0780cd2a0d
Author: Sam James  gentoo  org>
AuthorDate: Mon May  2 23:34:05 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Mon May  2 23:34:05 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=553ab9e4

wrappers: use /var/cache/binpkgs as PKGDIR

Modern location.

Signed-off-by: Sam James  gentoo.org>

 wrappers/etc/portage/make.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf
index ec66ede..0571e8b 100644
--- a/wrappers/etc/portage/make.conf
+++ b/wrappers/etc/portage/make.conf
@@ -16,7 +16,7 @@ CXXFLAGS="${CFLAGS}"
 
 FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc"
 # Be sure we dont overwrite pkgs from another repo..
-PKGDIR=${ROOT}packages/
+PKGDIR=${ROOT}cache/binpkgs/
 PORTAGE_TMPDIR=${ROOT}tmp/
 
 PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"



[gentoo-commits] proj/crossdev:master commit in: wrappers/site/

2022-06-16 Thread Sam James
commit: 51dfd93c5122df670d2753070807e5a172727ded
Author: Sam James  gentoo  org>
AuthorDate: Fri Jun 17 02:39:46 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jun 17 02:43:42 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=51dfd93c

site: add linux-musl

Follow-up to 8b1b79e02cc36bc6f2b5583db6aeea333fb8d59b.

Sets
```
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_realloc_0_nonnull=yes
```
... to sort out flex and a bunch of other packages, like procps.

I was wondering why this never seemed to come up when doing cross
for other "standard" targets which we know work and are used often;
the answer is that we never had the -musl suffix CHOSTs covered.

(e.g. linux-gnu already has this set.)

Bug: https://bugs.gentoo.org/554032
Closes: https://bugs.gentoo.org/675368
Closes: https://bugs.gentoo.org/705800
See: 8b1b79e02cc36bc6f2b5583db6aeea333fb8d59b
Signed-off-by: Sam James  gentoo.org>

 wrappers/site/linux-musl | 4 
 1 file changed, 4 insertions(+)

diff --git a/wrappers/site/linux-musl b/wrappers/site/linux-musl
new file mode 100644
index 000..d126046
--- /dev/null
+++ b/wrappers/site/linux-musl
@@ -0,0 +1,4 @@
+# sys-devel/flex-2.5.35
+# bug #705800 and many others
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_realloc_0_nonnull=yes



[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/

2022-06-16 Thread Sam James
commit: 8a959b0877934420d6c0bf3345c98f58319399ed
Author: Sam James  gentoo  org>
AuthorDate: Mon May  2 23:33:07 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Mon May  2 23:33:07 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=8a959b08

wrappers: use /var/db/repos/local in commented out example PORTDIR_OVERLAY

Signed-off-by: Sam James  gentoo.org>

 wrappers/etc/portage/make.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf
index 2ab65b3..ec66ede 100644
--- a/wrappers/etc/portage/make.conf
+++ b/wrappers/etc/portage/make.conf
@@ -20,4 +20,4 @@ PKGDIR=${ROOT}packages/
 PORTAGE_TMPDIR=${ROOT}tmp/
 
 PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
-#PORTDIR_OVERLAY="/usr/portage/local/"
+#PORTDIR_OVERLAY="/var/db/repos/local/"



[gentoo-commits] proj/crossdev:master commit in: /

2022-05-02 Thread Sam James
commit: cb41e7e05c55f6ef64e7a617869bbb644899e724
Author: Sam James  gentoo  org>
AuthorDate: Mon May  2 23:17:29 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Mon May  2 23:18:51 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=cb41e7e0

crossdev: force off USE=hardened where no SSP

This fixes e.g. hppa2.0-unknown-linux-gnu where the stack
grows up and hence we lack SSP, but also -fstack-clash-protection
which is forced on by USE=hardened.

glibc failed to build before this with:
```
checking for broken __attribute__((alias()))... yes
configure: error: working alias attribute support required
 * ERROR: cross-hppa2.0-unknown-linux-gnu/glibc-2.35-r4::crossdev failed 
(configure phase):
```

config.log:
```
configure:4199: checking if compiler warns about alias for function with 
incompatible types
cc1: error: '-fstack-clash-protection' is not supported on targets where the 
stack grows from lower to higher addresses [-Werror]
conftest.c:9:34: error: 'foo_alias' alias between functions of incompatible 
types 'int(const void *, int)' and 'int (*(void))(const void *, int)' 
[-Werror=attribute-alias=]
9 | extern __typeof (__redirect_foo) foo_alias __attribute__ ((alias 
("foo")));
  |  ^
conftest.c:4:28: note: aliased declaration here
4 | __typeof (__redirect_foo) *foo_impl (void)
  |^~~~
cc1: all warnings being treated as errors
```

Signed-off-by: Sam James  gentoo.org>

 crossdev | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 7ec9a9d..a7566ba 100755
--- a/crossdev
+++ b/crossdev
@@ -437,7 +437,8 @@ parse_target() {
# Running a hardened profile on the host forces ssp #831165
if [[ $ssp_support = "no" ]]; then
# ssp is >=gcc-6, nossp is 

[gentoo-commits] proj/crossdev:master commit in: /

2022-04-24 Thread Sam James
commit: 7bd38b79de36573ba1f19e9754fb78072993c387
Author: WANG Xuerui  gentoo  org>
AuthorDate: Mon Aug  9 13:22:30 2021 +
Commit: Sam James  gentoo  org>
CommitDate: Sun Apr 24 16:29:56 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7bd38b79

crossdev: Add support for LoongArch (ARCH=loong)

Closes: https://bugs.gentoo.org/840431
Closes: https://github.com/gentoo/crossdev/pull/2
Signed-off-by: WANG Xuerui  gentoo.org>
Signed-off-by: Sam James  gentoo.org>

 README   |  1 +
 crossdev | 11 ++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/README b/README
index 5c72e7b..d4198b2 100644
--- a/README
+++ b/README
@@ -60,6 +60,7 @@ executables or kernels if applies):
  i686-pc-gnu
  i686-w64-mingw32
  ia64-unknown-linux-gnu
+ loongarch64-unknown-linux-gnu
  m68k-unknown-linux-gnu
  mips-unknown-linux-gnu
  mips64-unknown-linux-gnu

diff --git a/crossdev b/crossdev
index d8e25fb..7ec9a9d 100755
--- a/crossdev
+++ b/crossdev
@@ -136,6 +136,7 @@ parse_target() {
   - hppa (parisc)
   - ia64
   - i386 / i486 / i586 / i686 (x86)
+  - loongarch64
   - m68k
   - mips / mipsel / mips64 / mips64el
   - or1k
@@ -208,7 +209,7 @@ parse_target() {
CTARGET="${CTARGET}-unknown-linux-gnueabihf";;
arm*)
CTARGET="${CTARGET}-unknown-linux-gnueabi";;
-   
aarch64*|alpha*|cris*|hppa*|ia64*|m68*|mips*|powerpc*|riscv*|sparc*|sh*|tile*)
+   
aarch64*|alpha*|cris*|hppa*|ia64*|loongarch*|m68*|mips*|powerpc*|riscv*|sparc*|sh*|tile*)
CTARGET="${CTARGET}-unknown-linux-gnu";;
bfin*|h8300*|msp430*|nds32*|nios2*|spu*|xc16x*)
CTARGET="${CTARGET}-elf";;
@@ -223,6 +224,7 @@ parse_target() {
hppa*)  TARCH=hppa;;
ia64*)  TARCH=ia64;;
i?86*)  TARCH=x86;;
+   loongarch*) TARCH=loong;;
m68*)   TARCH=m68k;;
mips*)  TARCH=mips;;
powerpc64*) TARCH=ppc64;;
@@ -264,6 +266,13 @@ parse_target() {
WITH_DEF_HEADERS="yes"
;;
 
+   loongarch*)
+   # have to bring in the experimental LoongArch patchset 
before
+   # everything is upstream
+   KUSE+=" experimental-loong"
+   LUSE+=" experimental-loong"
+   ;;
+
# added in bug #609602
mmix*)
  KPKG="[none]"



[gentoo-commits] proj/crossdev:master commit in: /

2022-04-19 Thread Sam James
commit: b15c1d5f590a309d6015ae6f225fc1b4611ff427
Author: Mikk Margus Möll  eesti  ee>
AuthorDate: Tue Apr 19 18:01:54 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Apr 19 20:25:18 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b15c1d5f

crossdev: add quotes to set_keywords variable

Signed-off-by: Mikk Margus Möll  eesti.ee>
Closes: https://github.com/gentoo/crossdev/pull/1
Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index db9dbd5..d8e25fb 100755
--- a/crossdev
+++ b/crossdev
@@ -1304,7 +1304,7 @@ set_portage() {
 
set_use_mask ${pkg} "${mask}"
set_use_force ${pkg} "${force}"
-   set_keywords ${pkg} ${ver}
+   set_keywords ${pkg} "${ver}"
set_use ${pkg} ${use}
set_links ${cat} ${pkg} "${ovl}"
set_env ${l} ${pkg} "${env}"



[gentoo-commits] proj/crossdev:master commit in: /

2022-03-17 Thread Sam James
commit: e8bc12da4e22b0a1dc0d52f4ea01905b0ab3db2d
Author: Sam James  gentoo  org>
AuthorDate: Thu Mar 17 23:42:26 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Mar 17 23:42:36 2022 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=e8bc12da

crossdev: update copyright line

Signed-off-by: Sam James  gentoo.org>

 crossdev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crossdev b/crossdev
index 4e88913..db9dbd5 100755
--- a/crossdev
+++ b/crossdev
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 CROSSDEV_VER="@CDEVPV@"



  1   2   3   >