diff options
-rw-r--r-- | app-admin/eselect-guile/Manifest | 4 | ||||
-rw-r--r-- | app-admin/eselect-guile/eselect-guile-1.0.ebuild | 30 | ||||
-rw-r--r-- | app-admin/eselect-guile/files/guile.eselect | 245 | ||||
-rw-r--r-- | app-admin/eselect-guile/files/guile.eselect.5 | 94 | ||||
-rw-r--r-- | app-admin/eselect-guile/metadata.xml | 5 | ||||
-rw-r--r-- | dev-scheme/guile/Manifest | 7 | ||||
-rw-r--r-- | dev-scheme/guile/files/guile-1.8.8-fix_guile-config.patch | 14 | ||||
-rw-r--r-- | dev-scheme/guile/guile-1.8.8-r2.ebuild | 116 | ||||
-rw-r--r-- | dev-scheme/guile/guile-2.0.1.ebuild | 17 | ||||
-rw-r--r-- | dev-scheme/guile/guile-999.ebuild | 22 | ||||
-rw-r--r-- | profiles/categories | 1 | ||||
-rw-r--r-- | profiles/package.mask | 2 |
12 files changed, 544 insertions, 13 deletions
diff --git a/app-admin/eselect-guile/Manifest b/app-admin/eselect-guile/Manifest new file mode 100644 index 00000000..ada59c76 --- /dev/null +++ b/app-admin/eselect-guile/Manifest @@ -0,0 +1,4 @@ +AUX guile.eselect 6618 RMD160 166ea2532e4dff03c6e4cd61b991785526559557 SHA1 713d4e423e560eabb8906cbd8162b251d5664595 SHA256 d8901c7f29fee9fa05761448b48eada58aeb9feef7ebc87de4b23c4bb9bfd59a +AUX guile.eselect.5 2149 RMD160 75b9d428d3f5d626e0925c9feb0a00c9e962ee55 SHA1 01770c24437f53686fa0ffab555da1433b7f7445 SHA256 78215b525beef34208ff4737dca0704bedce55b046d5fe17a277e3b990915bf4 +EBUILD eselect-guile-1.0.ebuild 884 RMD160 5685ff68c9ede9238607e212e90d65e16d398183 SHA1 2299063255d32ce7239d9bcae0527d432bb44edb SHA256 7e74aea8f33417582cbde0bdfe265f44603e6f811b1af32e0896538b5c677223 +MISC metadata.xml 159 RMD160 de517ce4d7d6fd637855d92a257e2c94b8339f43 SHA1 f037b0d8dd3d592d04170d21a1a9b9c594541612 SHA256 61c7b86c8f64d194ff9e03f62b4007e0c69db2054d09e3ccdbbf6dbc0c78024b diff --git a/app-admin/eselect-guile/eselect-guile-1.0.ebuild b/app-admin/eselect-guile/eselect-guile-1.0.ebuild new file mode 100644 index 00000000..7c02ad46 --- /dev/null +++ b/app-admin/eselect-guile/eselect-guile-1.0.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="Manage multiple Guile versions on one system" +HOMEPAGE="http://www.gentoo.org/proj/en/lisp/scheme/" +#SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="" + +# Versions prior to guile-1.8.8-r2 aren't properly slotted +DEPEND="" +RDEPEND=">=app-admin/eselect-1.2.6 + !<dev-scheme/guile-1.8.8-r1" + +src_install() { + insinto /usr/share/eselect/modules + doins "${FILESDIR}"/guile.eselect || die + doman "${FILESDIR}"/guile.eselect.5 || die + #dodoc ChangeLog || die +} + +src_test() { :; } + +pkg_prerm() { + eselect guile clean +} diff --git a/app-admin/eselect-guile/files/guile.eselect b/app-admin/eselect-guile/files/guile.eselect new file mode 100644 index 00000000..992fd4a0 --- /dev/null +++ b/app-admin/eselect-guile/files/guile.eselect @@ -0,0 +1,245 @@ +# Copyright 2005-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id: $ +# +# DOCUMENTATION +# Following actions possible +# * show do_show() +# * list do_list() +# * set do_set() +# * update do_update() +# * clean do_clean() +# +# Behaviour: +# do_show(): +# Checks if /usr/bin/guile is a link and if the target exists, +# if yes, it outputs the currently linked Guile version. +# If it is no symlink, the user is told so, the same if there is +# no /usr/bin/guile or the target does not exist. +# do_list(): List all available versions of GNU Guile +# do_set(): Set a version to be target of the symlink. +# do_update(): Set the target to the highest version available +# (optionally: only if not set) +# do_clean(): Remove all set symlinks (for pkg_prerm) + +DESCRIPTION="Manage /usr/bin/guile* versions" +MAINTAINER="scheme@gentoo.org" +SVN_DATE='$Date: $' +VERSION=$(svn_date_to_version "${SVN_DATE}") + +BINARYLIST="guile-snarf guile-config guile-tools guile" +MANPAGELIST="guile" + +find_targets() { + # Return the list of available Guile binaries + local j + for j in "${EROOT}"/usr/bin/guile-[0-9]*; do + [[ -f ${j} ]] && basename ${j} + done +} + +remove_envfile() { + # When cleaning symlinks this takes care of the info documentation settings + rm -f "${EROOT}/etc/env.d/50guile" +} + +# Define GUILE_LOAD_PATH environment variable in env file +set_envfile() { + echo "GUILE_LOAD_PATH=${EPREFIX}/usr/share/guile/$1" >"${EROOT}/etc/env.d/50guile" + [[ -d ${EROOT}/usr/share/info/guile-$1 ]] || return 1 + echo "INFOPATH=${EPREFIX}/usr/share/info/guile-$1" >>"${EROOT}/etc/env.d/50guile" +} + +remove_symlinks() { + # Remove existing symlinks to binaries, man pages, + # m4 file, and the env file (own function) + local f + for f in ${BINARYLIST}; do + rm -f "${EROOT}/usr/bin/${f}" + done + for f in ${MANPAGELIST}; do + rm -f "${EROOT}"/usr/share/man/man1/${f}.1* + done + rm -f "${EROOT}"/usr/share/aclocal/guile.m4 + remove_envfile +} + +set_bin_symlinks() { + # Set symlinks to binaries in /usr/bin/ + local target=${1} f + for f in ${BINARYLIST}; do + # set symlink only if target binary actually exists + if [[ -f ${EROOT}/usr/bin/${f}-${target} ]]; then + ln -s "${f}-${target}" "${EROOT}/usr/bin/${f}" || die \ + "Couldn't set ${f}-${target} ${EROOT}/usr/bin/${f} symlink" + fi + done +} + +set_m4_symlinks() { + # Set symlink to guile.m4 + local target=${1} + if [[ -f ${EROOT}/usr/share/aclocal/guile-${target}.m4 ]]; then + ln -s "guile-${target}.m4" "${EROOT}"/usr/share/aclocal/guile.m4 \ + || die "Couldn't set guile-${target}.m4 guile.m4 symlink" + fi +} + +set_man_symlinks() { + # Set symlinks to man pages + local target=${1} extension f i + for f in ${MANPAGELIST}; do + for i in "${EROOT}"/usr/share/man/man1/${f}-${target}.1*; do + if [[ -f ${i} ]]; then + # target file exists; determine compress extension + extension=${i##*/${f}-${target}.1} + ln -s "${f}-${target}.1${extension}" \ + "${EROOT}/usr/share/man/man1/${f}.1${extension}" + fi + done + done +} + +set_symlinks() { + # Set symlinks to binaries and man pages, update info path + local target=$1 targets major + # target may be specified by its name or its index + if is_number "${target}"; then + # numeric index, find the target's name + targets=( $(find_targets) ) + [[ ${target} -ge 1 && ${target} -le ${#targets[@]} ]] \ + || die -q "Number out of range: ${1}" + target=${targets[target-1]} + fi + + # is the target valid, i.e. does a Guile binary with this name exist? + [[ -f ${EROOT}/usr/bin/${target} ]] \ + || die -q "Target \"${1}\" doesn't appear to be valid!" + + echo "Switching guile to ${target} ..." + remove_symlinks || die -q "Couldn't remove existing symlink" + + major=${target#guile-} + set_bin_symlinks "${major}" + set_m4_symlinks "${major}" + set_man_symlinks "${major}" + set_envfile "${major}" + + # update /etc/profile.env from /etc/env.d files + do_action env update noldconfig + + return 0 +} + +test_for_root() { + # checks if the user has rights to modify /usr/bin/ + [[ -w ${EROOT}/usr/bin ]] || die -q "You need root privileges!" +} + +### show action ### + +describe_show() { + echo "Show the current target of the Guile symlink" +} + +do_show() { + [[ $# -gt 0 ]] && die -q "Too many parameters" + + write_list_start "Current target of Guile symlink:" + if [[ -L ${EROOT}/usr/bin/guile && -e ${EROOT}/usr/bin/guile ]]; then + write_kv_list_entry \ + "$(basename "$(readlink "${EROOT}/usr/bin/guile")")" "" + elif [[ -e ${EROOT}/usr/bin/guile ]]; then + write_kv_list_entry \ + "(not a symlink or target of symlink does not exist)" "" + else + write_kv_list_entry "(unset)" "" + fi +} + +### list action ### + +describe_list() { + echo "List available Guile symlink targets" +} + +do_list() { + [[ $# -gt 0 ]] && die -q "Too many parameters" + + local i targets + targets=( $(find_targets) ) + + for (( i = 0; i < ${#targets[@]}; i++ )); do + # Highlight the currently chosen version + [[ ${targets[i]} = \ + $(basename "$(readlink "${EROOT}/usr/bin/guile")") ]] \ + && targets[i]=$(highlight_marker "${targets[i]}") + done + write_list_start "Available Guile symlink targets:" + write_numbered_list -m "(none found)" "${targets[@]}" +} + +### set action ### + +describe_set() { + echo "Set a new Guile symlink" +} + +describe_set_options() { + echo "target : Target name or number (from 'list' action)" +} + +describe_set_parameters() { + echo "<target>" +} + +do_set() { + [[ -z $1 ]] && die -q "You didn't tell me what to set the symlink to" + [[ $# -gt 1 ]] && die -q "Too many parameters" + test_for_root + + if [[ -e ${EROOT}/usr/bin/guile && ! -L ${EROOT}/usr/bin/guile ]]; then + die -q "${EROOT}/usr/bin/guile exists but is not a symlink" + fi + + set_symlinks "${1}" || die -q "Couldn't set a new symlink" +} + +### update action ### + +describe_update() { + echo "Automatically update the Guile symlink" +} + +describe_update_options() { + echo "ifunset : Do not override currently set version" +} + +do_update() { + [[ -z $1 || $1 = ifunset || $1 = --if-unset ]] || die -q "Usage error" + [[ $# -gt 1 ]] && die -q "Too many parameters" + test_for_root + + if [[ -L ${EROOT}/usr/bin/guile ]]; then + # this is not redundant: "update" is called in pkg_postrm() of guile + # and should clean up any dead symlinks if no valid target exists + remove_symlinks || die -q "Couldn't remove existing symlink" + elif [[ -e ${EROOT}/usr/bin/guile ]]; then + die -q "${EROOT}/usr/bin/guile exists but is not a symlink" + fi + + local targets=( $(find_targets) ) + if [[ ${#targets[@]} -gt 0 ]]; then + set_symlinks "${targets[${#targets[@]}-1]}" \ + || die -q "Couldn't set a new symlink" + fi +} + +### Clean action +describe_clean() { + echo "Remove any existing symlinks" +} + +do_clean() { + remove_symlinks +} diff --git a/app-admin/eselect-guile/files/guile.eselect.5 b/app-admin/eselect-guile/files/guile.eselect.5 new file mode 100644 index 00000000..6740cf40 --- /dev/null +++ b/app-admin/eselect-guile/files/guile.eselect.5 @@ -0,0 +1,94 @@ +.\" Copyright 2007-2011 Gentoo Foundation +.\" Distributed under the terms of the GNU General Public License v2 +.\" $Id: $ +.\" +.TH guile.eselect 5 "August 2011" "Gentoo Linux" eselect +.SH NAME +guile.eselect \- The Guile management module for Gentoo's eselect +.SH SYNOPSIS +.B eselect guile +.RB [ help | usage | version ] +.br +.B eselect guile list +.br +.B eselect guile set +.I target +.br +.B eselect guile show +.br +.B eselect guile update +.RB [ ifunset ] +.SH DESCRIPTION +.B eselect +is Gentoo's configuration and management tool. It features modules +that care for the individual administrative tasks. +.SH ACTION: LIST +.B eselect guile list +.br +List all installed Guile versions + +# eselect guile list +.br +Available Guile symlink targets: +.br + [1] guile-1.8 + [2] guile-2.0 * +.SH ACTION: SET +.B eselect guile set +.I target +.br +Activate the selected Guile version. +.I target +can be either an identification number given by +.B eselect guile list +or the name of one installed version. +.\" To avoid runtime issues with +.\" incompatible byte-code from the previously selected Emacs version, run +.\" .B emacs-updater -a rebuild +.\" to remerge all needed packages. + +# eselect guile set 1 +.br +Switching guile to guile-1.8 ... +.SH ACTION: SHOW +.B eselect guile show +.br +Print the currently activated Guile version. + +# eselect guile show +.br +Current target of Guile symlink: +.br + emacs-1.8 +.SH ACTION: UPDATE +.B eselect guile update +.RB [ ifunset ] +.br +Update the guile symlink to the last available version. If option +.B ifunset +is given, an existing implementation is not overridden. + +The update process consists in creating symlinks for guile's binaries, +man page and aclocal.m4. It also generates an environment file. +The symlinks concerns: +.br +* /usr/bin/guile and /usr/bin/guile-{config,snarf,tools} binaries; +.br +* /usr/share/aclocal/guile.m4; +.br +* guile(1) man page. +.br +The environment file (/etc/env.d/50guile) defines INFOPATH and +GUILE_LOAD_PATH. + +# eselect guile update +.br +Switching guile to guile-2.0 ... +.SH AUTHORS +Christian Faulhammer <fauli@gentoo.org> +.br +Ulrich Mueller <ulm@gentoo.org> +.SH SEE ALSO +.BR eselect (1) +.SH REVISION +$Id: $ diff --git a/app-admin/eselect-guile/metadata.xml b/app-admin/eselect-guile/metadata.xml new file mode 100644 index 00000000..6dc936ce --- /dev/null +++ b/app-admin/eselect-guile/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>scheme</herd> +</pkgmetadata> diff --git a/dev-scheme/guile/Manifest b/dev-scheme/guile/Manifest index 612d1f9d..842d7178 100644 --- a/dev-scheme/guile/Manifest +++ b/dev-scheme/guile/Manifest @@ -1,4 +1,7 @@ AUX 50guile-gentoo.el 74 RMD160 e64895b1e48ca842f32301a2ac68ae099e25844e SHA1 ec3a8ab924b595fc5323eec7c33f938e9d26a911 SHA256 ad625c24e5bb48b001eb4a68d441f10037acf467f5f91f68106c538dbee965b5 +AUX guile-1.8.8-fix_guile-config.patch 494 RMD160 61fcb0ac730a44ef93df26bdd5e6e0ce3b1a2dbf SHA1 5e9132af1dd7ae7394851c1266b6a85419abca31 SHA256 08e4d837a663fc27b037e64f8dd89d89ababb3ed13f1e7845109a0f901f3b0c4 +DIST guile-1.8.8.tar.gz 3956654 RMD160 8ac185a72ad8394b14d5377549e5bbf02889faaa SHA1 548d6927aeda332b117f8fc5e4e82c39a05704f9 SHA256 c3471fed2e72e5b04ad133bbaaf16369e8360283679bcf19800bc1b381024050 DIST guile-2.0.1.tar.gz 6601636 RMD160 7b498f85221a0560978e836b8bc38eb313836bfc SHA1 3276a826f17a5edc0baf2eedc4821a771824141b SHA256 f1198caca27d9de23e9b1cbaf55cbde1915f8a6ee420e2971a6422f9693638d6 -EBUILD guile-2.0.1.ebuild 2321 RMD160 ff946aece738171e84f035159a5c8d4dc5873c37 SHA1 ecb3185baeb7fa784bebd86fbee09994839bd1ce SHA256 c1f85cd53c9125bce93c58362002664c5720feb82206c1acb69c7637b5256dba -EBUILD guile-999.ebuild 2441 RMD160 dd5b66bd69caa140cb5a242ec9863fd515df13fd SHA1 3cac942e2168ce4512e819c128ef41b479e9c9f3 SHA256 6d6036ab9e29f25556d6ded82158e22f5760a5ba0cdc24aa9c0744d93913bcfc +EBUILD guile-1.8.8-r2.ebuild 3237 RMD160 70499936053783ea0ab506870852c410bc896846 SHA1 1e9e81f3ab6ecf1df4160b376063165a37af9069 SHA256 3eb095ed8f5482208e662e1c000116254879a05b43e23249bf2c65056b0d378a +EBUILD guile-2.0.1.ebuild 2773 RMD160 1edc1c88c805240c5165db351b768f3a39affe3f SHA1 8a4b768cdc073dee86d517c6e042e6f328e073a0 SHA256 a18e56fa2dd1b793ea0ecf871fb00ce33234299574b38f8a36704282a43e9eff +EBUILD guile-999.ebuild 2954 RMD160 98b4cee9367c65dea0321b4785709699c92a8715 SHA1 230ec3940923e32c774cd38c50044e5be972107d SHA256 c8036a8052e16bd93955bd377ed2bbff76063c9340d0b1525c4a255f78efbeed diff --git a/dev-scheme/guile/files/guile-1.8.8-fix_guile-config.patch b/dev-scheme/guile/files/guile-1.8.8-fix_guile-config.patch new file mode 100644 index 00000000..2b04426e --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-fix_guile-config.patch @@ -0,0 +1,14 @@ +diff -ruN 1/configure.in 2/configure.in +--- 1/configure.in 2010-12-13 17:24:39.000000000 +0000 ++++ 2/configure.in 2011-04-29 11:53:39.000000000 +0000 +@@ -1522,8 +1522,8 @@ + ####################################################################### + + dnl Tell guile-config what flags guile users should compile and link with. +-GUILE_LIBS="$LDFLAGS $LIBS" +-GUILE_CFLAGS="$CPPFLAGS $PTHREAD_CFLAGS" ++GUILE_LIBS="$LIBS" ++GUILE_CFLAGS="$PTHREAD_CFLAGS" + AC_SUBST(GUILE_LIBS) + AC_SUBST(GUILE_CFLAGS) + diff --git a/dev-scheme/guile/guile-1.8.8-r2.ebuild b/dev-scheme/guile/guile-1.8.8-r2.ebuild new file mode 100644 index 00000000..ffac522d --- /dev/null +++ b/dev-scheme/guile/guile-1.8.8-r2.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/guile-1.8.8-r1.ebuild,v 1.10 2011/07/09 11:18:15 xarthisius Exp $ + +EAPI=3 +inherit eutils autotools flag-o-matic elisp-common + +DESCRIPTION="Scheme interpreter" +HOMEPAGE="http://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.gz" + +LICENSE="LGPL-2.1" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="networking +regex discouraged +deprecated emacs nls debug-freelist debug-malloc debug +threads" +RESTRICT="!regex? ( test )" + +DEPEND=" + app-admin/eselect-guile + >=dev-libs/gmp-4.1 + >=sys-devel/libtool-1.5.6 + sys-devel/gettext + emacs? ( virtual/emacs )" +RDEPEND="${DEPEND}" + +# Guile seems to contain some slotting support, /usr/share/guile/ is slotted, +# but there are lots of collisions. Most in /usr/share/libguile. Therefore +# I'm slotting this in the same slot as guile-1.6* for now. +SLOT="12" +MAJOR="1.8" + +src_prepare() { + # + epatch "${FILESDIR}/${P}-fix_guile-config.patch" + eautoreconf +} + +src_configure() { + # see bug #178499 + filter-flags -ftree-vectorize + + #will fail for me if posix is disabled or without modules -- hkBst + econf \ + --program-suffix="-${MAJOR}" \ + --infodir="${EPREFIX}"/usr/share/info/guile-${MAJOR} \ + --disable-error-on-warning \ + --disable-static \ + --enable-posix \ + $(use_enable networking) \ + $(use_enable regex) \ + $(use deprecated || use_enable discouraged) \ + $(use_enable deprecated) \ + $(use_enable emacs elisp) \ + $(use_enable nls) \ + --disable-rpath \ + $(use_enable debug-freelist) \ + $(use_enable debug-malloc) \ + $(use_enable debug guile-debug) \ + $(use_with threads) \ + --with-modules \ + EMACS=no +} + +src_compile() { + emake || die "make failed" + + # Above we have disabled the build system's Emacs support; + # for USE=emacs we compile (and install) the files manually + if use emacs; then + cd emacs + elisp-compile *.el || die + fi +} + +src_install() { + einstall infodir="${ED}"/usr/share/info/guile-${MAJOR} || die "install failed" + + # Maybe there is a proper way to do this? Symlink handled by eselect + mv "${ED}"/usr/share/aclocal/guile.m4 "${ED}"/usr/share/aclocal/guile-${MAJOR}.m4 || die "rename of guile.m4 failed" + + dodoc AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS || die + + # Now handled by app-admin/eselect-guile + ## texmacs needs this, closing bug #23493 + #dodir /etc/env.d + #echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile + + # necessary for registering slib, see bug 206896 + keepdir /usr/share/guile/site + + if use emacs; then + elisp-install ${PN} emacs/*.{el,elc} || die + elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" || die + fi +} + +pkg_postinst() { + [ "${EROOT}" == "/" ] && pkg_config + use emacs && elisp-site-regen + eselect guile update ifunset +} + +pkg_postrm() { + use emacs && elisp-site-regen + eselect guile update ifunset +} + +pkg_config() { + if has_version dev-scheme/slib; then + einfo "Registering slib with guile" + install_slib_for_guile + fi +} + +_pkg_prerm() { + rm -f "${EROOT}"/usr/share/guile/site/slibcat +} diff --git a/dev-scheme/guile/guile-2.0.1.ebuild b/dev-scheme/guile/guile-2.0.1.ebuild index 74005328..c5b130e8 100644 --- a/dev-scheme/guile/guile-2.0.1.ebuild +++ b/dev-scheme/guile/guile-2.0.1.ebuild @@ -14,6 +14,7 @@ KEYWORDS="~amd64 ~x86" IUSE="networking +regex +deprecated emacs nls debug-malloc debug +threads" DEPEND=" + app-admin/eselect-guile dev-libs/gmp >=sys-devel/libtool-1.5.6 sys-devel/gettext @@ -33,6 +34,8 @@ src_configure() { #will fail for me if posix is disabled or without modules -- hkBst econf \ + --program-suffix="-${MAJOR}" \ + --infodir="${EPREFIX}"/usr/share/info/guile-${MAJOR} \ --disable-error-on-warning \ --disable-static \ --enable-posix \ @@ -61,13 +64,17 @@ src_compile() { } src_install() { - einstall || die "install failed" + einstall infodir="${ED}"/usr/share/info/guile-${MAJOR} || die "install failed" + + # Maybe there is a proper way to do this? Symlink handled by eselect + mv "${ED}"/usr/share/aclocal/guile.m4 "${ED}"/usr/share/aclocal/guile-${MAJOR}.m4 || die "rename of guile.m4 failed" dodoc AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS || die - # texmacs needs this, closing bug #23493 - dodir /etc/env.d - echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile + # Replaced by app-admin/eselect-guile + ## texmacs needs this, closing bug #23493 + #dodir /etc/env.d + #echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile # necessary for registering slib, see bug 206896 keepdir /usr/share/guile/site @@ -81,10 +88,12 @@ src_install() { pkg_postinst() { [ "${EROOT}" == "/" ] && pkg_config use emacs && elisp-site-regen + eselect guile update ifunset } pkg_postrm() { use emacs && elisp-site-regen + eselect guile update ifunset } pkg_config() { diff --git a/dev-scheme/guile/guile-999.ebuild b/dev-scheme/guile/guile-999.ebuild index 7cfd51fd..9b9beaab 100644 --- a/dev-scheme/guile/guile-999.ebuild +++ b/dev-scheme/guile/guile-999.ebuild @@ -19,6 +19,7 @@ KEYWORDS="" IUSE="networking +regex +deprecated emacs nls debug-malloc debug +threads" DEPEND=" + app-admin/eselect-guile dev-libs/gmp >=sys-devel/libtool-1.5.6 sys-devel/gettext @@ -29,8 +30,9 @@ DEPEND=" emacs? ( virtual/emacs )" RDEPEND="${DEPEND}" +# Not 2.2; File colisions with 2.0 on libguilereadline-v-18 SLOT="2" -MAJOR="2.0" +MAJOR="2.2" src_prepare() { # for live ebuilds @@ -45,6 +47,8 @@ src_configure() { #will fail for me if posix is disabled or without modules -- hkBst econf \ + --program-suffix="-${MAJOR}" \ + --infodir="${EPREFIX}"/usr/share/info/guile-${MAJOR} \ --disable-error-on-warning \ --disable-static \ --enable-posix \ @@ -73,13 +77,17 @@ src_compile() { } src_install() { - einstall || die "install failed" + einstall infodir="${ED}"/usr/share/info/guile-${MAJOR} || die "install failed" + + # Maybe there is a proper way to do this? Symlink handled by eselect + mv "${ED}"/usr/share/aclocal/guile.m4 "${ED}"/usr/share/aclocal/guile-${MAJOR}.m4 || die "rename of guile.m4 failed" dodoc AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS || die - # texmacs needs this, closing bug #23493 - dodir /etc/env.d - echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile + # Replaced by app-admin/eselect-guile + ## texmacs needs this, closing bug #23493 + #dodir /etc/env.d + #echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile # necessary for registering slib, see bug 206896 keepdir /usr/share/guile/site @@ -93,10 +101,12 @@ src_install() { pkg_postinst() { [ "${EROOT}" == "/" ] && pkg_config use emacs && elisp-site-regen + eselect guile update ifunset } pkg_postrm() { use emacs && elisp-site-regen + eselect guile update ifunset } pkg_config() { @@ -108,4 +118,4 @@ pkg_config() { _pkg_prerm() { rm -f "${EROOT}"/usr/share/guile/site/slibcat -}
\ No newline at end of file +} diff --git a/profiles/categories b/profiles/categories index 63ff1954..9b79c2c0 100644 --- a/profiles/categories +++ b/profiles/categories @@ -1,3 +1,4 @@ +app-admin app-emacs dev-chicken dev-lisp diff --git a/profiles/package.mask b/profiles/package.mask index bf32fd4c..17f73951 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -6,5 +6,5 @@ # Known issues: # - Broken emacs support (ulm has promised to look) # - doesn't build when boehm-gc is built without threads -# - no SLOTting yet! +=dev-scheme/guile-1.8.8-r2 =dev-scheme/guile-2.0.1 |