packages feed

shadowsocks 1.20140713 → 1.20141007

raw patch · 2 files changed

+16/−34 lines, 2 filesdep ~optparse-applicative

Dependency ranges changed: optparse-applicative

Files

Shadowsocks/Util.hs view
@@ -10,7 +10,6 @@ import           Data.Maybe (fromMaybe) import           GHC.Generics (Generic) import           Options.Applicative-import           Options.Applicative.Types (ReadM(ReadM))  data Config = Config     { server        :: String@@ -38,32 +37,20 @@ readConfig :: FilePath -> IO (Maybe Config) readConfig fp = liftM decode' $ L.readFile fp -optStr :: Mod OptionFields (Maybe String) -> Parser (Maybe String)-optStr m =-    nullOption $ value Nothing <> reader (success . str) <> m-  where-    success = ReadM . Right--maybeOpt :: Read a => Mod OptionFields (Maybe a) -> Parser (Maybe a)-maybeOpt m =-    nullOption $ value Nothing <> reader (success . auto) <> m-  where-    success = ReadM . Right- configOptions :: Parser Options configOptions = Options-    <$> optStr (long "server" <> short 's' <> metavar "ADDR"-               <> help "server address")-    <*> maybeOpt (long "server-port" <> short 'p' <> metavar "PORT"-                 <> help "server port")-    <*> maybeOpt (long "local-port" <> short 'l' <> metavar "PORT"-                 <> help "local port")-    <*> optStr (long "password" <> short 'k' <> metavar "PASSWORD"-               <> help "password")-    <*> optStr (long "method" <> short 'm' <> metavar "METHOD"-               <> help "encryption method, for example, aes-256-cfb")-    <*> optStr (long "config" <> short 'c' <> metavar "CONFIG"-               <> help "path to config file")+    <$> optional (strOption (long "server" <> short 's' <> metavar "ADDR"+              <> help "server address"))+    <*> optional (option auto (long "server-port" <> short 'p' <> metavar "PORT"+                <> help "server port"))+    <*> optional (option auto (long "local-port" <> short 'l' <> metavar "PORT"+                <> help "local port"))+    <*> optional (strOption (long "password" <> short 'k' <> metavar "PASSWORD"+              <> help "password"))+    <*> optional (strOption (long "method" <> short 'm' <> metavar "METHOD"+              <> help "encryption method, for example, aes-256-cfb"))+    <*> optional (strOption (long "config" <> short 'c' <> metavar "CONFIG"+               <> help "path to config file"))  parseConfigOptions :: IO Config parseConfigOptions = do
shadowsocks.cabal view
@@ -1,5 +1,5 @@ name:                shadowsocks-version:             1.20140713+version:             1.20141007 synopsis:            A fast tunnel proxy that help you get through firewalls description:     Shadowsocks implemented in Haskell. Original python version: <https://github.com/clowwindy/shadowsocks>@@ -33,7 +33,7 @@                         cryptohash >= 0.11,                         HsOpenSSL >= 0.11,                         network >= 2.4,-                        optparse-applicative >= 0.8,+                        optparse-applicative >= 0.11,                         unordered-containers >= 0.2   default-language:     Haskell2010 @@ -51,7 +51,7 @@                         cryptohash >= 0.11,                         HsOpenSSL >= 0.11,                         network >= 2.4,-                        optparse-applicative >= 0.8,+                        optparse-applicative >= 0.11,                         unordered-containers >= 0.2   default-language:     Haskell2010 @@ -60,15 +60,10 @@   main-is:              test.hs   ghc-options:          -Wall -fno-warn-unused-do-bind   build-depends:        base == 4.*,-                        aeson >= 0.7,                         binary >= 0.7,                         bytestring >= 0.9,                         containers >= 0.5,                         cryptohash >= 0.11,-                        HsOpenSSL >= 0.11,-                        network >= 2.4,-                        optparse-applicative >= 0.8,                         process >= 1.1,-                        HUnit >= 1.2,-                        unordered-containers >= 0.2+                        HUnit >= 1.2   default-language:     Haskell2010