Update build

This commit is contained in:
2026-04-25 02:36:47 -07:00
parent dd8bbf2277
commit d10ed0daab
4 changed files with 51 additions and 24 deletions

View File

@@ -5,7 +5,7 @@ import Control.Monad
import Data.Functor
import Data.List (isInfixOf, isSuffixOf)
import System.Directory (listDirectory)
import System.Environment (getArgs, getEnv)
import System.Environment (getArgs, getEnv, lookupEnv)
import System.IO
import System.IO.Error
@@ -13,12 +13,12 @@ import System.IO.Error
defaultOutfile :: String
defaultOutfile = "LICENSE"
defaultUserLicenseDirName :: String
defaultUserLicenseDirName = "license-tool"
defaultSystemLicenseDir :: String
defaultSystemLicenseDir = "/usr/share/license-tool"
defaultUserLicenseRelDir :: String
defaultUserLicenseRelDir = ".config/license-tool"
-- Argument parsing
data SearchMode = SystemOnly | UserOnly | UserThenSystem
@@ -71,8 +71,13 @@ normalizeDirectory :: String -> String
normalizeDirectory s = if "/" `isSuffixOf` s then s else s ++ "/"
userLicenseDir :: IO String
userLicenseDir = userHomeDir <&> (++ defaultUserLicenseRelDir)
userLicenseDir = xdgConfigHome <&> (++ defaultUserLicenseDirName)
where
xdgConfigHome :: IO String
xdgConfigHome =
(lookupEnv "XDG_CONFIG_HOME")
>>= maybe userHomeDir (return . normalizeDirectory)
userHomeDir :: IO String
userHomeDir = getEnv "HOME" <&> normalizeDirectory