| 
									
										
										
										
											2018-08-25 11:04:12 +00:00
										 |  |  | # 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 ] ]] | 
					
						
							| 
									
										
										
										
											2018-09-22 06:47:32 +00:00
										 |  |  |         !dev-lang/GHC [[ | 
					
						
							|  |  |  |             description = [ different provider ] | 
					
						
							|  |  |  |             resolution = uninstall-blocked-after | 
					
						
							|  |  |  |         ]] | 
					
						
							| 
									
										
										
										
											2018-08-25 11:04:12 +00:00
										 |  |  |         !dev-lang/ghc [[ | 
					
						
							|  |  |  |             description = [ Both install the same binaries/libs and alternatives ] | 
					
						
							|  |  |  |             resolution = uninstall-blocked-before | 
					
						
							|  |  |  |         ]] | 
					
						
							|  |  |  |     suggestion: | 
					
						
							| 
									
										
										
										
											2018-08-25 11:14:22 +00:00
										 |  |  |         dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]] | 
					
						
							| 
									
										
										
										
											2018-08-25 11:04:12 +00:00
										 |  |  |         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" | 
					
						
							|  |  |  |     edo ./configure \
 | 
					
						
							|  |  |  |         --prefix=/usr/x86_64-pc-linux-gnu \
 | 
					
						
							|  |  |  |         --datadir=/usr/share \
 | 
					
						
							|  |  |  |         --datarootdir=/usr/share \
 | 
					
						
							|  |  |  |         --docdir=/usr/share/doc/ghc-bin-${PV} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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} | 
					
						
							|  |  |  | } |