summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2015-05-24 08:43:02 +0000
committerMichał Górny <mgorny@gentoo.org>2015-05-24 08:43:02 +0000
commit00d4b0ebb7ed10ad3ffd712c42a3dda83dd58b8a (patch)
tree30976d49d270c803a90c99f06ab0ff17076078f6 /eclass/freebsd.eclass
parentDisable broken tests. (diff)
downloadgentoo-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.eclass23
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}"