packages feed

arbtt 0.10.2 → 0.10.3

raw patch · 8 files changed

+47/−55 lines, 8 filesdep ~aesondep ~strictdep ~tasty-goldensetup-changed

Dependency ranges changed: aeson, strict, tasty-golden

Files

README.md view
@@ -15,13 +15,7 @@ Installation ------------ -You can build and install this program as any other Cabalized program:--    $ runhaskell Setup.hs configure-    $ runhaskell Setup.hs build-    $ runhaskell Setup.hs install-    -Other installation options are described in the [website](http://arbtt.nomeata.de/#install).+See <http://arbtt.nomeata.de/#install>  You also need to make sure that `arbtt-capture` is started with your X session:@@ -32,7 +26,7 @@ - If you use macOS, you can use `launchd` for this.   Create a `.plist` file like the following   (with the path changed to match where arbtt-capture is located in your system):-  +   ```xml   <?xml version="1.0" encoding="UTF-8"?>   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">@@ -74,11 +68,6 @@ latest source at the git repository at <https://github.com/nomeata/arbtt> or <https://bitbucket.org/nomeata/arbtt>.--User and Developer discussion happens on the arbtt mailing list:-  arbtt@lists.nomeata.de-To subscribe to the list, visit:-  <http://lists.nomeata.de/mailman/listinfo/arbtt>  The issue tracker is hosted on bitbucket:   <https://bitbucket.org/nomeata/arbtt/issues>
Setup.hs view
@@ -23,7 +23,7 @@                                  "creation of the windows setup executable."           Just configuredProg -> do                 writeFile includeFilename $ "AppVerName=" ++ display (package pd) ++ "\n"-                rawSystemProgram verb configuredProg+                runProgram verb configuredProg                                 ["/Odist","/F"++setupFilename,"setup.iss"]                 removeFile includeFilename   where verb = fromFlag (buildVerbosity flags)
arbtt.cabal view
@@ -1,5 +1,5 @@ name:               arbtt-version:            0.10.2+version:            0.10.3 license:            GPL-2 license-file:       LICENSE category:           Desktop@@ -63,6 +63,7 @@         LeftFold         LockFile         DumpFormat+        Paths_arbtt      ghc-options: -rtsopts @@ -285,11 +286,10 @@     Text.Parsec.ExprFail     Text.Regex.PCRE.Light.Text     TimeLog-    Paths_arbtt   Build-depends:       base >= 4.7 && < 5       , tasty >= 0.7 && < 1.3-      , tasty-golden >= 2.2.0.2  && < 2.4+      , tasty-golden >= 2.2.0.2  && <= 2.3.3.2       , tasty-hunit >= 0.2  && < 0.11       , process-extras >= 0.2 && < 0.8       , deepseq
categorize.cfg view
@@ -113,7 +113,7 @@ -- “format $date” produces a string with the date in ISO 8601 format -- (YYYY-MM-DD), it may be compared with strings. For example, to match -- everything on and after a particular date I can use-format $date =~ ".*-03-19"  ==> tag period:on_a_special_day,+format $date =~ /.*-03-19/  ==> tag period:on_a_special_day, -- but note that this is a rather expensive operation and will slow down your -- data processing considerably. 
doc/arbtt.xml view
@@ -96,29 +96,11 @@  <sect1 id="installation">   <title>Installation</title>-  <sect2>-    <title>Building with <command>cabal-install</command></title>-    <para>-    arbtt comes in the form of a Cabalized<footnote><para>Cabal is the common software-    packaging for Haskell programs and libraries, see <ulink-    url="http://www.haskell.org/cabal/"/>.</para></footnote> package, and is-    available from hackage. The easiest way of obtaining and installing arbtt is-    via <command>cabal-install</command>. If you have-    <command>cabal-install</command> available, just run-    <screen>$ cabal install arbtt</screen>-    to download, build and install arbtt.-    </para>-  </sect2>    <sect2>-    <title>Building without <command>cabal-install</command></title>+    <title>Obtaining arbtt</title>>     <para>-    You can fetch the latest arbtt source tarball from hackage, at-    <ulink url="http://hackage.haskell.org/package/arbtt"/>. Extract the tarball-    and run the following commands to build and install the arbtt binaries:-    <screen>$ runhaskell Setup.hs configure-$ runhaskell Setup.hs build-$ runhaskell Setup.hs install</screen>+      See the project website <ulink url="http://arbtt.nomeata.de/#install">for installation instructions</ulink>.     </para>   </sect2> @@ -322,7 +304,7 @@       <literal>&gt;</literal> operators. String expressions       (<literal>$program</literal>, <literal>$title</literal>) can be matched       against regular expressions with <literal>=~</literal> operator. With these-      operatorions, the right hand side can be a comma-separated list of+      operators, the right hand side can be a comma-separated list of       literals enclosed in square brackets (<literal>[</literal>       <emphasis>...</emphasis>, <emphasis>...</emphasis>, <literal>]</literal>), which       succeeds if any of them succeeds.@@ -808,7 +790,6 @@ ( ) urxvt:          /home/gwern; 2014-09-03 13:42:17 history 1 | cut --delimiter=' ' --fields=5- ( ) urxvt:          /home/gwern; 2014-09-03 13:12:21 git log -p .emacs (*) emacs:          emacs@elan-( ) urxvt:          /home/gwern; 2014-09-01 14:50:30 while true; do cd ~/ &amp;&amp; getmail_fetch --ssl pop.gmail.com gwern0 'ugaozoumbhwcijxb' ./mail/; done ( ) urxvt:          /home/gwern/blackmarket-mirrors/silkroad2-forums; 2014-08-31 23:20:10 mv /home/gwern/cookies.txt ./; http_proxy=&quot;localhost:8118&quot; wget... ( ) urxvt:          /home/gwern/blackmarket-mirrors/agora; 2014-08-31 23:15:50 mv /home/gwern/cookies.txt ./; http_proxy=&quot;localhost:8118&quot; wget --mirror ... ( ) urxvt:          /home/gwern/blackmarket-mirrors/evolution-forums; 2014-08-31 23:04:10 mv ~/cookies.txt ./; http_proxy=&quot;localhost:8118&quot; wget --mirror ...@@ -1765,11 +1746,6 @@   arbtt is Copyright © 2009-2010 Joachim Breitner   </para> -  <para>-    arbtt does not have a bug tracker yet. If you have bug reports, suggestions-    or questions, please send an email to the arbtt mailing list at <ulink url="mailto:arbtt@lists.nomeata.de">arbtt@lists.nomeata.de</ulink>, which you can subscribe at <ulink url="http://lists.nomeata.de/mailman/listinfo/arbtt">http://lists.nomeata.de/mailman/listinfo/arbtt</ulink>.-  </para>-   <sect2>     <title>arbtt License</title>     <para>@@ -1797,6 +1773,17 @@   <para>   The version history with changes relevant for the user is documented here.   </para>++  <sect2 id="release-notes-0.10.3">+    <title>Version 0.10.3</title>+    <itemizedlist>+      <listitem>+        <para>+	  Fix build issues with Cabal.+	</para>+      </listitem>+    </itemizedlist>+  </sect2>    <sect2 id="release-notes-0.10.2">     <title>Version 0.10.2</title>
src/Data.hs view
@@ -76,6 +76,10 @@  -- Data.Binary instances +validTimeLogEntryTag :: Word8 -> Bool+validTimeLogEntryTag 1 = True+validTimeLogEntryTag _ = False+ instance StringReferencingBinary a => StringReferencingBinary (TimeLogEntry a) where  ls_put strs tle = do         -- A version tag@@ -87,7 +91,8 @@         v <- getWord8         case v of          1 -> TimeLogEntry <$> get <*> get <*> ls_get strs-         _ -> error $ "Unsupported TimeLogEntry version tag " ++ show v+         _ -> error $ "Unsupported TimeLogEntry version tag " ++ show v ++ "\n" +++                      "You can try to recover your data using arbtt-recover."  instance Binary UTCTime where  put (UTCTime (ModifiedJulianDay d) t) = do@@ -117,7 +122,8 @@          1 -> CaptureData <$> get <*> get <*> pure ""          2 -> CaptureData <$> ls_get strs <*> ls_get strs <*> pure ""          3 -> CaptureData <$> ls_get strs <*> ls_get strs <*> ls_get strs-         _ -> error $ "Unsupported CaptureData version tag " ++ show v+         _ -> error $ "Unsupported CaptureData version tag " ++ show v ++ "\n" +++                      "You can try to recover your data using arbtt-recover."    -- | 'getMany n' get 'n' elements in order, without blowing the stack.   --   From Data.Binary
src/LeftFold.hs view
@@ -77,12 +77,12 @@                                   | otherwise = (S.Just x :!: po so ix)           finish (S.Nothing :!: so) = fo so           finish (S.Just _  :!: so) = fo (po so ix)-runOnGroups eq (LeftFold sti pi fi) (LeftFold sto po fo) = LeftFold (S.Nothing :!: sti :!: sto) go finish -    where go (S.Nothing :!: si :!: so) x             = (S.Just x :!: pi si x  :!: so)-          go (S.Just x' :!: si :!: so) x | x' `eq` x = (S.Just x :!: pi si x  :!: so)-                                         | otherwise = (S.Just x :!: pi sti x :!: po so (fi si))-          finish (S.Nothing :!: si :!: so) = fo so-          finish (S.Just _  :!: si :!: so) = fo (po so (fi si))+runOnGroups eq (LeftFold sti pi fi) (LeftFold sto po fo) = LeftFold (S.Nothing :!: (sti :!: sto)) go finish+    where go (S.Nothing :!: (si :!: so)) x             = (S.Just x :!: (pi si x  :!: so))+          go (S.Just x' :!: (si :!: so)) x | x' `eq` x = (S.Just x :!: (pi si x  :!: so))+                                           | otherwise = (S.Just x :!: (pi sti x :!: po so (fi si)))+          finish (S.Nothing :!: (si :!: so)) = fo so+          finish (S.Just _  :!: (si :!: so)) = fo (po so (fi si))  runOnIntervals :: LeftFold x y -> LeftFold y z -> LeftFold (Bool :!: x) z runOnIntervals _ (Pure ox) = (Pure ox)
src/TimeLog.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE CPP #-}+{-# LANGUAGE PatternGuards #-} module TimeLog where  import Data@@ -80,12 +81,21 @@                 go Nothing rest off          go prev input off = do-                mb <- tryGet prev input off off+                mb <- trySkip prev input off off                 flip (maybe (return [])) mb $ \(v,rest,off') ->                         if BS.null rest                         then return [v]                         else (v:) <$> (unsafeInterleaveIO $ go (Just (tlData v)) rest off') +        trySkip prev input off orig_off+            | Just i <- BS.findIndex validTimeLogEntryTag input = do+               when (i > 0) $ do+                   putStrLn $ "At position " ++ show off ++ " skipping " ++ show i ++ " bytes to next valid TimeLogEntry tag"+               tryGet prev (BS.drop i input) (off + i) orig_off+            | otherwise = do+               putStrLn "No valid TimeLogEntry tag bytes remaining"+               return Nothing+         tryGet prev input off orig_off = catch (                         do -- putStrLn $ "Trying value at offset " ++ show off                            let (v,rest,off') = runGetState (ls_get strs) input off@@ -100,7 +110,7 @@                            if BS.length input <= 1                              then do putStrLn $ "End of file reached"                                      return Nothing-                             else do tryGet prev (BS.tail input) (off+1) orig_off+                             else do trySkip prev (BS.tail input) (off+1) orig_off                         )           where strs = maybe [] listOfStrings prev