public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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



  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