summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Coutts <dcoutts@gentoo.org>2007-07-10 17:20:21 +0000
committerDuncan Coutts <dcoutts@gentoo.org>2007-07-10 17:20:21 +0000
commitb4bbb98e0c94e3b56e813dd8e3b4f15211b81c38 (patch)
tree46dfd2a8b845626bf331d2133b4881b7027a5b59 /dev-lang
parentRemove lots of cruft, like ghc-6.4.1, ia64 hacks. Make 6.2.2 work again. (diff)
downloadgentoo-2-b4bbb98e0c94e3b56e813dd8e3b4f15211b81c38.tar.gz
gentoo-2-b4bbb98e0c94e3b56e813dd8e3b4f15211b81c38.tar.bz2
gentoo-2-b4bbb98e0c94e3b56e813dd8e3b4f15211b81c38.zip
Remove ghc-bin-6.4.1 and -r1. Now that we have 6.4.2, we don't need an older version on the 6.4.x branch. This saves about 200M on the mirrors :-).
(Portage version: 2.1.2.9)
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/ghc-bin/ChangeLog7
-rw-r--r--dev-lang/ghc-bin/files/digest-ghc-bin-6.4.121
-rw-r--r--dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1-r124
-rwxr-xr-xdev-lang/ghc-bin/files/ghc-updater329
-rw-r--r--dev-lang/ghc-bin/ghc-bin-6.4.1-r1.ebuild152
-rw-r--r--dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild103
6 files changed, 6 insertions, 630 deletions
diff --git a/dev-lang/ghc-bin/ChangeLog b/dev-lang/ghc-bin/ChangeLog
index f7db94a1fdf2..65b76f49c0f1 100644
--- a/dev-lang/ghc-bin/ChangeLog
+++ b/dev-lang/ghc-bin/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-lang/ghc-bin
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.72 2007/07/10 16:07:00 dcoutts Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.73 2007/07/10 17:20:21 dcoutts Exp $
+
+ 10 Jul 2007; Duncan Coutts <dcoutts@gentoo.org> -ghc-bin-6.4.1.ebuild,
+ -ghc-bin-6.4.1-r1.ebuild:
+ Remove ghc-bin-6.4.1 and -r1. Now that we have 6.4.2, we don't need an older
+ version on the 6.4.x branch.
10 Jul 2007; Duncan Coutts <dcoutts@gentoo.org> ghc-bin-6.4.2.ebuild:
Add a binary for ia64, so mark ~ia64.
diff --git a/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1 b/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1
deleted file mode 100644
index 1e02f719c832..000000000000
--- a/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1
+++ /dev/null
@@ -1,21 +0,0 @@
-MD5 1d0a0e281fd057d1332d4268da49801a ghc-bin-6.4.1-alpha.tbz2 37043978
-RMD160 35b5de80cf635f1cdcda40d8e2a03306f255fdc3 ghc-bin-6.4.1-alpha.tbz2 37043978
-SHA256 6d025031c34c8fb95265f39e373853468c8d7597b06f4af086c1d01b4bcb527e ghc-bin-6.4.1-alpha.tbz2 37043978
-MD5 d7f170508b4c7b5cd40b0d5e92685c1e ghc-bin-6.4.1-amd64.tbz2 17639473
-RMD160 8853c7314b8bf55018c26b5bdda7791347bed7ef ghc-bin-6.4.1-amd64.tbz2 17639473
-SHA256 3204824f51b8a0aa9b91dea58f702f905ba0e77a6d8706bb8e3396e4931bfe17 ghc-bin-6.4.1-amd64.tbz2 17639473
-MD5 75948584ec38b46f2168d869bd860d6e ghc-bin-6.4.1-hppa.tbz2 34152913
-RMD160 3494b88e591ac0ed6d24382d3e57fff56aac4037 ghc-bin-6.4.1-hppa.tbz2 34152913
-SHA256 f55ac99d5075638727995b2c7bc1063f625022917ee9dcb545cfdfd41e5ddd65 ghc-bin-6.4.1-hppa.tbz2 34152913
-MD5 1b54055eaf0c4916da963481fa8b43e7 ghc-bin-6.4.1-ppc.tbz2 25575569
-RMD160 efabde19967193323ed11894930e46554affe14f ghc-bin-6.4.1-ppc.tbz2 25575569
-SHA256 6b212f71d5e466d609c66380b76bd3efdb6bf3bfb13fd781ecea3b5757694787 ghc-bin-6.4.1-ppc.tbz2 25575569
-MD5 1be59597f2a984fd3f69f9e3d076602f ghc-bin-6.4.1-ppc64.tbz2 28245351
-RMD160 45b0498ae5baa5691bed0f78d8d8a32ee25439b9 ghc-bin-6.4.1-ppc64.tbz2 28245351
-SHA256 9421ac68ac5af55da9fb06866bb5afb3ce61bf74aeeb1896f79077bb1dba8e45 ghc-bin-6.4.1-ppc64.tbz2 28245351
-MD5 cd0f80c503e5b4c956d7725c3764718e ghc-bin-6.4.1-sparc.tbz2 31121002
-RMD160 2eeb3b4d8af76978d46daf44831e44ed3b4f5d8a ghc-bin-6.4.1-sparc.tbz2 31121002
-SHA256 36c0f660c5178ae91e8b40fdd8213a52238264217db59c0c4f9ff3dc0179d5e7 ghc-bin-6.4.1-sparc.tbz2 31121002
-MD5 a8c95e84f15acf1cf741a50a773eb626 ghc-bin-6.4.1-x86.tbz2 23234832
-RMD160 9e6ac0880f1d0e38039e7715d7efac81f74496c7 ghc-bin-6.4.1-x86.tbz2 23234832
-SHA256 edaea7c4d2f5da7ce9c4a57c9869af133ca72f25d89f899f26a3dedf82c64d98 ghc-bin-6.4.1-x86.tbz2 23234832
diff --git a/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1-r1 b/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1-r1
deleted file mode 100644
index ef6fef872780..000000000000
--- a/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1-r1
+++ /dev/null
@@ -1,24 +0,0 @@
-MD5 1d0a0e281fd057d1332d4268da49801a ghc-bin-6.4.1-alpha.tbz2 37043978
-RMD160 35b5de80cf635f1cdcda40d8e2a03306f255fdc3 ghc-bin-6.4.1-alpha.tbz2 37043978
-SHA256 6d025031c34c8fb95265f39e373853468c8d7597b06f4af086c1d01b4bcb527e ghc-bin-6.4.1-alpha.tbz2 37043978
-MD5 d7f170508b4c7b5cd40b0d5e92685c1e ghc-bin-6.4.1-amd64.tbz2 17639473
-RMD160 8853c7314b8bf55018c26b5bdda7791347bed7ef ghc-bin-6.4.1-amd64.tbz2 17639473
-SHA256 3204824f51b8a0aa9b91dea58f702f905ba0e77a6d8706bb8e3396e4931bfe17 ghc-bin-6.4.1-amd64.tbz2 17639473
-MD5 75948584ec38b46f2168d869bd860d6e ghc-bin-6.4.1-hppa.tbz2 34152913
-RMD160 3494b88e591ac0ed6d24382d3e57fff56aac4037 ghc-bin-6.4.1-hppa.tbz2 34152913
-SHA256 f55ac99d5075638727995b2c7bc1063f625022917ee9dcb545cfdfd41e5ddd65 ghc-bin-6.4.1-hppa.tbz2 34152913
-MD5 94d4673ccbac4bf449ed1c448260136f ghc-bin-6.4.1-ia64.tbz2 40220699
-RMD160 683e4f56c2a3244947a8658680209aa0ffef90d0 ghc-bin-6.4.1-ia64.tbz2 40220699
-SHA256 c37f32930cfe594b940ca24b85ced1cd5057c801b67666e12b2e38173220b873 ghc-bin-6.4.1-ia64.tbz2 40220699
-MD5 1b54055eaf0c4916da963481fa8b43e7 ghc-bin-6.4.1-ppc.tbz2 25575569
-RMD160 efabde19967193323ed11894930e46554affe14f ghc-bin-6.4.1-ppc.tbz2 25575569
-SHA256 6b212f71d5e466d609c66380b76bd3efdb6bf3bfb13fd781ecea3b5757694787 ghc-bin-6.4.1-ppc.tbz2 25575569
-MD5 1be59597f2a984fd3f69f9e3d076602f ghc-bin-6.4.1-ppc64.tbz2 28245351
-RMD160 45b0498ae5baa5691bed0f78d8d8a32ee25439b9 ghc-bin-6.4.1-ppc64.tbz2 28245351
-SHA256 9421ac68ac5af55da9fb06866bb5afb3ce61bf74aeeb1896f79077bb1dba8e45 ghc-bin-6.4.1-ppc64.tbz2 28245351
-MD5 cd0f80c503e5b4c956d7725c3764718e ghc-bin-6.4.1-sparc.tbz2 31121002
-RMD160 2eeb3b4d8af76978d46daf44831e44ed3b4f5d8a ghc-bin-6.4.1-sparc.tbz2 31121002
-SHA256 36c0f660c5178ae91e8b40fdd8213a52238264217db59c0c4f9ff3dc0179d5e7 ghc-bin-6.4.1-sparc.tbz2 31121002
-MD5 a8c95e84f15acf1cf741a50a773eb626 ghc-bin-6.4.1-x86.tbz2 23234832
-RMD160 9e6ac0880f1d0e38039e7715d7efac81f74496c7 ghc-bin-6.4.1-x86.tbz2 23234832
-SHA256 edaea7c4d2f5da7ce9c4a57c9869af133ca72f25d89f899f26a3dedf82c64d98 ghc-bin-6.4.1-x86.tbz2 23234832
diff --git a/dev-lang/ghc-bin/files/ghc-updater b/dev-lang/ghc-bin/files/ghc-updater
deleted file mode 100755
index 32e3343c88ca..000000000000
--- a/dev-lang/ghc-bin/files/ghc-updater
+++ /dev/null
@@ -1,329 +0,0 @@
-#!/bin/sh
-#
-# This script has been modified by kosmikus and is based on
-# python-updater by liquidx.
-#
-# It tries to update any package that provides a ghc library.
-# This script can be run as many times as you like. It will log the
-# results in /var/log/ghc-updater.log
-#
-# NEW_GHC_VER = new ghc version we are upgrading to
-# PKGS_EXCEPTIONS = packages that should NOT be re-emerged for any reason
-# PKGS_MANUAL = packages that should be re-emerged even if they don't
-# fit the criteria
-#
-# Runtime Variables:
-#
-# PKGS_TO_REMERGE = list of packages we deem to need re-emerging
-# PKGS_OK = list of packages that should be merged without any problems
-# PKGS_MISSING = list of packages that are installed, but cannot be merged
-# because they have been pruned from portage
-# PKGS_MASKED = list of packages that are installed, but masked.
-#
-
-shopt -s nullglob
-
-NEW_GHC_VER=$(ghc --version | sed 's:^.*version ::')
-NEW_GHC_LIBDIR=$(ghc --print-libdir)
-
-PKGS_EXCEPTIONS="dev-lang/ghc dev-lang/ghc-bin"
-PKGS_MANUAL=""
-LOGFILE="/var/log/ghc-updater.log"
-
-# portage variables
-PKG_DBDIR=/var/db/pkg
-
-# moved the portageq checks into a function to make command
-# line parsing immediate
-
-setup_portdir() {
- PORTDIR=`portageq portdir`
- PORTDIR_OVERLAYS=`portageq portdir_overlay`
-}
-
-PRETEND=0
-PKGS_TO_REMERGE=""
-PKGS_COUNT_REMERGE=0
-PORTAGE_PYTHON="/usr/bin/python"
-
-usage() {
- echo "usage: ghc-updater [options]"
- echo " -h, -?, --help help"
- echo " -p, --pretend pretend (don't do anything)"
-}
-
-#
-#
-# Command Line Parsing
-#
-#
-while [ -n "$1" ]; do
- case "$1" in
- -h | -\? | --help)
- usage
- exit 0
- ;;
- -p | --pretend)
- PRETEND=1
- ;;
- *)
- usage
- echo "unrecognised option: $1"
- ;;
- esac
- shift
-done
-
-# load the gentoo-style info macros, but hack to get around
-# it thinking this is an rc script
-EBUILD="1"
-source /sbin/functions.sh
-
-# misc helper functions
-eloginfo() {
- einfo $*
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- (echo "${DATESTRING} - ${*}" >> ${LOGFILE}) 2>/dev/null
-}
-
-elogecho() {
- echo -n " "
- echo $*
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- (echo "${DATESTRING} - ${*}" >> ${LOGFILE}) 2>/dev/null
-}
-
-elogerr() {
- eerror $*
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- (echo "${DATESTRING} ! ${*}" >> ${LOGFILE}) 2>/dev/null
-}
-
-elog() {
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- (echo "${DATESTRING} - ${*}" >> ${LOGFILE}) 2>/dev/null
-}
-
-#
-# Sanity check
-#
-
-setup_portdir
-
-find_in_portdir() {
- local f
- for f in ${PORTDIR} ${PORTDIR_OVERLAYS}; do
- if [[ -f "${f}/${1}" ]]; then
- echo "${f}/${1}"
- return 0
- fi
- done
- return 1
-}
-
-if [ -z "${PORTDIR}" ]; then
- eerror "Unable to proceed. Can not find PORTDIR. Make sure the command:"
- eerror " "
- eerror " portageq portdir"
- eerror " "
- eerror "returns a value. If it doesn't, make sure you have updated to"
- eerror "latest portage version."
- eerror " "
- eerror "Report bugs to http://bugs.gentoo.org/"
- exit 1
-fi
-
-#
-#
-# Find all packages that have installed something in
-# directories of the form
-# /usr/lib/ghc-<version>
-# or similar.
-#
-# /usr/lib/ghc-bin-<version>
-# is included because an old ghc-bin ebuild was buggy and
-# installed to a wrong dir.
-#
-OLD_PACKAGES_DIR=""
-# Exclude new library dir and lib symlinks:
-for d in /{usr,opt/ghc}/lib{,64}/ghc{,-bin}-*; do
- [[ "${d}" == ${NEW_GHC_LIBDIR} ]] || [[ -L ${d%/*} ]] || OLD_PACKAGES_DIR="${OLD_PACKAGES_DIR}${d} "
-done
-
-eloginfo "Starting GHC Updater to $(which ghc), version ${NEW_GHC_VER} :"
-eloginfo "Searching for packages with files in the directories:"
-eloginfo "${OLD_PACKAGES_DIR}"
-
-# iterate thru all the installed package's contents
-for content in `find ${PKG_DBDIR} -name CONTENTS`; do
- # extract the category, package name and package version
- CATPKGVER=$(echo ${content} | sed "s:${PKG_DBDIR}/\(.*\)/CONTENTS:\1:")
-
- # exclude packages that are an exception, like portage and python itself.
- exception=0
- for exp in ${PKGS_EXCEPTIONS}; do
- if [ -n "$(echo ${CATPKGVER} | grep ${exp})" ]; then
- exception=1
- break;
- fi
- done
-
- if [ ${exception} = 1 ]; then
- continue;
- fi
-
- for d in ${OLD_PACKAGES_DIR}; do
- if fgrep "${d}/" ${content} > /dev/null; then
- PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}"
- elogecho "${CATPKGVER} has files in ${d}"
- fi
- done
-done
-
-# now we have to do each emerge seperately because if an installed version
-# does not have the corresponding ebuild in portage, then it will bail.
-
-eloginfo "Calculating Upgrade Package List .."
-
-PKGS_OK=""
-PKGS_MASKED=""
-PKGS_BLOCKED=""
-PKGS_MISSING=""
-
-MASKED_STRING="been masked"
-BLOCKED_STRING="is blocking"
-MISSING_STRING='there are no ebuilds to satisfy'
-
-for pkg in ${PKGS_TO_REMERGE}; do
- emerge_output="$(emerge -p '>='$pkg 2>&1)"
- if $(echo "${emerge_output}" | grep "${MASKED_STRING}" > /dev/null); then
- PKGS_MASKED="${PKGS_MASKED} $pkg"
- elogecho ">=$pkg is masked"
- elif $(echo "${emerge_output}" | grep "${BLOCKED_STRING}" > /dev/null); then
- PKGS_BLOCKED="${PKGS_BLOCKED} $pkg"
- elogecho ">=$pkg is blocked"
- elif $(echo "${emerge_output}" | grep "${MISSING_STRING}" > /dev/null); then
- PKGS_MISSING="${PKGS_MISSING} $pkg"
- elogecho ">=$pkg is missing from portage"
- else
- PKGS_OK="${PKGS_OK} $pkg"
- PKGS_COUNT_REMERGE=$((PKGS_COUNT_REMERGE + 1))
- fi
-done
-
-#
-# Use my super dumb package reordering algorithm that works most of the time
-#
-
-eloginfo "Re-ordering packages to merge .."
-
-DEPSORT=$(find_in_portdir "dev-lang/ghc/files/depsort.py")
-if [[ -z ${DEPSORT} ]]; then
- eerror "Fatal error: File dev-lang/ghc/files/depsort.py in portage tree."
- exit 1
-fi
-PKGS_OK_SORTED="$(${PORTAGE_PYTHON} ${DEPSORT} ${PKGS_OK} | xargs)"
-
-if [[ -n ${PRETEND} ]]; then
- eloginfo "These are the packages that would be merged, in order:"
-else
- eloginfo "Preparing to merge these packages in this order:"
-fi
-for pkg in $PKGS_OK_SORTED; do
- elogecho ">=$pkg"
-done
-
-# we emerge each package seperately to ensure we know exactly which ones might
-# cause an error, and then report it at the end
-
-COUNT=1
-PKGS_FAILED=""
-if [ "${PRETEND}" != "1" ]; then
- for pkg in ${PKGS_OK_SORTED}; do
- eloginfo "Starting to merge ($COUNT/$PKGS_COUNT_REMERGE) $pkg .."
- if ! emerge --oneshot --nodeps '>='$pkg; then
- PKGS_FAILED="${PKGS_FAILED} $pkg"
- elogerr "Failed merging $pkg ($COUNT/$PKGS_COUNT_REMERGE)!"
- fi
- COUNT=$((COUNT+1))
- done
-fi
-
-# final output stuff
-OUTPUT_PKGS_MASKED=""
-for pkg in ${PKGS_MASKED}; do OUTPUT_PKGS_MASKED="${OUTPUT_PKGS_MASKED} '>='$pkg"; done
-OUTPUT_PKGS_BLOCKED=""
-for pkg in ${PKGS_BLOCKED}; do OUTPUT_PKGS_BLOCKED="${OUTPUT_PKGS_BLOCKED} $pkg"; done
-OUTPUT_PKGS_MISSING=""
-for pkg in ${PKGS_MISSING}; do OUTPUT_PKGS_MISSING="${OUTPUT_PKGS_MISSING} $pkg"; done
-OUTPUT_PKGS_FAILED=""
-for pkg in ${PKGS_FAILED}; do OUTPUT_PKGS_FAILED="${OUTPUT_PKGS_FAILED} '>='$pkg"; done
-
-if [ -n "${PKGS_FAILED}" -o -n "${PKGS_MISSING}" -o -n "${PKGS_MASKED}" ]; then
- echo
- ewarn "************************************************************"
- ewarn "* Packages that still need to be manually emerged : *"
- ewarn "************************************************************"
- if [ -n "${OUTPUT_PKGS_MASKED}" ]; then
- echo
- ewarn " Masked Packages:"
- ewarn " ----------------"
- ewarn " Unmask the following packages (at your own risk) and "
- ewarn " emerge them using this command after removing the '-p'"
- ewarn " parameter."
- echo
- ewarn " emerge -p ${OUTPUT_PKGS_MASKED}"
- echo
- fi
- if [ -n "${OUTPUT_PKGS_BLOCKED}" ]; then
- echo
- ewarn " Blocked Packages:"
- ewarn " -----------------"
- ewarn " These packages are currently blocked; they might not yet"
- ewarn " be compatible with the current ghc. You can run ghc-updater"
- ewarn " again at a later time."
- echo
- for x in ${OUTPUT_PKGS_BLOCKED}; do
- echo " ${x}"
- done
- fi
- if [ -n "${OUTPUT_PKGS_MISSING}" ]; then
- echo
- ewarn " Missing Packages:"
- ewarn " -----------------"
- ewarn " These packages cannot be updated because they do not exist"
- ewarn " in portage anymore."
- echo
- for x in ${OUTPUT_PKGS_MISSING}; do
- echo " ${x}"
- done
- fi
- if [ -n "${OUTPUT_PKGS_FAILED}" ]; then
- echo
- ewarn " Failed Packages:"
- ewarn " ----------------"
- ewarn " These packages have failed and need to be re-emerged again."
- ewarn " Alternatively, try re-running this script again to see if it"
- ewarn " can be fixed."
- echo
- ewarn " emerge -p ${OUTPUT_PKGS_FAILED}"
- echo
- fi
-
- elog "Python update completed with errors."
- elog "Masked Packages:"
- for x in ${PKGS_MASKED}; do
- elog $x
- done
- elog "Missing Packages:"
- for x in ${PKGS_MISSING}; do
- elog $x
- done
- elog "Failed Packages:"
- for x in ${PKGS_FAILED}; do
- elog $x
- done
- elog "Update script completed."
-else
- eloginfo "GHC update completed successfully."
-fi
diff --git a/dev-lang/ghc-bin/ghc-bin-6.4.1-r1.ebuild b/dev-lang/ghc-bin/ghc-bin-6.4.1-r1.ebuild
deleted file mode 100644
index 07b26d99a071..000000000000
--- a/dev-lang/ghc-bin/ghc-bin-6.4.1-r1.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ghc-bin-6.4.1-r1.ebuild,v 1.5 2007/07/02 14:41:42 peper Exp $
-
-# Note to users of hardened gcc-3.x:
-#
-# If you emerge ghc-bin with hardened gcc it should work fine (because
-# we turn off the hardened features that would otherwise break ghc).
-# However, emerging ghc-bin while using a vanilla gcc and then switching
-# to hardened gcc (using gcc-config) will leave you with a broken ghc. To
-# fix it you would need to either switch back to vanilla gcc or re-emerge
-# ghc-bin (or ghc). Note that also if you are using hardened gcc-3.x and
-# you switch to gcc-4.x that this will also break ghc and you'll need to
-# re-emerge ghc-bin (or ghc). People using vanilla gcc can switch between
-# gcc-3.x and 4.x with no problems.
-
-inherit base multilib flag-o-matic toolchain-funcs ghc-package
-
-DESCRIPTION="Glasgow Haskell Compiler"
-HOMEPAGE="http://www.haskell.org/ghc/"
-# list all arches for proper digest building:
-SRC_URI="alpha? ( mirror://gentoo/${P}-alpha.tbz2 )
- amd64? ( mirror://gentoo/${P}-amd64.tbz2 )
- hppa? ( mirror://gentoo/${P}-hppa.tbz2 )
- ia64? ( mirror://gentoo/${P}-ia64.tbz2 )
- ppc? ( mirror://gentoo/${P}-ppc.tbz2 )
- ppc64? ( mirror://gentoo/${P}-ppc64.tbz2 )
- sparc? ( mirror://gentoo/${P}-sparc.tbz2 )
- x86? ( mirror://gentoo/${P}-x86.tbz2 )"
-
-LICENSE="as-is"
-KEYWORDS="-* ~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-SLOT="0"
-IUSE="" # use the non-binary version if you want to have more choice
-
-RESTRICT="strip" # already stripped
-
-LOC="/opt/ghc"
-
-DEPEND=""
-RDEPEND=">=dev-lang/perl-5.6.1
- >=sys-devel/gcc-2.95.3
- >=dev-libs/gmp-4.1
- =sys-libs/readline-5*"
-
-PROVIDE="virtual/ghc"
-
-S="${WORKDIR}"
-
-append-ghc-cflags() {
- local flag compile assemble link
- for flag in $*; do
- case ${flag} in
- compile) compile="yes";;
- assemble) assemble="yes";;
- link) link="yes";;
- *)
- [[ ${compile} ]] && GHC_CFLAGS="${GHC_CFLAGS} -optc${flag}"
- [[ ${assemble} ]] && GHC_CFLAGS="${GHC_CFLAGS} -opta${flag}"
- [[ ${link} ]] && GHC_CFLAGS="${GHC_CFLAGS} -optl${flag}";;
- esac
- done
-}
-
-ghc_setup_cflags() {
- # We need to be very careful with the CFLAGS we ask ghc to pass through to
- # gcc. There are plenty of flags which will make gcc produce output that
- # breaks ghc in various ways. The main ones we want to pass through are
- # -mcpu / -march flags. These are important for arches like alpha & sparc.
- # We also use these CFLAGS for building the C parts of ghc, ie the rts.
- strip-flags
- strip-unsupported-flags
- filter-flags -fPIC
-
- GHC_CFLAGS=""
- for flag in ${CFLAGS}; do
- case ${flag} in
-
- # Ignore extra optimisation (ghc passes -O to gcc anyway)
- # -O2 and above break on too many systems
- -O*) ;;
-
- # Arch and ABI flags are what we're really after
- -m*) append-ghc-cflags compile assemble ${flag};;
-
- # Debugging flags don't help either. You can't debug Haskell code
- # at the C source level and the mangler discards the debug info.
- -g*) ;;
-
- # Ignore all other flags, including all -f* flags
- esac
- done
-
- # hardened-gcc needs to be disabled, because the mangler doesn't accept
- # its output.
- gcc-specs-pie && append-ghc-cflags compile link -nopie
- gcc-specs-ssp && append-ghc-cflags compile -fno-stack-protector
-
- # We also add -Wa,--noexecstack to get ghc to generate .o files with
- # non-exectable stack. This it a hack until ghc does it itself properly.
- append-ghc-cflags assemble "-Wa,--noexecstack"
-}
-
-ghc_setup_wrapper() {
- echo '#!/bin/bash'
- echo "GHCBIN=\"${LOC}/$(get_libdir)/ghc-$1/ghc-$1\";"
- echo "TOPDIROPT=\"-B${LOC}/$(get_libdir)/ghc-$1\";"
- echo "GHC_CFLAGS=\"${GHC_CFLAGS}\";"
- echo '# Mini-driver for GHC'
- echo 'exec $GHCBIN $TOPDIROPT $GHC_CFLAGS ${1+"$@"}'
-}
-
-src_unpack() {
- base_src_unpack
-
- # Setup the ghc wrapper script
- ghc_setup_cflags
- ghc_setup_wrapper ${PV} > "${S}/usr/bin/ghc-${PV}"
-
- # Relocate from /usr to /opt/ghc
- sed -i -e "s|/usr|${LOC}|g" \
- "${S}/usr/bin/ghci-${PV}" \
- "${S}/usr/bin/ghc-pkg-${PV}" \
- "${S}/usr/bin/hsc2hs" \
- "${S}/usr/$(get_libdir)/ghc-${PV}/package.conf"
-
- sed -i -e "s|/usr/$(get_libdir)|${LOC}/$(get_libdir)|" \
- "${S}/usr/bin/ghcprof"
-
- # Fix to remove CFLAGS that were accidentally added to the ghci wrapper
- sed -i -e '$s|-optc[a-z-]*||g' "${S}/usr/bin/ghci-${PV}"
-}
-
-src_compile() {
- true
-}
-
-src_install () {
- mkdir "${D}/opt"
- mv "${S}/usr" "${D}/opt/ghc"
-
- doenvd "${FILESDIR}/10ghc"
-}
-
-pkg_postinst () {
- ghc-reregister
- ewarn "IMPORTANT:"
- ewarn "If you have upgraded from another version of ghc-bin or"
- ewarn "if you have switched from ghc to ghc-bin, please run:"
- ewarn " /opt/ghc/sbin/ghc-updater"
- ewarn "to re-merge all ghc-based Haskell libraries."
-}
diff --git a/dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild b/dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild
deleted file mode 100644
index 30a40c3fff90..000000000000
--- a/dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild,v 1.16 2007/07/02 14:41:42 peper Exp $
-
-inherit base multilib ghc-package
-
-DESCRIPTION="Glasgow Haskell Compiler"
-HOMEPAGE="http://www.haskell.org/ghc/"
-# list all arches for proper digest building:
-SRC_URI="x86? ( mirror://gentoo/${P}-x86.tbz2 )
- amd64? ( mirror://gentoo/${P}-amd64.tbz2 )
- alpha? ( mirror://gentoo/${P}-alpha.tbz2 )
- hppa? ( mirror://gentoo/${P}-hppa.tbz2 )
- sparc? ( mirror://gentoo/${P}-sparc.tbz2 )
- ppc? ( mirror://gentoo/${P}-ppc.tbz2 )
- ppc64? ( mirror://gentoo/${P}-ppc64.tbz2 )"
-
-LICENSE="as-is"
-KEYWORDS="~alpha amd64 ~hppa ppc ppc64 sparc x86"
-SLOT="0"
-IUSE="" # use the non-binary version if you want to have more choice
-
-RESTRICT="strip" # already stripped
-
-LOC="/opt/ghc"
-
-DEPEND=""
-RDEPEND=">=dev-lang/perl-5.6.1
- >=sys-devel/gcc-2.95.3
- >=dev-libs/gmp-4.1
- =sys-libs/readline-5*"
-
-PROVIDE="virtual/ghc"
-
-S="${WORKDIR}"
-
-src_unpack() {
- base_src_unpack
- cd "${S}"
-
- # relocate from /usr to /opt/ghc
- sed -i -e "s|/usr|${LOC}|g" \
- usr/bin/ghc-${PV} usr/bin/ghci-${PV} usr/bin/ghc-pkg-${PV} \
- usr/bin/hsc2hs usr/$(get_libdir)/ghc-${PV}/package.conf
-
- sed -i -e "s|/usr/$(get_libdir)|${LOC}/$(get_libdir)|" \
- usr/bin/ghcprof
-
- # fix hardened gcc flags in the ghc driver script
- if grep -q GHC_CFLAGS usr/bin/ghc; then
- # Note! this will not be needed in the next version because the
- # ghc-bin .tbz2 files will have been generated from a version of
- # the ghc ebuild which inserted the right flags into the right files
- ewarn "QA: ghc driver script does not need fixing for this version!"
- else
- # We start by removing all the previous -optc-* flags.
- # Then we add $GHC_CFLAGS to the exec line. We replace a line that
- # never needed to be there in the first place (ie '#!/bin/bash') with
- # our line for setting GHC_CFLAGS= to the right set of flags.
- GHC_CFLAGS="-optc-nopie -optl-nopie -optc-fno-stack-protector"
- sed -i -e '$s|-optc[a-z-]*||g' \
- -e 's|${TOPDIROPT}|${TOPDIROPT} ${GHC_CFLAGS}|' \
- -e "s|#!/bin/bash|GHC_CFLAGS=\"${GHC_CFLAGS}\"|" \
- usr/bin/ghc-${PV}
-
- # For ghci we don't need these C flags at all
- sed -i -e '$s|-optc[a-z-]*||g' \
- -e 's|#!/bin/bash||' \
- usr/bin/ghci-${PV}
-
- # We also change /bin/sh to /bin/bash in all the driver scripts since
- # we think /sbin/sh can't handle ${1+"$@"}. Again, this will be fixed
- # in the next rebuild of the ghc-bin .tbz2 files.
- sed -i -e "s|/bin/sh|/bin/bash|" \
- usr/bin/ghc-${PV} usr/bin/ghci-${PV} usr/bin/ghc-pkg-${PV}
- fi
-}
-
-src_compile() {
- mkdir -p ./${LOC}
- mv usr/* ./${LOC}
- rmdir usr
-}
-
-src_install () {
- mv * "${D}"
-
- # remove this local copy of ghc-updater next time the .tbz2 files
- # are rebuilt, since then we'll pick up the fix from the ghc ebuild
- into /opt/ghc
- dosbin ${FILESDIR}/ghc-updater
-
- doenvd "${FILESDIR}/10ghc"
-}
-
-pkg_postinst () {
- ghc-reregister
- ewarn "IMPORTANT:"
- ewarn "If you have upgraded from another version of ghc-bin or"
- ewarn "if you have switched from ghc to ghc-bin, please run:"
- ewarn " /opt/ghc/sbin/ghc-updater"
- ewarn "to re-merge all ghc-based Haskell libraries."
-}