commit: 1bf2abe5ffcde92c71bfde742bb732b87d158d82 Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org> AuthorDate: Sun Mar 18 16:36:14 2018 +0000 Commit: José María Alonso <nimiux <AT> gentoo <DOT> org> CommitDate: Sun Mar 18 16:36:14 2018 +0000 URL: https://gitweb.gentoo.org/proj/lisp.git/commit/?id=1bf2abe5
dev-lisp/gcl: Syncs with portage tree dev-lisp/gcl/files/64gcl-gentoo.el | 5 + dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch | 8 ++ .../files/gcl-2.6.8_pre20090419-configure.patch | 33 ----- dev-lisp/gcl/gcl-2.6.12.ebuild | 147 +++++++++++++++++++++ dev-lisp/gcl/gcl-2.6.8_pre20090419-r1.ebuild | 128 ------------------ dev-lisp/gcl/gcl-2.7.0_alpha.ebuild | 42 ------ dev-lisp/gcl/metadata.xml | 17 +++ 7 files changed, 177 insertions(+), 203 deletions(-) diff --git a/dev-lisp/gcl/files/64gcl-gentoo.el b/dev-lisp/gcl/files/64gcl-gentoo.el new file mode 100644 index 00000000..7b7cee00 --- /dev/null +++ b/dev-lisp/gcl/files/64gcl-gentoo.el @@ -0,0 +1,5 @@ +;; site-init for dev-lisp/gcl +(add-to-list 'load-path "@SITELISP@") +(autoload 'run "gcl" "Run GCL." t) +(autoload 'gcl-mode "gcl" "GCL mode." t) +(autoload 'dbl "dbl" "GCL debugger." t) diff --git a/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch b/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch new file mode 100644 index 00000000..07d3892e --- /dev/null +++ b/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch @@ -0,0 +1,8 @@ +diff -r -U1 gcl.orig/makefile gcl/makefile +--- gcl.orig/makefile 2014-10-23 23:29:00.000000000 +0200 ++++ gcl/makefile 2016-02-17 18:10:29.871808118 +0100 +@@ -267,3 +267,3 @@ + $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"cmponly.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\ +- $(CC) -E -I./$(HDIR) - |\ ++ $(CC) -E -P -I./$(HDIR) - |\ + $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@ diff --git a/dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch b/dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch deleted file mode 100644 index f0865009..00000000 --- a/dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -r -U2 gcl-2.6.8_pre20090419.orig/configure gcl-2.6.8_pre20090419/configure ---- gcl-2.6.8_pre20090419.orig/configure 2009-02-24 04:12:22.000000000 +0100 -+++ gcl-2.6.8_pre20090419/configure 2009-04-20 01:26:40.000000000 +0200 -@@ -118,4 +118,14 @@ - mandir='${prefix}/man' - -+# NLS nuisances. -+# Only set these to C if already set. These must not be set unconditionally -+# because not all systems understand e.g. LANG=C (notably SCO). -+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -+# Non-C LC_CTYPE values break the ctype check. -+if test "${LANG+set}" = set; then LANG=C; export LANG; fi -+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -+ - # Initialize some other variables. - subdirs= -@@ -506,14 +516,4 @@ - done - --# NLS nuisances. --# Only set these to C if already set. These must not be set unconditionally --# because not all systems understand e.g. LANG=C (notably SCO). --# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! --# Non-C LC_CTYPE values break the ctype check. --if test "${LANG+set}" = set; then LANG=C; export LANG; fi --if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi --if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi --if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -- - # confdefs.h avoids OS command line length limits that DEFS can exceed. - rm -rf conftest* confdefs.h diff --git a/dev-lisp/gcl/gcl-2.6.12.ebuild b/dev-lisp/gcl/gcl-2.6.12.ebuild new file mode 100644 index 00000000..1d4449e6 --- /dev/null +++ b/dev-lisp/gcl/gcl-2.6.12.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit elisp-common eutils flag-o-matic + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz https://dev.gentoo.org/~grozin/${P}-fedora.tar.bz2" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="+ansi athena emacs +readline tk X" + +# See bug #205803 +RESTRICT="strip" + +RDEPEND="emacs? ( virtual/emacs ) + readline? ( sys-libs/readline ) + athena? ( x11-libs/libXaw ) + >=dev-libs/gmp-4.1 + tk? ( dev-lang/tk ) + X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) + virtual/latex-base" +DEPEND="${RDEPEND} + virtual/texi2dvi + >=app-text/texi2html-1.64 + >=sys-devel/autoconf-2.52" + +S="${WORKDIR}"/${PN} + +src_prepare() { + mv "${WORKDIR}"/fedora/info/* info/ + cp -p /usr/share/texmf-dist/tex/texinfo/texinfo.tex info/ + find . -type f -perm /0111 | xargs chmod a-x + chmod a+x add-defs add-defs1 config.guess config.sub configure install.sh + chmod a+x bin/info bin/info1 gcl-tk/gcltksrv.in gcl-tk/ngcltksrv mp/gcclab + chmod a+x o/egrep-def utils/replace xbin/* + epatch "${FILESDIR}"/${P}-gcc5.patch + + # fedora patches + epatch "${WORKDIR}"/fedora/fd-leak.patch + epatch "${WORKDIR}"/fedora/latex.patch + epatch "${WORKDIR}"/fedora/texinfo.patch + epatch "${WORKDIR}"/fedora/elisp.patch + epatch "${WORKDIR}"/fedora/selinux.patch + epatch "${WORKDIR}"/fedora/rename.patch + epatch "${WORKDIR}"/fedora/getcwd.patch + epatch "${WORKDIR}"/fedora/plt.patch + epatch "${WORKDIR}"/fedora/ellipsis.patch + epatch "${WORKDIR}"/fedora/infrastructure.patch + epatch "${WORKDIR}"/fedora/extension.patch + epatch "${WORKDIR}"/fedora/unrandomize.patch + epatch "${WORKDIR}"/fedora/asm-signal-h.patch + epatch "${WORKDIR}"/fedora/largefile.patch + epatch "${WORKDIR}"/fedora/arm.patch + + sed -e 's|"-fomit-frame-pointer"|""|' -i configure +} + +src_configure() { + strip-flags + filter-flags -fstack-protector -fstack-protector-all + append-cflags $(test-flags-CC -fgnu89-inline) + + local tcl="" + if use tk; then + tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib" + fi + + econf --enable-dynsysgmp \ + --disable-xdr \ + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl \ + --enable-infodir=/usr/share/info \ + $(use_enable readline) \ + $(use_enable ansi) \ + $(use_enable athena xgcl) \ + $(use_with X x) \ + ${tcl} +} + +src_compile() { + emake -j1 + emake -C info gcl.info + if use athena; then + pushd xgcl-2 > /dev/null + pdflatex dwdoc.tex + popd > /dev/null + fi +} + +src_test() { + local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl" + if use ansi; then + cd ansi-tests + + ( make clean && make test-unixport ) \ + || die "make ansi-tests failed!" + + cat "${FILESDIR}/bootstrap-gcl" \ + | ../unixport/saved_ansi_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ + | ./bootstrapped_ansi_gcl + + ( ${make_ansi_tests_clean} && \ + echo "(load \"gclload.lsp\")" \ + | ./bootstrapped_r_ansi_gcl ) \ + || die "Phase 2, bootstraped compiler failed in tests" + fi +} + +src_install() { + emake DESTDIR="${D}" install + rm -rf "${D}"usr/share/doc + rm -rf "${D}"usr/share/emacs + + rm elisp/add-defaults.el + dodoc readme* RELEASE* ChangeLog* doc/* + doman man/man1/gcl.1 + doinfo info/*.info* + dohtml -r info/gcl-si info/gcl-tk + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el + elisp-install ${PN} elisp/*.el + fi + + insinto /usr/share/doc/${PF} + doins info/*.pdf + if use athena; then + pushd xgcl-2 > /dev/null + insinto /usr/share/doc/${PF} + doins *.pdf + popd > /dev/null + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lisp/gcl/gcl-2.6.8_pre20090419-r1.ebuild b/dev-lisp/gcl/gcl-2.6.8_pre20090419-r1.ebuild deleted file mode 100644 index 1aec398d..00000000 --- a/dev-lisp/gcl/gcl-2.6.8_pre20090419-r1.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -#removing flag-o-matic results in make install failing due to a segfault -inherit elisp-common flag-o-matic - -DESCRIPTION="GNU Common Lisp" -HOMEPAGE="http://www.gnu.org/software/gcl/gcl.html" -SRC_URI="mirror://gentoo/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="+ansi debug doc emacs +readline tk X" - -# See bug #205803 -RESTRICT="strip" - -RDEPEND="emacs? ( virtual/emacs ) - readline? ( sys-libs/readline:0 ) - dev-libs/gmp:0 - tk? ( dev-lang/tk:0 ) - X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) - virtual/latex-base" -DEPEND="${RDEPEND} - doc? ( virtual/texi2dvi ) - >=app-text/texi2html-1.64 - >=sys-devel/autoconf-2.59" - -src_prepare() { - # The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in - # option parsing, it may break. - epatch "${FILESDIR}"/${P}-configure.patch -} - -src_configure() { - local myconfig - if use tk; then - myconfig="${myconfig} --enable-tkconfig=/usr/lib --enable-tclconfig=/usr/lib" - fi - myconfig="${myconfig} \ - --enable-dynsysgmp \ - --disable-xdr - $(use_enable readline) \ - $(use_with X x) \ - $(use_enable debug) \ - $(use_enable ansi)" - - einfo "Configuring with the following: -${myconfig}" - econf ${myconfig} -} - -src_compile() { - emake -j1 - sed -e 's,@EXT@,,g' debian/in.gcl.1 > gcl.1 -} - -src_test() { - local make_ansi_tests_clean="rm -f test.out *.fasl *.o \ - *.so *~ *.fn *.x86f *.fasl *.ufsl" - if use ansi; then - cd ansi-tests - - ( make clean && make test-unixport ) \ - || die "make ansi-tests failed!" - - cat "${FILESDIR}/bootstrap-gcl" \ - | ../unixport/saved_ansi_gcl - - cat "${FILESDIR}/bootstrap-gcl" \ - |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ - | ./bootstrapped_ansi_gcl - - ( ${make_ansi_tests_clean} && \ - echo "(load \"gclload.lsp\")" \ - | ./bootstrapped_r_ansi_gcl ) \ - || die "Phase 2, bootstraped compiler failed in tests" - - else - - ewarn "Upstream provides tests only for ansi-gcl." - ewarn "Please emerge with ansi USE flag enabled" - ewarn "if you wnat to run the ansi tests." - - cat "${FILESDIR}/bootstrap-gcl" \ - | sed s/bootstrapped_ansi_gcl/bootstrapped_gcl/g \ - | unixport/saved_gcl - - cat "${FILESDIR}/bootstrap-gcl" \ - | sed s/bootstrapped_ansi_gcl/bootstrapped_r_gcl/g \ - | ./bootstrapped_gcl - - for x in "./bootstrapped_r_gcl" "unixport/saved_gcl" ; do - echo "(compiler::emit-fn t)" \ - | ${x} \ - || die "Phase 2, bootstraped compiler failed in tests" - done - fi -} - -src_install() { - emake DESTDIR="${D}" install - - # the build system need to be seriously patched - # to install docs into the proper places - rm -rf "${D}"/usr/share/{doc,info,emacs,lib/info} - - if use emacs; then - mv elisp/add-default.el 50${PN}-gentoo.el - elisp-site-file-install 50${PN}-gentoo.el - elisp-install ${PN} elisp/*.el - fi - - if use doc; then - dodoc info/*.dvi - dodoc xgcl-2/dwdoc.pdf - dohtml -r xgcl-2/dwdoc - fi - - dodoc readme* RELEASE* ChangeLog* doc/* - doman gcl.1 - # FIXME: info files are broken: "Cannot find node `Top'" - # OTOH, Konqueror has no problem with them - doinfo info/*.info* -} diff --git a/dev-lisp/gcl/gcl-2.7.0_alpha.ebuild b/dev-lisp/gcl/gcl-2.7.0_alpha.ebuild deleted file mode 100644 index eddb1337..00000000 --- a/dev-lisp/gcl/gcl-2.7.0_alpha.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DEB_PV="84.1" -MY_PN="${PN}cvs" -MY_PV="${PV%_alpha}" -MY_P="${MY_PN}-${MY_PV}" - -DESCRIPTION="GCL is the official Common Lisp for the GNU project." -HOMEPAGE="http://www.gnu.org/software/gcl/" -SRC_URI="mirror://debian/pool/main/g/${MY_PN}/${MY_PN}_${MY_PV}-${DEB_PV}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="+readline +ansi" - -RESTRICT="strip" - -RDEPEND="readline? ( sys-libs/readline:0 ) - dev-libs/gmp:0 - sys-devel/autoconf:2.59" -DEPEND="${RDEPEND} - virtual/latex-base" - -S="${WORKDIR}/${MY_P}" - -src_configure() { - pwd - econf \ - $(use_enable readline) \ - $(use_enable ansi) \ - || die "Configure failed." - - emake -j1 || die "emake failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "emake install failed." -} diff --git a/dev-lisp/gcl/metadata.xml b/dev-lisp/gcl/metadata.xml new file mode 100644 index 00000000..28952c76 --- /dev/null +++ b/dev-lisp/gcl/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-l...@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription> + GCL is the official Common Lisp for the GNU project. Its design + makes use of the system's C compiler to compile to native object + code, providing for both good performance and facile portability. + </longdescription> + <use> + <flag name="ansi">Build a GCL with ANSI support (else build a traditional CLtL1 image)</flag> + <flag name="athena">Build xgcl - an interface to <pkg>x11-libs/libXaw</pkg></flag> + </use> +</pkgmetadata>