public inbox for gentoo-lisp@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-lisp] Ebuilds for bigloo3.3a_p4 and hop-2.0.0
@ 2010-01-14 17:54 Cyprien Nicolas
  2010-01-14 20:15 ` ChIIph
  0 siblings, 1 reply; 3+ messages in thread
From: Cyprien Nicolas @ 2010-01-14 17:54 UTC (permalink / raw
  To: Gentoo-Lisp Mailing List

[-- Attachment #1: Type: text/plain, Size: 999 bytes --]

Hello lispers,

I'm attaching to this mail two ebuild for the last releases of Bigloo
and Hop, I have mainly adapted the existing ebuilds.

Some notes, about the bigloo.ebuild:

I have to had the threads flag, for dependencies, hop[threads] needs
bigloo[threads], which needs boehm-gc[threads]. That makes the hop
ebuild with three dependencies on hop, I don't know how to make it
clearer, or better.

Then, I had to manually had -fno-omit-frame-pointer to Bigloo's CFLAGS,
for several reasons:
First, for compile-bee, part of the code may be compiled with -pg flag
(for gprof profiling), this option is incompatible with
-fomit-frame-pointer.
Next, at runtime, Bigloo uses the CFLAGS he got at compile time when
calling GCC on the produced C file. so bigloo -p will call gcc -pg (if
enabled), then raise a gcc error.


This ebuild has been ran on both x86 hardened and x86_64 hardened
systems, without any issue except the -pg thing I have bypassed.


Any comment are welcome


Regards,

,Cyprien


[-- Attachment #2: bigloo-3.3a_p4.ebuild --]
[-- Type: text/plain, Size: 2430 bytes --]

# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit elisp-common multilib eutils

MY_P=${PN}${PV/_p/-}
MY_P=${MY_P/_alpha/-alpha}
MY_P=${MY_P/_beta/-beta}

DESCRIPTION="Bigloo is a Scheme implementation."
HOMEPAGE="http://www-sop.inria.fr/indes/fp/Bigloo/bigloo.html"
SRC_URI="ftp://ftp-sop.inria.fr/indes/fp/Bigloo/${MY_P}.tar.gz"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86"

# bug 254916 for >=dev-libs/boehm-gc-7.1
DEPEND=">=dev-libs/boehm-gc-7.1
		emacs? ( virtual/emacs )
		java? ( virtual/jdk app-arch/zip )
		ssl? ( dev-libs/openssl )
		threads? ( dev-libs/boehm-gc[threads] )"

RDEPEND="dev-libs/boehm-gc"

S=${WORKDIR}/${MY_P}

SITEFILE="50bigloo-gentoo.el"

IUSE="emacs java ssl threads"

# -fomit-frame-pointer is not compatible with -pg, gcc raises an error
CFLAGS="${CFLAGS} -fno-omit-frame-pointer"

src_compile() {
	# Bigloo doesn't use autoconf and consequently a lot of options used by econf give errors
	# Manuel Serrano says: "Please, dont talk to me about autoconf. I simply dont want to hear about it..."
	./configure \
		$(use java && echo "--jvm=yes --java=$(java-config --java) --javac=$(java-config --javac)") \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--libdir=/usr/$(get_libdir) \
		--docdir=/usr/share/doc/${PF} \
		--lispdir=${SITELISP}/bigloo \
		--benchmark=yes \
		--sharedbde=no \
		--sharedcompiler=no \
		--customgc=no \
		--coflags="" \
		--bee=$(if use emacs; then echo full; else echo partial; fi) \
		$(use threads && echo "--enable-pthread --enable-fthread" \
					  || echo "--disable-pthread --disable-fthread") \
		$(use_enable ssl) \
		|| die "configure failed"

	emake || die "emake failed"

	if use emacs; then
		einfo "Compiling bee..."
		emake -j1 compile-bee || die "compiling bee failed"
	fi
}

# default thinks that target doesn't exist
src_test() {
	vecho ">>> Test phase [test]: ${CATEGORY}/${PF}"
	emake test || die
}

src_install() {
	emake DESTDIR="${D}" install || die "install failed"

	if use emacs; then
		emake DESTDIR="${D}" install-bee || die "install-bee failed"
		elisp-site-file-install "${FILESDIR}/${SITEFILE}"
	fi
}

pkg_postinst() {
	use emacs && elisp-site-regen
	if use emacs; then
		elog "In order to use the bee-mode, add"
		elog "  (require 'bmacs)"
		elog "to your ~/.emacs file"
	fi
}

pkg_postrm() {
	use emacs && elisp-site-regen
}

[-- Attachment #3: hop-2.0.0.ebuild --]
[-- Type: text/plain, Size: 1102 bytes --]

# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit multilib eutils

MY_P=${P/_/-}

DESCRIPTION="Hop is a higher-order language for programming interactive web applications."
HOMEPAGE="http://hop.inria.fr/"
SRC_URI="ftp://ftp-sop.inria.fr/indes/fp/Hop/${MY_P}.tar.gz"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86"

DEPEND=">=dev-scheme/bigloo-3.3a
		ssl? ( dev-scheme/bigloo[ssl] )
		threads? ( dev-scheme/bigloo[threads] )"
RDEPEND=""

IUSE="ssl threads"

S=${WORKDIR}/${MY_P}

pkg_setup() {
	enewgroup hop
	enewuser hop -1 -1 /var/www hop
}

src_compile() {
	# Hop doesn't use autoconf and consequently a lot of options used by econf give errors
	# Manuel Serrano says: "Please, dont talk to me about autoconf. I simply dont want to hear about it..."
	./configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/$(get_libdir) --etcdir=/etc/hop $(use_enable ssl) $(use_enable threads) || die "configure failed"

	emake || die "emake failed"
}

src_install () {
	emake DESTDIR="${D}" install || die "install failed"
}

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-01-29 12:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-14 17:54 [gentoo-lisp] Ebuilds for bigloo3.3a_p4 and hop-2.0.0 Cyprien Nicolas
2010-01-14 20:15 ` ChIIph
2010-01-29 12:51   ` Cyprien Nicolas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox