From b37c2e6aec125952c26156ad599f18496d5cea8e Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 27 Apr 2023 07:46:37 +0000 Subject: [PATCH] feat: make git revision accessable to nix build --- src/Handler/Info.hs | 6 +++--- src/Handler/Info/TH.hs | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Handler/Info.hs b/src/Handler/Info.hs index 424418921..55818b6eb 100644 --- a/src/Handler/Info.hs +++ b/src/Handler/Info.hs @@ -1,4 +1,4 @@ --- SPDX-FileCopyrightText: 2022 Felix Hamann ,Gregor Kleen ,Sarah Vaupel ,Sarah Vaupel ,Steffen Jost ,Winnie Ros +-- SPDX-FileCopyrightText: 2022-2023 Felix Hamann , Gregor Kleen , Sarah Vaupel , Steffen Jost , Winnie Ros -- -- SPDX-License-Identifier: AGPL-3.0-or-later @@ -43,7 +43,7 @@ pickLegalExternalLang = do getVersionR :: Handler TypedContent getVersionR = selectRep $ do provideRep $ - return ($gitDescribe :: Text) + return ($orGitRevisionEnv gitDescribe :: Text) provideRep getInfoR @@ -99,7 +99,7 @@ getInfoR = do knownBugs = $(i18nWidgetFile "knownBugs") implementation = $(i18nWidgetFile "implementation") gitInfo :: Text - gitInfo = $gitDescribe <> " (" <> $gitCommitDate <> ")" + gitInfo = $(orGitRevisionEnv gitDescribeDate) $(widgetFile "versionHistory") diff --git a/src/Handler/Info/TH.hs b/src/Handler/Info/TH.hs index 6984de242..25925c360 100644 --- a/src/Handler/Info/TH.hs +++ b/src/Handler/Info/TH.hs @@ -1,20 +1,24 @@ --- SPDX-FileCopyrightText: 2022 Gregor Kleen +-- SPDX-FileCopyrightText: 2022-2023 Gregor Kleen -- -- SPDX-License-Identifier: AGPL-3.0-or-later module Handler.Info.TH ( glossaryTerms + , orGitRevisionEnv, gitDescribeDate ) where import Import import Language.Haskell.TH +import Language.Haskell.TH.Lib (stringE) import qualified Data.Char as Char import qualified Data.Map.Strict as Map import qualified Data.Text as Text +import Development.GitRev + glossaryTerms :: FilePath -> Q Exp glossaryTerms basename = do @@ -24,3 +28,9 @@ glossaryTerms basename = do where unPathPiece :: Text -> String unPathPiece = repack . mconcat . map (over _head Char.toUpper) . Text.splitOn "-" + +orGitRevisionEnv :: Q Exp -> Q Exp +orGitRevisionEnv cont = maybe cont stringE =<< runIO (lookupEnv "GIT_REVISION") + +gitDescribeDate :: Q Exp +gitDescribeDate = [e|$gitDescribe <> " (" <> $gitCommitDate <> ")"|]