From b7adadd57cfb7af7a71b3ba6920224cb5e59a5d6 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Sun, 5 Dec 2010 17:32:43 +0100 Subject: [PATCH] looks good :) --- .gitignore | 2 +- ghc/PKGBUILD | 6 +- ghc/config.mk | 784 ++++++++++++++++++++++++ haskell-mtl/PKGBUILD | 4 +- haskell-utf8-string/PKGBUILD | 6 +- haskell-x11-xft/PKGBUILD | 31 + haskell-x11-xft/haskell-x11-xft.install | 14 + haskell-x11/PKGBUILD | 15 +- xmonad-contrib/PKGBUILD | 14 +- xmonad/PKGBUILD | 12 +- 10 files changed, 862 insertions(+), 26 deletions(-) create mode 100644 ghc/config.mk create mode 100644 haskell-x11-xft/PKGBUILD create mode 100644 haskell-x11-xft/haskell-x11-xft.install diff --git a/.gitignore b/.gitignore index 2a159c9..3f85d47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ */pkg */src -*.tar.* +*.tar* diff --git a/ghc/PKGBUILD b/ghc/PKGBUILD index 0b6daa1..5fefe13 100644 --- a/ghc/PKGBUILD +++ b/ghc/PKGBUILD @@ -54,12 +54,13 @@ backup=(usr/lib/ghc-6.12.3/package.conf) install=ghc.install source=("http://darcs.haskell.org/download/dist/$pkgver/$pkgname-$pkgver-src.tar.bz2" \ - build.mk) + build.mk config.mk) build() { cd $srcdir/$pkgname-$pkgver cp $srcdir/build.mk mk/build.mk + cp $srcdir/config.mk mk/config.mk ./configure --prefix=/usr make -j1 || return 1 @@ -68,4 +69,5 @@ build() { install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/ghc/license } md5sums=('4c2663c2eff833d7b9f39ef770eefbd6' - '5a3e0880c80b1dcecf779ff2e63a9c0d') + '5a3e0880c80b1dcecf779ff2e63a9c0d' + '0a9925d9710696d260bc9338ca7d39cf') diff --git a/ghc/config.mk b/ghc/config.mk new file mode 100644 index 0000000..f4ee47a --- /dev/null +++ b/ghc/config.mk @@ -0,0 +1,784 @@ +# -*-makefile-*- +# mk/config.mk. Generated from config.mk.in by configure. +# +################################################################################ +# +# config.mk.in +# +# This file supplies defaults for many tweakable build configuration +# options. Some of the defaults are filled in by the autoconf-generated +# configure script. +# +# DO NOT EDIT THIS FILE! +# +# - config.mk is auto-generated from config.mk.in by configure. +# If you edit config.mk your changes will be spammed. +# +# - Settings in this file may be overriden by giving replacement +# definitions in build.mk. See build.mk.sample for a good +# starting point for a build.mk file. +# +# If you don't have a build.mk file then you get defaults for everything. +# The defaults should provide a reasonable vanilla build. + +# TOP: the top of the fptools hierarchy, absolute path. +# On Windows this is a c:/foo/bar style path. +TOP = /home/lewurm/abs/ghc/src/ghc-6.12.3 + +include $(TOP)/mk/project.mk + +################################################################################ +# +# Global configuration options +# +################################################################################ + +# BootingFromHc - build GHC and the libraries from .hc files? +# (unregisterised only) +BootingFromHc = NO + +NO_INCLUDE_DEPS = NO +NO_INCLUDE_PKGDATA = NO + +# Should we build latex docs? +LATEX_DOCS = NO + +# Mac OS X deployment target (to cross-compile for older OS versions) +# +MACOSX_DEPLOYMENT_VERSION = +MACOSX_DEPLOYMENT_SDK = + +ifneq "$(MACOSX_DEPLOYMENT_VERSION)" "" +MACOSX_DEPLOYMENT_CC_OPTS = -mmacosx-version-min=$(MACOSX_DEPLOYMENT_VERSION) \ + -isysroot $(MACOSX_DEPLOYMENT_SDK) \ + --no-builtin-fprintf +MACOSX_DEPLOYMENT_LD_OPTS = -mmacosx-version-min=$(MACOSX_DEPLOYMENT_VERSION) \ + -Wl,-syslibroot,$(MACOSX_DEPLOYMENT_SDK) +# We don't extend SRC_CC_OPTS and friends here directly, as (a) they may get +# overwritten in build.mk and (b) we must not use the deployment options in +# stage 1 or we get a linker error if the bootstrap compiler is for a more +# recent OS version. +# +# We need --no-builtin-fprintf, as the use of the builtin function optimisation +# for fprintf together with #include "PosixSource" in the RTS leads to the +# use of fwrite$UNIX2003 (with GCC 4.0.1 on Mac OS X 10.5.2). +endif + +################################################################################ +# +# Variables that control how the compiler itself is built +# +################################################################################ + +# The compiler used to build GHC is $(GHC). To change the actual compiler +# used, re-configure with --with-ghc=. + +# Extra ways in which to build the compiler (for example, you might want to +# build a profiled compiler so you can see where it spends its time) +GhcCompilerWays= + +# Extra option flags to pass to the compiler that compiles the compiler +# (Ones that are essential are wired into compiler/Makefile) +# Typical options to use here: +# +# -DDEBUG include debugging code and assertions (will make the +# compiler slower and produce debugging output, but useful +# for development) +# +# -dcore-lint check the types after every pass of the compiler; +# a pretty strong internal check of the compiler being +# used to compile GHC. Useful when bootstrapping. +GhcHcOpts=-Rghc-timing + +# Extra options added to specific stages of the compiler bootstrap. +# These are placed later on the command line, and may therefore +# override options from $(GhcHcOpts). +GhcStage1HcOpts= +GhcStage2HcOpts=-O2 +GhcStage3HcOpts=-O2 + +GhcProfiled=NO +GhcDebugged=NO +GhcLibProfiled=$(if $(filter p,$(GhcLibWays)),YES,NO) + +# Do we support shared libs? +PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),i386-unknown-linux x86_64-unknown-linux i386-unknown-freebsd x86_64-unknown-freebsd powerpc-unknown-linux),YES,NO) + +# ToDo later: +# BuildStaticLibs=@BuildStaticLibs@ + +# Build a compiler that will build *unregisterised* libraries and +# binaries by default. Unregisterised code is supposed to compile and +# run without any support for architecture-specific assembly mangling, +# register assignment or tail-calls, and is therefore a good way to get +# started when porting GHC to new architectures. +# +# If this is set to NO, you can still use the unregisterised way +# (way 'u') to get unregisterised code, but the default way will be +# registerised. +# +# NOTE: the stage1 compiler will be a registerised binary (assuming +# the compiler you build with is generating registerised binaries), but +# the stage2 compiler will be an unregisterised binary. +# +ifneq "$(findstring $(HostArch_CPP), alpha hppa)" "" +GhcUnregisterised=YES +else +GhcUnregisterised=NO +endif + +# Build a compiler with a native code generator backend +# (as well as a C backend) +# +# Target platforms supported: +# i386, powerpc +# AIX is not supported +ArchSupportsNCG=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 powerpc sparc))) +OsSupportsNCG=$(strip $(patsubst $(HostOS_CPP), YES, $(patsubst aix,,$(HostOS_CPP)))) + +# lazy test, because $(GhcUnregisterised) might be set in build.mk later. +GhcWithNativeCodeGen=$(strip\ + $(if $(filter YESYESNO,\ + $(OsSupportsNCG)$(ArchSupportsNCG)$(GhcUnregisterised)),YES,NO)) + +HaveLibDL = YES + +# ArchSupportsSMP should be set iff there is support for that arch in +# includes/stg/SMP.h +ArchSupportsSMP=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 sparc powerpc))) + +# lazy test, because $(GhcUnregisterised) might be set in build.mk later. +GhcWithSMP=$(strip $(if $(filter YESNO, $(ArchSupportsSMP)$(GhcUnregisterised)),YES,NO)) + +# Whether to include GHCi in the compiler. Depends on whether the RTS linker +# has support for this OS/ARCH combination. + +OsSupportsGHCi=$(strip $(patsubst $(HostOS_CPP), YES, $(findstring $(HostOS_CPP), mingw32 cygwin32 linux solaris2 freebsd dragonfly netbsd openbsd darwin))) +ArchSupportsGHCi=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 powerpc sparc sparc64))) + +ifeq "$(OsSupportsGHCi)$(ArchSupportsGHCi)" "YESYES" +GhcWithInterpreter=YES +else +GhcWithInterpreter=NO +endif + +# GhcEnableTablesNextToCode tells us whether the target architecture +# supports placing info tables directly before the entry code +# (see TABLES_NEXT_TO_CODE in the RTS). Whether we actually compile for +# TABLES_NEXT_TO_CODE depends on whether we're building unregisterised +# code or not, which may be decided by options to the compiler later. +ifneq "$(findstring $(TargetArch_CPP)X, ia64X powerpc64X)" "" +GhcEnableTablesNextToCode=NO +else +GhcEnableTablesNextToCode=YES +endif + +# Whether to use libffi for adjustors (foreign import "wrapper") or +# not. If we have built-in support (rts/Adjustor.c) then we use that, +# otherwise we fall back on libffi, which is slightly slower. +ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 alpha powerpc ia64,),YES,NO)) +ifeq "$(ArchHasAdjustorSupport)" "YES" +UseLibFFIForAdjustors=NO +else +UseLibFFIForAdjustors=YES +endif + +# On Windows we normally want to make a relocatable bindist, to we +# ignore flags like libdir +ifeq "$(Windows)" "YES" +RelocatableBuild = YES +else +RelocatableBuild = NO +endif + +# needs to be after $(RelocatableBuild) is set above +include $(TOP)/mk/install.mk + +# When building bindists we set this to yes so that the binaries are as +# portable as possible. +BeConservative = NO + +# +# Building various ways? +# (right now, empty if not). +BuildingParallel=$(subst mp,YES,$(filter mp,$(WAYS))) +BuildingGranSim=$(subst mg,YES,$(filter mg,$(WAYS))) + +#------------------------------------------------------------------------------ +# Options for Libraries + +# Which directory (in libraries/) contains the integer library? +INTEGER_LIBRARY=integer-gmp + +# We build the libraries at least the "vanilla" way (way "v") +GhcLibWays = v + +# In addition to the normal sequential way, the default is to also build +# profiled prelude libraries unless we are booting from .hc files +ifneq "$(BootingFromHc)" "YES" +GhcLibWays += p +endif + +ifeq "$(PlatformSupportsSharedLibs)" "YES" +GhcLibWays += dyn +endif + +# Handy way to test whether we're building shared libs or not. +BuildSharedLibs=$(strip $(if $(findstring dyn,$(GhcLibWays)),YES,NO)) + +# In addition, the RTS is built in some further variations. Ways that +# make sense here: +# +# thr : threaded +# thr_p : threaded profiled +# debug : debugging (compile with -g for the C compiler, and -DDEBUG) +# debug_p : debugging profiled +# thr_debug : debugging threaded +# thr_debug_p : debugging threaded profiled +# l : event logging +# thr_l : threaded and event logging +# +GhcRTSWays=l + +# Usually want the debug version +ifeq "$(BootingFromHc)" "NO" +GhcRTSWays += debug +endif + +# Want the threaded versions unless we're unregisterised +# Defer the check until later by using $(if..), because GhcUnregisterised might +# be set in build.mk, which hasn't been read yet. +GhcRTSWays += $(if $(findstring NO, $(GhcUnregisterised)),thr thr_debug thr_l,) +GhcRTSWays += $(if $(findstring p, $(GhcLibWays)),$(if $(findstring NO, $(GhcUnregisterised)),thr_p,),) +GhcRTSWays += $(if $(findstring dyn, $(GhcLibWays)), dyn debug_dyn $(if $(findstring NO, $(GhcUnregisterised)),thr_dyn thr_debug_dyn),) + +# We can only build GHCi threaded if we have a threaded RTS: +GhcThreaded = $(if $(findstring thr,$(GhcRTSWays)),YES,NO) + +# Option flags to pass to GHC when it's compiling modules in +# fptools/libraries. Typically these are things like -O or +# -dcore-lint or -H32m. The ones that are *essential* are wired into +# the build system. +# +# -O(2) is pretty desirable, otherwise no inlining of prelude +# things (incl "+") happens when compiling with this compiler +# +# -XGenerics switches on generation of support code for +# derivable type classes. This is now off by default, +# but we switch it on for the libraries so that we generate +# the code in case someone importing wants it + +GhcLibHcOpts=-O2 -XGenerics + +# Strip local symbols from libraries? This can make the libraries smaller, +# but makes debugging somewhat more difficult. Doesn't work with all ld's. +# +StripLibraries=NO + +# These are the URL patterns that Haddock uses to generate the "Source +# File" links on each page. +PackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE} + +# ---------------------------------------------------------------------------- +# Object-file splitting +# +# Set SplitObjs=YES or NO in your build.mk +# +# Don't use -split-objs in in GhcLibHcOpts, because the build +# system needs to do other special magic if you are +# doing object-file splitting + +ArchSupportsSplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO)) + +# lazy test, so that $(GhcUnregisterised) can be set in build.mk +SupportsSplitObjs=$(strip $(if $(filter YES,$(ArchSupportsSplitObjs)),\ + $(if $(filter NO,$(BootingFromHc)),\ + $(if $(filter NO,$(GhcUnregisterised)),\ + YES,\ + NO),\ + NO),\ + NO)) + +# By default, enable SplitObjs for the libraries if this build supports it +SplitObjs=$(SupportsSplitObjs) + +# .NET interop support? +# +DotnetSupport=NO + +# Build unix package? +# +GhcLibsWithUnix=YES + +CHECK_PACKAGES = NO + +# ---------------------------------------------------------------------------- +# Options for GHC's RTS + +# For an optimised RTS (you probably don't want to change these; we build +# a debugging RTS by default now. Use -debug to get it). +GhcRtsHcOpts=-optc-O2 +GhcRtsCcOpts=-fomit-frame-pointer + +# Include the front panel code? Needs GTK+. +GhcRtsWithFrontPanel = NO + +# Include support for CPU performance counters via the PAPI library in the RTS? +# (PAPI: http://icl.cs.utk.edu/papi/) +GhcRtsWithPapi = NO +PapiLibDir= +PapiIncludeDir= + +################################################################################ +# +# Paths (see paths.mk) +# +################################################################################ + +# Directory used by GHC (and possibly other tools) for storing +# temporary files. If your TMPDIR isn't big enough, either override +# this in build.mk or set your environment variable "TMPDIR" to point +# to somewhere with more space. (TMPDIR=. is a good choice). + +# DEFAULT_TMPDIR isn't called TMPDIR because GNU make tends to +# override an environment variable with the value of the make variable +# of the same name (if it exists) when executing sub-processes, so +# setting the TMPDIR env var would have no effect in the build tree. + +DEFAULT_TMPDIR = /tmp +ifeq "$(TARGETPLATFORM)" "i386-unknown-cygwin32" +DEFAULT_TMPDIR = /C/TEMP +endif +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +DEFAULT_TMPDIR = /C/TEMP +endif + +BIN_DIST_NAME = ghc-$(ProjectVersion) +BIN_DIST_PREP_DIR = bindistprep/$(BIN_DIST_NAME) +BIN_DIST_PREP_TAR = bindistprep/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar +BIN_DIST_PREP_TAR_BZ2 = $(BIN_DIST_PREP_TAR).bz2 +BIN_DIST_TAR_BZ2 = $(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2 +BIN_DIST_LIST = bindist-list + +WINDOWS_INSTALLER_BASE = ghc-$(ProjectVersion)-i386-windows +WINDOWS_INSTALLER = $(WINDOWS_INSTALLER_BASE)$(exeext) + +# ----------------------------------------------------------------------------- +# Utilities programs: flags + +# If you want to give any standard flags to pretty much any utility +# (see utils.mk for a complete list), by adding a line here +# +# SRC_P_OPTS += ... +# +# where P is the utility. For example, to add -O to all Haskell +# compilations, +# +# SRC_HC_OPTS += -O + +SRC_HC_OPTS += -H32m -O + +# These flags make flex 8-bit +SRC_FLEX_OPTS += -8 + +# Default fptools options for dllwrap. +SRC_BLD_DLL_OPTS += --target=i386-mingw32 + +# Flags for CPP when running GreenCard on .pgc files +GC_CPP_OPTS += -P -E -x c -traditional -D__GLASGOW_HASKELL__ + + +# ----------------------------------------------------------------------------- +# Names of programs in the GHC tree +# +# xxx_PGM the name of an executable, without the path +# xxx the executable relative to the current dir + +GHC_UNLIT_PGM = unlit$(exeext) +GHC_HP2PS_PGM = hp2ps$(exeext) +GHC_GHCTAGS_PGM = ghctags$(exeext) +GHC_HSC2HS_PGM = hsc2hs$(exeext) +GHC_TOUCHY_PGM = touchy$(exeext) +GHC_MANGLER_PGM = ghc-asm +GHC_SPLIT_PGM = ghc-split +GHC_SYSMAN_PGM = SysMan +GHC_GENPRIMOP_PGM = genprimopcode$(exeext) +GHC_GENAPPLY_PGM = genapply$(exeext) +GHC_CABAL_PGM = ghc-cabal$(exeext) +GHC_PKG_PGM = ghc-pkg$(exeext) +GHC_MKDEPENDC_PGM = mkdependC +GHC_LTX_PGM = ltx$(exeext) +GHC_MKDIRHIER_PGM = mkdirhier +GHC_LNDIR_PGM = lndir +GHC_DUMMY_GHC_PGM = dummy-ghc$(exeext) + +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +GHC_CP = "xcopy /y" +GHC_PERL = perl +else +GHC_CP = $(CP) +GHC_PERL = $(PERL) +endif + +HP2PS = $(GHC_HP2PS_DIR)/$(GHC_HP2PS_PGM) +MANGLER = $(INPLACE_LIB)/$(GHC_MANGLER_PGM) +SPLIT = $(INPLACE_LIB)/$(GHC_SPLIT_PGM) +SYSMAN = $(GHC_SYSMAN_DIR)/$(GHC_SYSMAN_PGM) +LTX = $(GHC_LTX_DIR)/$(GHC_LTX_PGM) +LNDIR = $(GHC_LNDIR_DIR)/$(GHC_LNDIR_PGM) + +UNLIT = $(INPLACE_LIB)/$(GHC_UNLIT_PGM) +TOUCHY = $(INPLACE_LIB)/$(GHC_TOUCHY_PGM) +MKDIRHIER = $(INPLACE_BIN)/$(GHC_MKDIRHIER_PGM) +MKDEPENDC = $(INPLACE_BIN)/$(GHC_MKDEPENDC_PGM) +GHC_CABAL_INPLACE = $(INPLACE_BIN)/$(GHC_CABAL_PGM) +GENAPPLY_INPLACE = $(INPLACE_BIN)/$(GHC_GENAPPLY_PGM) +GHC_PKG_INPLACE = $(INPLACE_BIN)/$(GHC_PKG_PGM) +GHCTAGS_INPLACE = $(INPLACE_BIN)/$(GHC_GHCTAGS_PGM) +HSC2HS_INPLACE = $(INPLACE_BIN)/$(GHC_HSC2HS_PGM) +GENPRIMOP_INPLACE = $(INPLACE_BIN)/$(GHC_GENPRIMOP_PGM) +DUMMY_GHC_INPLACE = $(INPLACE_BIN)/$(GHC_DUMMY_GHC_PGM) + +GENERATED_FILE = chmod a-w +EXECUTABLE_FILE = chmod +x + +#----------------------------------------------------------------------------- +# Haskell compilers and mkdependHS + +# $(GHC), $(HBC) and $(NHC) point to installed versions of the relevant +# compilers, if available. +# +# $(HC) is a generic Haskell 98 compiler, set to $(GHC) by default. +# $(MKDEPENDHS) is the Haskell dependency generator (ghc -M). +# +# NOTE: Don't override $(GHC) in build.mk, use configure --with-ghc instead +# (because the version numbers have to be calculated). + +GHC := /usr/bin/ghc +# If we have a make dependency on c:/ghc/ghc, and the file is actually +# called c:/ghc/ghc.exe, then make will think that ghc doesn't exist +# and that it doesn't know how to create it. +ifneq "$(wildcard $(GHC).exe)" "" +GHC := $(GHC).exe +endif + +GhcDir = $(dir $(GHC)) + +# Set to YES if $(GHC) has the editline package installed +GhcHasEditline = @GhcHasEditline@ + +HBC = +NHC = + +# Sometimes we want to invoke ghc from the build tree in different +# places (eg. it's handy to have a nofib & a ghc build in the same +# tree). We can refer to "this ghc" as $(GHC_INPLACE): + +GHC_INPLACE = $(GHC_STAGE1) + +GHC_STAGE0_ABS = $(GHC) +GHC_STAGE1_ABS = $(TOP)/$(INPLACE_BIN)/ghc-stage1$(exeext) +GHC_STAGE2_ABS = $(TOP)/$(INPLACE_BIN)/ghc-stage2$(exeext) +GHC_STAGE3_ABS = $(TOP)/$(INPLACE_BIN)/ghc-stage3$(exeext) + +GHC_STAGE0 = $(GHC) +GHC_STAGE1 = $(INPLACE_BIN)/ghc-stage1$(exeext) +GHC_STAGE2 = $(INPLACE_BIN)/ghc-stage2$(exeext) +GHC_STAGE3 = $(INPLACE_BIN)/ghc-stage3$(exeext) + +# Install stage 2 by default, can be changed to 3 +INSTALL_GHC_STAGE=2 + +BOOTSTRAPPING_CONF = libraries/bootstrapping.conf + +INPLACE_PACKAGE_CONF = $(INPLACE_LIB)/package.conf.d + +GhcVersion = 6.12.1 +GhcPatchLevel = 1 +GhcMajVersion = 6 +GhcMinVersion = 12 + +ghc_ge_609 = YES +ghc_ge_6102 = YES +ghc_ge_611 = YES + +# Canonicalised ghc version number, used for easy (integer) version +# comparisons. We must expand $(GhcMinVersion) to two digits by +# adding a leading zero if necessary: +ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" "" +GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion) +else +GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion) +endif + +#----------------------------------------------------------------------------- +# C compiler +# +# NB. Don't override $(WhatGccIsCalled) using build.mk, re-configure using +# the flag --with-gcc= instead. The reason is that the configure script +# needs to know which gcc you're using in order to perform its tests. + +HaveGcc = YES +UseGcc = YES +WhatGccIsCalled = /usr/lib/ccache/bin/gcc +GccVersion = 4.5.1 +GccLT34 = +ifeq "$(strip $(HaveGcc))" "YES" +ifneq "$(strip $(UseGcc))" "YES" + CC = cc +else + CC = $(WhatGccIsCalled) +endif +endif + +# C compiler and linker flags from configure (e.g. -m to select +# correct C compiler backend). +CONF_CC_OPTS = +CONF_LD_OPTS = + +ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux" +CONF_CC_OPTS += -G0 +endif + +SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS) $(CONF_CC_OPTS))) +SRC_HSC2HS_OPTS += $(foreach d,$(GMP_INCLUDE_DIRS),-I$(d)) + +#----------------------------------------------------------------------------- +# Mingwex Library +# +HaveLibMingwEx = NO + +#----------------------------------------------------------------------------- +# Flex (currently unused, could be moved to glafp-utils) + +# FLEX = @LEX@ +# Don't bother with -lfl, we define our own yywrap()s anyway. +# FLEX_LIB = +#WAS:FLEX_LIB = @LEXLIB@ + +#----------------------------------------------------------------------------- +# Other standard (ha!) Unix utilities + +AR = /usr/bin/ar +AR_OPTS = q +ArSupportsInput = +ArSupportsAtFile = YES +# Yuckage: for ghc/utils/parallel -- todo: nuke this dependency!! +BASH = /usr/local/bin/bash + +CONTEXT_DIFF = diff -U 1 +CP = cp +CPP = /usr/lib/ccache/bin/gcc -E +CTAGS = $(ETAGS) +# +# RAWCPP_FLAGS are the flags to give to cpp (viz, gcc -E) to persuade it to +# behave plausibly on Haskell sources. +# +RAWCPP_FLAGS = -undef -traditional +FIND = /usr/bin/find +SORT = /usr/bin/sort +INSTALL = /bin/install -c +# +# Sigh - the autoconf macro for INSTALL will subst a relative path to the fallback +# install-sh script (if chosen). This not terribly useful to us, so we convert +# it into an abs. path. +# +INSTALL := $(subst .././install-sh,$(TOP)/install-sh,$(INSTALL)) +LATEX = latex +PDFLATEX = pdflatex +BIBTEX = bibtex +HEVEA = hevea +HACHA = hacha +LN_S = ln -s +MANMACROS = -man +MSMACROS = -ms +MV = mv +NROFF = nroff +PERL = /usr/bin/perl +PYTHON = /usr/bin/python +PIC = pic +PREPROCESSCMD = $(CC) -E +RANLIB = : +SED = /bin/sed +TR = tr +SHELL = /bin/sh + +LD = /usr/bin/ld +NM = /usr/bin/nm + +# Some ld's support the -x flag and some don't, so the configure +# script detects which we have and sets LdXFlag to "-x" or "" +# respectively. +LD_X = -x + +# GNU ld supports input via a linker script, which is useful to avoid +# overflowing command-line length limits. +LdIsGNULd = YES + +# On MSYS, building with SplitObjs=YES fails with +# ar: Bad file number +# see #3201. We need to specify a smaller max command-line size +# to work around it. 32767 doesn't work; 30000 does. +XARGS = xargs +ifeq "$(Windows)" "YES" +XARGS_OPTS = -s 30000 +endif + +# +# In emergency situations, REAL_SHELL is used to perform shell commands +# from within the ghc driver script, by scribbling the command line to +# a temp file and then having $(REAL_SHELL) execute it. +# +# The reason for having to do this is that overly long command lines +# cause unnecessary trouble with some shells (e.g., /bin/sh on Solaris +# 2.5.1), which is why this backdoor is provided. The situation of overly +# long command lines is either encountered while doing `make boot' in compiler/, +# or when linking the compiler binary (`hsc'). +# +# We do not use SHELL to execute long commands, as `make' will more than likely +# override whatever setting you have in your environment while executing. + +# By default, REAL_SHELL is set equal to SHELL, which is not really a smart move +# as it is SHELL that will show up the bogosity in the first place, but setting +# it to anything else isn't really portable. +# +# ====> If long command lines cause you trouble, invoke `ghc' (via `make' or otherwise) +# with REAL_SHELL set to something else than /bin/sh, for instance, your favourite +# command shell. +# +REAL_SHELL=$(SHELL) +SIZE = size +STRIP = strip +PATCH = /usr/bin/patch +TAR = /bin/tar +BZIP2 = bzip2 +GZIP = gzip +ZIP = zip + +HSCOLOUR = + +# +# This is special to literate/, ToDo: add literate-specific +# configure setup to literate/. +# +TBL = tbl +TEX = tex +TGRIND = tgrind +TGRIND_HELPER = /usr/local/lib/tgrind/tfontedpr # XXX +TIB = tib + +TIME = +TROFF = troff +UNAME = uname + +# GTK+ +GTK_CONFIG = /usr/bin/pkg-config gtk+-2.0 + +# Set this if you want to use Inno Setup to build a Windows installer +# when you make a bindist +ISCC = + +#----------------------------------------------------------------------------- +# DocBook XML stuff + +BUILD_DOCBOOK_HTML = YES +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO +DBLATEX = +XSLTPROC = /usr/bin/xsltproc +XMLLINT = /usr/bin/xmllint +HAVE_DOCBOOK_XSL = YES +XSLTPROC_HTML_STYLESHEET = http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl +XSLTPROC_LABEL_OPTS = --stringparam toc.section.depth 3 \ + --stringparam section.autolabel 1 \ + --stringparam section.label.includes.component.label 1 + +#----------------------------------------------------------------------------- +# FPtools support software + +BLD_DLL = dllwrap + +# +# ghc-pkg +# +GHC_PKG = /usr/bin/ghc-pkg + +# +# GreenCard +# +GREENCARD = @GreenCardCmd@ +GREENCARD_VERSION = @GreenCardVersion@ + +# +# Happy +# +HAPPY = /usr/bin/happy +HAPPY_VERSION = 1.18.4 +# +# Options to pass to Happy when we're going to compile the output with GHC +# +SRC_HAPPY_OPTS = -agc --strict + +# Temp. to work around performance problems in the HEAD around 8/12/2003, +# A Happy compiled with this compiler needs more stack. +SRC_HAPPY_OPTS += +RTS -K2m -RTS + +# +# Alex +# +ALEX = +ALEX_VERSION = +# +# Options to pass to Happy when we're going to compile the output with GHC +# +SRC_ALEX_OPTS = -g + +HSTAGS = + +# Should we build haddock docs? +HADDOCK_DOCS = $(GhcWithInterpreter) +# And HsColour the sources? +ifeq "$(HSCOLOUR)" "" +HSCOLOUR_SRCS = NO +else +HSCOLOUR_SRCS = YES +endif + +################################################################################ +# +# 31-bit-Int Core files +# +################################################################################ + +# +# It is possible to configure the compiler and prelude to support 31-bit +# integers, suitable for a back-end and RTS using a tag bit on a 32-bit +# architecture. Currently the only useful output from this option is external Core +# files. The following additions to your build.mk will produce the +# 31-bit core output. Note that this is *not* just a library "way"; the +# compiler must be built a special way too. + +# GhcCppOpts +=-DWORD_SIZE_IN_BITS=31 +# GhcLibHcOpts +=-fext-core -fno-code -DWORD_SIZE_IN_BITS=31 +# GhcLibCppOpts += -DWORD_SIZE_IN_BITS=31 +# SplitObjs=NO + +################################################################################ +# +# Library configure arguments +# +################################################################################ + +CONFIGURE_ARGS = '--prefix=/usr' 'CFLAGS=-mtune=powerpc -mpowerpc-gfxopt -O2 -pipe' 'LDFLAGS=-Wl,--hash-style=gnu -Wl,--as-needed' + +################################################################################ +# +# To be passed to sub-builds +# +################################################################################ + +ICONV_INCLUDE_DIRS = +ICONV_LIB_DIRS = + +GMP_INCLUDE_DIRS = +GMP_LIB_DIRS = diff --git a/haskell-mtl/PKGBUILD b/haskell-mtl/PKGBUILD index 90e726b..14d28b3 100644 --- a/haskell-mtl/PKGBUILD +++ b/haskell-mtl/PKGBUILD @@ -17,7 +17,7 @@ md5sums=('1e933bb7abb38b7bb423929ba37219db') build() { cd $srcdir/mtl-$pkgver ghc --make Setup.hs - ./Setup configure --prefix=/usr -p --enable-split-objs --enable-shared --docdir=/usr/share/doc/${pkgname} + ./Setup configure --prefix=/usr -p --enable-split-objs --docdir=/usr/share/doc/${pkgname} ./Setup build ./Setup haddock ./Setup register --gen-script @@ -30,7 +30,7 @@ package() { install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/mtl - runhaskell Setup copy --destdir=$pkgdir + ./Setup copy --destdir=$pkgdir install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE } diff --git a/haskell-utf8-string/PKGBUILD b/haskell-utf8-string/PKGBUILD index 823ea81..9cf4195 100644 --- a/haskell-utf8-string/PKGBUILD +++ b/haskell-utf8-string/PKGBUILD @@ -8,7 +8,7 @@ pkgdesc="Support for reading and writing UTF8 Strings" url="http://hackage.haskell.org/package/utf8-string" license=('custom:BSD3') arch=('i686' 'x86_64' 'ppc') -depends=('ghc=6.12.3' sh) +depends=(sh) options=('strip') source=(http://hackage.haskell.org/packages/archive/utf8-string/${pkgver}/utf8-string-${pkgver}.tar.gz) install=${pkgname}.install @@ -17,7 +17,7 @@ md5sums=('be8c5ef52a0824babdc89d60c1e9b600') build() { cd ${srcdir}/utf8-string-$pkgver ghc --make Setup.lhs - ./Setup configure -p --enable-split-objs --enable-shared --prefix=/usr --docdir=/usr/share/doc/${pkgname} + ./Setup configure -p --enable-split-objs --prefix=/usr --docdir=/usr/share/doc/${pkgname} ./Setup build ./Setup haddock ./Setup register --gen-script @@ -30,7 +30,7 @@ package() { install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/utf8-string - runhaskell Setup copy --destdir=${pkgdir} + ./Setup copy --destdir=${pkgdir} install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE } diff --git a/haskell-x11-xft/PKGBUILD b/haskell-x11-xft/PKGBUILD new file mode 100644 index 0000000..5feb9aa --- /dev/null +++ b/haskell-x11-xft/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 33057 2010-11-22 11:03:09Z spupykin $ +# Maintainer: Sergej Pupykin + +pkgname=haskell-x11-xft +pkgver=0.3 +pkgrel=17 +pkgdesc="Bindings to the Xft, X Free Type interface library, and some Xrender parts" +url="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-xft" +license=('LGPL') +arch=('i686' 'x86_64' 'ppc') +makedepends=() +options=('strip') +source=(http://hackage.haskell.org/packages/archive/X11-xft/$pkgver/X11-xft-$pkgver.tar.gz) +install=haskell-x11-xft.install +md5sums=('1b4a528a2a4fe5e9de715f6758ff9015') + +build() { + _ghcver=`pacman -Q ghc 2>/dev/null | cut -d\ -f 2 | cut -f 1 -d -` + depends=("ghc=${_ghcver}" 'haskell-x11=1.5.0.0' 'haskell-utf8-string>=0.3.6' 'freetype2' 'libxft' 'libxinerama') + + cd $srcdir/X11-xft-$pkgver + ghc --make Setup.*hs + ./Setup configure --prefix=/usr + ./Setup build + ./Setup haddock + ./Setup register --gen-script + ./Setup unregister --gen-script + install -D -m744 register.sh $pkgdir/usr/share/haskell/$pkgname/register.sh + install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh + ./Setup copy --destdir=$pkgdir +} diff --git a/haskell-x11-xft/haskell-x11-xft.install b/haskell-x11-xft/haskell-x11-xft.install new file mode 100644 index 0000000..7668e3f --- /dev/null +++ b/haskell-x11-xft/haskell-x11-xft.install @@ -0,0 +1,14 @@ +HS_DIR=/usr/share/haskell/haskell-x11-xft +post_install() { + ${HS_DIR}/register.sh 2> /dev/null +} +pre_upgrade() { + ${HS_DIR}/unregister.sh 2> /dev/null + exit 0 +} +post_upgrade() { + ${HS_DIR}/register.sh 2> /dev/null +} +pre_remove() { + ${HS_DIR}/unregister.sh 2> /dev/null +} diff --git a/haskell-x11/PKGBUILD b/haskell-x11/PKGBUILD index 863316d..bb0ffd4 100644 --- a/haskell-x11/PKGBUILD +++ b/haskell-x11/PKGBUILD @@ -7,7 +7,7 @@ pkgname=haskell-x11 pkgver=1.5.0.0 pkgrel=5 pkgdesc="A Haskell binding to the X11 graphics library." -arch=(i686 x86_64) +arch=(i686 x86_64 ppc) url="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11" license=('BSD') options=('strip' 'force') @@ -22,19 +22,20 @@ build() { cd $srcdir/X11-$pkgver - runhaskell Setup.hs configure --ghc --prefix=/usr \ + ghc --make Setup.hs + ./Setup configure --ghc --prefix=/usr \ --libsubdir=\$compiler/site-local/\$pkgid - runhaskell Setup.hs build - runhaskell Setup haddock + ./Setup build + ./Setup haddock - runhaskell Setup.hs register --gen-script - runhaskell Setup.hs unregister --gen-script + ./Setup register --gen-script + ./Setup unregister --gen-script sed -i 's/ghc-pkg unregister/ghc-pkg unregister --force/' unregister.sh install -D -m744 register.sh $pkgdir/usr/share/haskell/$pkgname/register.sh install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh - runhaskell Setup.hs copy --destdir=$pkgdir + ./Setup copy --destdir=$pkgdir install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/BSD3 } diff --git a/xmonad-contrib/PKGBUILD b/xmonad-contrib/PKGBUILD index 6e6728e..71bdc92 100644 --- a/xmonad-contrib/PKGBUILD +++ b/xmonad-contrib/PKGBUILD @@ -7,7 +7,7 @@ pkgname=xmonad-contrib pkgver=0.9.1 pkgrel=6 pkgdesc="Add-ons for xmonad" -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'ppc') url="http://xmonad.org/" license=('BSD') depends=('xmonad=0.9.1' 'sh' 'haskell-x11-xft=0.3' 'haskell-utf8-string=0.3.6') @@ -19,18 +19,20 @@ md5sums=('09a6e5173878d43b9f3ddd13b3ec955b') build() { cd $srcdir/$pkgname-$pkgver - runhaskell Setup.lhs configure --ghc --prefix=/usr --flags="use_xft use_utf8" \ + ghc --make Setup.lhs + + ./Setup configure --ghc --prefix=/usr --flags="use_xft use_utf8" \ --libsubdir=\$compiler/site-local/\$pkgid - runhaskell Setup.lhs build + ./Setup build - runhaskell Setup.lhs register --gen-script - runhaskell Setup.lhs unregister --gen-script + ./Setup register --gen-script + ./Setup unregister --gen-script install -D -m744 register.sh $pkgdir/usr/share/haskell/$pkgname/register.sh install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh - runhaskell Setup.lhs copy --destdir=$pkgdir + ./Setup copy --destdir=$pkgdir install -D LICENSE $pkgdir/usr/share/licenses/xmonad-contrib/LICENSE } md5sums=('09a6e5173878d43b9f3ddd13b3ec955b') diff --git a/xmonad/PKGBUILD b/xmonad/PKGBUILD index fc0945e..3c5ffdf 100644 --- a/xmonad/PKGBUILD +++ b/xmonad/PKGBUILD @@ -20,17 +20,19 @@ md5sums=('3d0dd5cf77768b10e1b7f3a47e32b09e' build() { cd $srcdir/$pkgname-$pkgver - runhaskell Setup.lhs configure --ghc --prefix=/usr \ + ghc --make Setup.lhs + + ./Setup configure --ghc --prefix=/usr \ --libsubdir=\$compiler/site-local/\$pkgid || return 1 - runhaskell Setup.lhs build || return 1 + ./Setup build || return 1 - runhaskell Setup.lhs register --gen-script - runhaskell Setup.lhs unregister --gen-script + ./Setup register --gen-script + ./Setup unregister --gen-script install -D -m744 register.sh $pkgdir/usr/share/haskell/$pkgname/register.sh install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh - runhaskell Setup.lhs copy --destdir=$pkgdir || return 1 + ./Setup copy --destdir=$pkgdir || return 1 # runhaskell util/GenerateManpage.hs || return 1 install -D -m644 man/xmonad.1 $pkgdir/usr/share/man/man1/xmonad.1 || return 1 -- 2.25.1