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

* 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