public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related
@ 2018-06-22 13:10 Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: EAPI 7 aware for D,ED,ROOT,EROOT Michael Haubenwallner
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 13:10 UTC (permalink / raw
  To: gentoo-dev

Hi,

now reordered for EAPI 7 first.

Also, the downloaded cygwindist patches file now is renamed to
gcc-cygwindist-<gitrev>.tar.gz rather than just <gitrev>.tar.gz.

Thanks for the reviews,
/haubi/



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gentoo-dev] [PATCH 1/5] toolchain.eclass: EAPI 7 aware for D,ED,ROOT,EROOT
  2018-06-22 13:10 [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
@ 2018-06-22 13:10 ` Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 2/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 13:10 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michael Haubenwallner

These variables may or may not have the trailing slash. Additionally,
avoid leading double slash (a network location for Cygwin) with ROOT and
EROOT because they may be empty, while D and ED never should be empty
and there is no reason so far to avoid double slashes in between.
On the other hand, eclass variables like DATAPATH and LIBPATH do contain
the leading slash, so an extra slash reduces readability for no reason.
---
 eclass/toolchain.eclass | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 68e4ce15b37..3916555cb21 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1793,13 +1793,13 @@ toolchain_src_install() {
 
 	cd "${S}"
 	if is_crosscompile; then
-		rm -rf "${ED}"usr/share/{man,info}
+		rm -rf "${ED}"/usr/share/{man,info}
 		rm -rf "${D}"${DATAPATH}/{man,info}
 	else
 		if tc_version_is_at_least 3.0 ; then
 			local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man)
 			if [[ -d ${cxx_mandir} ]] ; then
-				cp -r "${cxx_mandir}"/man? "${D}/${DATAPATH}"/man/
+				cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/
 			fi
 		fi
 		has noinfo ${FEATURES} \
@@ -1850,7 +1850,7 @@ toolchain_src_install() {
 	# libvtv.la: gcc itself handles linkage correctly.
 	# lib*san.la: Sanitizer linkage is handled internally by gcc, and they
 	# do not support static linking. #487550 #546700
-	find "${D}/${LIBPATH}" \
+	find "${D}${LIBPATH}" \
 		'(' \
 			-name libstdc++.la -o \
 			-name libstdc++fs.la -o \
@@ -1916,7 +1916,7 @@ gcc_movelibs() {
 	# code to run on the target.
 	if tc_version_is_at_least 5 && is_crosscompile ; then
 		dodir "${HOSTLIBPATH#${EPREFIX}}"
-		mv "${ED}"usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die
+		mv "${ED}"/usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die
 	fi
 
 	# For all the libs that are built for CTARGET, move them into the
@@ -2113,7 +2113,7 @@ gcc_slot_java() {
 
 toolchain_pkg_postinst() {
 	do_gcc_config
-	if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+	if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
 		eselect compiler-shadow update all
 	fi
 
@@ -2128,17 +2128,17 @@ toolchain_pkg_postinst() {
 		echo
 
 		# Clean up old paths
-		rm -f "${EROOT}"*/rcscripts/awk/fixlafiles.awk "${EROOT}"sbin/fix_libtool_files.sh
-		rmdir "${EROOT}"*/rcscripts{/awk,} 2>/dev/null
+		rm -f "${EROOT%/}"/*/rcscripts/awk/fixlafiles.awk "${EROOT%/}"/sbin/fix_libtool_files.sh
+		rmdir "${EROOT%/}"/*/rcscripts{/awk,} 2>/dev/null
 
-		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
 
 		# 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
@@ -2154,7 +2154,7 @@ toolchain_pkg_postinst() {
 }
 
 toolchain_pkg_postrm() {
-	if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+	if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
 		eselect compiler-shadow clean all
 	fi
 
@@ -2165,16 +2165,16 @@ toolchain_pkg_postrm() {
 
 	# clean up the cruft left behind by cross-compilers
 	if is_crosscompile ; then
-		if [[ -z $(ls "${EROOT}"etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
-			rm -f "${EROOT}"etc/env.d/gcc/config-${CTARGET}
-			rm -f "${EROOT}"etc/env.d/??gcc-${CTARGET}
-			rm -f "${EROOT}"usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
+		if [[ -z $(ls "${EROOT%/}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
+			rm -f "${EROOT%/}"/etc/env.d/gcc/config-${CTARGET}
+			rm -f "${EROOT%/}"/etc/env.d/??gcc-${CTARGET}
+			rm -f "${EROOT%/}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
 		fi
 		return 0
 	fi
 
 	# ROOT isnt handled by the script
-	[[ ${ROOT} != "/" ]] && return 0
+	[[ ${ROOT%/} ]] && return 0
 
 	if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then
 		# make sure the profile is sane during same-slot upgrade #289403
@@ -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 ${ROOT%/}/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] 8+ messages in thread

* [gentoo-dev] [PATCH 2/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file
  2018-06-22 13:10 [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: EAPI 7 aware for D,ED,ROOT,EROOT Michael Haubenwallner
@ 2018-06-22 13:10 ` Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 3/5] toolchain.eclass: D->ED for where to start cleanups Michael Haubenwallner
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 13:10 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 3916555cb21..36c9f8e78fc 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] 8+ messages in thread

* [gentoo-dev] [PATCH 3/5] toolchain.eclass: D->ED for where to start cleanups
  2018-06-22 13:10 [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: EAPI 7 aware for D,ED,ROOT,EROOT Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 2/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
@ 2018-06-22 13:10 ` Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads Michael Haubenwallner
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 13:10 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 36c9f8e78fc..4b94f78bfa9 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] 8+ messages in thread

* [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads
  2018-06-22 13:10 [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
                   ` (2 preceding siblings ...)
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 3/5] toolchain.eclass: D->ED for where to start cleanups Michael Haubenwallner
@ 2018-06-22 13:10 ` Michael Haubenwallner
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
  2018-07-09 16:23 ` [gentoo-dev] Re: [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
  5 siblings, 0 replies; 8+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 13:10 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 4b94f78bfa9..aa62010be6e 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] 8+ messages in thread

* [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports
  2018-06-22 13:10 [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
                   ` (3 preceding siblings ...)
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads Michael Haubenwallner
@ 2018-06-22 13:10 ` Michael Haubenwallner
  2018-06-22 13:23   ` [gentoo-dev] " Michael Haubenwallner
  2018-07-09 16:23 ` [gentoo-dev] Re: [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
  5 siblings, 1 reply; 8+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 13:10 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 aa62010be6e..22936175125 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,11 @@ 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}.tar.gz
+			-> gcc-cygwinports-${CYGWINPORTS_GITREV}.tar.gz )"
+
 	echo "${GCC_SRC_URI}"
 }
 
@@ -481,6 +494,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}.tar.gz"
+
 	popd > /dev/null
 }
 
@@ -505,6 +520,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 +661,18 @@ 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 -a patches
+	local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
+	readarray -t patches < <(sed -e '1,/PATCH_URI="/d;/"/,$d' < "${d}"/gcc.cygport)
+	for p in ${patches[*]}; 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] 8+ messages in thread

* [gentoo-dev] Re: [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
@ 2018-06-22 13:23   ` Michael Haubenwallner
  0 siblings, 0 replies; 8+ messages in thread
From: Michael Haubenwallner @ 2018-06-22 13:23 UTC (permalink / raw
  To: gentoo-dev

On 06/22/2018 03:10 PM, Michael Haubenwallner wrote:
> 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 aa62010be6e..22936175125 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,11 @@ 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}.tar.gz
> +			-> gcc-cygwinports-${CYGWINPORTS_GITREV}.tar.gz )"
> +
>  	echo "${GCC_SRC_URI}"
>  }
>  
> @@ -481,6 +494,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}.tar.gz"

Of course this should read

+	[[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin && unpack "gcc-cygwinports-${CYGWINPORTS_GITREV}.tar.gz"


> +
>  	popd > /dev/null
>  }
>  
> @@ -505,6 +520,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 +661,18 @@ 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 -a patches
> +	local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
> +	readarray -t patches < <(sed -e '1,/PATCH_URI="/d;/"/,$d' < "${d}"/gcc.cygport)
> +	for p in ${patches[*]}; do
> +		epatch "${d}/${p}"
> +	done
> +}
> +
>  # configure to build with the hardened GCC specs as the default
>  make_gcc_hard() {
>  
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gentoo-dev] Re: [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related
  2018-06-22 13:10 [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
                   ` (4 preceding siblings ...)
  2018-06-22 13:10 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
@ 2018-07-09 16:23 ` Michael Haubenwallner
  5 siblings, 0 replies; 8+ messages in thread
From: Michael Haubenwallner @ 2018-07-09 16:23 UTC (permalink / raw
  To: gentoo-dev

On 06/22/2018 03:10 PM, Michael Haubenwallner wrote:
> Hi,
> 
> now reordered for EAPI 7 first.
> 
> Also, the downloaded cygwindist patches file now is renamed to
> gcc-cygwindist-<gitrev>.tar.gz rather than just <gitrev>.tar.gz.
> 
> Thanks for the reviews,

pushed now, thanks!

/haubi/


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-07-09 16:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-22 13:10 [gentoo-dev] [PATCH 0/5]-r1 toolchain.eclass: Prefix patches, Cygwin related Michael Haubenwallner
2018-06-22 13:10 ` [gentoo-dev] [PATCH 1/5] toolchain.eclass: EAPI 7 aware for D,ED,ROOT,EROOT Michael Haubenwallner
2018-06-22 13:10 ` [gentoo-dev] [PATCH 2/5] toolchain.eclass: ROOT->EROOT at looking for gcc specs file Michael Haubenwallner
2018-06-22 13:10 ` [gentoo-dev] [PATCH 3/5] toolchain.eclass: D->ED for where to start cleanups Michael Haubenwallner
2018-06-22 13:10 ` [gentoo-dev] [PATCH 4/5] toolchain.eclass: Cygwin provides posix threads Michael Haubenwallner
2018-06-22 13:10 ` [gentoo-dev] [PATCH 5/5] toolchain.eclass: support gcc patches from cygwinports Michael Haubenwallner
2018-06-22 13:23   ` [gentoo-dev] " Michael Haubenwallner
2018-07-09 16:23 ` [gentoo-dev] Re: [PATCH 0/5]-r1 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