Revert "git-annex.cabal: Add back custom-setup stanza, so cabal new-build works."

This reverts commit 51228c2306.

No, still doesn't work when built with cabal. It did with stack; stack
must somehow make the unix package implicitly available.

With cabal, System.Posix.Process and System.Posix.Env are both missing.
This commit is contained in:
Joey Hess 2017-12-31 14:09:41 -04:00
parent 51228c2306
commit 1f5bf73af0
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
12 changed files with 30 additions and 62 deletions

View file

@ -14,7 +14,6 @@ import Utility.UserInfo
import qualified Git.Config import qualified Git.Config
import Config import Config
import Utility.Env import Utility.Env
import Utility.Env.Set
{- Checks that the system's environment allows git to function. {- Checks that the system's environment allows git to function.
- Git requires a GECOS username, or suitable git configuration, or - Git requires a GECOS username, or suitable git configuration, or

View file

@ -15,7 +15,6 @@ import qualified Annex
import Assistant.Alert import Assistant.Alert
import Assistant.DaemonStatus import Assistant.DaemonStatus
import Utility.Env import Utility.Env
import Utility.Env.Set
import Types.Distribution import Types.Distribution
import Types.Transfer import Types.Transfer
import Logs.Web import Logs.Web

View file

@ -5,7 +5,6 @@ git-annex (6.20171215) UNRELEASED; urgency=medium
downloaded. downloaded.
* Fix bug introduced in version 6.20171018 that caused some commands * Fix bug introduced in version 6.20171018 that caused some commands
to print out "ok" twice after processing a file. to print out "ok" twice after processing a file.
* git-annex.cabal: Add back custom-setup stanza, so cabal new-build works.
-- Joey Hess <id@joeyh.name> Wed, 20 Dec 2017 12:11:46 -0400 -- Joey Hess <id@joeyh.name> Wed, 20 Dec 2017 12:11:46 -0400

View file

@ -12,7 +12,6 @@ import Git.Types
import Git.Construct import Git.Construct
import qualified Git.Config import qualified Git.Config
import Utility.Env import Utility.Env
import Utility.Env.Set
{- Gets the current git repository. {- Gets the current git repository.
- -

View file

@ -10,7 +10,6 @@ module Git.Index where
import Common import Common
import Git import Git
import Utility.Env import Utility.Env
import Utility.Env.Set
indexEnv :: String indexEnv :: String
indexEnv = "GIT_INDEX_FILE" indexEnv = "GIT_INDEX_FILE"

11
Test.hs
View file

@ -83,7 +83,6 @@ import qualified Utility.Process
import qualified Utility.Misc import qualified Utility.Misc
import qualified Utility.InodeCache import qualified Utility.InodeCache
import qualified Utility.Env import qualified Utility.Env
import qualified Utility.Env.Set
import qualified Utility.Matcher import qualified Utility.Matcher
import qualified Utility.Exception import qualified Utility.Exception
import qualified Utility.Hash import qualified Utility.Hash
@ -131,7 +130,7 @@ runner = Just go
subenv = "GIT_ANNEX_TEST_SUBPROCESS" subenv = "GIT_ANNEX_TEST_SUBPROCESS"
runsubprocesstests opts Nothing = do runsubprocesstests opts Nothing = do
pp <- Annex.Path.programPath pp <- Annex.Path.programPath
Utility.Env.Set.setEnv subenv "1" True Utility.Env.setEnv subenv "1" True
ps <- getArgs ps <- getArgs
(Nothing, Nothing, Nothing, pid) <-createProcess (proc pp ps) (Nothing, Nothing, Nothing, pid) <-createProcess (proc pp ps)
exitcode <- waitForProcess pid exitcode <- waitForProcess pid
@ -1920,9 +1919,9 @@ ensuretmpdir = do
isolateGitConfig :: IO a -> IO a isolateGitConfig :: IO a -> IO a
isolateGitConfig a = Utility.Tmp.withTmpDir "testhome" $ \tmphome -> do isolateGitConfig a = Utility.Tmp.withTmpDir "testhome" $ \tmphome -> do
tmphomeabs <- absPath tmphome tmphomeabs <- absPath tmphome
Utility.Env.Set.setEnv "HOME" tmphomeabs True Utility.Env.setEnv "HOME" tmphomeabs True
Utility.Env.Set.setEnv "XDG_CONFIG_HOME" tmphomeabs True Utility.Env.setEnv "XDG_CONFIG_HOME" tmphomeabs True
Utility.Env.Set.setEnv "GIT_CONFIG_NOSYSTEM" "1" True Utility.Env.setEnv "GIT_CONFIG_NOSYSTEM" "1" True
a a
cleanup :: FilePath -> IO () cleanup :: FilePath -> IO ()
@ -2108,7 +2107,7 @@ setTestMode testmode = do
currdir <- getCurrentDirectory currdir <- getCurrentDirectory
p <- Utility.Env.getEnvDefault "PATH" "" p <- Utility.Env.getEnvDefault "PATH" ""
mapM_ (\(var, val) -> Utility.Env.Set.setEnv var val True) mapM_ (\(var, val) -> Utility.Env.setEnv var val True)
-- Ensure that the just-built git annex is used. -- Ensure that the just-built git annex is used.
[ ("PATH", currdir ++ [searchPathSeparator] ++ p) [ ("PATH", currdir ++ [searchPathSeparator] ++ p)
, ("TOPDIR", currdir) , ("TOPDIR", currdir)

View file

@ -16,6 +16,7 @@ import Control.Applicative
import Data.Maybe import Data.Maybe
import Prelude import Prelude
import qualified System.Environment as E import qualified System.Environment as E
import qualified System.SetEnv
#else #else
import qualified System.Posix.Env as PE import qualified System.Posix.Env as PE
#endif #endif
@ -41,6 +42,29 @@ getEnvironment = PE.getEnvironment
getEnvironment = E.getEnvironment getEnvironment = E.getEnvironment
#endif #endif
{- Sets an environment variable. To overwrite an existing variable,
- overwrite must be True.
-
- On Windows, setting a variable to "" unsets it. -}
setEnv :: String -> String -> Bool -> IO ()
#ifndef mingw32_HOST_OS
setEnv var val overwrite = PE.setEnv var val overwrite
#else
setEnv var val True = System.SetEnv.setEnv var val
setEnv var val False = do
r <- getEnv var
case r of
Nothing -> setEnv var val True
Just _ -> return ()
#endif
unsetEnv :: String -> IO ()
#ifndef mingw32_HOST_OS
unsetEnv = PE.unsetEnv
#else
unsetEnv = System.SetEnv.unsetEnv
#endif
{- Adds the environment variable to the input environment. If already {- Adds the environment variable to the input environment. If already
- present in the list, removes the old value. - present in the list, removes the old value.
- -

View file

@ -1,40 +0,0 @@
{- portable environment variables
-
- Copyright 2013 Joey Hess <id@joeyh.name>
-
- License: BSD-2-clause
-}
{-# LANGUAGE CPP #-}
module Utility.Env.Set where
#ifdef mingw32_HOST_OS
import qualified System.Environment as E
import qualified System.SetEnv
#else
import qualified System.Posix.Env as PE
#endif
{- Sets an environment variable. To overwrite an existing variable,
- overwrite must be True.
-
- On Windows, setting a variable to "" unsets it. -}
setEnv :: String -> String -> Bool -> IO ()
#ifndef mingw32_HOST_OS
setEnv var val overwrite = PE.setEnv var val overwrite
#else
setEnv var val True = System.SetEnv.setEnv var val
setEnv var val False = do
r <- getEnv var
case r of
Nothing -> setEnv var val True
Just _ -> return ()
#endif
unsetEnv :: String -> IO ()
#ifndef mingw32_HOST_OS
unsetEnv = PE.unsetEnv
#else
unsetEnv = System.SetEnv.unsetEnv
#endif

View file

@ -15,7 +15,6 @@ import qualified BuildInfo
import System.Posix.Types import System.Posix.Types
import qualified System.Posix.IO import qualified System.Posix.IO
import Utility.Env import Utility.Env
import Utility.Env.Set
#endif #endif
import Utility.Tmp import Utility.Tmp
import Utility.Format (decode_c) import Utility.Format (decode_c)

View file

@ -11,7 +11,7 @@ module Utility.Lsof where
import Common import Common
import BuildInfo import BuildInfo
import Utility.Env.Set import Utility.Env
import System.Posix.Types import System.Posix.Types

View file

@ -44,6 +44,3 @@ Use -v to see a list of the files searched for.
Yeah, it's amazing! I've been using the version from the Debian repos and then Yeah, it's amazing! I've been using the version from the Debian repos and then
wanted to try building the new version for youtube-dl support. wanted to try building the new version for youtube-dl support.
> Revisited it and seem to have managed to add custom-setup back. [[done]]
> --[[Joey]]

View file

@ -302,11 +302,6 @@ source-repository head
type: git type: git
location: git://git-annex.branchable.com/ location: git://git-annex.branchable.com/
custom-setup
Setup-Depends: base (>= 4.5), hslogger, split, unix-compat, process,
filepath, exceptions, bytestring, directory, IfElse, data-default,
utf8-string, Cabal
Executable git-annex Executable git-annex
Main-Is: git-annex.hs Main-Is: git-annex.hs
Build-Depends: Build-Depends:
@ -996,7 +991,6 @@ Executable git-annex
Utility.Dot Utility.Dot
Utility.DottedVersion Utility.DottedVersion
Utility.Env Utility.Env
Utility.Env.Set
Utility.Exception Utility.Exception
Utility.ExternalSHA Utility.ExternalSHA
Utility.FileMode Utility.FileMode