* [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related
@ 2018-06-20 17:49 Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
` (5 more replies)
0 siblings, 6 replies; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-20 17:49 UTC (permalink / raw
To: gentoo-dev
Hi,
please review these patches we have in prefix-overlay,
where patches 3-5 are for Gentoo Prefix on Cygwin.
Thanks!
/haubi/
^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file
2018-06-20 17:49 [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
@ 2018-06-20 17:49 ` Michael Haubenwallner
2018-06-20 19:58 ` Michał Górny
2018-06-20 21:27 ` Marty E. Plummer
2018-06-20 17:49 ` [gentoo-dev] [PATCH 2/5] toolchain.eclass: D->ED for where to start cleanups Michael Haubenwallner
` (4 subsequent siblings)
5 siblings, 2 replies; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-20 17:49 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
---
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 68e4ce15b37..fe41a80db28 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2207,7 +2207,7 @@ do_gcc_config() {
[[ -n ${current_specs} ]] && use_specs=-${current_specs}
if [[ -n ${use_specs} ]] && \
- [[ ! -e ${ROOT}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
+ [[ ! -e ${EROOT}etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
then
ewarn "The currently selected specs-specific gcc config,"
ewarn "${current_specs}, doesn't exist anymore. This is usually"
--
2.16.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-dev] [PATCH 2/5] toolchain.eclass: D->ED for where to start cleanups
2018-06-20 17:49 [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
@ 2018-06-20 17:49 ` Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 3/5] toolchain.eclass: avoid leading double slash Michael Haubenwallner
` (3 subsequent siblings)
5 siblings, 0 replies; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-20 17:49 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
---
eclass/toolchain.eclass | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index fe41a80db28..a51d8e84f5e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1720,9 +1720,9 @@ toolchain_src_install() {
S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die
# Punt some tools which are really only useful while building gcc
- find "${D}" -name install-tools -prune -type d -exec rm -rf "{}" \;
+ find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
# This one comes with binutils
- find "${D}" -name libiberty.a -delete
+ find "${ED}" -name libiberty.a -delete
# Move the libraries to the proper location
gcc_movelibs
@@ -1731,7 +1731,7 @@ toolchain_src_install() {
if ! is_crosscompile ; then
local EXEEXT
eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log)
- [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${D}"
+ [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}"
fi
dodir /etc/env.d/gcc
@@ -1810,7 +1810,7 @@ toolchain_src_install() {
|| prepman "${DATAPATH#${EPREFIX}}"
fi
# prune empty dirs left behind
- find "${D}" -depth -type d -delete 2>/dev/null
+ find "${ED}" -depth -type d -delete 2>/dev/null
# install testsuite results
if use regression-test; then
@@ -1966,7 +1966,7 @@ gcc_movelibs() {
for FROMDIR in ${removedirs} ; do
rmdir "${D}"${FROMDIR} >& /dev/null
done
- find -depth "${D}" -type d -exec rmdir {} + >& /dev/null
+ find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null
}
# make sure the libtool archives have libdir set to where they actually
--
2.16.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-dev] [PATCH 3/5] toolchain.eclass: avoid leading double slash
2018-06-20 17:49 [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 2/5] toolchain.eclass: D->ED for where to start cleanups Michael Haubenwallner
@ 2018-06-20 17:49 ` Michael Haubenwallner
2018-06-20 22:40 ` Ulrich Mueller
2018-06-20 17:49 ` [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads Michael Haubenwallner
` (2 subsequent siblings)
5 siblings, 1 reply; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-20 17:49 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
Path starting with "//" is a Network path for Cygwin:
As DATAPATH starts with EPREFIX, we have to use it with ${ROOT%/}.
---
eclass/toolchain.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a51d8e84f5e..bc3a80e0e8a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2133,12 +2133,12 @@ toolchain_pkg_postinst() {
mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
# DATAPATH has EPREFIX already, use ROOT with it
- cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
- cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
+ cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
+ cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
# Since these aren't critical files and portage sucks with
# handling of binpkgs, don't require these to be found
- cp "${ROOT}${DATAPATH}"/c{89,99} "${EROOT}"usr/bin/ 2>/dev/null
+ cp "${ROOT%/}${DATAPATH}"/c{89,99} "${EROOT}"usr/bin/ 2>/dev/null
fi
if use regression-test ; then
--
2.16.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads
2018-06-20 17:49 [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
` (2 preceding siblings ...)
2018-06-20 17:49 ` [gentoo-dev] [PATCH 3/5] toolchain.eclass: avoid leading double slash Michael Haubenwallner
@ 2018-06-20 17:49 ` Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
2018-06-22 12:01 ` [gentoo-dev] Re: [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
5 siblings, 0 replies; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-20 17:49 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
Upstream Cygwin does build their gcc with posix threads for ages,
at least since gcc4-4.5.1-1.cygport (committed on Oct 3, 2010).
---
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index bc3a80e0e8a..faf96d2a41f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1034,7 +1034,7 @@ toolchain_src_configure() {
confgcc+=( --enable-shared )
fi
case ${CHOST} in
- mingw*|*-mingw*|*-cygwin)
+ mingw*|*-mingw*)
confgcc+=( --enable-threads=win32 ) ;;
*)
confgcc+=( --enable-threads=posix ) ;;
--
2.16.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports
2018-06-20 17:49 [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
` (3 preceding siblings ...)
2018-06-20 17:49 ` [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads Michael Haubenwallner
@ 2018-06-20 17:49 ` Michael Haubenwallner
2018-06-20 19:56 ` Michał Górny
2018-06-22 12:01 ` [gentoo-dev] Re: [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
5 siblings, 1 reply; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-20 17:49 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
Download and apply patches found in Cygwin's gcc.cygport, maintained at
github/cygwinports/gcc, for a compiler running on cygwin. The ebuild
can define the cygwinports' git commit id as CYGWINPORTS_GITREV.
---
eclass/toolchain.eclass | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index faf96d2a41f..a16bfadc301 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -309,6 +309,14 @@ gentoo_urls() {
# ten Brugge's bounds-checking patches. If you want to use a patch
# for an older gcc version with a new gcc, make sure you set
# HTB_GCC_VER to that version of gcc.
+#
+# CYGWINPORTS_GITREV
+# If set, this variable signals that we should apply additional patches
+# maintained by upstream Cygwin developers at github/cygwinports/gcc,
+# using the specified git commit id there. The list of patches to
+# apply is extracted from gcc.cygport, maintained there as well.
+# This is done for compilers running on Cygwin, not for cross compilers
+# with a Cygwin target.
get_gcc_src_uri() {
export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
@@ -375,6 +383,10 @@ get_gcc_src_uri() {
fi
fi
+ # Cygwin patches from https://github.com/cygwinports/gcc
+ [[ -n ${CYGWINPORTS_GITREV} ]] && \
+ GCC_SRC_URI+=" elibc_Cygwin? ( https://github.com/cygwinports/gcc/archive/${CYGWINPORTS_GITREV}.zip )"
+
echo "${GCC_SRC_URI}"
}
@@ -481,6 +493,8 @@ gcc_quick_unpack() {
use_if_iuse boundschecking && unpack "bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
+ [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin && unpack "${CYGWINPORTS_GITREV}.zip"
+
popd > /dev/null
}
@@ -505,6 +519,7 @@ toolchain_src_prepare() {
fi
do_gcc_HTB_patches
do_gcc_PIE_patches
+ do_gcc_CYGWINPORTS_patches
epatch_user
if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened ) && ! use vanilla ; then
@@ -645,6 +660,19 @@ do_gcc_PIE_patches() {
BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
}
+do_gcc_CYGWINPORTS_patches() {
+ [[ -n ${CYGWINPORTS_GITREV} ]] || return 0
+ use elibc_Cygwin || return 0
+
+ local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
+ for p in $(
+ eval "$(sed -ne '/PATCH_URI="/,/"/p' < "${d}"/gcc.cygport)"
+ echo ${PATCH_URI}
+ ); do
+ epatch "${d}/${p}"
+ done
+}
+
# configure to build with the hardened GCC specs as the default
make_gcc_hard() {
--
2.16.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports
2018-06-20 17:49 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
@ 2018-06-20 19:56 ` Michał Górny
2018-06-22 11:22 ` [gentoo-dev] " Michael Haubenwallner
0 siblings, 1 reply; 17+ messages in thread
From: Michał Górny @ 2018-06-20 19:56 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
W dniu śro, 20.06.2018 o godzinie 19∶49 +0200, użytkownik Michael
Haubenwallner napisał:
> Download and apply patches found in Cygwin's gcc.cygport, maintained
> at
> github/cygwinports/gcc, for a compiler running on cygwin. The ebuild
> can define the cygwinports' git commit id as CYGWINPORTS_GITREV.
> ---
> eclass/toolchain.eclass | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> index faf96d2a41f..a16bfadc301 100644
> --- a/eclass/toolchain.eclass
> +++ b/eclass/toolchain.eclass
> @@ -309,6 +309,14 @@ gentoo_urls() {
> # ten Brugge's bounds-checking patches. If
> you want to use a patch
> # for an older gcc version with a new gcc,
> make sure you set
> # HTB_GCC_VER to that version of gcc.
> +#
> +# CYGWINPORTS_GITREV
> +# If set, this variable signals that we
> should apply additional patches
> +# maintained by upstream Cygwin developers at
> github/cygwinports/gcc,
> +# using the specified git commit id
> there. The list of patches to
> +# apply is extracted from gcc.cygport,
> maintained there as well.
> +# This is done for compilers running on
> Cygwin, not for cross compilers
> +# with a Cygwin target.
> get_gcc_src_uri() {
> export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
> export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
> @@ -375,6 +383,10 @@ get_gcc_src_uri() {
> fi
> fi
>
> + # Cygwin patches from https://github.com/cygwinports/gcc
> + [[ -n ${CYGWINPORTS_GITREV} ]] && \
> + GCC_SRC_URI+=" elibc_Cygwin? (
> https://github.com/cygwinports/gcc/archive/${CYGWINPORTS_GITREV}.zip
> )"
Why not .tar.gz?
> +
> echo "${GCC_SRC_URI}"
> }
>
> @@ -481,6 +493,8 @@ gcc_quick_unpack() {
>
> use_if_iuse boundschecking && unpack "bounds-checking-gcc-
> ${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
>
> + [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin && unpack
> "${CYGWINPORTS_GITREV}.zip"
> +
> popd > /dev/null
> }
>
> @@ -505,6 +519,7 @@ toolchain_src_prepare() {
> fi
> do_gcc_HTB_patches
> do_gcc_PIE_patches
> + do_gcc_CYGWINPORTS_patches
> epatch_user
>
> if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened )
> && ! use vanilla ; then
> @@ -645,6 +660,19 @@ do_gcc_PIE_patches() {
> BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-
> ${PIE_VER}"
> }
>
> +do_gcc_CYGWINPORTS_patches() {
> + [[ -n ${CYGWINPORTS_GITREV} ]] || return 0
> + use elibc_Cygwin || return 0
> +
> + local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
> + for p in $(
> + eval "$(sed -ne '/PATCH_URI="/,/"/p' <
> "${d}"/gcc.cygport)"
The eval here is completely unnecessary, and can easily wreak havoc.
Don't do that.
> + echo ${PATCH_URI}
> + ); do
> + epatch "${d}/${p}"
> + done
> +}
> +
> # configure to build with the hardened GCC specs as the default
> make_gcc_hard() {
>
--
Best regards,
Michał Górny
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file
2018-06-20 17:49 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
@ 2018-06-20 19:58 ` Michał Górny
2018-06-20 21:27 ` Marty E. Plummer
1 sibling, 0 replies; 17+ messages in thread
From: Michał Górny @ 2018-06-20 19:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
W dniu śro, 20.06.2018 o godzinie 19∶49 +0200, użytkownik Michael
Haubenwallner napisał:
> ---
> eclass/toolchain.eclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> index 68e4ce15b37..fe41a80db28 100644
> --- a/eclass/toolchain.eclass
> +++ b/eclass/toolchain.eclass
> @@ -2207,7 +2207,7 @@ do_gcc_config() {
> [[ -n ${current_specs} ]] && use_specs=-
> ${current_specs}
>
> if [[ -n ${use_specs} ]] && \
> - [[ ! -e ${ROOT}/etc/env.d/gcc/${CTARGET}-
> ${GCC_CONFIG_VER}${use_specs} ]]
> + [[ ! -e ${EROOT}etc/env.d/gcc/${CTARGET}-
> ${GCC_CONFIG_VER}${use_specs} ]]
${EROOT%/}/ for EAPI 7 compliance.
> then
> ewarn "The currently selected specs-specific
> gcc config,"
> ewarn "${current_specs}, doesn't exist
> anymore. This is usually"
--
Best regards,
Michał Górny
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file
2018-06-20 17:49 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
2018-06-20 19:58 ` Michał Górny
@ 2018-06-20 21:27 ` Marty E. Plummer
1 sibling, 0 replies; 17+ messages in thread
From: Marty E. Plummer @ 2018-06-20 21:27 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
On Wed, Jun 20, 2018 at 07:49:01PM +0200, Michael Haubenwallner wrote:
> ---
> eclass/toolchain.eclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> index 68e4ce15b37..fe41a80db28 100644
> --- a/eclass/toolchain.eclass
> +++ b/eclass/toolchain.eclass
> @@ -2207,7 +2207,7 @@ do_gcc_config() {
> [[ -n ${current_specs} ]] && use_specs=-${current_specs}
>
> if [[ -n ${use_specs} ]] && \
> - [[ ! -e ${ROOT}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
> + [[ ! -e ${EROOT}etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
${EROOT%/}/etc... would be more portable, correct? Not all EAPI have no
trailing /.
> then
> ewarn "The currently selected specs-specific gcc config,"
> ewarn "${current_specs}, doesn't exist anymore. This is usually"
> --
> 2.16.1
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] [PATCH 3/5] toolchain.eclass: avoid leading double slash
2018-06-20 17:49 ` [gentoo-dev] [PATCH 3/5] toolchain.eclass: avoid leading double slash Michael Haubenwallner
@ 2018-06-20 22:40 ` Ulrich Mueller
2018-06-21 8:16 ` [gentoo-dev] " Michael Haubenwallner
0 siblings, 1 reply; 17+ messages in thread
From: Ulrich Mueller @ 2018-06-20 22:40 UTC (permalink / raw
To: gentoo-dev; +Cc: Michael Haubenwallner
[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]
>>>>> On Wed, 20 Jun 2018, Michael Haubenwallner wrote:
> Path starting with "//" is a Network path for Cygwin:
> As DATAPATH starts with EPREFIX, we have to use it with ${ROOT%/}.
> ---
> eclass/toolchain.eclass | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> index a51d8e84f5e..bc3a80e0e8a 100644
> --- a/eclass/toolchain.eclass
> +++ b/eclass/toolchain.eclass
> @@ -2133,12 +2133,12 @@ toolchain_pkg_postinst() {
> mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
> # DATAPATH has EPREFIX already, use ROOT with it
> - cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
> - cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
> + cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
> + cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
Looks a bit short-sighted for the destinations, since EROOT lost its
trailing slash in EAPI 7. So better use "${EROOT%/}/" there too.
> # Since these aren't critical files and portage sucks with
> # handling of binpkgs, don't require these to be found
> - cp "${ROOT}${DATAPATH}"/c{89,99} "${EROOT}"usr/bin/ 2>/dev/null
> + cp "${ROOT%/}${DATAPATH}"/c{89,99} "${EROOT}"usr/bin/
> # 2>/dev/null
Ditto.
> fi
> if use regression-test ; then
> --
> 2.16.1
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-dev] Re: [PATCH 3/5] toolchain.eclass: avoid leading double slash
2018-06-20 22:40 ` Ulrich Mueller
@ 2018-06-21 8:16 ` Michael Haubenwallner
2018-06-21 8:37 ` Marty E. Plummer
2018-06-21 8:39 ` Marty E. Plummer
0 siblings, 2 replies; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-21 8:16 UTC (permalink / raw
To: gentoo-dev
On 06/21/2018 12:40 AM, Ulrich Mueller wrote:
>>>>>> On Wed, 20 Jun 2018, Michael Haubenwallner wrote:
>
>> Path starting with "//" is a Network path for Cygwin:
>> As DATAPATH starts with EPREFIX, we have to use it with ${ROOT%/}.
>> ---
>> eclass/toolchain.eclass | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>
>> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
>> index a51d8e84f5e..bc3a80e0e8a 100644
>> --- a/eclass/toolchain.eclass
>> +++ b/eclass/toolchain.eclass
>> @@ -2133,12 +2133,12 @@ toolchain_pkg_postinst() {
>
>> mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
>> # DATAPATH has EPREFIX already, use ROOT with it
>> - cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
>> - cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
>> + cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
>> + cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
>
> Looks a bit short-sighted for the destinations, since EROOT lost its
> trailing slash in EAPI 7. So better use "${EROOT%/}/" there too.
Well, DATAPATH already has the leading slash, and I have to avoid double slash here.
/haubi/
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] Re: [PATCH 3/5] toolchain.eclass: avoid leading double slash
2018-06-21 8:16 ` [gentoo-dev] " Michael Haubenwallner
@ 2018-06-21 8:37 ` Marty E. Plummer
2018-06-21 8:39 ` Marty E. Plummer
1 sibling, 0 replies; 17+ messages in thread
From: Marty E. Plummer @ 2018-06-21 8:37 UTC (permalink / raw
To: gentoo-dev
On Thu, Jun 21, 2018 at 10:16:45AM +0200, Michael Haubenwallner wrote:
> On 06/21/2018 12:40 AM, Ulrich Mueller wrote:
> >>>>>> On Wed, 20 Jun 2018, Michael Haubenwallner wrote:
> >
> >> Path starting with "//" is a Network path for Cygwin:
> >> As DATAPATH starts with EPREFIX, we have to use it with ${ROOT%/}.
> >> ---
> >> eclass/toolchain.eclass | 6 +++---
> >> 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> >> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> >> index a51d8e84f5e..bc3a80e0e8a 100644
> >> --- a/eclass/toolchain.eclass
> >> +++ b/eclass/toolchain.eclass
> >> @@ -2133,12 +2133,12 @@ toolchain_pkg_postinst() {
> >
> >> mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
> >> # DATAPATH has EPREFIX already, use ROOT with it
> >> - cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
> >> - cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
> >> + cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
> >> + cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
> >
> > Looks a bit short-sighted for the destinations, since EROOT lost its
> > trailing slash in EAPI 7. So better use "${EROOT%/}/" there too.
>
> Well, DATAPATH already has the leading slash, and I have to avoid double slash here.
>
> /haubi/
>
Well, still slap in the %/ to catch any extra trailing slash in ${ROOT}
itself.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] Re: [PATCH 3/5] toolchain.eclass: avoid leading double slash
2018-06-21 8:16 ` [gentoo-dev] " Michael Haubenwallner
2018-06-21 8:37 ` Marty E. Plummer
@ 2018-06-21 8:39 ` Marty E. Plummer
2018-06-21 8:44 ` Ulrich Mueller
1 sibling, 1 reply; 17+ messages in thread
From: Marty E. Plummer @ 2018-06-21 8:39 UTC (permalink / raw
To: gentoo-dev
On Thu, Jun 21, 2018 at 10:16:45AM +0200, Michael Haubenwallner wrote:
> On 06/21/2018 12:40 AM, Ulrich Mueller wrote:
> >>>>>> On Wed, 20 Jun 2018, Michael Haubenwallner wrote:
> >
> >> Path starting with "//" is a Network path for Cygwin:
> >> As DATAPATH starts with EPREFIX, we have to use it with ${ROOT%/}.
> >> ---
> >> eclass/toolchain.eclass | 6 +++---
> >> 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> >> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> >> index a51d8e84f5e..bc3a80e0e8a 100644
> >> --- a/eclass/toolchain.eclass
> >> +++ b/eclass/toolchain.eclass
> >> @@ -2133,12 +2133,12 @@ toolchain_pkg_postinst() {
> >
> >> mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
> >> # DATAPATH has EPREFIX already, use ROOT with it
> >> - cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
> >> - cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
> >> + cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
> >> + cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
> >
> > Looks a bit short-sighted for the destinations, since EROOT lost its
> > trailing slash in EAPI 7. So better use "${EROOT%/}/" there too.
>
> Well, DATAPATH already has the leading slash, and I have to avoid double slash here.
>
> /haubi/
>
- mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
+ mkdir -p "${EROOT%/}"/usr/{share/gcc-data,sbin,bin}
# DATAPATH has EPREFIX already, use ROOT with it
- cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
- cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
+ cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT%/}"/usr/share/gcc-data/ || die
+ cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT%/}"/usr/sbin/ || die
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] Re: [PATCH 3/5] toolchain.eclass: avoid leading double slash
2018-06-21 8:39 ` Marty E. Plummer
@ 2018-06-21 8:44 ` Ulrich Mueller
0 siblings, 0 replies; 17+ messages in thread
From: Ulrich Mueller @ 2018-06-21 8:44 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 726 bytes --]
>>>>> On Thu, 21 Jun 2018, Marty E Plummer wrote:
> On Thu, Jun 21, 2018 at 10:16:45AM +0200, Michael Haubenwallner wrote:
>> Well, DATAPATH already has the leading slash, and I have to avoid
>> double slash here.
> - mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
> + mkdir -p "${EROOT%/}"/usr/{share/gcc-data,sbin,bin}
> # DATAPATH has EPREFIX already, use ROOT with it
> - cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
> - cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
> + cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT%/}"/usr/share/gcc-data/ || die
> + cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT%/}"/usr/sbin/ || die
Exactly.
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-dev] Re: [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports
2018-06-20 19:56 ` Michał Górny
@ 2018-06-22 11:22 ` Michael Haubenwallner
2018-06-22 12:00 ` Michał Górny
0 siblings, 1 reply; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 11:22 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
On 06/20/2018 09:56 PM, Michał Górny wrote:
> W dniu śro, 20.06.2018 o godzinie 19∶49 +0200, użytkownik Michael
> Haubenwallner napisał:
>> Download and apply patches found in Cygwin's gcc.cygport, maintained
>> at
>> github/cygwinports/gcc, for a compiler running on cygwin. The ebuild
>> can define the cygwinports' git commit id as CYGWINPORTS_GITREV.
>> ---
>> eclass/toolchain.eclass | 28 ++++++++++++++++++++++++++++
>> 1 file changed, 28 insertions(+)
>>
>> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
>> index faf96d2a41f..a16bfadc301 100644
>> --- a/eclass/toolchain.eclass
>> +++ b/eclass/toolchain.eclass
>> @@ -309,6 +309,14 @@ gentoo_urls() {
>> # ten Brugge's bounds-checking patches. If
>> you want to use a patch
>> # for an older gcc version with a new gcc,
>> make sure you set
>> # HTB_GCC_VER to that version of gcc.
>> +#
>> +# CYGWINPORTS_GITREV
>> +# If set, this variable signals that we
>> should apply additional patches
>> +# maintained by upstream Cygwin developers at
>> github/cygwinports/gcc,
>> +# using the specified git commit id
>> there. The list of patches to
>> +# apply is extracted from gcc.cygport,
>> maintained there as well.
>> +# This is done for compilers running on
>> Cygwin, not for cross compilers
>> +# with a Cygwin target.
>> get_gcc_src_uri() {
>> export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
>> export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
>> @@ -375,6 +383,10 @@ get_gcc_src_uri() {
>> fi
>> fi
>>
>> + # Cygwin patches from https://github.com/cygwinports/gcc
>> + [[ -n ${CYGWINPORTS_GITREV} ]] && \
>> + GCC_SRC_URI+=" elibc_Cygwin? (
>> https://github.com/cygwinports/gcc/archive/${CYGWINPORTS_GITREV}.zip
>> )"
>
> Why not .tar.gz?
Didn't know .tar.gz works - the webpage provides [Download ZIP] only, thanks!
>
>> +
>> echo "${GCC_SRC_URI}"
>> }
>>
>> @@ -481,6 +493,8 @@ gcc_quick_unpack() {
>>
>> use_if_iuse boundschecking && unpack "bounds-checking-gcc-
>> ${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
>>
>> + [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin && unpack
>> "${CYGWINPORTS_GITREV}.zip"
>> +
>> popd > /dev/null
>> }
>>
>> @@ -505,6 +519,7 @@ toolchain_src_prepare() {
>> fi
>> do_gcc_HTB_patches
>> do_gcc_PIE_patches
>> + do_gcc_CYGWINPORTS_patches
>> epatch_user
>>
>> if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened )
>> && ! use vanilla ; then
>> @@ -645,6 +660,19 @@ do_gcc_PIE_patches() {
>> BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-
>> ${PIE_VER}"
>> }
>>
>> +do_gcc_CYGWINPORTS_patches() {
>> + [[ -n ${CYGWINPORTS_GITREV} ]] || return 0
>> + use elibc_Cygwin || return 0
>> +
>> + local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
>> + for p in $(
>> + eval "$(sed -ne '/PATCH_URI="/,/"/p' <
>> "${d}"/gcc.cygport)"
>
> The eval here is completely unnecessary, and can easily wreak havoc.
> Don't do that.
Erm - multiline commands from $() seem to fail without eval:
# sed -ne '/PATCH_URI="/,/"/p' < ./gcc.cygport
PATCH_URI="
0001-share-mingw-fset-stack-executable-with-cygwin.patch
...
"
# $(sed -ne '/PATCH_URI="/,/"/p' < ./gcc.cygport)
-bash: PATCH_URI=": command not found
# eval "$(sed -ne '/PATCH_URI="/,/"/p' < ./gcc.cygport)"
# declare -p PATCH_URI
declare -- PATCH_URI="
0001-share-mingw-fset-stack-executable-with-cygwin.patch
...
"
/haubi/
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-dev] Re: [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports
2018-06-22 11:22 ` [gentoo-dev] " Michael Haubenwallner
@ 2018-06-22 12:00 ` Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2018-06-22 12:00 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 4189 bytes --]
W dniu pią, 22.06.2018 o godzinie 13∶22 +0200, użytkownik Michael
Haubenwallner napisał:
> On 06/20/2018 09:56 PM, Michał Górny wrote:
> > W dniu śro, 20.06.2018 o godzinie 19∶49 +0200, użytkownik Michael
> > Haubenwallner napisał:
> > > Download and apply patches found in Cygwin's gcc.cygport, maintained
> > > at
> > > github/cygwinports/gcc, for a compiler running on cygwin. The ebuild
> > > can define the cygwinports' git commit id as CYGWINPORTS_GITREV.
> > > ---
> > > eclass/toolchain.eclass | 28 ++++++++++++++++++++++++++++
> > > 1 file changed, 28 insertions(+)
> > >
> > > diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> > > index faf96d2a41f..a16bfadc301 100644
> > > --- a/eclass/toolchain.eclass
> > > +++ b/eclass/toolchain.eclass
> > > @@ -309,6 +309,14 @@ gentoo_urls() {
> > > # ten Brugge's bounds-checking patches. If
> > > you want to use a patch
> > > # for an older gcc version with a new gcc,
> > > make sure you set
> > > # HTB_GCC_VER to that version of gcc.
> > > +#
> > > +# CYGWINPORTS_GITREV
> > > +# If set, this variable signals that we
> > > should apply additional patches
> > > +# maintained by upstream Cygwin developers at
> > > github/cygwinports/gcc,
> > > +# using the specified git commit id
> > > there. The list of patches to
> > > +# apply is extracted from gcc.cygport,
> > > maintained there as well.
> > > +# This is done for compilers running on
> > > Cygwin, not for cross compilers
> > > +# with a Cygwin target.
> > > get_gcc_src_uri() {
> > > export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
> > > export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
> > > @@ -375,6 +383,10 @@ get_gcc_src_uri() {
> > > fi
> > > fi
> > >
> > > + # Cygwin patches from https://github.com/cygwinports/gcc
> > > + [[ -n ${CYGWINPORTS_GITREV} ]] && \
> > > + GCC_SRC_URI+=" elibc_Cygwin? (
> > > https://github.com/cygwinports/gcc/archive/${CYGWINPORTS_GITREV}.zip
> > > )"
> >
> > Why not .tar.gz?
>
> Didn't know .tar.gz works - the webpage provides [Download ZIP] only, thanks!
>
> >
> > > +
> > > echo "${GCC_SRC_URI}"
> > > }
> > >
> > > @@ -481,6 +493,8 @@ gcc_quick_unpack() {
> > >
> > > use_if_iuse boundschecking && unpack "bounds-checking-gcc-
> > > ${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
> > >
> > > + [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin && unpack
> > > "${CYGWINPORTS_GITREV}.zip"
> > > +
> > > popd > /dev/null
> > > }
> > >
> > > @@ -505,6 +519,7 @@ toolchain_src_prepare() {
> > > fi
> > > do_gcc_HTB_patches
> > > do_gcc_PIE_patches
> > > + do_gcc_CYGWINPORTS_patches
> > > epatch_user
> > >
> > > if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened )
> > > && ! use vanilla ; then
> > > @@ -645,6 +660,19 @@ do_gcc_PIE_patches() {
> > > BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-
> > > ${PIE_VER}"
> > > }
> > >
> > > +do_gcc_CYGWINPORTS_patches() {
> > > + [[ -n ${CYGWINPORTS_GITREV} ]] || return 0
> > > + use elibc_Cygwin || return 0
> > > +
> > > + local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
> > > + for p in $(
> > > + eval "$(sed -ne '/PATCH_URI="/,/"/p' <
> > > "${d}"/gcc.cygport)"
> >
> > The eval here is completely unnecessary, and can easily wreak havoc.
> > Don't do that.
>
> Erm - multiline commands from $() seem to fail without eval:
>
> # sed -ne '/PATCH_URI="/,/"/p' < ./gcc.cygport
> PATCH_URI="
> 0001-share-mingw-fset-stack-executable-with-cygwin.patch
> ...
> "
>
> # $(sed -ne '/PATCH_URI="/,/"/p' < ./gcc.cygport)
> -bash: PATCH_URI=": command not found
>
> # eval "$(sed -ne '/PATCH_URI="/,/"/p' < ./gcc.cygport)"
>
> # declare -p PATCH_URI
> declare -- PATCH_URI="
> 0001-share-mingw-fset-stack-executable-with-cygwin.patch
> ...
> "
>
It's not very hard if you try to find another solution to the problem
rather than trying to force your solution to work without eval.
For example:
local patches=()
readarray -t patches < <(sed -e '1,/PATCH_URI="/d;/"/,$d' < gcc.cygport)
--
Best regards,
Michał Górny
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 963 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-dev] Re: [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related
2018-06-20 17:49 [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
` (4 preceding siblings ...)
2018-06-20 17:49 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
@ 2018-06-22 12:01 ` Michael Haubenwallner
5 siblings, 0 replies; 17+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 12:01 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
On 06/20/2018 07:49 PM, Michael Haubenwallner wrote:
> Hi,
>
> please review these patches we have in prefix-overlay,
> where patches 3-5 are for Gentoo Prefix on Cygwin.
Thanks for the reviews, will reorder to account for EAPI 7 paths first.
One minor thing still unclear to me, beyond no _leading_ double slash:
Do we try hard to avoid redundant slashes _in between_ too?
Thoughts behind this question:
Beyond the eventual trailing slash, the {,E,SYS,ESYS,B}ROOT variables
may be empty, so Cygwin really requires the ${%/} modifier for them
to not end up with a network location by accident (in EAPI before 7).
But D,ED are not expected to be empty, and the ${%/} modifier will avoid
an extra slash _in between_ only, not a leading one.
So with D,ED the ${%/} modifier feels needless, reducing readability only.
Just wondering if we have some guidance here,
/haubi/
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2018-06-22 12:01 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-20 17:49 [gentoo-dev] [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
2018-06-20 19:58 ` Michał Górny
2018-06-20 21:27 ` Marty E. Plummer
2018-06-20 17:49 ` [gentoo-dev] [PATCH 2/5] toolchain.eclass: D->ED for where to start cleanups Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 3/5] toolchain.eclass: avoid leading double slash Michael Haubenwallner
2018-06-20 22:40 ` Ulrich Mueller
2018-06-21 8:16 ` [gentoo-dev] " Michael Haubenwallner
2018-06-21 8:37 ` Marty E. Plummer
2018-06-21 8:39 ` Marty E. Plummer
2018-06-21 8:44 ` Ulrich Mueller
2018-06-20 17:49 ` [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads Michael Haubenwallner
2018-06-20 17:49 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
2018-06-20 19:56 ` Michał Górny
2018-06-22 11:22 ` [gentoo-dev] " Michael Haubenwallner
2018-06-22 12:00 ` Michał Górny
2018-06-22 12:01 ` [gentoo-dev] Re: [PATCH 0/5] toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox