* [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
* Re: [gentoo-lisp] Ebuilds for bigloo3.3a_p4 and hop-2.0.0
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
0 siblings, 1 reply; 3+ messages in thread
From: ChIIph @ 2010-01-14 20:15 UTC (permalink / raw
To: gentoo-lisp
[-- Attachment #1: Type: text/plain, Size: 1690 bytes --]
On 01/14/10 14:54, Cyprien Nicolas wrote:
> 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.
>
Hello Cyprien,
Thanks for providing these ebuilds, I'll make sure they are added to the
overlay today.
> 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.
>
There was an issue with a bundled copy of boegm-gc, I hope Mr Serrano
took care of that :), otherwise some patching must be made for security
reasons.
> 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.
>
Yes, I've bumped up to this problem too.
Strictly "ebuild-speaking", the best way to handle this is with the
eclass flag-o-matic, removing -fomit-frame-pointer. Either way, you are
right, that flag must be disabled.
>
> This ebuild has been ran on both x86 hardened and x86_64 hardened
> systems, without any issue except the -pg thing I have bypassed.
>
Great, thanks for the testing.
Regards,
Tomas
>
>
> Any comment are welcome
>
>
> Regards,
>
> ,Cyprien
>
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [gentoo-lisp] Ebuilds for bigloo3.3a_p4 and hop-2.0.0
2010-01-14 20:15 ` ChIIph
@ 2010-01-29 12:51 ` Cyprien Nicolas
0 siblings, 0 replies; 3+ messages in thread
From: Cyprien Nicolas @ 2010-01-29 12:51 UTC (permalink / raw
To: ChIIph; +Cc: Gentoo-Lisp Mailing List
[-- Attachment #1: Type: text/plain, Size: 1003 bytes --]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> Hello Cyprien,
>
> Thanks for providing these ebuilds, I'll make sure they are added to the
> overlay today.
>>
> Great, thanks for the testing.
>
> Regards,
> Tomas
Hello Tomas,
hop ebuild was missing the EAPI="2" declaration, which make the ebuild
invalid towards the recent portage update. So I corrected it, and I
simplified the RDEPEND variable.
I have a problem with the bigloo ebuild on x86_64 hardened system, it's
more hardened related, but one shoud turn off -pie in ordre to have the
gnu profiling support for bigloo. I don't know if it can be a good
solution to add -nopie to the CFLAGS, that's what I ask.
I attach the new ebuilds and the diffs files.
Regards
Cyprien
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkti2dgACgkQWxOlHn1uWpdQPgCfaY77PqmUShmY7EMpH4LEIaCX
UqMAoI0c/YFPRHv3cfV5B8RvKM18iovN
=yxsS
-----END PGP SIGNATURE-----
[-- Attachment #2: hop-2.0.0-r1.ebuild --]
[-- Type: text/plain, Size: 1081 bytes --]
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
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?,threads?]"
RDEPEND="${DEPEND}"
IUSE="ssl threads"
S=${WORKDIR}/${MY_P}
pkg_setup() {
enewgroup hop
enewuser hop -1 -1 /var/www hop
}
src_configure() {
# 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"
}
src_compile() {
emake || die "emake failed"
}
src_install () {
emake DESTDIR="${D}" install || die "install failed"
}
[-- Attachment #3: bigloo-3.3a_p4-r4.ebuild --]
[-- Type: text/plain, Size: 2381 bytes --]
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit elisp-common multilib eutils flag-o-matic
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[threads?]
emacs? ( virtual/emacs )
java? ( virtual/jdk app-arch/zip )
ssl? ( dev-libs/openssl )"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${MY_P}
SITEFILE="50bigloo-gentoo.el"
IUSE="emacs java ssl threads"
src_prepare() {
epatch "${FILESDIR}/${P}-no_strip.patch"
}
src_configure() {
filter-flags -fomit-frame-pointer
# 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}/${PN}" \
--benchmark=yes \
--sharedbde=no \
--sharedcompiler=no \
--customgc=no \
--coflags="" \
--strip=no \
--bee=$(if use emacs; then echo full; else echo partial; fi) \
$(use_enable threads pthread) \
$(use_enable threads fthread) \
$(use_enable ssl) \
|| die "configure failed"
}
src_compile() {
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 #4: bigloo-3.3a_p4-r4.ebuild.diff --]
[-- Type: text/plain, Size: 524 bytes --]
--- dev-scheme/bigloo/bigloo-3.3a_p4-r3.ebuild 2010-01-29 11:29:32.833690936 +0100
+++ dev-scheme/bigloo/bigloo-3.3a_p4-r4.ebuild 2010-01-29 13:40:34.107483032 +0100
@@ -19,11 +19,10 @@
KEYWORDS="~amd64 ~x86"
# bug 254916 for >=dev-libs/boehm-gc-7.1
-DEPEND=">=dev-libs/boehm-gc-7.1
+DEPEND=">=dev-libs/boehm-gc-7.1[threads?]
emacs? ( virtual/emacs )
java? ( virtual/jdk app-arch/zip )
- ssl? ( dev-libs/openssl )
- threads? ( dev-libs/boehm-gc[threads] )"
+ ssl? ( dev-libs/openssl )"
RDEPEND="${DEPEND}"
[-- Attachment #5: hop-2.0.0-r1.ebuild.diff --]
[-- Type: text/plain, Size: 1081 bytes --]
--- dev-scheme/hop/hop-2.0.0.ebuild 2010-01-29 11:29:42.020562582 +0100
+++ dev-scheme/hop/hop-2.0.0-r1.ebuild 2010-01-29 13:39:53.848887964 +0100
@@ -2,6 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: $
+EAPI="2"
+
inherit multilib eutils
MY_P=${P/_/-}
@@ -14,9 +16,8 @@
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86"
-DEPEND=">=dev-scheme/bigloo-3.3a
- ssl? ( dev-scheme/bigloo[ssl] )
- threads? ( dev-scheme/bigloo[threads] )"
+DEPEND=">=dev-scheme/bigloo-3.3a[ssl?,threads?]"
+
RDEPEND="${DEPEND}"
IUSE="ssl threads"
@@ -28,11 +29,13 @@
enewuser hop -1 -1 /var/www hop
}
-src_compile() {
+src_configure() {
# 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"
+}
+src_compile() {
emake || die "emake failed"
}
[-- Attachment #6: hop-2.0.0-r1.ebuild.sig --]
[-- Type: application/pgp-signature, Size: 72 bytes --]
[-- Attachment #7: bigloo-3.3a_p4-r4.ebuild.sig --]
[-- Type: application/pgp-signature, Size: 72 bytes --]
[-- Attachment #8: bigloo-3.3a_p4-r4.ebuild.diff.sig --]
[-- Type: application/pgp-signature, Size: 71 bytes --]
[-- Attachment #9: hop-2.0.0-r1.ebuild.diff.sig --]
[-- Type: application/pgp-signature, Size: 72 bytes --]
^ 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