packages feed

fudgets 0.18.3.1 → 0.18.3.2

raw patch · 7 files changed

+64/−29 lines, 7 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- AllFudgets: version_0_18_3_1 :: [Char]
- Fudgets: version_0_18_3_1 :: [Char]
+ AllFudgets: version_0_18_3_2 :: [Char]
+ Fudgets: version_0_18_3_2 :: [Char]

Files

+ .ghci view
@@ -0,0 +1,7 @@+:set -Ihsrc:hsrc/defaults+:set -pgmP hsrc/fudcpp+:set -XRank2Types -XExistentialQuantification -XMultiParamTypeClasses+:set -XFunctionalDependencies+:set -XFlexibleInstances -XFlexibleContexts -XTypeSynonymInstances+:set -iContrib:hsrc:hsrc/utils:hsrc/sp:hsrc/types:hsrc/xtypes:hsrc/combinators:hsrc/containers:hsrc/drawing:hsrc/filters:hsrc/fudgets:hsrc/defaults:hsrc/internals:hsrc/kernelutils:hsrc/layout:hsrc/infix:hsrc/lowlevel:hsrc/io:hsrc/debug:hsrc/ghc-dialogue:hsrc/ghc:hsrc/hbc_library+:set -fno-warn-tabs
ChangeLog.md view
@@ -1,5 +1,11 @@ # Release history for fudgets +## 0.18.3.2 --  2022-08-04++* Simplified the installation on macOS by adding a helper script+  `hsrc/fudcpp` to workaround problems with the `-optP`  option in+  `ghc>=8.10.3` and automatically detect which version of `gcc` is installed.+   ## 0.18.3.1 -- 2022-03-14  * Renamed `doRequest.hs` to `doRequestCmd.hs` to avoid a name clash
README.md view
@@ -49,23 +49,20 @@  ### On Linux systems -- `sudo apt install libxext-dev` (installs Xlib etc on Debian-based-  distributions, the command will be different on other Linux distributions.)+- `sudo apt install libxext-dev` - `cabal install fudgets` +(The first command installs Xlib etc on Debian-based distributions,+the command and package name may be different on other Linux distributions.)+ ### On macOS  - Install [XQuartz](https://www.xquartz.org/).-- `brew install gcc` (need the version of `cpp` included with gcc, since there-  are some issues with cpp from clang.-  Note: `fudgets.cabal` refers to `cpp-11`, you might need to change this-  if you install a different version of gcc.)--- If you are using ghc>=8.10.3: unfortunately it seems that the-  `-pgmP` option no longer works, so you need to-  change a line in `$PREFIX/lib/ghc-*/lib/settings` instead:--    ```  ,("Haskell CPP command", "gcc-11")```-+- Install [Homebrew](https://brew.sh/).+- `brew install gcc` - `cabal install fudgets` +(The preprocessor in `clang` does not preserve layout, so we use `gcc`+instead. Also, with ghc>=8.10.3 there seems to be problem with the `-optP`+option, so we use a helper script `hsrc/fudcpp` to call `cpp` with the+correct options.)
fudgets.cabal view
@@ -1,6 +1,6 @@ Name: fudgets -- The version number also appears in hsrc/utils/FudVersion.hs-Version: 0.18.3.1+Version: 0.18.3.2 Cabal-Version: >=1.10 Synopsis: The Fudgets Library Homepage: https://www.altocumulus.org/Fudgets/@@ -16,16 +16,20 @@              .              This package includes the Fudgets library and a few small              examples and demo applications.+             .+             For installation instructions, see the last section of the Readme.  Author: Thomas Hallgren and Magnus Carlsson and others Maintainer: Thomas Hallgren Build-Type: Simple License: OtherLicense License-File: COPYRIGHT-Tested-With: GHC==7.4.1, GHC==7.6.3, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.3, GHC==8.8.2, GHC==8.10.2, GHC==8.10.7, GHC==9.0.2, GHC==9.2.2+Tested-With: GHC==7.4.1, GHC==7.6.3, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.3, GHC==8.8.2, GHC==8.10.2, GHC==8.10.7, GHC==9.0.2, GHC==9.2.4  Extra-Source-Files: README.md                     ChangeLog.md+                    .ghci+                    hsrc/fudcpp                     hsrc/exists.h                     hsrc/defaults/defaults.h                     hsrc/ghc-dialogue/asyncinput.h@@ -87,16 +91,10 @@   if os(darwin)     Extra-lib-dirs: /opt/X11/lib      Include-dirs: /opt/X11/include-    -- Run 'brew install gcc', then you should have gcc-11 and cpp-11, or-    -- possibly another version, in which case you need to adapt the line below:-    if impl(ghc<8.10.3)-      -- Use the -pgmP in ghc<8.10.3-      ghc-options: -pgmP cpp-11 -optP -traditional-    --else-      -- Unfortunately -pgmP doesn't work in ghc>=8.10.3, so you need to-      -- change a line in $PREFIX/lib/ghc-*/lib/settings insead:-      -- ,("Haskell CPP command", "gcc-11")-+--  ghc-options: -pgmP cpp-11 -optP -traditional     -- this no longer works+    ghc-options: -pgmP hsrc/fudcpp+        -- The hsrc/fudcpp is used to work around problems with clang and ghc.+        -- You need to install gcc, e.g. by running 'brew install gcc',   Extra-Libraries: X11 Xext    ghc-options: -fno-warn-tabs
+ hsrc/fudcpp view
@@ -0,0 +1,27 @@+#! /bin/bash++# This script is used on macOS to workaround two problems:+#+# 1. The preprocessor in clang does not preserve layout, so we use the+#    preprocessor in gcc instead.+# 2. There seems to be a problem with the -optP option with ghc>=8.10.3,+#    so we can no longer use e.g. 'ghc -pgmP cpp-11 -optP -traditional'++# To install gcc, install Homebrew (see https://brew.sh),+# then run 'brew install gcc'++cpp=cpp+case `uname` in+    Darwin)+	# Since gcc is an alias for clang on macOS, gcc proper is only+	# available in the path with a version suffix, so we need to+	# detect which version of gcc is installed.+	for v in $(seq 6 13) ; do+	    if which cpp-$v >/dev/null ; then+		cpp=cpp-$v+	    fi+	done+	;;+esac++$cpp -traditional "$@"
hsrc/ghc-dialogue/AsyncInput.hs view
@@ -53,8 +53,8 @@ type MsTime = Int  data XCallState = XCallState-      Cfd_set -- ^ read fd_set-      (IOVar Fd) -- ^ highest fd in read fd_set+      Cfd_set -- read fd_set+      (IOVar Fd) -- highest fd in read fd_set       (IOVar AiTable)       (IOVar (PQueue MsTime (MsTime,Timer)))       (IOVar Time)
hsrc/utils/FudVersion.hs view
@@ -1,7 +1,7 @@ module FudVersion where -version = version_0_18_3_1+version = version_0_18_3_2 -version_0_18_3_1 = "version 0.18.3.1" -- only for documentation, use "version" instead+version_0_18_3_2 = "version 0.18.3.2" -- only for documentation, use "version" instead  -- The version number should be increased immediately after a public release.