public inbox for gentoo-lisp@lists.gentoo.org
 help / color / mirror / Atom feed
From: Cyprien Nicolas <c.nicolas@gmail.com>
To: Gentoo-Lisp Mailing List <gentoo-lisp@lists.gentoo.org>
Subject: [gentoo-lisp] Ebuilds for bigloo3.3a_p4 and hop-2.0.0
Date: Thu, 14 Jan 2010 18:54:15 +0100	[thread overview]
Message-ID: <4B4F5A47.6040508@gmail.com> (raw)

[-- 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"
}

             reply	other threads:[~2010-01-14 17:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-14 17:54 Cyprien Nicolas [this message]
2010-01-14 20:15 ` [gentoo-lisp] Ebuilds for bigloo3.3a_p4 and hop-2.0.0 ChIIph
2010-01-29 12:51   ` Cyprien Nicolas

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=4B4F5A47.6040508@gmail.com \
    --to=c.nicolas@gmail.com \
    --cc=gentoo-lisp@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