From 24a2ce8c89b38b6d5547203f1d75a33d80143a85c479decddfcc3e0e4ff3073f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 26 Oct 2024 13:48:27 +0000 Subject: [PATCH] osc copypac from project:devel:languages:haskell:ghc-9.8.x package:ghc revision:26, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc?expand=0&rev=405 --- .gitattributes | 23 + .gitignore | 1 + 9_4_4-bootstrap-sources.tar.gz | 3 + Disable-unboxed-arrays.patch | 12 + _constraints | 31 + cabal-riscv64.patch | 41 + ghc-9.8.2-src.tar.xz | 3 + ghc-9.8.3-src.tar.xz | 3 + ghc-Cabal-install-PATH-warning.patch | 14 + ghc-gen_contents_index-haddock-path.patch | 13 + ghc-hadrian-s390x-rts--qg.patch | 13 + ghc-pkg.man | 228 +++ ghc-rpmlintrc | 8 + ghc-with-interpreter.patch | 14 + ghc.changes | 1602 +++++++++++++++++++++ ghc.spec | 611 ++++++++ haddock.man | 231 +++ runghc.man | 45 + 18 files changed, 2896 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 9_4_4-bootstrap-sources.tar.gz create mode 100644 Disable-unboxed-arrays.patch create mode 100644 _constraints create mode 100644 cabal-riscv64.patch create mode 100644 ghc-9.8.2-src.tar.xz create mode 100644 ghc-9.8.3-src.tar.xz create mode 100644 ghc-Cabal-install-PATH-warning.patch create mode 100644 ghc-gen_contents_index-haddock-path.patch create mode 100644 ghc-hadrian-s390x-rts--qg.patch create mode 100644 ghc-pkg.man create mode 100644 ghc-rpmlintrc create mode 100644 ghc-with-interpreter.patch create mode 100644 ghc.changes create mode 100644 ghc.spec create mode 100644 haddock.man create mode 100644 runghc.man diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/9_4_4-bootstrap-sources.tar.gz b/9_4_4-bootstrap-sources.tar.gz new file mode 100644 index 0000000..0b5cf96 --- /dev/null +++ b/9_4_4-bootstrap-sources.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3de754bb3e45d4b3980ed238781cfd808f4e7c84ceae73213662f1bf5ea2d8fa +size 1526663 diff --git a/Disable-unboxed-arrays.patch b/Disable-unboxed-arrays.patch new file mode 100644 index 0000000..3e87cbf --- /dev/null +++ b/Disable-unboxed-arrays.patch @@ -0,0 +1,12 @@ +Index: ghc-9.4.4/libraries/containers/containers/include/containers.h +=================================================================== +--- ghc-9.4.4.orig/libraries/containers/containers/include/containers.h ++++ ghc-9.4.4/libraries/containers/containers/include/containers.h +@@ -23,7 +23,6 @@ + * Unboxed arrays are broken on big-endian architectures. + * See https://gitlab.haskell.org/ghc/ghc/-/issues/16998 + */ +-# define USE_UNBOXED_ARRAYS 1 + #endif + #endif + diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..f7157cf --- /dev/null +++ b/_constraints @@ -0,0 +1,31 @@ + + + + 16 + + + 4 + + + + + aarch64 + s390x + + + + 10 + + + + + + riscv64 + + + + 30 + + + + diff --git a/cabal-riscv64.patch b/cabal-riscv64.patch new file mode 100644 index 0000000..c9278db --- /dev/null +++ b/cabal-riscv64.patch @@ -0,0 +1,41 @@ +Index: ghc-9.4.5/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs +=================================================================== +--- ghc-9.4.5.orig/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs ++++ ghc-9.4.5/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs +@@ -159,7 +159,7 @@ buildOS = classifyOS Permissive System.I + + -- | These are the known Arches: I386, X86_64, PPC, PPC64, Sparc, + -- Arm, AArch64, Mips, SH, IA64, S390, S390X, Alpha, Hppa, Rs6000, +--- M68k, Vax, JavaScript and Wasm32. ++-- M68k, Vax, RISCV64, JavaScript and Wasm32. + -- + -- The following aliases can also be used: + -- * PPC alias: powerpc +@@ -174,6 +174,7 @@ data Arch = I386 | X86_64 | PPC | PPC + | IA64 | S390 | S390X + | Alpha | Hppa | Rs6000 + | M68k | Vax ++ | RISCV64 + | JavaScript + | Wasm32 + | OtherArch String +@@ -189,6 +190,7 @@ knownArches = [I386, X86_64, PPC, PPC64, + ,IA64, S390, S390X + ,Alpha, Hppa, Rs6000 + ,M68k, Vax ++ ,RISCV64 + ,JavaScript + ,Wasm32] + +Index: ghc-9.4.5/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs +=================================================================== +--- ghc-9.4.5.orig/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs ++++ ghc-9.4.5/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs +@@ -729,6 +729,7 @@ platformDefines lbi = + Rs6000 -> ["rs6000"] + M68k -> ["m68k"] + Vax -> ["vax"] ++ RISCV64 -> ["riscv64"] + JavaScript -> ["javascript"] + Wasm32 -> ["wasm32"] + OtherArch _ -> [] diff --git a/ghc-9.8.2-src.tar.xz b/ghc-9.8.2-src.tar.xz new file mode 100644 index 0000000..584d1a2 --- /dev/null +++ b/ghc-9.8.2-src.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2fb7a7dd7461237d22e8365a83edd9e1a77d2e15d045f3945396845a87781c9 +size 32432564 diff --git a/ghc-9.8.3-src.tar.xz b/ghc-9.8.3-src.tar.xz new file mode 100644 index 0000000..60d6354 --- /dev/null +++ b/ghc-9.8.3-src.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99e40d729ec8831a633b75fd85d65dd10e31a0133dec9d198d686a273679ab70 +size 32565948 diff --git a/ghc-Cabal-install-PATH-warning.patch b/ghc-Cabal-install-PATH-warning.patch new file mode 100644 index 0000000..e59d86d --- /dev/null +++ b/ghc-Cabal-install-PATH-warning.patch @@ -0,0 +1,14 @@ +Index: ghc-9.2.0.20210331/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs +=================================================================== +--- ghc-9.2.0.20210331.orig/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs ++++ ghc-9.2.0.20210331/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs +@@ -206,8 +206,7 @@ copyComponent verbosity pkg_descr lbi (C + ++ " in " ++ binPref) + inPath <- isInSearchPath binPref + when (not inPath) $ +- warn verbosity ("The directory " ++ binPref +- ++ " is not in the system search path.") ++ warn verbosity ("Executable installed in " ++ binPref) + case compilerFlavor (compiler lbi) of + GHC -> GHC.installExe verbosity lbi binPref buildPref progFix pkg_descr exe + GHCJS -> GHCJS.installExe verbosity lbi binPref buildPref progFix pkg_descr exe diff --git a/ghc-gen_contents_index-haddock-path.patch b/ghc-gen_contents_index-haddock-path.patch new file mode 100644 index 0000000..0d9afa6 --- /dev/null +++ b/ghc-gen_contents_index-haddock-path.patch @@ -0,0 +1,13 @@ +Index: ghc-9.4.4/libraries/gen_contents_index +=================================================================== +--- ghc-9.4.4.orig/libraries/gen_contents_index ++++ ghc-9.4.4/libraries/gen_contents_index +@@ -58,7 +58,7 @@ then + HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG" + done + else +- HADDOCK=../../../../../bin/haddock ++ HADDOCK=/usr/bin/haddock + # We don't want the GHC API to swamp the index + HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort` + HADDOCK_ARGS="-p prologue.txt" diff --git a/ghc-hadrian-s390x-rts--qg.patch b/ghc-hadrian-s390x-rts--qg.patch new file mode 100644 index 0000000..91ebbe3 --- /dev/null +++ b/ghc-hadrian-s390x-rts--qg.patch @@ -0,0 +1,13 @@ +Index: ghc-9.4.4/hadrian/hadrian.cabal +=================================================================== +--- ghc-9.4.4.orig/hadrian/hadrian.cabal ++++ ghc-9.4.4/hadrian/hadrian.cabal +@@ -173,7 +173,7 @@ executable hadrian + -- waiting for external processes + -- * -qg: Don't use parallel GC as the synchronization + -- time tends to eat any benefit. +- "-with-rtsopts=-I0 -qg" ++ "-with-rtsopts=-I0" + -threaded + + if flag(selftest) diff --git a/ghc-pkg.man b/ghc-pkg.man new file mode 100644 index 0000000..131240d --- /dev/null +++ b/ghc-pkg.man @@ -0,0 +1,228 @@ +.TH ghc-pkg 1 "2010-01-27" +.SH NAME +ghc-pkg \- GHC Haskell Cabal package manager +.SH SYNOPSIS +.B ghc-pkg +.I action +.RI [ OPTION ]... +.SH DESCRIPTION +A package is a library of Haskell modules known to the compiler. The +.B ghc-pkg +tool allows adding or removing them from a package database. By +default, the system-wide package database is modified, but +alternatively the user's local package database or another specified +file can be used. +.PP +To make a package available for +.BR ghc , +.B ghc-pkg +can be used to register it. Unregistering it removes it from the +database. Also, packages can be hidden, to make +.B ghc +ignore the package by default, without uninstalling it. Exposing a +package makes a hidden package available. Additionally, +.B ghc-pkg +has various commands to query the package database. +.PP +Where a package name is required, the package can be named in full +including the version number (e.g. +.BR network-1.0 ), +or without the version number. Naming a package without the version +number matches all versions of the package; the specified action will +be applied to all the matching packages. A package specifier that +matches all version of the package can also be written +.BR pkg-* , +to make it clearer that multiple packages are being matched. +.SH ACTIONS +.TP +\fBregister\fP \fIfilename\fP|\fB-\fP +Register the package using the specified installed package +description. +.TP +\fBupdate\fP \fIfilename\fP|\fB-\fP +Register the package, overwriting any other package with the same +name. +.TP +\fBunregister\fP \fIpkg-id\fP +Unregister the specified package. +.TP +\fBexpose\fP \fIpkg-id\fP +Expose the specified package. +.TP +\fBhide\fP \fIpkg-id\fP +Hide the specified package +.TP +\fBlist\fP \fR[\fIpkg\fR]...\fP +List registered packages in the global database, and also the user +database if +.B --user +is given. If a package name is given all the registered versions will +be listed in ascending order. Accepts the +.B --simple-output +flag. +.TP +.B dot +Generate a graph of the package dependencies in a form suitable for +input for the graphviz tools. For example, to generate a PDF of the +dependency graph: +.br +\fB dot \| tred \| dot -Tpdf >pkgs.pdf\fP +.TP +\fBfind-module\fP \fImodule\fP +List registered packages exposing module +.I module +in the global database, and also the user database if +.B --user +is given. All the registered versions will be listed in ascending +order. Accepts the +.B --simple-output +flag. +.TP +\fBlatest\fP \fIpkg-id\fP +Prints the highest registered version of a package. +.TP +.B check +Check the consistency of package dependencies and list broken +packages. Accepts the +.B --simple-output +flag. +.TP +\fBdescribe\fP \fIpkg\fP +Give the registered description for the +specified package. The description is returned in precisely the syntax +required by ghc-pkg register. +.TP +\fBfield\fP \fIpkg field\fP +Extract the specified field of the package description for the +specified package. Accepts comma-separated multiple fields. +.TP +.B dump +Dump the registered description for every package. This is like +.BR ghc-pkg\ describe\ '*' , +expect that it is intended to be used by tools that parse the results, +rather than humans. +.TP +.B recache +Regenerate the package database cache. This command should only be +necessary if you added a package to the database by dropping a file +into the database directory manyally. By default, the global DB is +recached; to recache a different DB use +.B --user +or +.B --package-conf +as appropriate. +.SH OPTIONS +When asked to modify a database +.RB ( register ,\ unregister ,\ update ,\ hide ,\ expose ,\ and\ also\ check ), +.B ghc-pkg +modifies the global database by +default. Specifying +.B --user +causes it to act on the user database, +or +.B --package-conf +can be used to act on another database +entirely. When multiple of these options are given, the rightmost +one is used as the database to act upon. +.PP +Commands that query the package database +.RB ( list ,\ latest ,\ describe ,\ field ) +operate on the list of databases specified by the flags +.BR --user ,\ --global , +and +.BR --package-conf . +If none of these flags are +given, the default is +.BR --global\ --user . +.TP +.B --user +Use the current user's package database. +.TP +.B --global +Use the global package database. +.TP +\fB-f\fP \fIFILE\fP, \fB--package-conf=\fIFILE\fP +Use the specified package config file. +.TP +.BI --global-conf= FILE +Location of the global package config. +.TP +.B --force +Ignore missing dependencies, directories, and libraries. +.TP +.B --force-files +Ignore missing directories and libraries only. +.TP +.BR -g ,\ --auto-ghc-libs +Automatically build libs for GHCi (with register). +.TP +.BR -? ,\ --help +Display a help message and exit. +.TP +.BR -V ,\ --version +Output version information and exit. +.TP +.B --simple-output +Print output in easy-to-parse format for some commands. +.TP +.B --names-only +Only print package names, not versions; can only be used with +.BR list\ --simple-output . +.TP +.B --ignore-case +Ignore case for substring matching. +.SH ENVIRONMENT VARIABLES +.TP +.B GHC_PACKAGE_PATH +The +.B GHC_PACKAGE_PATH +environment variable may be set to a +.BR : -separated +list of files containing package databases. This list of package +databases is used by +.B ghc +and +.BR ghc-pkg , +with earlier databases in the list overriding later ones. This order +was chosen to match the behaviour of the +.B PATH +environment variable; think of it as a list of package databases that +are searched left-to-right for packages. + +If +.B GHC_PACKAGE_PATH +ends in a separator, then the default user and system package +databases are appended, in that order. e.g. to augment the usual set +of packages with a database of your own, you could say: + +.br +\fB export GHC_PACKAGE_PATH=$HOME/.my-ghc-packages.conf:\fP +.br + +To check whether your +.B GHC_PACKAGE_PATH +setting is doing the right thing, +.B ghc-pkg list +will list all the databases in use, in the reverse order they are +searched. +.SH FILES +Both of these locations are changed for Debian. Upstream still keeps +these under +.IR /usr . +Some programs may refer to that, but look in +.I /var +instead. +.TP +.I /var/lib/ghc/package.conf +Global package.conf file. +.TP +.I /var/lib/ghc/package.conf.d/ +Directory for library specific package.conf files. These are added to +the global registry. +.SH "SEE ALSO" +.BR ghc (1), +.BR runghc (1), +.BR hugs (1). +.SH AUTHOR +This manual page was written by Kari Pahula , for the +Debian project (and may be used by others). diff --git a/ghc-rpmlintrc b/ghc-rpmlintrc new file mode 100644 index 0000000..49ab739 --- /dev/null +++ b/ghc-rpmlintrc @@ -0,0 +1,8 @@ +addFilter("devel-file-in-non-devel-package") +addFilter("static-library-without-debuginfo") +# ghc-compiler has devel-dependency +addFilter("devel-dependency") +# Regrettably, upstream does not provide man pages for all executables +addFilter("no-manual-page-for-binary") +# Prevent warning about ghc containing no binary (it is a metapackage) +addFilter("no-binary") diff --git a/ghc-with-interpreter.patch b/ghc-with-interpreter.patch new file mode 100644 index 0000000..ad2dd2e --- /dev/null +++ b/ghc-with-interpreter.patch @@ -0,0 +1,14 @@ +Index: ghc-9.4.5/hadrian/src/Oracles/Setting.hs +=================================================================== +--- ghc-9.4.5.orig/hadrian/src/Oracles/Setting.hs ++++ ghc-9.4.5/hadrian/src/Oracles/Setting.hs +@@ -292,7 +292,8 @@ ghcWithInterpreter = do + , "darwin", "kfreebsdgnu" ] + goodArch <- anyTargetArch [ "i386", "x86_64", "powerpc" + , "arm", "aarch64", "s390x" +- , "powerpc64", "powerpc64le" ] ++ , "powerpc64", "powerpc64le" ++ , "riscv64" ] + return $ goodOs && goodArch + + -- | Variants of the ARM architecture. diff --git a/ghc.changes b/ghc.changes new file mode 100644 index 0000000..5870b0a --- /dev/null +++ b/ghc.changes @@ -0,0 +1,1602 @@ +------------------------------------------------------------------- +Mon Oct 21 10:36:19 UTC 2024 - Ondřej Súkup + +- Update to version 9.8.3. The change log for this release is at: + https://downloads.haskell.org/~ghc/9.8.3/docs/users_guide/9.8.3-notes.html + +------------------------------------------------------------------- +Sat Aug 3 09:42:58 UTC 2024 - Andreas Schwab + +- Adjust memory limits on riscv64 and remove obsolete special case for + qemu emulation + +------------------------------------------------------------------- +Tue May 21 10:42:06 UTC 2024 - Dominique Leuenberger + +- Replace %patchN with %patch -P N: %patchN is deprecated. + +------------------------------------------------------------------- +Tue Mar 19 10:44:15 UTC 2024 - Ondřej Súkup + +- fix iserv and hpc deps + +------------------------------------------------------------------- +Tue Mar 12 14:44:58 UTC 2024 - Peter Simons + +- Update to version 9.8.2. The change log for this release is at: + https://downloads.haskell.org/~ghc/9.8.2/docs/users_guide/9.8.2-notes.html. + +- Update to version 9.8.1. The change log for this release is at: + https://downloads.haskell.org/~ghc/9.8.2/docs/users_guide/9.8.1-notes.html. + +------------------------------------------------------------------- +Sat Feb 24 23:50:25 UTC 2024 - Ondřej Súkup + +- update to 9.6.4 + * Fix a code generator bug on AArch64 platforms resulting in invalid conditional jumps. + * Fix a simplifier bug that may cause segfaults and core lint failures due to incorrect handling of join points. + * Ensure unconstrained instance dictionaries get IPE info. + * Fix a bug where we could silently truncate 64 bit values to 32 bit on 32 bit architectures. + * Fix a GHCi bug where a failure in the :add command would cause the process to exit. + * Fix a bug causing suboptimal error messages for certain invalid cyclic module graphs with hs-boot files. + * Fix a bug causing compiler panics with certain package databases involving unusable units and module reexports + * Fix some memory leaks in GHCi that manifest on reloads + * Fix a bug leading to some template haskell splices failing on being reloaded into GHCi due to not clearing the interactive context properly. + * Fix a type checker crash on certain programs involving implicitly scoped type variables. + * Fix a bug where certain warning flags were not recognised. + * Fix an incorrect assertion in the simplifier. + * Align objects in the data section properly when using the LLVM backend. + * Ensure concurrent thunk update is sound. + * Ensure the listAllBlocks function takes the non-moving heap into account. + * Ensure the non-moving GC is not running when pausing. + * Fix some non-moving loops and bugs on Windows and LLP64 platforms. + * Fix a bug where certain programs could have incorrect async exception masking. + * Ensure we respect maximum event length and don’t overflow into program memory. + * Ensure we use the right linker flags on AArch64 darwin. + * Fix a bug where -DNOSMP wasn’t being passed to the C compiler even if the target doesn’t support SMP. + * Ensure we use the right otool and install_name_tool on Darwin. + * Fix a bug in ghc-bignum where usage of bigNatIsPowerOf2 might result in out of bounds access. + +------------------------------------------------------------------- +Wed Nov 15 15:23:59 UTC 2023 - Ondřej Súkup + +- drop ghc-9.6.3-src.tar.xz.sig + +------------------------------------------------------------------- +Tue Nov 14 11:29:34 UTC 2023 - Andreas Schwab + +- ghc-8.0.2-Cabal-dynlibdir.patch, 9604.patch, ghc-pie.patch, + sphinx7.patch: Remove unused patches + +------------------------------------------------------------------- +Tue Nov 14 10:29:34 UTC 2023 - Andreas Schwab + +- libatomic.patch: Remove unused patch +- ghc-with-interpreter.patch: Hadrian: enable GHCi support on riscv64 +- cabal-riscv64.patch: libraries/Cabal: Add support for the 64-bit RISC-V + architecture +- Adjust constraints for riscv64 + +------------------------------------------------------------------- +Wed Nov 8 11:52:04 UTC 2023 - Ondřej Súkup + +- Update to 9.6.3 +- dropped execstack.patch and bytestring.patch + * Major update of ghc see full release notes on: + https://downloads.haskell.org/ghc/9.6.3/docs/users_guide/release-notes.html + +------------------------------------------------------------------- +Fri Aug 11 09:33:00 UTC 2023 - Ondřej Súkup + +- update to 9.4.6 +- remove fix_extlinks.patch and add bytestring.patch + * Fix a bug where certain dictionaries for undecidable + instances could end up looping at runtime + * Fix a compiler panic involving newtype family instances + * Fix a bug preventing using the command line + to compile .cmm files to assembly + * Fix compiler panics with certain RULE pragmas + * Fix a loop in the simplifier due to a bug in + the representation of certain fields in interface files + * Make type equality (~) checks in the presence + of quantified contrains more robust to argument ordering + * Fix some segfaults when using UnliftedDataTypes + * Improve bounds checking with -fcheck-prim-bounds + * Fix a bug in the simplifier leading to core lint errors + * Ensure array read operations have proper memory barries + * Fix a spurious -dcore-lint failure with certain kinds of type family instances + * Fix a bug with .hie files containing spurious references + to generated functions in files with partial field selectors + * With the aarch64 backend, fix a bug arising from lack + of zero-extension for 8/16 bit add/sub with immediate + * Fix a number of bugs having to do with default + representation polymorphic type variables + * Add support for top-level Addr# literals + * Fix some tag inference bugs when using the bytecode interpreter + * Support the foreign import prim calling convention in the bytecode interpreter + * Support sized literals in the bytecode interpreter + * Fix a bug with the handling of unboxed tuples in the bytecode interpreter + * Make the bytecode interpreter more robust when run on optimised code + * Accurately account for mutator allocations when using the non-moving GC + * Prevent some segfaults by ensuring that pinned allocations respect block size + * Fix warnings with clang 14.0.3 + * Allow building documentation with sphinx 6.0.0 + * Fix some dependency tracking bugs with hadrian + +------------------------------------------------------------------- +Sun Aug 6 16:34:18 UTC 2023 - Ondřej Súkup + +- remove post/postun base as is now handled in macros.ghc-extra + +------------------------------------------------------------------- +Wed May 24 14:10:46 UTC 2023 - Ondřej Súkup + +- add patch for Sphinx 7 release - sphinx7.patch +- cleanup spec + +------------------------------------------------------------------- +Wed May 24 14:04:24 UTC 2023 - Ondřej Súkup + +- add sphinx7.patch + +------------------------------------------------------------------- +Fri Apr 21 17:57:46 UTC 2023 - Andreas Schwab + +- libatomic.patch: Remove obsolete patch +- Don't enable unregisterised on riscv64 +- Adjust constraints + +------------------------------------------------------------------- +Wed Apr 19 08:44:04 UTC 2023 - Ondřej Súkup + +- update to 9.4.5 +- drop unused patches: + ghc-8.0.2-Cabal-dynlibdir.patch + riscv-tntc.patch + * Fixes for a number of bug fixes in the simplifier + * Many bug fixes to the non-moving and parallel GCs + * A number of improvements to recompilation avoidance with multiple + home units + * Fixes for regressions in the typechecker and constraint solver + * and many more. See the release notes for a full accounting. +-> https://downloads.haskell.org/~ghc/9.4.5/docs/users_guide/9.4.5-notes.html + +------------------------------------------------------------------- +Fri Apr 7 13:08:27 UTC 2023 - Ondřej Súkup + +- add provides hsc2hs into ghc-compiler + +------------------------------------------------------------------- +Fri Mar 17 11:09:29 UTC 2023 - Ondřej Súkup + +- build with hadrian +- reintroduced profiling packages +- added man pages: ghc-pkg.man haddock.man runghc.man +- added 9_2_3-bootstrap-sources.tar.gz as hadrian deps +- refreshed patches: + * fix_extlinks.patch + * Disable-unboxed-arrays.patch + * ghc-8.0.2-Cabal-dynlibdir.patch + * ghc-pie.patch +- removed patches: + * ghc-armv7-VFPv3D16--NEON.patch + * buildpath-abi-stability.patch +- added patches: + * ghc-gen_contents_index-haddock-path.patch + * ghc-Cabal-install-PATH-warning.patch + * execstack.patch + * libatomic.patch + * riscv-tntc.patch + * ghc-hadrian-s390x-rts--qg.patch + +------------------------------------------------------------------- +Tue Jan 31 09:37:15 UTC 2023 - Peter Simons + +- Update to GHC version 9.4.4. + + * %{buildroot}%{ghclibdir}/include is apparently no longer used by + the RTS package. Those files now live in /usr/lib64/ghc-9.4.4/rts/include. + + * find %{buildroot}%{ghc_html_libraries_dir} -name LICENSE -exec rm '{}' ';' + no longer works because the directory doesn't exist at the time + that command is run. + + * The user manual and Haddock documentation is installed into a + different location. For now, we just list the catchall + %{_docdir}/packages/ghc to accept anything. + + * The LICENSE file for Cabal-syntax lives at libraries/Cabal/Cabal-syntax + instead of the expected place libraries/Cabal-syntax. + + * The package system-cxx-std-lib has no LICENSE file. It's not + even a proper package, it's just a configuration file that lists + some compiler and linker flags. To work around the build error + that causes, we just copy some random LICENSE file into the + place where our build would expect it. + +------------------------------------------------------------------- +Thu Jan 19 12:39:27 UTC 2023 - Guillaume GARDET + +- Do not require unversionned llvm since ghc needs a specific + llvm version. [boo#1207265] + +------------------------------------------------------------------- +Tue Jan 17 11:45:32 UTC 2023 - Peter Simons + +- Apply "fix_extlinks.patch" to work around a bug in Sphinx 6.1.x + that broke our documentation build. Remove this patch once Sphinx + is fixed. This patch is a variant of the ghc-9.4.4 patch from + https://gitlab.haskell.org/ghc/ghc/-/issues/22766. Upstream's + https://github.com/sphinx-doc/sphinx/issues/11094 has further + details. [boo#1207214] + +------------------------------------------------------------------- +Fri Jul 8 11:48:57 UTC 2022 - Andreas Schwab + +- execstack.patch: add missing stack note + +------------------------------------------------------------------- +Mon Jun 27 17:04:51 UTC 2022 - Dirk Müller + +- add ghc.keyring to have source validation enabled +- limit to use llvm12 for Factory as newer versions are not supported + +------------------------------------------------------------------- +Fri Apr 29 13:49:29 UTC 2022 - Martin Liška + +- Remove dependency on binutils-gold as the package will be removed + in the future. Gold linker is unmaintained by the upstream project. + +------------------------------------------------------------------- +Tue Mar 8 22:35:07 UTC 2022 - Dirk Müller + +- add ghc-armv7-VFPv3D16--NEON.patch to use vfpv3-d16 on armv7hl + +------------------------------------------------------------------- +Wed Feb 9 13:50:45 UTC 2022 - Peter Simons + +- add environ.patch to fix build errors with recent gcc + +------------------------------------------------------------------- +Fri Sep 3 20:57:29 UTC 2021 - Ondřej Súkup + +- update to 8.10.7 +- drop 4134.patch and refresh ghc-pie.patch + * portabilit yfixes + * Export some RTS symbols required for static builds of GHC + * Fix LLVM version checking logic so it no longer complains + about supported LLVM versions. + * Fix some RTS crashes on Darwin due to mixing up the closure + sizes of the aarch64 and x86-64 backends. + * Fix a crash on the non-moving GC due to incorrect logic + for calculating the header size for array write barries + * Fix a bug in base leading to a high likelihood of space + leaks when using lazy bytestrings + * Fix some timer races in the RTS possibly manifesting in #18033 and #20132 + * Fix a number of bugs affecting the RTS m32 allocator + * Fix a bug where code may be unloaded prematurely + when using the parallel garbage collector + * Fix a bug where the linker may during shutdown unload code before + libraries’ atexit handlers have a chance to run + * Improve code layout by distiguishing conditional and unconditional branches + * Add hs-boot file support for -ddump-minimal-imports + * Ensure hs-boot files are built before source files in GHCs -M mode + * Fix a long standing GHC API bug affecting clients like HLS where + async exceptions used to cancel threads during typechecking would be + caught by the Template Haskell evaluator and reported as compile errors + * Improve error messages when looking up packages fails + * Fix a number of quirks in GC accounting + * Fix a code generation bug which could result in entry of unlifted + objects in some programs using unboxed sums + * Ensure that POSIX signals are not delivered to the ticker thread + when using the pthread itimer implementation. + * Fix a specialiser bug which could result in the construction + of recursive dictionaries in some programs + * Bump containers to 0.6.4.1 + * Do not treat -Winferred-safe-imports warnings as errors. + * Fix a bug where typechecker plugins could be run with + an inconsistent typechecker environment + * Fix a simplifier bug which lead to an exponential + blow up and excessive memory usage in certain cases + +------------------------------------------------------------------- +Fri Jun 25 10:02:25 UTC 2021 - Ondřej Súkup + +- add 4134.patch to fix build with Sphinx4 + +------------------------------------------------------------------- +Mon Mar 15 20:33:24 UTC 2021 - Dirk Müller + +- always build against llvm9, also on SLE15 (suse_version == 1500) + otherwise the resulting build is not working (llvm is 7.x there) (bsc#1181571) + +------------------------------------------------------------------- +Tue Feb 9 01:29:46 UTC 2021 - Ondřej Súkup + +- update to 8.10.4 + * Fix a crash caused by inappropriate garbage of heap-allocated data + reachable from foreign exports + +------------------------------------------------------------------- +Sun Dec 20 00:29:27 UTC 2020 - Ondřej Súkup + +- update to 8.10.3 + * More robust support for architectures with weak memory ordering + guarantees (e.g. modern ARM hardware). + * GHC can now split dynamic objects to accomodate macOS' RPATH size + limitation when building large projects (#14444) + * Several correctness bugs in the new low-latency garbage collector + * Many, many other bug-fixes)) + +------------------------------------------------------------------- +Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup + +- disable %{ix86} build + +------------------------------------------------------------------- +Wed Oct 14 12:20:00 UTC 2020 - Ondřej Súkup + +- force multiversion for subpackages + +------------------------------------------------------------------- +Sat Oct 3 15:58:52 UTC 2020 - Ondřej Súkup + +- add --enable-unregistered to configure phase on unregistered + architectures + +------------------------------------------------------------------- +Sun Aug 9 11:27:32 UTC 2020 - Ondřej Súkup + +- update to 8.10.2 + * Fixes a code generation bug resulting in incorrect code generation + for foreign calls with complex arguments + * Fixes a bug causing object merging to fail when the lld linker is in use + * Introduces a workaround for a Linux kernel bug in the implementation + of the timerfd mechanism + * Fixes a few specialiser regressions as well introduces a variety + of miscellaneous specialiser improvements + * Fixes a potential loss of sharing due to left operator sections + * Fix bootstrapping of GHC with the LLVM backend on x86-64 + * few important correctness fixes for the low-latency garbage collector. + +------------------------------------------------------------------- +Sun May 31 18:47:18 UTC 2020 - Ondřej Súkup + +- cleanup specfile from Leap 42 and older remrants +- drop fix-unregisterised-v8.4-8.6.patch +- drop fix-build-using-unregisterized-v8.4.patch + +------------------------------------------------------------------- +Thu May 7 07:44:47 UTC 2020 - Peter Simons + +- Update ghc to version 8.10.1. Important changes are: + + * The UnliftedNewtypes extension, allowing newtypes to be wrap + types of kind other than Type. + + * The StandaloneKindSignatures extension, allowing explicit + signatures on type constructors. + + * A new, low-latency garbage collector for the oldest generation. + + Please refer to the compiler documentation for all details: + https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html + +------------------------------------------------------------------- +Thu Feb 27 08:47:53 UTC 2020 - Ondřej Súkup + +- update to 8.8.3 + * a compiler panic due to over-zealous eta reduction + * the ability to bootstrap with earlier 8.8 releases has been restored + * the directory submodule has been updated + * the process submodule has been updated + +------------------------------------------------------------------- +Mon Feb 17 16:43:22 UTC 2020 - Andreas Schwab + +- Increase memory limit for qemu user-space builds + +------------------------------------------------------------------- +Wed Feb 5 11:16:13 UTC 2020 - Andreas Schwab + +- Fix typo in last change + +------------------------------------------------------------------- +Thu Jan 23 09:41:53 UTC 2020 - Peter Trommler + +- use ghc-bootstrap-helpers on all archs +- lower build env requirements on riscv64 + * make sure we can build on smaller systems + * adjust parallelism so we don't hog big workers for almost a week + * many thanks to Stefan Bruens for pointing out the issue and + helping with the solution + +------------------------------------------------------------------- +Tue Jan 21 07:47:13 UTC 2020 - Guillaume GARDET + +- Update _constraints for aarch64 + +------------------------------------------------------------------- +Thu Jan 16 19:08:53 UTC 2020 - Peter Trommler + +- drop 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch + * fixed upstream +- drop D5212.patch + * fixed upstream +- drop fix-build-using-unregisterized-v8.4.patch + * bootstrap compiler is 8.6.5 now +- refresh fix-unregisterised-v8.4-8.6.patch +- clean up spec file + +------------------------------------------------------------------- +Thu Jan 16 17:56:27 UTC 2020 - Ondřej Súkup + +- update to 8.8.2 + * A bug (Issue #17088) in the compacting garbage collector resulting in segmentation + faults under specific circumstances. Note that this may affect user programs even + if they did not explicitly request the compacting GC (using the -c RTS flag) + since GHC may fallback to compacting collection during times of high memory pressure. + * A code generator bug (Issue #17334) resulting in GHC panics has been fixed. + * A typechecker bug (Issue #17112) resulting in GHC panicking on some programs + has been fixed. + * A bug (Issue #16707) in the implementation of software transactional memory + potentially resulting in hanging transactions has been fixed. + * A bug in the implementation of compact normal forms resulting in segmentation + faults in some uses (Issue #17044) has been fixed. + +------------------------------------------------------------------- +Tue Dec 31 18:17:24 UTC 2019 - Peter Trommler + +- add fix-unregisterised-v8.4-8.6.patch +* fix build on s390x and riscv64 + +------------------------------------------------------------------- +Mon Dec 30 12:08:41 UTC 2019 - Peter Trommler + +- refresh buildpath-abi-stability.patch +- refresh ghc-8.0.2-Cabal-dynlibdir.patch +- refresh ghc-pie.patch +- enable riscv64 + +------------------------------------------------------------------- +Sun Dec 29 13:10:39 UTC 2019 - Ondřej Súkup + +- use prebuilt alex and happy on Tumbleweed to avoid buildcycle +- Don't require llvm in ghc-compiler for other architectures than arm + +------------------------------------------------------------------- +Sat Dec 28 22:38:34 UTC 2019 - Ondřej Súkup + +- update to 8.8.1 -new stable release +- refresh Disable-unboxed-arrays.patch +- drop allow-riscv-and-riscv64-CPU.patch - merged in upstream + +------------------------------------------------------------------- +Mon Sep 23 10:07:24 UTC 2019 - Peter Trommler + +- add fix-build-using-unregisterized-v8.4.patch + * fixes unregisterised builds when bootstrap compiler is GHC 8.4 + * fixes build on s390x + +------------------------------------------------------------------- +Mon Sep 23 09:28:37 UTC 2019 - Andreas Schwab + +- Enable build on riscv64 +- Add memory constraints for riscv64, restrict to 2 jobs +- allow-riscv-and-riscv64-CPU.patch: recognize riscv64 as architecture +- Apply Disable-unboxed-arrays.patch also on s390x + +------------------------------------------------------------------- +Thu Apr 25 22:11:40 UTC 2019 - Ondřej Súkup + +- update to 8.6.5 + * A build system issue where use of GCC with -flto broke configure was fixed + +------------------------------------------------------------------- +Wed Mar 13 14:35:13 UTC 2019 - Ondřej Súkup + +- really bump llvm5 to llvm6 requires for ghc-compiler + +------------------------------------------------------------------- +Tue Mar 12 09:20:14 UTC 2019 - Ondřej Súkup + +- bump llvm req to llvm6 + +------------------------------------------------------------------- +Wed Mar 6 08:49:44 UTC 2019 - Ondřej Súkup + +- update to 8.6.4 + * A bug wherein changes in default method definitions would fail + to trigger recompilation has been fixed + * A bug wherein plugins would fail to lookup names not in scope + in the module being compiled has been fixed + * A bug where some programs involving StaticData would be rejected + with either a typechecking error or internal compiler error has been fixed + * A bug where compilation on Windows can fail with linker errors + referring to __chkstk_ms has been fixed + +------------------------------------------------------------------- +Mon Dec 17 13:26:47 UTC 2018 - Ondřej Súkup + +- use python3-Sphinx instead deprecated python-sphinx [boo#1119686] + +------------------------------------------------------------------- +Sat Dec 8 10:28:03 UTC 2018 - Ondřej Súkup + +- update to 8.6.3 + * A code generation bug resulting in segmentations faults in some programs + * bug leading to programs with deep stacks crashing when run with retainer profiling enabled + * A bug resulting in potential heap corruption during stable name allocation + * Plugins are now loaded during GHCi sessions + +------------------------------------------------------------------- +Wed Nov 7 10:00:46 UTC 2018 - Ondřej Súkup + +- dont require memory-constraints on older distros +- dropped reproducible-tmp-names.patch + +------------------------------------------------------------------- +Tue Nov 6 13:56:27 UTC 2018 - Ondřej Súkup + +- update to 8.6.2 + * Several compiler panics observed in GHC 8.6.1 have been fixed + * An integer overflow, resulting in some encodeFloat uses returning + incorrect results, has been fixed + * A long-standing bug in the LLVM code generator, resulting in incorrect + floating point evaluation, has been fixed. + * A long-standing bug exposed in GHC 8.6.1, has been fixed. This issue + resulted in undefined runtime behavior with some uses of the dataToTag# + primop. Note that this issue, while less likely to manifest, has existed + in some form in all GHC releases prior to this release and may result + in silent, incorrect evaluation. + +------------------------------------------------------------------- +Mon Oct 29 08:25:23 UTC 2018 - Guillaume GARDET + +- Make use of memory-constraints to avoid OOM errors + +------------------------------------------------------------------- +Fri Oct 26 08:01:13 UTC 2018 - Guillaume GARDET + +- Remove forced 'make -j2' for aarch64 and %arm + +------------------------------------------------------------------- +Tue Oct 9 15:50:06 UTC 2018 - ptrommler@icloud.com + +- add Disable-unboxed-arrays.patch + * apply on ppc64 only + * fixes ppc64 build +- add D5212.patch + * fix GHCi on big endian platforms + +------------------------------------------------------------------- +Tue Oct 2 11:28:19 UTC 2018 - ptrommler@icloud.com + +- cleanup + * remove unused conditional in configure command + +------------------------------------------------------------------- +Tue Oct 2 10:10:24 UTC 2018 - ptrommler@icloud.com + +- update to 8.6.1 +- add 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch + * fix __atomic_builtin detection + * upstream commit ce3897ff +- drop add_armv6l_and_armv7l_target.patch + * fixed upstream +- drop fix-ppc64le-recognition.patch + * fixed upstream +- drop fix-build-using-unregisterized-v8.2.patch + * bootstrap with 8.4.3 works w/o this patch +- refresh ghc-pie.patch +- refresh ghc-8.0.2-Cabal-dyndir.patch +- refresh buildpath-abi-stability.patch + +------------------------------------------------------------------- +Sun Sep 30 11:21:59 UTC 2018 - ptrommler@icloud.com + +- Add fix-build-using-unregisterized-v8.2.patch + * Fix build on s390x + +------------------------------------------------------------------- +Thu Sep 6 15:19:54 UTC 2018 - mmanu84@outlook.de + +- Fix armv6 build by adding armv6l to llvm-targets: + * change add_armv7l_target.patch to add_armv6l_and_armv7l_target.patch + +------------------------------------------------------------------- +Wed Jul 18 14:26:09 UTC 2018 - psimons@suse.com + +- Cosmetic: replace tabs with blanks, strip trailing white space, + and update copyright headers with spec-cleaner. + +------------------------------------------------------------------- +Sun Jul 1 11:18:37 UTC 2018 - ptrommler@icloud.com + +- Fix dependencies on arm and s390x + +------------------------------------------------------------------- +Sun Jun 17 10:15:27 UTC 2018 - ptrommler@icloud.com + +- add fix-ppc64le-recognition.patch +* recognize powerpc64le as PPC64 in cabal files + +------------------------------------------------------------------- +Fri Jun 1 13:13:27 UTC 2018 - ptrommler@icloud.com + +- update to 8.4.3 +* code generation for UnboxedSum fixed +* compatibility withe newer binutils (as) +* Cabal issue with abi-depends fixed + +------------------------------------------------------------------- +Sun May 27 17:17:36 UTC 2018 - ptrommler@icloud.com + +- Fix build for older openSUSE +- Don't do selfbootstrapping +* Cuts down build time roughly in half + +------------------------------------------------------------------- +Fri May 18 06:37:11 UTC 2018 - guillaume.gardet@opensuse.org + +- Fix armv7 build by adding armv7l to llvm-targets: + * add_armv7l_target.patch + +------------------------------------------------------------------- +Thu Apr 26 19:51:11 UTC 2018 - ptrommler@icloud.com + +- update to 8.4.2 +- drop 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch +* fixed upstream +- drop 0001-PPC-Implement-Atomic-operations.patch +* fixed upstream +- drop 0001-Use-__atomic-intrinsics-for-atomicread-write.patch +* fixed upstream +- drop D4089.patch +* fixed upstream + +------------------------------------------------------------------- +Thu Apr 26 12:21:57 UTC 2018 - mimi.vx@gmail.com + +- fix BuildRequires for llvm + +------------------------------------------------------------------- +Wed Apr 18 07:42:06 UTC 2018 - mimi.vx@gmail.com + +- use %license macro as used by new ghc-rpm-macros + +------------------------------------------------------------------- +Mon Dec 18 18:16:10 UTC 2017 - ptrommler@icloud.com + +- refresh ghc-pie.patch so it applies cleanly + +------------------------------------------------------------------- +Sat Dec 16 20:53:37 UTC 2017 - mimi.vx@gmail.com + +- reintroduce ghc-pie.patch (pure upstreams don't work) + +------------------------------------------------------------------- +Sat Dec 9 16:27:31 UTC 2017 - ptrommler@icloud.com + +- update to 8.2.2 +- Several important correctness issues fixing potential runtime crashes +- A correctness issue leading to undefined behavior in some programs + making use of STMa fixed +- A runtime system bug which may have manifested as a segmentation fault + under low-memory conditions fixed +- ghc-pkg now works correctly ihn environments with misconfigured NFS mounts +- GHC can now produce position-independent executables +- Significantly improved type errors +- refresh reproducible-tmp-names.patch +- drop ghc-pie.patch fixed upstream + +------------------------------------------------------------------- +Tue Oct 31 18:41:52 UTC 2017 - ptrommler@icloud.com + +- update to 8.2.1 +- improved compiler performance +- reliable DWARF debugging information on x86_64 and i386 +- aarch64: registerised through LLVM backend (experimental) +- optimized build for platforms with LLVM backend (arm, aarch64) +- improved performance on NUMA systems +- interface file determinism +- various language improvements +- update _constraints + * ppc64le builds need less memory since 8.2.1 +- drop support for ppc and s390 +- drop ghc-no-madv-free.patch fixed upstream +- drop 0001-StgCmmPrim-Add-missing-write-barrier.patch +- refresh buildpath-abi-stability.patch +- refresh ghc-8.0.2-Cabal-dynlibdir.patch +- refresh ghc-pie.patch +- refresh reproducible-tmp-names.patch +- refresh 0001-PPC-Implement-Atomic-operations.patch +- refresh D4089.patch + +------------------------------------------------------------------- +Tue Oct 17 09:54:11 UTC 2017 - ptrommler@icloud.com + +- add D4089.patch + * fix GHCi issue on ppc64 + * see Haskell Trac #11262 + +------------------------------------------------------------------- +Fri Sep 22 07:57:10 UTC 2017 - ptrommler@icloud.com + +- add 0001-Use-__atomic-intrinsics-for-atomicread-write.patch + * add missing memory barriers on atomic read/write ops + * fixes upstream ticket #14244 +- adjust comment for patch 32 + * the situation with upstream #12537 is improved but not + solved. Patch 32, however, is correct. There are even more + memory barriers missing elsewhere in the compiler. + +------------------------------------------------------------------- +Sat Sep 16 12:16:30 UTC 2017 - ptrommler@icloud.com + +- add 0001-PPC-Implement-Atomic-operations.patch + * fixes parallel programs on all PowerPC platforms + * uptream ticket #12537 +- refresh buildpath-abi-stability.patch + +------------------------------------------------------------------- +Sun May 28 12:52:06 UTC 2017 - mimi.vx@gmail.com + +- make compatible with new upstream macros +- added patches for more stable abi: +* buildpath-abi-stability.patch +* reproducible-tmp-names.patch + +------------------------------------------------------------------- +Sat May 6 09:02:02 UTC 2017 - meissner@suse.com + +- enable for global PIE support: + - the compiler is built without PIE support due to the bootstrap + libraries being non-PIE using BuildIgnore: gcc-PIE + - the compiler itself builds -fPIC objects all the time, + which should make all ghc compiled binaries be PIE. +- ghc-pie.patch: enable default -fPIC on Linux/x86_64 + +------------------------------------------------------------------- +Sun Jan 22 11:31:49 UTC 2017 - peter.trommler@ohm-hochschule.de + +- comment for patch 100 +- refresh ghc-no-madv-free.patch with upstream patch +* upstream fix for Haskell Trac #12865 +* Haskell Trac #12495 is a duplicate + +------------------------------------------------------------------- +Sat Jan 21 21:50:56 UTC 2017 - mimi.vx@gmail.com + +- update to 8.0.2 +- drop patches merged by upstream: +* D2495.patch +- refreshed patches: +* 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch +* 0001-StgCmmPrim-Add-missing-write-barrier.patch +* ghc-no-madv-free.patch +- added ghc-8.0.2-Cabal-dynlibdir.patch by Jens Petersen simplifing + haskell packaging ++ Interface files produced by GHC should now be deterministic ( boo#998972 ) ++ A bug has been fixed that caused standalone derived Ix instances + to fail for GADTs with exactly one constructor ++ Compatibility fixes recent Linux distributions. + +------------------------------------------------------------------- +Fri Jan 20 08:39:45 UTC 2017 - peter.trommler@ohm-hochschule.de + +- drop D2844.patch + * the patch causes more issues with parallel builds +- fixes boo#1020909 + +------------------------------------------------------------------- +Fri Dec 16 08:45:26 UTC 2016 - peter.trommler@ohm-hochschule.de + +- add D2844.patch + * fix issues with parallel builds + +------------------------------------------------------------------- +Fri Oct 14 20:34:46 UTC 2016 - mimi.vx@gmail.com + +- make compatible with new ghc-rpm-macros + +------------------------------------------------------------------- +Wed Sep 28 14:16:09 UTC 2016 - peter.trommler@ohm-hochschule.de + +- update to 8.0.1 +- drop patches fixed upstream: +* drop atomic-cast.patch +* drop cabal-show-detail-direct.patch +* drop 0001-link-command-line-libs-to-temp-so.patch +* drop 0001-implement-native-code-generator-for-ppc64.patch +* drop ghc.git-b29f20.patch +* drop u_terminfo_0402.patch +* drop u_Cabal_update.patch +* drop u_haskeline_update.patch +* drop 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch +* drop D2214.patch +* drop D2225.patch +- refresh 0001-StgCmmPrim-Add-missing-write-barrier.patch +- refresh 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch +- add ghc-no-madv-free.patch to fix "unable to decommit memory: + Invalid argument" errors GHC reports due to a misdetected + MADV_FREE capability. The configure script sees the symbol define + by glibc, but unfortunately this doesn't mean that the running + kernel actually supports the feature, too. The upstream ticket + https://ghc.haskell.org/trac/ghc/ticket/12495 has more details. + Thanks to @psimons +- GHC produces debug information on x86 and x86_64 +- aarch64 has LLVM backend (requires llvm-3.7) +- native code generator for powerpc64[le] (openSUSE contribution!) +- disable html doc on SLE, we don't have python-sphinx +* Thanks @mimi_vx + +------------------------------------------------------------------- +Tue Sep 27 11:53:54 UTC 2016 - peter.trommler@ohm-hochschule.de + +- add D2495.patch +* missing memory barrier on PowerPC, ARM +- add 0001-StgCmmPrim-Add-missing-write-barrier.patch +* another issing memory barrier on PowerPC, ARM +- add 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch +* fix bug in code generator +* fixes build of ghc-zeromq4-haskell on powerpc64[le] + +------------------------------------------------------------------- +Thu Aug 18 17:39:47 UTC 2016 - mimi.vx@gmail.com + +- fix boo#994268 + +------------------------------------------------------------------- +Tue May 17 19:01:13 UTC 2016 - peter.trommler@ohm-hochschule.de + +- add D2225.patch +* backport of upstream patch accepted for ghc 8.0.1 +* fix SMP primitives on all powerpc archs + +------------------------------------------------------------------- +Sat May 14 09:13:07 UTC 2016 - peter.trommler@ohm-hochschule.de + +- add D2214.patch +* backport of upstream patch slated for ghc 8.0.2 +* fix issue in code PowerPC code generator (32 bit and 64 bit) +- add 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch +* backport of upstream fix slated for ghc 8.0.2 +* fix bytestring library on big-endian archs +* fix wrong results in ghc-pureMD5 and others on big-endian + +------------------------------------------------------------------- +Tue Apr 19 12:50:38 UTC 2016 - mimi.vx@gmail.com + +- update haskeline to 0.7.2.3 +- refresh u_haskeline_update.patch +* Fix hsc2hs-related warning on ghc-8 +* Fix the behavior of ctrl-W in the emacs bindings +* Point to github instead of trac + +------------------------------------------------------------------- +Tue Mar 8 08:56:42 UTC 2016 - mimi.vx@gmail.com + +- update Cabal to 1.22.8.0 +- refresh u_Cabal_update.patch +* Distribution.Simple.Setup: remove job cap +* Check all object file suffixes for recompilation +* Move source files under 'src/'. + +------------------------------------------------------------------- +Wed Feb 17 09:09:17 UTC 2016 - peter.trommler@ohm-hochschule.de + +- limit parallel jobs to two on aarch64 +* aarch64 runs out of memory with too many parallel compiles + +------------------------------------------------------------------- +Sun Feb 14 13:55:46 UTC 2016 - peter.trommler@ohm-hochschule.de + +- add missing C library dependency to terminfo devel package + +------------------------------------------------------------------- +Sun Feb 7 00:33:26 UTC 2016 - mimi.vx@gmail.com + +- update haskeline to 0.7.2.2 +- add u_haskeline_update.patch +* canonicalize AMP instances to make the code more future proof +* Generalize constraints for InputT instances +* Bump upper bounds on base and transformers +* Make Haskeline `-Wtabs` clean + +------------------------------------------------------------------- +Tue Jan 26 08:22:59 UTC 2016 - mimi.vx@gmail.com + +- update Cabal to 1.22.7.0 +- refresh u_Cabal_update.patch +* Backport #3012 to the 1.22 branch +* Add foldl' import +* The Cabal part for fully gcc-like response files + +------------------------------------------------------------------- +Tue Jan 5 18:54:25 UTC 2016 - peter.trommler@ohm-hochschule.de + +- update tarball to 7.10.3b +* some documentation files were missing in the original + 7.10.3 tarball +- add 0001-link-command-line-libs-to-temp-so.patch +* fix panic in GHCi when linking against C library specified + as command line argument (-l) +* currently under upstream review +* fix Haskell trac #10458 + +------------------------------------------------------------------- +Mon Dec 28 08:52:20 UTC 2015 - mimi.vx@gmail.com + +- update Cabal to 1.22.6.0 +- add u_Cabal_update.patch -- update of Cabal +* Relax upper bound to allow upcoming binary-0.8 + +------------------------------------------------------------------- +Mon Dec 21 08:45:50 UTC 2015 - mimi.vx@gmail.com + +- update terminfo to 0.4.0.2 +- drop remove-cur_term-usage.patch - merged by upstream +- add u_terminfo_0402.patch -- update of terminfo + +------------------------------------------------------------------- +Mon Dec 7 14:18:50 UTC 2015 - mimi.vx@gmail.com + +- update Cabal to 1.22.5.0 +* Don't recompile C sources unless needed +* Support Haddock response files. +* Add frameworks when linking a dynamic library. + +------------------------------------------------------------------- +Tue Dec 1 08:26:43 UTC 2015 - mimi.vx@gmail.com + +- use upstream variant of remove-cur_term-usage.patch + +------------------------------------------------------------------- +Tue Oct 6 19:18:08 UTC 2015 - peter.trommler@ohm-hochschule.de + +- update to 7.10.3 +- add cabal-show-detail-direct.patch -- Fix testsuites with large output. + Debian patch. Thanks Joachim for suggesting it in Haskell #10870! +- add ghc.git-b29f20.patch +* fixes upstream #7830 +* fix ghc 7.10.2 failing to bootstrap ghc head on ppc +and perhaps ppc64 with some optimizations enabled +* backport of my patch for upcoming ghc 8.0.1 + +------------------------------------------------------------------- +Mon Oct 5 07:47:58 UTC 2015 - schwab@suse.de + +- atomic-cast.patch: fix signature of atomic bultins +- ghc-7.8-arm-use-ld-gold.patch: remove obsolete patch + +------------------------------------------------------------------- +Sat Oct 3 18:50:28 UTC 2015 - sbahling@suse.com + +- Remove ncurses6.patch - it's not so easy ;) +- Add remove-cur_term-usage.patch to remove the need to access the + cur_term global which isn't available in the openSUSE ncurses6 + build. + +------------------------------------------------------------------- +Sat Oct 3 15:59:19 UTC 2015 - mimi.vx@gmail.com + +- Add choice for libffi in openSUSE:Leap:42.1 + +------------------------------------------------------------------- +Sun Sep 20 16:30:09 UTC 2015 - mimi.vx@gmail.com + +- remove llvm from requires +- add ncurses6.patch to fix build with ncurses6, all thanks goes to + Tomas Cech sleep_walker@opensuse.org + +------------------------------------------------------------------- +Mon Aug 10 17:38:34 UTC 2015 - peter.trommler@ohm-hochschule.de + +- update to 7.10.2 +* type checker fixes +* fixes for Aarch64 support +* fix deadlock in runtime system when scheduling garbage collection +- 7.10.1 highlights +* implement Applicative Monad Proposal +* implement Burning Bridges Proposal +* support for partial type signatures +* reimplement integer-gmp +* support plugins in type checker (experimental!) +- drop llvm-powerpc64-datalayout.patch +* this patch was incomplete all along and now we have our native + code generator +- drop ghc-cabal-unversion-docdir.patch +* ghc-rpm-macros is following ghc's doc layout so no need to patch +- drop D349.patch +* fixed upstream +- drop integer-gmp.patch +* we do not support SLE11 anymore +- drop ghc-7.8.2-cgen-constify.patch +* fixed upstream +- drop D560.patch +* fixed upstream +- drop ghc-glibc-2.20_BSD_SOURCE.patch +* fixed upstream +- drop ghc-arm64.patch +* fixed upstream +- drop ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch +* fixed upstream +- refresh 0001-implement-native-code-generator-for-ppc64.patch +- disable ghc-7.8-arm-use-ld-gold.patch +* not sure we need this, must be rebased if we do + +------------------------------------------------------------------- +Fri Jul 17 14:58:44 UTC 2015 - peter.trommler@ohm-hochschule.de + +- add ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch +* enable SMP and GHCi on Aarch64 +- add ghc-7.8-arm-use-ld-gold.patch +* Aarch64 needs gold linker + +------------------------------------------------------------------- +Fri May 29 05:47:07 UTC 2015 - peter.trommler@ohm-hochschule.de + +- refresh ghc-arm64.patch +- unconditionally apply ghc-arm64.patch + +------------------------------------------------------------------- +Thu May 28 15:14:31 UTC 2015 - peter.trommler@ohm-hochschule.de + +- add backport of powerpc64le native code generator to + 0001-implement-native-code-generator-for-ppc64.patch +- refresh D349.patch + +------------------------------------------------------------------- +Thu May 28 13:15:52 CEST 2015 - ro@suse.de + +- on s390/s390x use "make -j2" to stabilize abi hashes + (see also redhat bug 1212374) + +------------------------------------------------------------------- +Tue May 26 09:19:09 UTC 2015 - mimi.vx@gmail.com + +- disable llvm on arm64 + +------------------------------------------------------------------- +Thu May 21 23:32:56 CEST 2015 - ro@suse.de + +- re-diffed ghc-arm64.patch + +------------------------------------------------------------------- +Thu May 21 18:56:26 CEST 2015 - ro@suse.de + +- add ghc-arm64.patch for aarch64 +- add aarch64, s390, s390x to ExclusiveArch + +------------------------------------------------------------------- +Tue Apr 14 11:26:18 UTC 2015 - mimi.vx@gmail.com + +- remove unneeded conditions + +------------------------------------------------------------------- +Mon Apr 13 14:57:55 UTC 2015 - mimi.vx@gmail.com + +- chnage constraints to 12G for disk and 4G for ram + +------------------------------------------------------------------- +Sun Mar 15 13:25:32 UTC 2015 - peter.trommler@ohm-hochschule.de + +- add ghc-glibc-2.20_BSD_SOURCE.patch +* fixes build on unregisterised architectures (openSUSE: ppc64le) + +------------------------------------------------------------------- +Mon Feb 23 16:48:10 UTC 2015 - peter.trommler@ohm-hochschule.de + +- drop ghc-cabal-unversion-docdir.patch + * ghc-rpm-macros follows upstream ghc again + +------------------------------------------------------------------- +Wed Feb 4 11:57:35 UTC 2015 - mimi.vx@gmail.com + ++ add ghc-glibc-2.20_BSD_SOURCE.patch from fedora +- updated to 7.8.4 ++ removed D177.patch (in upstream) ++ removed D173.patch (in upstream) ++ removed ghc.git-e18525f.patch (in upstream) ++ refresh 0001-implement-native-code-generator-for-ppc64.patch +* A critical bug in the LLVM backend which would cause the compiler to generate incorrect code has been fixed (issue #9439). +* Several bugs in the code generator have been fixed for unregisterised platforms, such as 64bit PowerPC (issue #8819 and #8849). +* A bug that could cause GHC's constructor specialization pass (enabled by default at -O2, or via -fspec-constr) to loop forever and consume large amounts of memory has been fixed (issue #8960). +* A bug that would cause GHC to fail when attempting to determine GCC's version information in non-english locales has been fixed (issue #8825). +* A minor bug that allowed GHC to seemingly import (but not use) private data constructors has been fixed (issue #9006). +* A bug in the register allocator which would cause GHC to crash during compilation has been fixed (issue #9303). +* A bug that caused the compiler to panic on some input C-- code has been fixed (issue #9329). +* A few various minor deadlocks in the runtime system when using forkProcess have been fixed. +* A bug which made blocked STM transactions non-interruptible has been fixed (issue #9379). +* A bug in the compiler which broke pattern synonym imports across modules in Haddock has been fixed (issue #9417). +* A minor bug in the code generator in which the popCnt16# did not zero-extend its result has been fixed (issue #9435). +* A bug which caused the compiler to panic on pattern synonyms inside a class declaration has been fixed (issue #9705). +* A bug in the typechecker revolving around un-saturated type family applications has been fixed (issue #9433). +* Several bugs have been fixed causing problems with building GHC on ARM (issues #8951, #9620, #9336, and #9552). +* A bug in the typechecker that could cause an infinite loop when using superclasses in a cycle has been fixed (issue #9415). +* A bug causing corruption in signal handling with the single-threaded runtime system has been fixed (issue #9817). +* A bug that could cause compiled programs to crash due to use of overlapping type families has been fixed (issue #9371). +* A bug in the inliner that caused certain expressions within unboxed tuples to not be properly evaluated has been fixed (issue #9390). +* A bug that caused the compiler to not always properly detect LLVM tools (particularly on Windows) has been fixed (issue #7143). +* A bug that prevented GHC from deriving Generic1 instances for data families has been fixed (#9563). +* A bug that caused type inference to infer the incorrect type in the presence of certain type families and constraints has been fixed (issue #9316). + +------------------------------------------------------------------- +Tue Feb 3 13:35:25 UTC 2015 - mimi.vx@gmail.com + +- add constraints file + +------------------------------------------------------------------- +Tue Feb 3 12:05:21 UTC 2015 - mimi.vx@gmail.com + +- remove dblatex dependency + +------------------------------------------------------------------- +Mon Jan 12 14:20:32 UTC 2015 - peter.trommler@ohm-hochschule.de + +- add patch 0001-implement-native-code-generator-for-ppc64.patch +* native code generation improved compilation speed +* fewer errors in testsuite than with C back end + +------------------------------------------------------------------- +Sat Dec 13 09:36:11 UTC 2014 - peter.trommler@ohm-hochschule.de + +- add patch D560.patch +* fixes dynamic linking on ppc +* see https://phabricator.haskell.org/D560 +* this is a back port of the upstream patch + +------------------------------------------------------------------- +Wed Nov 5 17:10:14 UTC 2014 - peter.trommler@ohm-hochschule.de + +- add patch D349.patch +* fix a crash with dynamic linking in GHCi when accessing the + process environment +* our patch has been submitted upstream +* see https://phabricator.haskell.org/D349 + +------------------------------------------------------------------- +Sun Sep 28 07:56:51 UTC 2014 - peter.trommler@ohm-hochschule.de + +- ghc-rpm-macros use internal dependency generator now +* simplifies spec file + +------------------------------------------------------------------- +Sat Sep 20 13:09:30 UTC 2014 - peter.trommler@ohm-hochschule.de + +- fix alternatives handling + +------------------------------------------------------------------- +Fri Sep 19 09:17:53 UTC 2014 - peter.trommler@ohm-hochschule.de + +- update to 7.8.3 +* needed for Haskell Platfoerm 2014.2.0.0 +* fixes bnc #726744 +* way smaller source tarball (windows binaries removed) +* dynamic libraries, GHCi, and Template Haskell for ppc64 and ppc64le +- drop ghc-ppc64le.patch (fixed upstream) +- add integer-gmp.patch +* build bundled libgmp on SLE 11 (system version is too old) +* fixes build on x86_64 +* see upstream trac #8156 +- add ghc-7.8.2-cgen-constify.patch +* C backend (ppc64, ppc64le): generate 'const' strings +* reduce size of table of contents (TOC) +- add D173.patch +* fix C backend: generate literals of correct size +* fixes lots of arithmetic failures and trac #8849 +* asked upstream to merge fix into 7.8.4 +- add D177.patch +* pass PIC flags to assembler +* shared libraries on ppc still broken (trac #8024) +- add ghc.git-e18525f.patch +* fix C backend: generate functions for cmm primitives +- drop ghc-use-system-libffi.patch (included upstream) +- drop ghc-suse-as-needed.patch (fixed upstream) +- drop Cabal-fix-dynamic-exec-for-TH.patch (fixed upstream) +- drop ghc-7.6.3-LlvmCodeGen-no-3.3-warning.patch (fixed upstream) +- drop ghc-avoid-empty-llvm-used-definitions.patch (fixed upstream) +- drop 0001-Fix-detection-of-library-for-shm-on-openSUSE.patch +* our patch was included upstream +- drop 0001-Delete-spurious-comma-in-configure.ac.patch +* our patch was included upstream +-drop ghc-fix-infinite-loop-big-endian.patch (fixed upstream +- refresh llvm-powerpc64-datalayout.patch +* port to new LLVM backend +- refresh ghc-cabal-unversion-docdir.patch +* include original Fedora patch for 7.8.2 + +------------------------------------------------------------------- +Tue Sep 16 19:17:05 UTC 2014 - peter.trommler@ohm-hochschule.de + +- bootstrap from ghc-bootstrap not ghc +* remove BR loop ghc->ghc + +------------------------------------------------------------------- +Thu Jul 31 14:09:44 UTC 2014 - dimstar@opensuse.org + +- Rename rpmlintrc to %{name}-rpmlintrc. + Follow the packaging guidelines. + +------------------------------------------------------------------- +Sat May 10 19:30:44 UTC 2014 - dvaleev@suse.com + +- Enable ppc64le (ghc-ppc64le.patch) + +------------------------------------------------------------------- +Mon Dec 16 15:03:42 UTC 2013 - peter.trommler@ohm-hochschule.de + +- use correct setting for unregisterised builds (ppc64) +- simplify build setup (generation of mk/build.mk) + +------------------------------------------------------------------- +Mon Dec 16 10:56:21 UTC 2013 - peter.trommler@ohm-hochschule.de + +- don't BR llvm for now +- dblatex broken on older openSUSE + +------------------------------------------------------------------- +Sun Dec 15 10:55:50 UTC 2013 - peter.trommler@ohm-hochschule.de + +- revert LLVM for ppc64 (segfaults during package install) +- fix setting up build.mk +- build perf for all archs + +------------------------------------------------------------------- +Sat Dec 14 08:38:43 UTC 2013 - peter.trommler@ohm-hochschule.de + +- Add llvm-powerpc64-datalayout.patch +* fix LLVM backend for powerpc64 +- build and test LLVM backend on powerpc64 + +------------------------------------------------------------------- +Fri Dec 13 21:59:10 UTC 2013 - peter.trommler@ohm-hochschule.de + +- Add cabal-unversion-docdir.patch +* ghc-rpm-macros don't include versions in package docdirs + starting with version 1.0 +- use standard docdir for ghc +- package pdf and ps manuals + +------------------------------------------------------------------- +Mon Oct 28 18:24:46 UTC 2013 - peter.trommler@ohm-hochschule.de + +- Add ghc-fix-infinite-loop-big-endian.patch: Fix Haskell trac + #8134 on ppc64. +- Enable threaded runtime on ppc64 + +------------------------------------------------------------------- +Tue Sep 24 20:56:45 UTC 2013 - peter.trommler@ohm-hochschule.de + +- Add 0001-Fix-detection-of-library-for-shm-on-openSUSE.patch: + Fix broken autoconf test for shm_* and librt. Haskell trac #8350 +- Add 0001-Delete-spurious-comma-in-configure.ac.patch: + Fix test for setitimer. Haskell trac #8352 + +------------------------------------------------------------------- +Tue Sep 24 07:02:11 UTC 2013 - peter.trommler@ohm-hochschule.de + +- set up build.mk with configuration for ppc64 +* explicitly disable features that are not supported on ppc64 + +------------------------------------------------------------------- +Mon Sep 23 17:32:52 UTC 2013 - peter.trommler@ohm-hochschule.de + +- add BR binutils-devel for bfd.h and libiberty + +------------------------------------------------------------------- +Mon Sep 23 14:27:19 UTC 2013 - peter.trommler@ohm-hochschule.de + +- add BR libelf-devel for nlist.h + +------------------------------------------------------------------- +Tue Sep 10 16:21:19 UTC 2013 - peter.trommler@ohm-hochschule.de + +- Patches for llvm 3.3. +* Add ghc-7.6.3-LlvmCodeGen-no-3.3-warning.patch: Silence warning + about llvm too new +* Add ghc-avoid-empty-llvm-used-definitions.patch: Fix llvm code + generator. Backported patch for ghc 7.7 (cf Haskell trac #7996) +- explicitly configure gcc location in bootstrap builds too +- allow ppc builds (ppc64 build gets stuck) + +------------------------------------------------------------------- +Fri Sep 6 17:19:26 UTC 2013 - peter.trommler@ohm-hochschule.de + +- include BuildFlavour definitions in build.mk + +------------------------------------------------------------------- +Tue Sep 3 20:46:48 UTC 2013 - peter.trommler@ohm-hochschule.de + +- build optimized compiler (BuildFlavour = perf) +- bring back Fedora's Template Haskell patch +- add Haskell trac ticket number to glibc-locale comment + +------------------------------------------------------------------- +Tue Jul 16 15:01:54 UTC 2013 - peter.trommler@ohm-hochschule.de + +- add comment to explain why glibc-locale is required by + ghc-compiler + +------------------------------------------------------------------- +Fri May 17 15:53:07 UTC 2013 - peter.trommler@ohm-hochschule.de + +- glibc-locale required by ghc-pkg + +------------------------------------------------------------------- +Fri May 3 07:38:55 UTC 2013 - peter.trommler@ohm-hochschule.de + +- update to 7.6.3 from upstream +- part of Haskell Platform 2013.2 +- new languages features (polymorphic kinds, ...) +- do compiler upgrade in one submit request by bootstrapping + ghc if necessary and use that ghc to selfbootstrap new + ghc +- replaced ghc-use-system-libffi.patch with new patch for + Haskell trac #5743 (add configure option to use system libffi) +- drop Cabal-fix-dynamic-exec-for-TH.patch: Fixed upstream +- drop ghc-6.12.1-gen_contents_index-haddock-path.patch which used + system provided haddock and that causes trouble when bootstrapping +- drop ghc-gen_contents_index-type-level.patch: fixed upstream +- drop patch ghc-fix-undefined-openpty.patch: Fixed upstream +- drop patch 0001-Add-missing-flag-for-respecting-EXTRA_LIBDIR.patch: + Fixed upstream +- port to new ghc-rpm-macros + +------------------------------------------------------------------- +Fri Jan 11 16:52:35 UTC 2013 - peter.trommler@ohm-hochschule.de + +- enable color and links in documentation + +------------------------------------------------------------------- +Mon Dec 3 09:33:59 UTC 2012 - peter.trommler@ohm-hochschule.de + +- try to work around factory-auto still thinking we need + to wait for BRs even when those are in a comment + +------------------------------------------------------------------- +Wed Nov 28 08:30:30 UTC 2012 - peter.trommler@ohm-hochschule.de + +- help factory-auto by commenting out currently unneeded BRs + +------------------------------------------------------------------- +Tue Nov 13 10:20:38 UTC 2012 - peter.trommler@ohm-hochschule.de + +- selfbootstrap ghc 7.4.2 + +------------------------------------------------------------------- +Mon Nov 12 12:53:10 UTC 2012 - peter.trommler@ohm-hochschule.de + +- remove binary distributions after bootstrap in Factory + +------------------------------------------------------------------- +Thu Nov 8 22:24:25 UTC 2012 - peter.trommler@ohm-hochschule.de + +- Update to version 7.4.2 from upstream +* Required by Haskell Platform 2012.4.0.0 +* Fixes for ghc and ghci + +------------------------------------------------------------------- +Thu Nov 8 19:58:08 UTC 2012 - peter.trommler@ohm-hochschule.de + +- add ExclusiveArch tag + +------------------------------------------------------------------- +Tue Nov 6 14:41:06 UTC 2012 - peter.trommler@ohm-hochschule.de + +- generate debug packages for Factory + +------------------------------------------------------------------- +Sun Oct 14 07:41:59 UTC 2012 - peter.trommler@ohm-hochschule.de + +- do not warn about metapackage ghc containing no binary + +------------------------------------------------------------------- +Sat Oct 13 12:14:42 UTC 2012 - peter.trommler@ohm-hochschule.de + +- fix cyclic dependency to ghc (libraries reqire ghc-compiler) + +------------------------------------------------------------------- +Fri Oct 12 18:33:57 UTC 2012 - peter.trommler@ohm-hochschule.de + +- do not override automatic dependency generation +* needs ghc-pkg which we won't have in Factory yet + +------------------------------------------------------------------- +Fri Oct 12 11:16:56 UTC 2012 - peter.trommler@ohm-hochschule.de + +- prepare for bootstrap in Factory +* add binary distribution to spec file +* change build to use ghc provided by binary distribution + +------------------------------------------------------------------- +Tue Jul 31 20:02:45 UTC 2012 - peter.trommler@ohm-hochschule.de + +- back ported two patches for Haskell trac #7062 +* fix openpty undefined symbol +* fix extra libraries not on linker path + +------------------------------------------------------------------- +Sat Jul 28 07:15:30 UTC 2012 - peter.trommler@ohm-hochschule.de + +- fix ghc-suse-as-needed.patch +* add --disable-new-dtags to linker flags. Adding RUNPATH to shared + libraries breaks linking. To fix that ghc's libraries need to set + their own RUNPATHs which they currently don't. +* fixes Haskell #7062 + +------------------------------------------------------------------- +Mon Jun 25 10:11:48 UTC 2012 - peter.trommler@ohm-hochschule.de + +- use ghc_lib_subpackage instead of ghc_binlib_package (ghc-rpm-macros 0.95.5.1) +- add simple checks to %check section +- sort BuildRequires somewhat + +------------------------------------------------------------------- +Sun Jun 24 08:19:33 UTC 2012 - peter.trommler@ohm-hochschule.de + +- remove perl boot comment +- rebuild after project conf fix for hscolour (keep deepseq) + +------------------------------------------------------------------- +Wed Jun 20 16:47:16 UTC 2012 - peter.trommler@ohm-hochschule.de + +- enable hscolour after bootstrap + +------------------------------------------------------------------- +Wed Jun 6 14:51:43 UTC 2012 - peter.trommler@ohm-hochschule.de + +- disable bootstrapping for devel:languagaes:haskell + +------------------------------------------------------------------- +Wed Jun 6 08:30:33 UTC 2012 - peter.trommler@ohm-hochschule.de + +- set bootstrapping for bootstrap in devel:languages:haskell + +------------------------------------------------------------------- +Mon Jun 4 17:49:19 UTC 2012 - peter.trommler@ohm-hochschule.de + +- add autoreconf required by suse as-needed patch + +------------------------------------------------------------------- +Mon Jun 4 15:23:52 UTC 2012 - peter.trommler@ohm-hochschule.de + +- selfbootstraping +- disable perl boot, might undo libffi patch + +------------------------------------------------------------------- +Mon Jun 4 11:23:19 UTC 2012 - peter.trommler@ohm-hochschule.de + +- upgrade to 7.4.1 from upstream for Haskell Platform 2012.2.0.0 +- drop Cabal-option-executable-dynamic.patch (fixed in upstream) +- add ghc-suse-as-needed.patch +- add Cabal-fix-dynamic-exec-for-TH.patch +- add ghc-gen_contents_index-type-level.patch +- bootstrapping + +------------------------------------------------------------------- +Sun Jun 3 11:44:09 UTC 2012 - peter.trommler@ohm-hochschule.de + +- apply patch 2 +- use perl boot to autoreconf all subdirectories + +------------------------------------------------------------------- +Mon May 28 11:11:43 UTC 2012 - peter.trommler@ohm-hochschule.de + +- added LICENSE to library and base package +- should probably be ignored in rpmlintrc + +------------------------------------------------------------------- +Mon May 28 07:25:35 UTC 2012 - peter.trommler@ohm-hochschule.de + +- follow Fedora packaging: +- package compiler in ghc-compiler +- meta package for all libraries +- ghc became meta package for everything + +------------------------------------------------------------------- +Sat May 26 06:56:22 UTC 2012 - peter.trommler@ohm-hochschule.de + +- deleted extra BR after project configuration fix + +------------------------------------------------------------------- +Fri May 25 12:56:11 UTC 2012 - peter.trommler@ohm-hochschule.de + +- remove minimum version requirement for gmp-devel + +------------------------------------------------------------------- +Sat May 19 16:00:19 UTC 2012 - peter.trommler@ohm-hochschule.de + +- don't pack manual page when without_manual is set + +------------------------------------------------------------------- +Sat May 19 11:29:31 UTC 2012 - peter.trommler@ohm-hochschule.de + +- temporarily disable manual to work around broken texlive + +------------------------------------------------------------------- +Thu May 17 07:27:48 UTC 2012 - peter.trommler@ohm-hochschule.de + +- clean up BuildRequires (one per line) +- force gmp-devel >= 5 to get rid of libgmp.so.3 in Factory + +------------------------------------------------------------------- +Mon Mar 12 13:34:35 UTC 2012 - peter.trommler@ohm-hochschule.de + +- enabled hscolour + +------------------------------------------------------------------- +Fri Feb 3 18:03:31 UTC 2012 - peter.trommler@ohm-hochschule.de + +- selfbootstrapping + +------------------------------------------------------------------- +Fri Feb 3 07:39:58 UTC 2012 - peter.trommler@ohm-hochschule.de + +- disable dependecy generator during bootstrap + +------------------------------------------------------------------- +Thu Feb 2 15:46:24 UTC 2012 - peter.trommler@ohm-hochschule.de + +- bootstrap SLE11-SP1 + +------------------------------------------------------------------- +Mon Jan 23 15:28:47 UTC 2012 - peter.trommler@ohm-hochschule.de + +- provide ghc-compiler = %{version} + +------------------------------------------------------------------- +Mon Jan 23 14:36:52 UTC 2012 - peter.trommler@ohm-hochschule.de + +- package HSffi.o on 11.3 + +------------------------------------------------------------------- +Sun Jan 22 19:01:17 UTC 2012 - peter.trommler@ohm-hochschule.de + +- done bootstrapping + +------------------------------------------------------------------- +Sun Jan 22 17:31:48 UTC 2012 - peter.trommler@ohm-hochschule.de + +- Move documentation to new place +- Fix douple packaging + +------------------------------------------------------------------- +Mon Jan 16 18:05:58 UTC 2012 - peter.trommler@ohm-hochschule.de + +- Added haddock patch +- Fixed many file packaged twice issues + +------------------------------------------------------------------- +Wed Jan 4 17:31:04 UTC 2012 - peter.trommler@ohm-hochschule.de + +- Enabled hscolour +- Prepared for libffi patch (needs fix fo bnc#711489) + +------------------------------------------------------------------- +Thu Dec 29 13:35:07 UTC 2011 - peter.trommler@ohm-hochschule.de + +- Lowered ghc BR to 6.10 + +------------------------------------------------------------------- +Wed Dec 28 21:09:31 UTC 2011 - peter.trommler@ohm-hochschule.de + +- Added Cabal patch (required for ghc-rpm-macros) + +------------------------------------------------------------------- +Wed Dec 28 19:00:09 UTC 2011 - peter.trommler@ohm-hochschule.de + +- unset bootstrapping +- additional BR that should not be required + +------------------------------------------------------------------- +Tue Dec 27 15:05:20 UTC 2011 - peter.trommler@ohm-hochschule.de + +- Fixed versions and names in libraries +- Fixed files section + +------------------------------------------------------------------- +Thu Dec 22 18:22:32 UTC 2011 - peter.trommler@ohm-hochschule.de + +- Start version 7.0.4 diff --git a/ghc.spec b/ghc.spec new file mode 100644 index 0000000..61a887f --- /dev/null +++ b/ghc.spec @@ -0,0 +1,611 @@ +# +# spec file for package ghc +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define full_version 9.8.3 +%define short_version 9.8.3 + +%ifnarch s390x +%define with_libnuma 1 +%else +%define with_libnuma 0 +%endif + +%global llvm_major 14 + +# conditionals + +# disable prof, docs, perf build +# bcond_with for production builds: disable quick build +%bcond_with quickbuild + +# make sure ghc libraries' ABI hashes unchanged (ghcX.Y not supported yet) +%bcond_with abicheck + +# bcond_without for production builds: use Hadrian buildsystem +%bcond_without hadrian + +# bcond_without for production builds: build hadrian +%bcond_without build_hadrian + +# bcond_without for production builds: enable debuginfo +%bcond_without ghc_debuginfo + +%if %{without ghc_debuginfo} +%undefine _enable_debug_packages +%endif + +# build profiling libraries +# build haddock +# perf production build (disable for quick build) +%if %{with quickbuild} +%undefine with_ghc_prof +%undefine with_haddock +%bcond_with perf_build +%else +%bcond_without ghc_prof +%bcond_without haddock +%bcond_without manual +%bcond_without perf_build +%endif + +%if %{without hadrian} +# locked together since disabling haddock causes no manuals built +# and disabling haddock still created index.html +# https://gitlab.haskell.org/ghc/ghc/-/issues/15190 +%{?with_haddock:%bcond_without manual} +%endif + +%global ghc_llvm_archs s390x riscv64 +%global ghc_unregisterized_arches noarch + +%global base_ver 4.19.2.0 +%global ghc_compact_ver 0.1.0.0 +%global hpc_ver 0.7.0.0 +%global hsc2hs_ver 0.68.8 +%global ghc_bignum_ver 1.3 + +Name: ghc +Version: %{short_version} +Release: 0 +Summary: The Glorious Glasgow Haskell Compiler +License: BSD-3-Clause +URL: https://www.haskell.org/ghc/ +Source: https://downloads.haskell.org/~ghc/%{full_version}/ghc-%{version}-src.tar.xz +Source2: ghc-rpmlintrc +Source4: 9_4_4-bootstrap-sources.tar.gz +Source5: ghc-pkg.man +Source6: haddock.man +Source7: runghc.man +Patch1: ghc-gen_contents_index-haddock-path.patch +# https://ghc.haskell.org/trac/ghc/ticket/15689 +Patch2: ghc-Cabal-install-PATH-warning.patch +# PATCH-FIX-UPSTREAM Disable-unboxed-arrays.patch ptrommler@icloud.com -- Do not use unboxed arrays on big-endian platforms. See Haskell Trac #15411. +Patch3: Disable-unboxed-arrays.patch +# PATCH-FIX-UPSTREAM Hadrian: enable GHCi support on riscv64 (dd38aca95a) +Patch100: ghc-with-interpreter.patch +# PATCH-FIX-UPSTREAM libraries/Cabal: Add support for the 64-bit RISC-V architecture (d89526f98) +Patch101: cabal-riscv64.patch +Patch200: ghc-hadrian-s390x-rts--qg.patch +BuildRequires: binutils-devel +BuildRequires: gcc-PIE +BuildRequires: gcc-c++ +BuildRequires: ghc-bootstrap >= 9.4 +BuildRequires: ghc-bootstrap-helpers >= 1.3 +BuildRequires: ghc-rpm-macros-extra => 2.6.1 +BuildRequires: glibc-devel +BuildRequires: gmp-devel +BuildRequires: libdw-devel +BuildRequires: libelf-devel +BuildRequires: libffi-devel +BuildRequires: libtool +%ifarch %{ghc_llvm_archs} +BuildRequires: clang%{llvm_major} +BuildRequires: llvm%{llvm_major} +BuildRequires: llvm%{llvm_major}-devel +%endif +BuildRequires: memory-constraints +BuildRequires: ncurses-devel +BuildRequires: pkgconfig +BuildRequires: python3 +BuildRequires: xz +Requires: %{name}-compiler = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-ghc-boot-devel = %{version}-%{release} +Requires: %{name}-ghc-compact-devel = %{ghc_compact_ver}-%{release} +Requires: %{name}-ghc-devel = %{version}-%{release} +Requires: %{name}-ghc-heap-devel = %{version}-%{release} +Requires: %{name}-ghci-devel = %{version}-%{release} +Requires: %{name}-hpc-devel = %{hpc_ver}-%{release} +Recommends: %{name}-compiler-default = %{version}-%{release} +%if %{without ghc_debuginfo} +%undefine _enable_debug_packages +%endif +%if %{with manual} +BuildRequires: python3-Sphinx +%endif +%if %{with_libnuma} +BuildRequires: libnuma-devel +%endif +%if %{with haddock} +Suggests: %{name}-doc = %{version}-%{release} +Suggests: %{name}-doc-index = %{version}-%{release} +%endif +%if %{with manual} +Suggests: %{name}-manual = %{version}-%{release} +%endif +%if %{with ghc_prof} +Suggests: %{name}-prof = %{version}-%{release} +%endif + +%description +Haskell is the standard purely functional programming language; the +current language version is Haskell 98, agreed in December 1998. + +GHC is a state-of-the-art programming suite for Haskell. Included is +an optimising compiler generating good code for a variety of +platforms, together with an interactive system for convenient, quick +development. The distribution includes space and time profiling +facilities, a large collection of libraries, and support for various +language extensions, including concurrency, exceptions, and foreign +language interfaces (C, C++, etc). + +A wide variety of Haskell related resources (tutorials, libraries, +specifications, documentation, compilers, interprbeters, references, +contact information, links to research groups) are available from the +Haskell home page at . + +%package compiler +Summary: GHC compiler and utilities +License: BSD-3-Clause +Requires: %{name}-filesystem = %{version}-%{release} +Requires: gcc +Requires: ghc-base-devel = %{base_ver}-%{release} +Provides: hsc2hs = %{hsc2hs_ver}-%{release} +%ifarch riscv64 s390x +Requires: clang%{llvm_major} +Requires: llvm%{llvm_major} +%endif + +%description compiler +This package contains the GHC compiler, tools and utilities. + +The GHC libraries are provided by ghc-devel. +To install all of GHC install package ghc. + + +%if %{with haddock} || (%{with hadrian} && %{with manual}) +%package doc +Summary: Haskell library documentation meta package +License: BSD-3-Clause + +%description doc +Installing this package causes %{name}-*-doc packages corresponding to +%{name}-*-devel packages to be automatically installed too. + +%package doc-index +Summary: GHC library documentation indexing +License: BSD-3-Clause +Requires: %{name}-compiler = %{version}-%{release} +BuildArch: noarch + +%description doc-index +The package enables re-indexing of installed library documention. + +%package filesystem +Summary: Shared directories for Haskell documentation +License: BSD-3-Clause +BuildArch: noarch + +%description filesystem +This package provides some common directories used for +Haskell libraries documentation. +%endif + +%if %{with manual} +%package manual +Summary: GHC manual +License: BSD-3-Clause +Requires: %{name}-filesystem = %{version}-%{release} +BuildArch: noarch + +%description manual +This package provides the User Guide and Haddock manual. +%endif + +%global ghc_version_override %{version} +%global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release} +%global version %{ghc_version_override} +%if %{with_libnuma} +%define libnuma_dep ,libnuma-devel +%else +%define libnuma_dep %{nil} +%endif +#!ForceMultiversion +%ghc_lib_subpackage -d Cabal-3.10.3.0 +%ghc_lib_subpackage -d Cabal-syntax-3.10.3.0 +%ghc_lib_subpackage -d array-0.5.8.0 +%ghc_lib_subpackage -d -c gmp-devel,libffi-devel,libdw-devel,libelf-devel%{libnuma_dep} base-%{base_ver} +%ghc_lib_subpackage -d binary-0.8.9.1 +%ghc_lib_subpackage -d -x ghc-bignum-%{ghc_bignum_ver} +%ghc_lib_subpackage -d bytestring-0.12.1.0 +%ghc_lib_subpackage -d containers-0.6.8 +%ghc_lib_subpackage -d deepseq-1.5.1.0 +%ghc_lib_subpackage -d directory-1.3.8.5 +%ghc_lib_subpackage -d exceptions-0.10.7 +%ghc_lib_subpackage -d filepath-1.4.200.1 +%ghc_lib_subpackage -d -x ghc-%{ghc_version_override} +%ghc_lib_subpackage -d -x ghc-boot-%{ghc_version_override} +%ghc_lib_subpackage -d ghc-boot-th-%{ghc_version_override} +%ghc_lib_subpackage -d -x ghc-compact-%{ghc_compact_ver} +%ghc_lib_subpackage -d -x ghc-heap-%{ghc_version_override} +%ghc_lib_subpackage -d -x ghci-%{ghc_version_override} +%ghc_lib_subpackage -d haskeline-0.8.2.1 +%ghc_lib_subpackage -d -x hpc-%{hpc_ver} +%ghc_lib_subpackage -d mtl-2.3.1 +%ghc_lib_subpackage -d parsec-3.1.17.0 +%ghc_lib_subpackage -d pretty-1.1.3.6 +%ghc_lib_subpackage -d process-1.6.25.0 +%ghc_lib_subpackage -d semaphore-compat-1.0.0 +%ghc_lib_subpackage -d stm-2.5.3.1 +%ghc_lib_subpackage -d template-haskell-2.21.0.0 +%ghc_lib_subpackage -d -c ncurses-devel terminfo-0.4.1.6 +%ghc_lib_subpackage -d text-2.1.1 +%ghc_lib_subpackage -d time-1.12.2 +%ghc_lib_subpackage -d transformers-0.6.1.0 +%ghc_lib_subpackage -d unix-2.8.4.0 +%ghc_lib_subpackage -d xhtml-3000.2.2.1 + +%global version %{ghc_version_override} + +%package devel +Summary: GHC development libraries meta package +Requires: ghc-compiler = %{version}-%{release} +Obsoletes: ghc-libraries < %{version}-%{release} +Provides: ghc-libraries = %{version}-%{release} +%{?ghc_packages_list:Requires: %(echo %{ghc_packages_list} | sed -e "s/\([^ ]*\)-\([^ ]*\)/%{name}-\1-devel = \2-%{release},/g")} + +%description devel +This is a meta-package for all the development library packages in GHC +except the ghc library, which is installed by the toplevel ghc metapackage. + +%if %{with ghc_prof} +%package prof +Summary: GHC profiling libraries meta package +License: BSD-3-Clause +Requires: %{name}-compiler = %{version}-%{release} + +%description prof +Installing this package causes %{name}-*-prof packages corresponding to +%{name}-*-devel packages to be automatically installed too. +%endif + +%prep +%setup -q +%patch -P 1 -p1 +%patch -P 2 -p1 +%ifarch s390x +%patch -P 3 -p1 +%endif +%patch -P 100 -p1 +%patch -P 101 -p1 +%ifarch ppc64le s390x riscv64 +%patch -P 200 -p1 +%endif + +rm libffi-tarballs/libffi-*.tar.gz + +%build +cp %{SOURCE4} ./ +hadrian/bootstrap/bootstrap.py --bootstrap-sources 9_4_4-bootstrap-sources.tar.gz + +%global hadrian _build/bin/hadrian + +%ghc_set_gcc_flags + +export CC=%{_bindir}/gcc +export LD=%{_bindir}/ld +export LANG=C.utf8 + +autoupdate + +python3 boot.source --hadrian + +./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \ + --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \ + --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \ + --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \ + --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \ + --docdir=%{_docdir}/%{name}-%{version} \ + --with-system-libffi \ +%ifarch %{ghc_unregisterized_arches} + --enable-unregisterised \ +%endif +%{nil} + +%undefine _ghcdynlibdir + +%ifarch %{ghc_llvm_archs} +%global hadrian_llvm +llvm +%endif +%define hadrian_docs %{!?with_haddock:--docs=no-haddocks} %{!?with_manual:--docs=no-sphinx}%{?with_manual:--docs=no-sphinx-pdfs --docs=no-sphinx-man} + +%if 0%{?suse_version} >= 1500 +%ifarch %{unregisterised_archs} +%limit_build -m 8000 +%else +%limit_build -m 2000 +%endif +%global jobs_nr %{?_smp_mflags} +%else +%global jobs_nr -j1 +%endif +%{hadrian} %{jobs_nr} --flavour=%{?with_quickbuild:quick+no_profiled_libs}%{!?with_quickbuild:perf%{!?with_ghc_prof:+no_profiled_libs}}%{?hadrian_llvm} %{hadrian_docs} binary-dist-dir --hash-unit-ids + +%install + +( +cd _build/bindist/ghc-%{version}-* +./configure --prefix=%{buildroot}%{ghclibdir} --bindir=%{buildroot}%{_bindir} --libdir=%{buildroot}%{_libdir} --mandir=%{buildroot}%{_mandir} --docdir=%{buildroot}%{_docdir}/%{name}-%{version} +make install +) +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d +echo "%{ghclibplatform}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf + +# avoid 'E: binary-or-shlib-defines-rpath' +for i in $(find %{buildroot} -type f -executable -exec sh -c "file {} | grep -q 'dynamically linked'" \; -print); do + chrpath -d $i +done + +%if %{with haddock} +# remove short hashes +for d in %{buildroot}%{ghc_html_libraries_dir}/*/; do +mv $d $(echo $d | sed -e "s/\(.*\)-.*/\\1/") +done +%endif + +# containers src moved to a subdir +cp -p libraries/containers/containers/LICENSE libraries/containers/LICENSE +# hack for Cabal-syntax/LICENSE +mkdir -p libraries/Cabal-syntax +cp -p libraries/Cabal/Cabal-syntax/LICENSE libraries/Cabal-syntax + +rm -f %{name}-*.files + +# FIXME replace with ghc_subpackages_list +for i in %{ghc_packages_list}; do +name=$(echo $i | sed -e "s/\(.*\)-.*/\1/") +ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/") +%ghc_gen_filelists $name $ver +echo "%%license libraries/$name/LICENSE" >> %{name}-$name.files +done + +echo "%%dir %{ghclibdir}" >> %{name}-base%{?_ghcdynlibdir:-devel}.files + +%ghc_gen_filelists ghc %{ghc_version_override} +%ghc_gen_filelists ghc-boot %{ghc_version_override} +%ghc_gen_filelists ghc-bignum %{ghc_bignum_ver} +%ghc_gen_filelists ghc-compact %{ghc_compact_ver} +%ghc_gen_filelists ghc-heap %{ghc_version_override} +%ghc_gen_filelists ghci %{ghc_version_override} +%ghc_gen_filelists hpc %{hpc_ver} + +%ghc_gen_filelists ghc-prim 0.11.0 +%ghc_gen_filelists integer-gmp 1.1 +%ghc_gen_filelists rts 1.0.2 + +%ghc_merge_filelist ghc-prim base +%ghc_merge_filelist integer-gmp base +%ghc_merge_filelist rts base + +# add rts libs +for i in %{buildroot}%{ghclibplatform}/libHSrts*ghc%{ghc_version}.so; do + echo $i >> %{name}-base.files +done +echo "%{_sysconfdir}/ld.so.conf.d/%{name}.conf" >> %{name}-base.files +if [ -f %{buildroot}%{ghcliblib}/package.conf.d/system-cxx-std-lib-1.0.conf ]; then +ls -d %{buildroot}%{ghcliblib}/package.conf.d/system-cxx-std-lib-1.0.conf >> %{name}-base-devel.files +fi + +%if %{with ghc_prof} +ls %{buildroot}%{ghclibdir}/bin/ghc-iserv-prof* >> %{name}-base-prof.files +ls %{buildroot}%{ghclibdir}/lib/bin/ghc-iserv-prof >> %{name}-base-prof.files +echo "%%dir %{ghcliblib}/bin" +%endif + +sed -i -e "s|^%{buildroot}||g" %{name}-base*.files +sed -i -e "s|%{buildroot}||g" %{buildroot}%{_bindir}/* + +%if %{with haddock} +rm %{buildroot}%{_docdir}/ghc-%{version}/archives/libraries.html.tar.xz +%endif +%if %{with manual} +rm %{buildroot}%{_docdir}/ghc-%{version}/archives/Haddock.html.tar.xz +rm %{buildroot}%{_docdir}/ghc-%{version}/archives/users_guide.html.tar.xz +%endif + +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/ghc-pkg.1 +install -p -m 0644 %{SOURCE6} %{buildroot}%{_mandir}/man1/haddock.1 +install -p -m 0644 %{SOURCE7} %{buildroot}%{_mandir}/man1/runghc.1 + +rm %{buildroot}%{ghclibdir}/lib/package.conf.d/.stamp +rm %{buildroot}%{ghclibdir}/lib/package.conf.d/*.conf.copy + +# https://gitlab.haskell.org/ghc/ghc/-/issues/24121 +rm %{buildroot}%{ghclibdir}/share/doc/%{ghcplatform}/*/LICENSE + +( +cd %{buildroot}%{ghclibdir}/lib/bin +for i in *; do + if [ -f %{buildroot}%{ghclibdir}/bin/$i ]; then + ln -sf ../../bin/$i + fi +done +) + +%check +# Actually, I took this from Jens Petersen's Fedora package +# stolen from ghc6/debian/rules: +#Do some very simple tests that the compiler actually works +export LANG=C.utf8 +export LD_LIBRARY_PATH=%{buildroot}%{ghclibplatform}: +GHC=%{buildroot}%{ghclibdir}/bin/ghc +# Do some very simple tests that the compiler actually works +rm -rf testghc +mkdir testghc +echo 'main = putStrLn "Foo"' > testghc/foo.hs +$GHC testghc/foo.hs -o testghc/foo +[ "$(testghc/foo)" = "Foo" ] +rm testghc/* +echo 'main = putStrLn "Foo"' > testghc/foo.hs +$GHC testghc/foo.hs -o testghc/foo -O2 +[ "$(testghc/foo)" = "Foo" ] +rm testghc/* +echo 'main = putStrLn "Foo"' > testghc/foo.hs +$GHC testghc/foo.hs -o testghc/foo -dynamic +[ "$(testghc/foo)" = "Foo" ] +rm testghc/* + +$GHC --info + +%transfiletriggerin compiler -- %{ghcliblib}/package.conf.d +%ghc_pkg_recache +%end + +%transfiletriggerpostun compiler -- %{ghcliblib}/package.conf.d +%ghc_pkg_recache +%end + +%files +%license LICENSE + +%files compiler +%license LICENSE +%doc README.md +%{_bindir}/ghc-%{version} +%{_bindir}/ghc-pkg-%{version} +%{_bindir}/ghci-%{version} +%{_bindir}/hp2ps-%{?with_hadrian:ghc-}%{version} +%{_bindir}/hpc-%{?with_hadrian:ghc-}%{version} +%{_bindir}/hsc2hs-%{?with_hadrian:ghc-}%{version} +%{_bindir}/runghc-%{version} +%{_bindir}/runhaskell-%{version} +%{_bindir}/ghc +%{_bindir}/ghc-pkg +%{_bindir}/ghci +%{_bindir}/haddock +%{_bindir}/hp2ps +%{_bindir}/hpc +%{_bindir}/hsc2hs +%{_bindir}/runghc +%{_bindir}/runhaskell +%dir %{ghclibdir} +%dir %{ghcliblib} +%dir %{ghcliblib}/%{ghcplatform} +%dir %{ghclibdir}/bin +%dir %{ghcliblib}/bin +%{ghclibdir}/bin/ghc +%{ghclibdir}/bin/ghc-iserv +%{ghclibdir}/bin/ghc-iserv-dyn +%{ghclibdir}/bin/ghc-pkg +%{ghclibdir}/bin/hpc +%{ghclibdir}/bin/hsc2hs +%{ghclibdir}/bin/runghc +%{ghclibdir}/bin/hp2ps +%{ghclibdir}/bin/unlit +%{ghclibdir}/bin/ghc-%{version} +%{ghclibdir}/bin/ghc-iserv-ghc-%{version} +%{ghclibdir}/bin/ghc-iserv-dyn-ghc-%{version} +%{ghclibdir}/bin/ghc-pkg-%{version} +%{ghclibdir}/bin/haddock +%{ghclibdir}/bin/haddock-ghc-%{version} +%{ghclibdir}/bin/hp2ps-ghc-%{version} +%{ghclibdir}/bin/hpc-ghc-%{version} +%{ghclibdir}/bin/hsc2hs-ghc-%{version} +%{ghclibdir}/bin/runghc-%{version} +%{ghclibdir}/bin/runhaskell +%{ghclibdir}/bin/runhaskell-%{version} +%{ghclibdir}/bin/unlit-ghc-%{version} +%{ghclibdir}/lib/bin/ghc-iserv +%{ghclibdir}/lib/bin/ghc-iserv-dyn +%{ghclibdir}/lib/bin/unlit +%{ghcliblib}/ghc-interp.js +%{ghcliblib}/ghc-usage.txt +%{ghcliblib}/ghci-usage.txt +%{ghcliblib}/llvm-passes +%{ghcliblib}/llvm-targets +%dir %{ghcliblib}/package.conf.d +%ghost %{ghcliblib}/package.conf.d/package.cache +%{ghcliblib}/package.conf.d/package.cache.lock +%{ghcliblib}/settings +%{ghcliblib}/template-hsc.h +%{_mandir}/man1/ghc-pkg.1%{?ext_man} +%{_mandir}/man1/haddock.1%{?ext_man} +%{_mandir}/man1/runghc.1%{?ext_man} +%{_bindir}/haddock-ghc-%{version} +%{ghcliblib}/html +%{ghcliblib}/latex +%if %{with haddock} || (%{with hadrian} && %{with manual}) +%{ghc_html_libraries_dir}/prologue.txt +%endif +%if %{with haddock} +%verify(not size mtime) %{ghc_html_libraries_dir}/haddock-bundle.min.js +%verify(not size mtime) %{ghc_html_libraries_dir}/linuwial.css +%verify(not size mtime) %{ghc_html_libraries_dir}/quick-jump.css +%verify(not size mtime) %{ghc_html_libraries_dir}/synopsis.png +%endif +%if %{with manual} && %{without hadrian} +%{_mandir}/man1/ghc.1%{?ext_man} +%endif + +%files devel + +%if %{with haddock} || (%{with hadrian} && %{with manual}) +%files doc +%{ghc_html_dir}/index.html + +%files doc-index +%{ghc_html_libraries_dir}/gen_contents_index +%if %{with haddock} +%verify(not size mtime) %{ghc_html_libraries_dir}/doc-index*.html +%verify(not size mtime) %{ghc_html_libraries_dir}/index*.html +%endif + +%files filesystem +%dir %_ghc_doc_dir +%dir %ghc_html_dir +%dir %ghc_html_libraries_dir +%endif + +%if %{with manual} +%files manual +%{ghc_html_dir}/users_guide +%if %{with hadrian} +%{ghc_html_dir}/Haddock +%else +%if %{with haddock} +%{ghc_html_dir}/haddock +%endif +%endif +%endif + +%if %{with ghc_prof} +%files prof +%endif + +%changelog diff --git a/haddock.man b/haddock.man new file mode 100644 index 0000000..4a83192 --- /dev/null +++ b/haddock.man @@ -0,0 +1,231 @@ +.TH HADDOCK 1 "July 2010" "Haddock, version 2.6.1" "Haddock documentation generator" + + +.SH NAME +haddock \- documentation tool for annotated Haskell source code + + +.SH SYNOPSIS +.B haddock +.RI [ options ] " file" ... + + +.SH DESCRIPTION +This manual page documents briefly the +.B haddock +command. +Extensive documentation is available in various other formats including DVI, +PostScript and HTML; see below. + +.PP +.I file +is a filename containing a Haskell source module. +All the modules specified on the command line will be processed together. +When one module refers to an entity in another module being processed, the +documentation will link directly to that entity. + +Entities that cannot be found, for example because they are in a module that +is not being processed as part of the current batch, simply will not be +hyperlinked in the generated documentation. +.B haddock +will emit warnings listing all the identifiers it could not resolve. + +The modules should not be mutually recursive, as +.B haddock +does not like swimming in circles. + + +.SH OPTIONS +The programs follow the usual GNU command line syntax, with long +options starting with two dashes (`--'). +A summary of options is included below. +For a complete description, see the other documentation. + +.TP +\fB\-o \fIDIR\fP, \-\-odir=\fIDIR\fP +directory in which to put the output files + +.TP +\fB\-i \fIFILE\fP, \-\-read-interface=\fIFILE\fP +read an interface from +.IR FILE . + +.TP +\fB\-D \fIFILE\fP, \-\-dump\-interface=\fIFILE\fP +dump an interface for these modules in +.IR FILE . + +.TP +\fB\-l \fIDIR\fP, \-\-lib=\fIDIR\fP +location of Haddock's auxiliary files + +.TP +.BR \-h ", " \-\-html +Generate documentation in HTML format. +Several files will be generated into the current directory (or the specified +directory if the +.B \-o +option is given), including the following: +.RS +.TP +.I index.html +The top level page of the documentation: +lists the modules available, using indentation to represent the hierarchy if +the modules are hierarchical. +.TP +.I haddock.css +The stylesheet used by the generated HTML. +Feel free to modify this to change the colors or layout, or even specify +your own stylesheet using the +.B \-\-css +option. +.TP +.I module.html +An HTML page for each module. +.TP +.IR doc-index.html ", " doc-index-XX.html +The index, split into two (functions/constructors and types/classes, as per +Haskell namespaces) and further split alphabetically. +.RE + +.TP +.B \-\-hoogle +output for Hoogle + +.TP +\fB\-\-html\-help=\fIformat +produce index and table of contents in mshelp, mshelp2 or devhelp format +(with \fI\-h\fP) + +.TP +\fB\-\-source\-base=\fPURL +Include links to the source files in the generated documentation, where URL +is the base URL where the source files can be found. + +.TP +\fB\-s \fPURL, \fB\-\-source\-module=\fPURL +Include links to the source files in the generated documentation, where URL +is a source code link for each module (using the %{FILE} or %{MODULE} vars). + +.TP +\fB\-\-source\-entity=\fPURL +Include links to the source files in the generated documentation, where URL +is a source code link for each entity (using the %{FILE}, %{MODULE} or %{NAME} vars). + +.TP +\fB\-\-comments\-base=\fPURL +URL for a comments link on the contents and index pages. +.TP +\fB\-\-comments\-module=\fPURL +URL for a comments link for each module (using the %{MODULE} var). +.TP +\fB\-\-comments\-entity=\fPURL +URL for a comments link for each entity (using the %{FILE}, %{MODULE} or %{NAME} vars). +.TP +.BI \-\-css= FILE +Use the CSS +.I FILE +instead of the default stylesheet that comes with +.B haddock +for HTML output. It should specify certain classes: see the default stylesheet for details. + +.TP +\fB\-p \fIFILE\fP, \-\-prologue=\fIFILE\fP +Specify a file containing prologue text. + +.TP +\fB\-t \fITITLE\fP, \-\-title=\fITITLE\fP +Use \fITITLE\fP as the page heading for each page in the documentation. +This will normally be the name of the library being documented. + +The title should be a plain string (no markup please!). + +.TP +\fB\-k \fINAME\fP, \-\-package=\fINAME\fP +Specify the package name (optional). + +.TP +.BR \-n ", " \-\-no\-implicit\-prelude +do not assume Prelude is imported + +.TP +.BR \-d ", " \-\-debug +Enable extra debugging output. + +.TP +.BR \-? ", " \-\-help +Display help. + +.TP +.BR \-V ", " \-\-version +Display version. + +.TP +.BR \-v ", " \-\-verbose +Verbose status reporting. + +.TP +\fB\-\-use\-contents=\fPURL +Use a separately-generated HTML contents page. + +.TP +.B \-\-gen\-contents +Generate an HTML contents from specified interfaces. + +.TP +\fB\-\-use\-index=\fPURL +Use a separately-generated HTML index. + +.TP +.B \-\-gen\-index +Generate an HTML index from specified interfaces. + +.TP +.B \-\-ignore\-all\-exports +Behave as if all modules have the ignore-exports atribute + +.TP +\fB\-\-hide=\fIMODULE +Behave as if \fIMODULE\fP has the hide attribute. + +.TP +\fB\-\-use\-package=\fIPACKAGE +The modules being processed depend on \fIPACKAGE\fP. + +.SH FILES +.I /usr/bin/haddock +.br +.I /usr/share/haddock-2.6.1/html/plus.gif +.br +.I /usr/share/haddock-2.6.1/html/minus.gif +.br +.I /usr/share/haddock-2.6.1/html/haskell_icon.gif +.br +.I /usr/share/haddock-2.6.1/html/haddock.js +.br +.I /usr/share/haddock-2.6.1/html/haddock.css +.br +.I /usr/share/haddock-2.6.1/html/haddock-DEBUG.css + +.SH SEE ALSO +.IR /usr/share/doc/haddock/ , +.br +the Haddock homepage +.UR http://haskell.org/haddock/ +(http://haskell.org/haddock/) +.UE + +.SH COPYRIGHT +Haddock version 2.6.1 + +Copyright 2006-2010 Simon Marlow , Dawid Waern . +All rights reserved. + + +.SH AUTHOR +This manual page was written by Michael Weber +for the Debian GNU/Linux system (but may be used by others). + +.\" Local variables: +.\" mode: nroff +.\" End: diff --git a/runghc.man b/runghc.man new file mode 100644 index 0000000..8351fe7 --- /dev/null +++ b/runghc.man @@ -0,0 +1,45 @@ +.TH RUNGHC 1 "28 NOVEMBER 2007" +.SH NAME +runghc \- program to run Haskell programs without first having to compile them. +.SH SYNOPSIS +.B runghc +.RI +[runghc|flags] [GHC|flags] module [program|flags]... +.br +.SH DESCRIPTION +.B runghc +is considered a non-interactive interpreter and part of The Glasgow Haskell Compiler. +.B runghc +is a compiler that automatically runs its results at the end. +.PP +.SH OPTIONS +.TP +the flags are: +.TP +.B \-f +it tells runghc which GHC to use to run the program. If it is not given then runghc will search for GHC in the directories in the system search path. runghc -f /path/to/ghc +.TP +.B \-- +runghc will try to work out where the boundaries between [runghc flags] and [GHC flags], and [GHC flags] and module are, but you can use a -- flag if it doesn't get it right. For example, runghc -- -fglasgow-exts Foo +means runghc won't try to use glasgow-exts as the path to GHC, but instead will pass the flag to GHC. + +.SH EXAMPLES +.TP +.B runghc foo +.PP +.B runghc -f /path/to/ghc foo +.TP +.B runghc -- -fglasgow-exts Foo + +.SH SEE ALSO +.BR ghc (1), +.BR ghci (1). +.br + +.SH COPYRIGHT +Copyright 2002, The University Court of the University of Glasgow. All rights reserved. + +.SH AUTHOR +This manual page was written by Efrain Valles Pulgar . This is free documentation; see the GNU +General Public Licence version 2 or later for copying conditions. There is NO WARRANTY. +