diff options
author | Michał Górny <mgorny@gentoo.org> | 2015-05-24 08:43:02 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2015-05-24 08:43:02 +0000 |
commit | 00d4b0ebb7ed10ad3ffd712c42a3dda83dd58b8a (patch) | |
tree | 30976d49d270c803a90c99f06ab0ff17076078f6 /eclass/freebsd.eclass | |
parent | Disable broken tests. (diff) | |
download | gentoo-2-00d4b0ebb7ed10ad3ffd712c42a3dda83dd58b8a.tar.gz gentoo-2-00d4b0ebb7ed10ad3ffd712c42a3dda83dd58b8a.tar.bz2 gentoo-2-00d4b0ebb7ed10ad3ffd712c42a3dda83dd58b8a.zip |
Support fetching upstream patches, https://github.com/gentoo/gentoo-portage-rsync-mirror/pull/121 by nigoro.
Diffstat (limited to 'eclass/freebsd.eclass')
-rw-r--r-- | eclass/freebsd.eclass | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/eclass/freebsd.eclass b/eclass/freebsd.eclass index d708b4b266fd..e741b13dad89 100644 --- a/eclass/freebsd.eclass +++ b/eclass/freebsd.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/freebsd.eclass,v 1.36 2015/02/22 14:16:03 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/freebsd.eclass,v 1.37 2015/05/24 08:43:02 mgorny Exp $ # # Diego Pettenò <flameeyes@gentoo.org> @@ -95,6 +95,22 @@ freebsd_get_bmake() { echo "${bmake}" } +# Generates a patch SRC_URI or DISTDIR of upstream. +freebsd_upstream_patches() { + local opt=$1 + [[ ${#UPSTREAM_PATCHES[@]} -eq 0 ]] && return 1 + for x in "${UPSTREAM_PATCHES[@]}" + do + local out=${PN}-${x/\//-} + out=${out/:/} + if [[ ${opt} == -s ]] ; then + echo "${DISTDIR}/${out}" + else + echo "https://security.freebsd.org/patches/${x} -> ${out}" + fi + done +} + freebsd_do_patches() { if [[ ${#PATCHES[@]} -gt 1 ]] ; then for x in "${PATCHES[@]}"; do @@ -105,6 +121,7 @@ freebsd_do_patches() { epatch "${x}" done fi + [[ ${#UPSTREAM_PATCHES[@]} -gt 0 ]] && epatch $(freebsd_upstream_patches -s) epatch_user } @@ -136,7 +153,9 @@ freebsd_src_unpack() { [[ -e "${WORKDIR}"/share/mk ]] && rm -rf "${WORKDIR}"/share/mk/*.mk fi else - unpack ${A} + for f in ${A} ; do + [[ ${f} == *.tar.* ]] && unpack ${f} + done fi cd "${S}" |