packages feed

seqaid 0.3.0.0 → 0.3.0.1

raw patch · 4 files changed

+122/−36 lines, 4 files

Files

Seqaid/Prepro.hs view
@@ -569,6 +569,12 @@     let cppopts = intercalate " " cppopts_lst     let ghcopts' = intercalate " " ghcopts_lst +-- XXX Alternatively, could use a shell script to delegate, as done+-- in leaky (to cope with this rogue).  But hopefully this suffices,+-- and hackage resolves this undesireable situation with build reporting+-- at which time we can simplify, and depend on build tools being+-- installed in places from which they will be visible.+     in_sandbox <- detectSandbox      i_am_misconfigured <- doesFileExist
changelog.txt view
@@ -1,5 +1,11 @@ -0.2.1.1 -> 0.3.0.0+0.3.0.0 -> 0.3.0.1+ - still trying to decide on policy regarding cpphs+ - this is all motivated by one pesky rogue anonymous build spammer+ - had a spot of trouble over this, but learned a few tricks+ - hopefully this upload is the ticket; sorry for the extra version uploads++** 0.2.1.1 -> 0.3.0.0  - deepseq-bounded major version bump  0.2.1.0 -> 0.2.1.1
+ cpphs.sh view
@@ -0,0 +1,37 @@+#!/usr/bin/env bash++# (Hopefully that works on mingw32.)++## #!/bin/sh++# This is mostly to get rid of rogue failed build reports.+# Not my fault I have to make things ugly to fix mistakes of+# others (build reporters with misconfigured environemnts; and+# hackage, for allowing this to smear a perfectly good library+# by displaying the report so prominently, and making it+# impossible for the maintainer to get rid of it or even+# add an annotation).  I could have been doing something+# constructive with this time.++env PATH=$PATH:$HOME/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp $*++if [ 0 ]; then++if [ -f .cabal-sandbox/bin/cpphs ]; then+  # Building in a sandbox, you want the sandbox's cpphs:+  .cabal-sandbox/bin/cpphs --cpp $*+elif [ $(which cpphs) ]; then+  # Either cpphs was already on your path, or it was just installed and+  # is seen on your path -- use this one:+  cpphs --cpp $*+elif [ -f $HOME/.cabal/bin/cpphs ]; then+  $HOME/.cabal/bin/cpphs --cpp $*+elif [ $(which cpp) ]; then+  cpp $*+else+  echo 'ERROR: Neither cpphs nor cpp could be found!'+  exit 1+fi++fi+
seqaid.cabal view
@@ -2,7 +2,7 @@ -------------------------------------------------------------------------------  name:                seqaid-version:             0.3.0.0+version:             0.3.0.1 synopsis:            Dynamic strictness control, including space leak repair license:             BSD3 license-file:        LICENSE@@ -40,6 +40,7 @@     , release-announcement.txt     , deepseq-bounded-seqaid-leaky.html     , deepseq-bounded-seqaid-leaky.css+    , cpphs.sh  -- source-repository head --   type: git@@ -142,16 +143,29 @@ -- This does indeed work for me (it is auto-toggled when cpphs is unavailable). -- Default to False, since it seems more likely there's a native cpp, than -- that a cpphs installation works smoothly.+-- Later: Defaulting to True, since found some tricks...+-- (Not even going to let this be manual:false anymore.) Flag USE_CPPHS   Description: Non-manual flag to allow the build system to try cpphs first, and if that fails, then to try system-wide cpp (typically GNU). I've actually toggled the default, so the build system will try for a system-wide cpp first, and failing that, will try to use cpphs, installing it if necessary. I prefer cpp. I am not getting my most invaluable -Wundef option with cpphs using -optP-Wundef -optP--cpp in my ghc-options. Does cpphs implement it? Not sure...-  Default: False---Default: True-  Manual: False+--Default: False+  Default: True+--Manual: False+  Manual: True  -------------------------------------------------------------------------------  library { +-- I feel like declaring this is only asking for more trouble;+-- cpphs installs because it's mentioned as a dependency, and+-- that does install both the library and the executable.+---------+--   build-tools: cpphs  +--   -- (This seems /not/ to work, since, when USE_CPPHS is default:false,+--   -- cpphs is still mentioned in the hackage deps.)+-- --if flag(USE_CPPHS)+-- --   build-tools: cpphs+   exposed-modules:     Seqaid.Plugin     Seqaid.Config@@ -282,37 +296,22 @@ --  , deepseq == 1.3.0.2    ghc-options: -optP-Wundef -fno-warn-overlapping-patterns-  ghc-options:                  -funbox-strict-fields -fwarn-tabs---ghc-options:        -Wall -O2 -funbox-strict-fields -fwarn-tabs+  ghc-options: -funbox-strict-fields -fwarn-tabs+--ghc-options: -Wall --- XXX Later yet: Nevertheless, cpphs is the best way to go,--- since at least we always know we can install it!  Does it--- work to add it to the build-depends?  Finding out...--- (Only needs to work for Cabal-with-GHC-7.8 anyhow, as--- seqaid is broken for GHC < 7.8 for some time to come anyway.)--- XXX LATER: Dependence on cpphs has resulted in broken builds--- (see hackage build reports for leaky, at least). So going to--- factor out the string gaps...-  -- The following extra options are to handle multiline String literals-  -- in the presence of CPP-  -- http://stackoverflow.com/questions/2549167/cpp-extension-and-multiline-literals-in-haskell-  -- I prefer string gaps to unlines [ l1, l2, ... ] b/c then lines-  -- can start at the left margin!+  -- -ags+ 20150202+--cpp-options: PATH=$PATH:.cabal-sandbox/bin:$HOME/.cabal/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp+   if flag(USE_CPPHS)-     -- Which is most portable, a space after the P or not???-     -- See the comment on the other branch of this Cabal "condition".-     ghc-options: -pgmPcpphs -optP--cpp+     ghc-options: -pgmP./cpphs.sh+     -- -ags+ 20150202+--   ghc-options: -pgmPenv -optP--cpp+--   ghc-options: -pgmPenv --else---   -- This is no longer needed, but SINCE WHEN?? i.e. for---   -- which versions of GHC (and perhaps cabal-install)?...---   -- Without a reasonable means to answer this question---   -- (short of tracking down and scouring changelogs---   -- in reverse chronological order), the conscientious---   -- programmer has no recourse but to try to cover---   -- all the bases.---   --   But since recent cabal-install screams loudly about it,---   -- better comment it out. --   ghc-options: -cpp+--ghc-options: -pgmP/usr/bin/cpp    if flag(SAI_FORK)      cpp-options: -DSAI_FORK=1@@ -383,6 +382,16 @@  executable seqaid { +-- I feel like declaring this is only asking for more trouble;+-- cpphs installs because it's mentioned as a dependency, and+-- that does install both the library and the executable.+---------+--   build-tools: cpphs  +--   -- (This seems /not/ to work, since, when USE_CPPHS is default:false,+--   -- cpphs is still mentioned in the hackage deps.)+-- --if flag(USE_CPPHS)+-- --   build-tools: cpphs+ -- It seems you cannot put the seqaid Main module in Seqaid.Main namespace?   hs-source-dirs:     .   main-is:            Seqaid/Demo.hs@@ -408,11 +417,20 @@ --ghc-options:        -Wall -O2 -funbox-strict-fields -fwarn-tabs -threaded    ghc-options: -optP-Wundef -fno-warn-overlapping-patterns-  -- [See comments in the library part above.]++  -- -ags+ 20150202+--cpp-options: PATH=$PATH:.cabal-sandbox/bin:$HOME/.cabal/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp+   if flag(USE_CPPHS)-     ghc-options: -pgmPcpphs -optP--cpp+     ghc-options: -pgmP./cpphs.sh+     -- -ags+ 20150202+--   ghc-options: -pgmPenv -optP--cpp+--   ghc-options: -pgmPenv --else --   ghc-options: -cpp+--ghc-options: -pgmP/usr/bin/cpp  -- Test #ifdef mingw32_HOST_OS instead! (it's built-in to GHC) ------@@ -435,6 +453,16 @@  executable seqaidpp { +-- I feel like declaring this is only asking for more trouble;+-- cpphs installs because it's mentioned as a dependency, and+-- that does install both the library and the executable.+---------+--   build-tools: cpphs  +--   -- (This seems /not/ to work, since, when USE_CPPHS is default:false,+--   -- cpphs is still mentioned in the hackage deps.)+-- --if flag(USE_CPPHS)+-- --   build-tools: cpphs+   hs-source-dirs:     .   main-is:            Seqaid/Prepro.hs   build-depends:@@ -459,11 +487,20 @@          cpphs >= 1.14    ghc-options: -optP-Wundef -fno-warn-overlapping-patterns-  -- [See comments in the library part above.]++  -- -ags+ 20150202+--cpp-options: PATH=$PATH:.cabal-sandbox/bin:$HOME/.cabal/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp+   if flag(USE_CPPHS)-     ghc-options: -pgmPcpphs -optP--cpp+     ghc-options: -pgmP./cpphs.sh+     -- -ags+ 20150202+--   ghc-options: -pgmPenv -optP--cpp+--   ghc-options: -pgmPenv --else --   ghc-options: -cpp+--ghc-options: -pgmP/usr/bin/cpp    if flag(USE_CPPHS)      cpp-options: -DUSE_CPPHS=1