diff options
author | Duncan Coutts <dcoutts@gentoo.org> | 2007-07-10 17:20:21 +0000 |
---|---|---|
committer | Duncan Coutts <dcoutts@gentoo.org> | 2007-07-10 17:20:21 +0000 |
commit | be05623cc2b173d2cd992a5ae235595068845361 (patch) | |
tree | 6ac8f630449c79e845f5ab7e34003e02cfaed86b /dev-lang | |
parent | Take maintainership. (diff) | |
download | historical-be05623cc2b173d2cd992a5ae235595068845361.tar.gz historical-be05623cc2b173d2cd992a5ae235595068845361.tar.bz2 historical-be05623cc2b173d2cd992a5ae235595068845361.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 :-).
Package-Manager: portage-2.1.2.9
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ghc-bin/ChangeLog | 7 | ||||
-rw-r--r-- | dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1 | 21 | ||||
-rw-r--r-- | dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1-r1 | 24 | ||||
-rwxr-xr-x | dev-lang/ghc-bin/files/ghc-updater | 329 | ||||
-rw-r--r-- | dev-lang/ghc-bin/ghc-bin-6.4.1-r1.ebuild | 152 | ||||
-rw-r--r-- | dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild | 103 |
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." -} |