From: "Arsen Arsenović" <arsen@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: "Arsen Arsenović" <arsen@gentoo.org>
Subject: [gentoo-dev] [RFC HELP WANTED 5/9] dev-build/make: switch to new guile mechanism
Date: Mon, 12 Aug 2024 00:22:50 +0200 [thread overview]
Message-ID: <20240811231742.942813-6-arsen@gentoo.org> (raw)
In-Reply-To: <20240811231742.942813-1-arsen@gentoo.org>
Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
---
dev-build/make/make-4.4.1-r100.ebuild | 102 ++++++++++++++++++++++++++
dev-build/make/make-9999.ebuild | 14 +++-
profiles/package.mask | 1 +
3 files changed, 115 insertions(+), 2 deletions(-)
create mode 100644 dev-build/make/make-4.4.1-r100.ebuild
diff --git a/dev-build/make/make-4.4.1-r100.ebuild b/dev-build/make/make-4.4.1-r100.ebuild
new file mode 100644
index 000000000000..560e26a4ef50
--- /dev/null
+++ b/dev-build/make/make-4.4.1-r100.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc
+GUILE_COMPAT=( 3-0 2-2 2-0 1-8 )
+inherit flag-o-matic unpacker verify-sig guile-single
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/make.git"
+ inherit autotools git-r3
+elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
+ SRC_URI="https://alpha.gnu.org/gnu/make/${P}.tar.lz"
+ SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.lz.sig )"
+else
+ SRC_URI="mirror://gnu/make/${P}.tar.lz"
+ SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.lz.sig )"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="doc guile nls static test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
+
+DEPEND="
+ guile? ( ${GUILE_DEPS} )
+"
+RDEPEND="
+ ${DEPEND}
+ nls? ( virtual/libintl )
+"
+BDEPEND="
+ $(unpacker_src_uri_depends)
+ doc? ( virtual/texi2dvi )
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-make )
+ test? ( dev-lang/perl )
+"
+
+DOCS="AUTHORS NEWS README*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4-default-cxx.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+
+ cd "${S}" || die
+ ./bootstrap || die
+ else
+ use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.lz{,.sig}
+ unpacker ${P}.tar.lz
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ fi
+
+ if use guile; then
+ guile-single_src_prepare
+ fi
+}
+
+pkg_setup() {
+ if use guile; then
+ guile-single_pkg_setup
+ fi
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ local myeconfargs=(
+ --program-prefix=g
+ $(use_with guile)
+ $(use_enable nls)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake all $(usev doc 'pdf html')
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/make.html/. ) DOCS="$DOCS doc/make.pdf"
+ default
+
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ guile_unstrip_ccache
+}
diff --git a/dev-build/make/make-9999.ebuild b/dev-build/make/make-9999.ebuild
index 6ed0e9b00642..8ef172a0adf5 100644
--- a/dev-build/make/make-9999.ebuild
+++ b/dev-build/make/make-9999.ebuild
@@ -4,7 +4,8 @@
EAPI=8
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc
-inherit flag-o-matic unpacker verify-sig
+GUILE_COMPAT=( 3-0 2-2 2-0 1-8 )
+inherit flag-o-matic unpacker verify-sig guile-single
DESCRIPTION="Standard tool to compile source trees"
HOMEPAGE="https://www.gnu.org/software/make/make.html"
@@ -24,8 +25,11 @@ LICENSE="GPL-3+"
SLOT="0"
IUSE="doc guile nls static test"
RESTRICT="!test? ( test )"
+REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
-DEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
+DEPEND="
+ guile? ( ${GUILE_DEPS} )
+"
RDEPEND="
${DEPEND}
nls? ( virtual/libintl )
@@ -64,6 +68,12 @@ src_prepare() {
fi
}
+pkg_setup() {
+ if use guile; then
+ guile-single_pkg_setup
+ fi
+}
+
src_configure() {
use static && append-ldflags -static
local myeconfargs=(
diff --git a/profiles/package.mask b/profiles/package.mask
index 31ac05aee52b..aa2ba7f10877 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -39,6 +39,7 @@
# Masked until the whole Guile ecosystem is updated.
dev-scheme/guile:2.2
dev-scheme/guile:3.0
+>=sys-devel/make-4.4.1-r100
# James Le Cuirot <chewi@gentoo.org> (2024-07-29)
# Superseded by media-libs/libv4l[utils].
--
2.45.2
next prev parent reply other threads:[~2024-08-11 23:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-11 22:22 [gentoo-dev] [RFC HELP WANTED 0/9] Mending the Guile ecosystem Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 1/9] guile-utils.eclass: new eclass, common code for guile packages Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 2/9] guile-single.eclass: new eclass, for single-impl " Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 3/9] guile.eclass: new eclass, for guile multi-impl packages Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 4/9] profiles/base: add guile _TARGETS USE_EXPAND variables Arsen Arsenović
2024-08-11 22:22 ` Arsen Arsenović [this message]
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 6/9] dev-scheme/guile-reader: port to new guile eclasses Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 7/9] dev-scheme/guile-commonmark: new package, add 0.1.2_pre20240803 Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 8/9] www-apps/haunt: new package, add 0.3.0 Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 9/9] dev-scheme/slib: add 3c1, port to new guile eclasses Arsen Arsenović
2024-08-18 9:29 ` [gentoo-dev] [RFC HELP WANTED 0/9] Mending the Guile ecosystem Sam James
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240811231742.942813-6-arsen@gentoo.org \
--to=arsen@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox