commit: 90ab23e9707f3e99d96ddffd3156e8b7463c6cf3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 2 21:44:23 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 2 21:46:30 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90ab23e9
dev-libs/mpfr: optimise SRC_URI generation
Thanks to radhermit's new pkgcraft tooling.
Before:
```
dev-libs/mpfr-4.1.1_p1::.: 9.772001ms
dev-libs/mpfr-4.2.0::.: 10.090884ms
dev-libs/mpfr-4.1.0_p13-r1::.: 25.19919ms
dev-libs/mpfr-4.2.0_p9::.: 42.215071ms
```
After:
```
dev-libs/mpfr-4.1.0_p13-r1::.: 8.216098ms
dev-libs/mpfr-4.1.1_p1::.: 8.41175ms
dev-libs/mpfr-4.2.0::.: 8.736772ms
dev-libs/mpfr-4.2.0_p9::.: 9.751731ms
```
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild | 17 +++++++++++++----
dev-libs/mpfr/mpfr-4.1.1_p1.ebuild | 17 +++++++++++++----
dev-libs/mpfr/mpfr-4.2.0.ebuild | 16 ++++++++++++----
dev-libs/mpfr/mpfr-4.2.0_p9.ebuild | 17 +++++++++++++----
4 files changed, 51 insertions(+), 16 deletions(-)
diff --git a/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
b/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
index c745a8df1724..25319964c958 100644
--- a/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
+++ b/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
@@ -18,18 +18,27 @@ MY_P=${PN}-${MY_PV}
DESCRIPTION="Library for multiple-precision floating-point computations with
exact rounding"
HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
SRC_URI="https://www.mpfr.org/${MY_P}/${MY_P}.tar.xz"
+
if [[ ${PV} == *_p* ]] ; then
# If this is a patch release, we have to download each of the patches:
# -_pN = N patches
# - patch file names are like: patch01, patch02, ..., patch10, patch12,
..
#
# => name the ebuild _pN where N is the number of patches on the 'bugs'
page.
- for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++));
do
- SRC_URI+=" $(printf "https://www.mpfr.org/${MY_P}/patch%02d ->
${MY_P}-patch%02d.patch " ${my_patch_index}{,})"
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${MY_P}-patch%02d.patch
${my_patch_index}) )
+ patch_url_base="https://www.mpfr.org/${MY_P}"
+ my_patch_index=
+
+ for ((my_patch_index=1; my_patch_index <= MY_PATCH ; my_patch_index++))
; do
+ printf -v mangled_patch_ver "patch%02d" "${my_patch_index}"
+
+ SRC_URI+=" ${patch_url_base}/${mangled_patch_ver} ->
${MY_P}-${mangled_patch_ver}.patch"
+
+ MY_PATCHES+=( "${DISTDIR}"/${MY_P}-${mangled_patch_ver}.patch )
done
- unset my_patch_index
+
+ unset patch_url_base my_patch_index mangled_patch_ver
fi
+
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
diff --git a/dev-libs/mpfr/mpfr-4.1.1_p1.ebuild
b/dev-libs/mpfr/mpfr-4.1.1_p1.ebuild
index f448fa9556f6..cfa58819d8f8 100644
--- a/dev-libs/mpfr/mpfr-4.1.1_p1.ebuild
+++ b/dev-libs/mpfr/mpfr-4.1.1_p1.ebuild
@@ -18,18 +18,27 @@ MY_P=${PN}-${MY_PV}
DESCRIPTION="Library for multiple-precision floating-point computations with
exact rounding"
HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
SRC_URI="https://www.mpfr.org/${MY_P}/${MY_P}.tar.xz"
+
if [[ ${PV} == *_p* ]] ; then
# If this is a patch release, we have to download each of the patches:
# -_pN = N patches
# - patch file names are like: patch01, patch02, ..., patch10, patch12,
..
#
# => name the ebuild _pN where N is the number of patches on the 'bugs'
page.
- for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++));
do
- SRC_URI+=" $(printf "https://www.mpfr.org/${MY_P}/patch%02d ->
${MY_P}-patch%02d.patch " ${my_patch_index}{,})"
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${MY_P}-patch%02d.patch
${my_patch_index}) )
+ patch_url_base="https://www.mpfr.org/${MY_P}"
+ my_patch_index=
+
+ for ((my_patch_index=1; my_patch_index <= MY_PATCH ; my_patch_index++))
; do
+ printf -v mangled_patch_ver "patch%02d" "${my_patch_index}"
+
+ SRC_URI+=" ${patch_url_base}/${mangled_patch_ver} ->
${MY_P}-${mangled_patch_ver}.patch"
+
+ MY_PATCHES+=( "${DISTDIR}"/${MY_P}-${mangled_patch_ver}.patch )
done
- unset my_patch_index
+
+ unset patch_url_base my_patch_index mangled_patch_ver
fi
+
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
diff --git a/dev-libs/mpfr/mpfr-4.2.0.ebuild b/dev-libs/mpfr/mpfr-4.2.0.ebuild
index 1306c9897965..2d6a6826dd43 100644
--- a/dev-libs/mpfr/mpfr-4.2.0.ebuild
+++ b/dev-libs/mpfr/mpfr-4.2.0.ebuild
@@ -27,12 +27,20 @@ if [[ ${PV} == *_p* ]] ; then
# - patch file names are like: patch01, patch02, ..., patch10, patch12,
..
#
# => name the ebuild _pN where N is the number of patches on the 'bugs'
page.
- for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++));
do
- SRC_URI+=" $(printf "https://www.mpfr.org/${PN}-$(ver_cut
1-3)/patch%02d -> ${PN}-$(ver_cut 1-3)-patch%02d.patch " ${my_patch_index}{,})"
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${PN}-$(ver_cut
1-3)-patch%02d.patch ${my_patch_index}) )
+ patch_url_base="https://www.mpfr.org/${MY_P}"
+ my_patch_index=
+
+ for ((my_patch_index=1; my_patch_index <= MY_PATCH ; my_patch_index++))
; do
+ printf -v mangled_patch_ver "patch%02d" "${my_patch_index}"
+
+ SRC_URI+=" ${patch_url_base}/${mangled_patch_ver} ->
${MY_P}-${mangled_patch_ver}.patch"
+
+ MY_PATCHES+=( "${DISTDIR}"/${MY_P}-${mangled_patch_ver}.patch )
done
- unset my_patch_index
+
+ unset patch_url_base my_patch_index mangled_patch_ver
fi
+
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
diff --git a/dev-libs/mpfr/mpfr-4.2.0_p9.ebuild
b/dev-libs/mpfr/mpfr-4.2.0_p9.ebuild
index f622527c68cf..bcbbe69004fc 100644
--- a/dev-libs/mpfr/mpfr-4.2.0_p9.ebuild
+++ b/dev-libs/mpfr/mpfr-4.2.0_p9.ebuild
@@ -27,12 +27,21 @@ if [[ ${PV} == *_p* ]] ; then
# - patch file names are like: patch01, patch02, ..., patch10, patch12,
..
#
# => name the ebuild _pN where N is the number of patches on the 'bugs'
page.
- for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++));
do
- SRC_URI+=" $(printf "https://www.mpfr.org/${PN}-$(ver_cut
1-3)/patch%02d -> ${PN}-$(ver_cut 1-3)-patch%02d.patch " ${my_patch_index}{,})"
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${PN}-$(ver_cut
1-3)-patch%02d.patch ${my_patch_index}) )
+ patch_url_base="https://www.mpfr.org/${MY_P}"
+ my_patch_index=
+
+ for ((my_patch_index=1; my_patch_index <= MY_PATCH ; my_patch_index++))
; do
+ printf -v mangled_patch_ver "patch%02d" "${my_patch_index}"
+
+ SRC_URI+=" ${patch_url_base}/${mangled_patch_ver} ->
${MY_P}-${mangled_patch_ver}.patch"
+
+ MY_PATCHES+=( "${DISTDIR}"/${MY_P}-${mangled_patch_ver}.patch )
done
- unset my_patch_index
+
+ unset patch_url_base my_patch_index mangled_patch_ver
+
fi
+
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"