commit:     cd3b6b4a0bb16351f76c857f6beb0b9b95dc6565
Author:     Gavin Howard <gavin <AT> yzena <DOT> com>
AuthorDate: Sun Jan  1 05:05:20 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan  1 21:08:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd3b6b4a

sci-calculators/bc-gh: update to 6.2.2

This commit does two more things besides just update:

* The MissingRemoteId pkgcheck warning is resolved by adding the proper
  remote ID to metadata.xml.
* The `readline` and `libedit` USE flags are added since this bc now
  supports both as options.
* The src_test() function was added to avoid crashes found with the Arch
  package.

There are also some style fixes, as requested.

Signed-off-by: Gavin Howard <gavin <AT> yzena.com>
Closes: https://github.com/gentoo/gentoo/pull/28910
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-calculators/bc-gh/Manifest           |  1 +
 sci-calculators/bc-gh/bc-gh-6.2.2.ebuild | 75 ++++++++++++++++++++++++++++++++
 sci-calculators/bc-gh/metadata.xml       |  1 +
 3 files changed, 77 insertions(+)

diff --git a/sci-calculators/bc-gh/Manifest b/sci-calculators/bc-gh/Manifest
index 3c55a944627a..3d0aae049524 100644
--- a/sci-calculators/bc-gh/Manifest
+++ b/sci-calculators/bc-gh/Manifest
@@ -1 +1,2 @@
 DIST bc-6.1.1.tar.xz 455456 BLAKE2B 
7945ac623740abd9cbd894c20b8a03006caf64d2ce9770ade930d912c52b4e29b107b524d4a95ebea99e31921b7940e39e1afdeec837b4a03d3ed4e11b9f517b
 SHA512 
0e7fb4d4223ace8ba5c1961cc0d7eba475174f92b75529fde64446b5d80db5729f848fd95507570711d2b8928996c87e837e926d31028f32e3f97cad47567d39
+DIST bc-6.2.2.tar.xz 456672 BLAKE2B 
02a6b9012f3b2d6b87be9112c6ccaea84bb121b1de4ebe1276b2151ff24ff445de0cf5a591c2802069e8c9a69c29ca4985a52117761cbb40bc129b70c6f98a49
 SHA512 
11389ebd522dddb4b255856452d4ff851915331e36682899e946a3eee46e6a3b7ac7d28a0be8b86fc79c230f8ea3d8f335a4722a0c49daa68c51b6c667e1d1fe

diff --git a/sci-calculators/bc-gh/bc-gh-6.2.2.ebuild 
b/sci-calculators/bc-gh/bc-gh-6.2.2.ebuild
new file mode 100644
index 000000000000..3296ff1b6942
--- /dev/null
+++ b/sci-calculators/bc-gh/bc-gh-6.2.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="bc-${PV}"
+DESCRIPTION="Implementation of POSIX bc with GNU extensions"
+HOMEPAGE="
+       https://git.yzena.com/gavin/bc/
+       https://github.com/gavinhoward/bc/
+"
+SRC_URI="
+       https://github.com/gavinhoward/bc/releases/download/${PV}/${MY_P}.tar.xz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86"
+IUSE="libedit readline"
+
+DEPEND="
+       !readline? (
+               libedit? ( dev-libs/libedit:= )
+       )
+       readline? (
+               sys-libs/readline:=
+               sys-libs/ncurses:=
+       )
+"
+RDEPEND="
+       ${DEPEND}
+"
+
+src_configure() {
+       local myconf=(
+               # GNU and BSD bc's have slightly different behavior. This bc 
can act
+               # like both, changing at runtime with environment variables, 
but it
+               # needs defaults, which can be set at compile time. This option 
sets all
+               # of the defaults to match the GNU bc/dc since it's common on 
Linux.
+               -pGNU
+               # A lot of test results are generated first by a bc compatible 
with the
+               # GNU bc. If there is no GNU bc installed, then those tests 
should be
+               # skipped. That's what this option does. Without it, we would 
have a
+               # dependency cycle. Those tests are super long, anyway.
+               -G
+               # Disables the automatic stripping of binaries.
+               -T
+               # Enables installing all locales, which is important for 
packages.
+               -l
+               # Disables some "problematic" tests that need specific options 
on Linux
+               # to not trigger the OOM killer because malloc() lies.
+               -P
+       )
+       if use readline ; then
+               myconf+=( -r )
+       elif use libedit ; then
+               myconf+=( -e )
+       fi
+
+       local -x EXECSUFFIX="-gh"
+       local -x PREFIX="${EPREFIX}/usr"
+       ./configure.sh "${myconf[@]}" || die
+}
+
+src_test() {
+       # This is to fix a bug encountered on Arch. It is to ensure we don't get
+       # segfaults on `make check` when the error messages change because the 
error
+       # messages are passed to printf(); they have format specifiers. With 
these
+       # env vars, the internal error messages are used, instead of the 
installed
+       # locales, which might be different since the new locale files are not
+       # installed yet. (It is impossible to use uninstalled locales because 
of the
+       # poor design of POSIX locales.)
+       env LANG=C LC_ALL=C make check
+}

diff --git a/sci-calculators/bc-gh/metadata.xml 
b/sci-calculators/bc-gh/metadata.xml
index cf7960fcff59..b16dce8c90eb 100644
--- a/sci-calculators/bc-gh/metadata.xml
+++ b/sci-calculators/bc-gh/metadata.xml
@@ -16,6 +16,7 @@
                </maintainer>
                <bugs-to>https://git.yzena.com/gavin/bc</bugs-to>
                
<doc>https://git.yzena.com/gavin/bc/src/branch/master/manuals</doc>
+               <remote-id type="github">gavinhoward/bc</remote-id>
        </upstream>
        <longdescription lang="en">
        An implementation of POSIX bc and Unix dc with GNU extensions and some 
of

Reply via email to