forked from hasufell/hasufell-repository
		
	
		
			
	
	
		
			85 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			85 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								# Copyright 2018 Julian Ospald <hasufell@posteo.de>
							 | 
						||
| 
								 | 
							
								# Distributed under the terms of the GNU General Public License v2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								require bash-completion alternatives
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SUMMARY="The Glorious Glasgow Haskell Compilation System"
							 | 
						||
| 
								 | 
							
								DESCRIPTION="
							 | 
						||
| 
								 | 
							
								GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
							 | 
						||
| 
								 | 
							
								language Haskell."
							 | 
						||
| 
								 | 
							
								HOMEPAGE="https://www.haskell.org/ghc/"
							 | 
						||
| 
								 | 
							
								DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-deb7-linux.tar.xz"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LICENCES="BSD-3"
							 | 
						||
| 
								 | 
							
								SLOT="${PV}"
							 | 
						||
| 
								 | 
							
								PLATFORMS="-* ~amd64"
							 | 
						||
| 
								 | 
							
								MYOPTIONS=""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DEPENDENCIES="
							 | 
						||
| 
								 | 
							
								    build+run:
							 | 
						||
| 
								 | 
							
								        dev-lang/perl:*[>=5.6.1]
							 | 
						||
| 
								 | 
							
								        dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
							 | 
						||
| 
								 | 
							
								        sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
							 | 
						||
| 
								 | 
							
								        !dev-lang/ghc [[
							 | 
						||
| 
								 | 
							
								            description = [ Both install the same binaries/libs and alternatives ]
							 | 
						||
| 
								 | 
							
								            resolution = uninstall-blocked-before
							 | 
						||
| 
								 | 
							
								        ]]
							 | 
						||
| 
								 | 
							
								    suggestion:
							 | 
						||
| 
								 | 
							
								        dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
							 | 
						||
| 
								 | 
							
								"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BUGS_TO="hasufell@posteo.de"
							 | 
						||
| 
								 | 
							
								REMOTE_IDS="freecode:${PN}"
							 | 
						||
| 
								 | 
							
								UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								RESTRICT="test"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WORK=${WORKBASE}/ghc-${PV}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								src_configure() {
							 | 
						||
| 
								 | 
							
								    # we are not building, shut up already
							 | 
						||
| 
								 | 
							
								    edo mkdir "${TEMP}"/bin
							 | 
						||
| 
								 | 
							
								    edo ln -s /usr/$(exhost --target)/bin/$(exhost --tool-prefix)ar "${TEMP}/bin/ar"
							 | 
						||
| 
								 | 
							
								    edo ln -s /usr/$(exhost --target)/bin/true "${TEMP}"/bin/strip
							 | 
						||
| 
								 | 
							
								    export PATH="${TEMP}/bin:$PATH"
							 | 
						||
| 
								 | 
							
								    econf \
							 | 
						||
| 
								 | 
							
								        --target=$(exhost --target)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								src_compile() {
							 | 
						||
| 
								 | 
							
								    :
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								src_install() {
							 | 
						||
| 
								 | 
							
								    default
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # bashcomp
							 | 
						||
| 
								 | 
							
								    dobashcompletion "${FILES}/ghc-bash-completion"
							 | 
						||
| 
								 | 
							
								    alternatives_for ghc ${SLOT} ${SLOT} \
							 | 
						||
| 
								 | 
							
								        /usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # some scripts are not versioned, move
							 | 
						||
| 
								 | 
							
								    edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
							 | 
						||
| 
								 | 
							
								    edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
							 | 
						||
| 
								 | 
							
								    edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # remove unversioned symlinks, we create alternatives later
							 | 
						||
| 
								 | 
							
								    local ghc_bin
							 | 
						||
| 
								 | 
							
								    for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
							 | 
						||
| 
								 | 
							
								        edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								    unset ghc_bin
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # create alternatives for scripts/binaries
							 | 
						||
| 
								 | 
							
								    alternatives_for ghc ${SLOT} ${SLOT} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
							 | 
						||
| 
								 | 
							
								        /usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
							 | 
						||
| 
								 | 
							
								}
							 |