summaryrefslogtreecommitdiff
path: root/lang/ghc7
AgeCommit message (Collapse)AuthorFilesLines
2015-08-18Bump all packages that depend on curses.bui* or terminfo.bui* since theywiz2-4/+4
might incur ncurses dependencies on some platforms, and ncurses just bumped its shlib. Some packages were bumped twice now, sorry for that.
2015-06-12Recursive PKGREVISION bump for all packages mentioning 'perl',wiz1-2/+2
having a PKGNAME of p5-*, or depending such a package, for perl-5.22.0.
2015-03-17needs gzip(1) during build (to unpack bundled libffi)tnn1-2/+2
2015-02-23Update TODO: in ghc-7.10 the top-level ./configure will have ↵pho1-0/+3
--with-curses-{includes,libraries}
2015-02-20Leave CONF_LD_LINKER_OPTS_STAGE{0,1,2} undefinedpho2-6/+12
These flags are only used for creating static GHCi libraries (HS*.o). Setting them to ${LDFLAGS} does more harm than good because our ${LDFLAGS} contains -Wl,* flags. It's true that ../../mk/wrapper/cmd-sink-ld transforms them but those flags will also be baked into the compiler (see ${WRKSRC}/compiler/ghc.mk) so they cause problems when used outside the buildlink.
2015-02-17Silence missing ghc.joerg1-2/+2
2015-02-17Add upstream Trac URL for our workaround to non-standard curses pathpho2-5/+5
2015-02-16Add upstream Trac URLpho2-6/+9
2015-02-13Suppress linker warnings about compatibility syscall wrappers by using ↵pho5-5/+79
"capi" instead of "ccall" In Haskell FFI, "ccall" is actually an interface to C ABI rather than C API. That is, GHC generates direct references to the symbol even if it's actually defined as a cpp macro or something like that, because GHC knows nothing about those macros in foreign headers. I will later send these patches to the upstream.
2015-02-13On FreeBSD we need pkgsrc libiconvpho1-1/+7
See bootstrap.mk for details.
2015-02-11Use BROKEN_EXCEPT_ON_PLATFORM instead of ONLY_FOR_PLATFORM because it's ↵pho1-2/+2
merely broken on unlisted platforms, not inappropriate
2015-02-11Uploaded bootkits for NetBSD/amd64, FreeBSD/i386 and Darwin/ppc to LOCAL_PORTSpho2-26/+45
They derived from safe bootkits in wip/ghc. See my previous commit for details.
2015-02-11Oops, I forgot to replace some of ${PKGNAME} with ${PKGNAME_NOREV}pho1-8/+8
2015-02-11Preparing to upload some of bootkits to LOCAL_PORTSpho2-36/+42
Refactored bootstrap.mk with no semantic changes in this commit. I will soon upload some of bootkits derived from wip/ghc to LOCAL_PORTS but only for safe ones. Here's a note about safety: * NetBSD/amd64, FreeBSD/i386, Darwin/ppc [SAFE]: These kits were built on my secured private machines under my exclusive control. I'm planning to upload them. * Linux/amd64 [UNSAFE]: I built my kit for this one on a machine shared with my co-workers with root access. I won't upload it. * NetBSD/i386 [UNSAFE]: I built my kit for this one on an Amazon EC2 instance (although it's private). I won't upload it either. For other developers, please do not upload any bootkits derived from unsafe ones mentioned above, because they have some degree of possibility of being compromised. And please keep in mind that machines shared with someone or on a cloud hosting service should be avoided for building bootkits.
2015-02-07Provide (invalid) value for BOOT_ARCHIVE for unknown architectures tojoerg1-1/+2
avoid warnings in the rest of the while.
2015-02-07Bootkit for FreeBSD needs to use pkgsrc libiconvpho1-3/+12
2015-02-06${MAKE} bootstrap: Build bootkits with -static-libgccpho1-6/+24
We don't want our bootkits to have a run-time dependency on libgcc. In fact GHC's implementation of Haskell exception handling does not depend on libgcc's facilities so it is attractive to do the same for "normal" build... but we can't. This is because Haskell programs may call C functions via FFI, and those C functions may call C++ functions in turn, possibly in a different shared library. But on some platforms, gcc automagically inserts a dependency on a shared libgcc when -lpthread is given, which is seemingly unavoidable.
2015-02-06patches/patch-rts_ghc.mk: dtrace hack is no longer neededpho2-25/+6
The problem only occurs when $(WhatGccIsCalled) is an absolute path to the "real" gcc (e.g. "/usr/bin/gcc"), which happens if we run ${WRKSRC}/configure with an option something like "--with-gcc=/usr/bin/gcc". As long as we use "--with-gcc" with a command name (i.e. ${CC}, not ${CCPATH}), everything works fine without any problems. This is because dtrace(1) executes cpp in a rather weird way: it calls execvp("/usr/bin/gcc", argv) with argv set to {"gcc", "-E", "-xc", ...}, not {"/usr/bin/gcc", "-E", "-xc", ...}. When GCC is called that way, it needs to find platform-specific subprograms by walking through ${PATH}. And if it sees an executable named "gcc" which in fact isn't actually gcc, it gets confused and dies with an error: % cat dtrace-emu.c #include <unistd.h> #include <stdio.h> int main() { char *argv[] = {"gcc", "-E", NULL}; execvp("/usr/bin/gcc", argv); return 0; } % gcc dtrace-emu.c -o /tmp/gcc % /tmp/gcc powerpc-apple-darwin9-gcc-4.0.1: no input files % PATH=/tmp/gcc /tmp/gcc gcc: installation problem, cannot exec '/tmp/powerpc-apple-darwin9-gcc-4.0.1': No such file or directory And even if the problem should really be addressed, it should be done in the wrapper framework because dtrace(1) is actually a part of compiler toolchain.
2015-02-05patches/patch-rts_ghc.mk: Fix build failure on Darwinpho2-8/+32
See the comment for details.
2015-02-05Add upstream Trac URL to patches/patch-rts_StgCRun.cpho3-5/+5
2015-02-05Add commentspho1-1/+3
2015-02-05${MAKE} bootstrap: Be more verbose about what we've builtpho1-13/+67
The "bootstrap" target now prints a message about run-time dependencies of the bootkit you've just built, something like: ========================================================================== Done creating ghc-7.6.3-boot-x86_64-unknown-netbsd.tar.xz in /usr/pkgsrc/lang/ghc7/work Now you can copy it into /usr/pkgsrc/distfiles/ to use it as your bootstrap kit. You may want to take a backup in case "lintpkgsrc -r" removes it. Your bootstrap kit has the following run-time dependencies: * curses: native (version/variant unknown) * iconv: native (version/variant unknown) ==========================================================================
2015-02-04lang/ghc7 no longer requires ${PREFIX}/lib to be put into /etc/ld-elf.so.confpho4-24/+98
The installed GHC has already been working without the ld hack. These changes should only affect the package build so revbump isn't needed. Makefile (CONFIGURE_ENV): Refactored with no semantic changes. Makefile (post-patch): ${WRKSRC}/libraries/base/configure.ac is patched too. Makefile (CHECK_SHLIBS_SUPPORTED): Removed the variable as the package now supports it. Makefile (CHECK_SHLIBS_SKIP): Added to skip checks for dynamic Haskell libraries. See the comment for details. bootstrap.mk (pre-configure): Use ${CONFIGURE_ENV} when configuring the stage-0 compiler. See the comment for details. patches/patch-libraries_base_configure.ac: Added to prevent {CPP,LD}FLAGS from being clobbered. See the comment for details. I will send the patch to the upstream in a few days or weeks (or even months, depending on my busyness).
2015-02-03Fix build failure that occurs when pkgsrc devel/ncurses is being usedpho4-41/+58
* Formerly we were passing "--with-curses-includes=${BUILDLINK_PREFIX.curses}/include" to "${WRKSRC}/libraries/terminfo/configure". This is problematic because pkgsrc devel/ncurses installs headers into ${PREFIX}/include/ncurses, not ${PREFIX}/include, while ghc-cabal expects "ncurses.h" and "term.h" in ${PREFIX}/include (because we said so) and then it emits an error. The fix is to use ${BUILDLINK_INCDIRS.curses} instead of "include". Note that this requires my recent changes to ../../mk/curses.buildlink3.mk (r1.21) * The "bootstrap" target now uses buildlink wrapper not to pick up random libraries which happened to be in "${PREFIX}/lib". Bootstrap binary kits should be linked with a predictable set of libraries. * The "bootstrap" target now automatically runs through the wrapper phase. You no longer have to run "${MAKE} patch" manually.
2014-09-26current bootstrap binary kit for SmartOS is built with ncurses5obache1-1/+6
2014-08-29make it clear what package depend onszptvlfn1-1/+2
discussed with wiz@.
2014-08-03Resolve unwanted reference to ${WRAPPER_BINDIR}/ar in final package.obache1-2/+3
Bump PKGREVISION.
2014-05-29Bump for perl-5.20.0.wiz1-2/+2
Do it for all packages that * mention perl, or * have a directory name starting with p5-*, or * depend on a package starting with p5- like last time, for 5.18, where this didn't lead to complaints. Let me know if you have any this time.
2014-05-24Brace expansion is not supported by Bourne shell.obache2-4/+4
2014-05-21Apply a number of fixes:jperkin8-19/+65
* Install the libffi libtool archive. Whilst it is unused, it allows us to automatically determine the shared library suffix. * Switch the i386 SunOS bootstrap to .xz. * Use PKG_CC to build lndir to help environments where the compiler is not in $PATH. * Apply patch from Alain O'Dea to fix issues with files residing on read-only file systems. * Support shared libraries on 64-bit SunOS. * Fix typo in patches/patch-rts_Linker.c. Fixes build on SunOS. Bump PKGREVISION.
2014-02-08fixes in ncurses -> curses replacement.obache1-2/+2
noticed by szptvlfn@.
2014-02-08fixes platform triplet for SunOS-5.11.obache1-2/+2
2014-02-05fixes BOOT_ARCHIVE name for bootstrap target (PKGNAME_NOREV is not defined yet).obache1-8/+8
2014-02-05move requirement of bootstrap target to pre-bootstrap target.obache1-9/+14
2014-02-03tell incdir of ncurses from pkgsrc to bootstrap.obache2-4/+6
2014-02-03PKGNAME_NOREV is not defined yet.obache1-2/+2
2014-02-03let to do "patch" target before "bootstrap"obache1-7/+2
2014-02-01first command in do-configure is same as default one, so removed itobache1-4/+2
and let rest parts to be post-configure.
2014-02-01define and use DISTNAME to match its naming.obache3-39/+40
2014-01-31Add dynamic PLIST support with USE_DESTDIR=no, and also simplify for reverseobache1-4/+5
condition. inspired by print-PLIST.
2014-01-30works with builtin curses (with NetBSD-6).obache4-13/+11
Bump PKGREVISION.
2013-12-17main DISTFILE must not be commented out.obache1-2/+2
2013-12-16Drop bootstrap binary from distfiles.obache3-17/+20
You can use your trusted bootstrap file as your basis.
2013-12-16Move SITES for bootstrap binary to be below after bootstrap binary kit name isobache1-4/+4
defined.
2013-12-12Import ghc-7.6.3 as lang/ghc7.obache18-0/+6037
Based on wip/ghc, mostly worked by phonohawk, with patches from jperkin@. And some modifications and buit of Bootstrap binaries for 7.6.3 by me. GHC: The Glasgow Haskell Compiler. The Glasgow Haskell Compiler is a robust, fully-featured, optimising compiler for the functional programming language Haskell 98 (http://www.haskell.org). GHC compiles Haskell to either native code or C. It implements numerous experimental language extensions to Haskell, including concurrency, a foreign language interface, several type-system extensions, exceptions, and so on. GHC comes with a generational garbage collector, a space and time profiler, and a comprehensive set of libraries.