summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2023-01-25 16:31:40 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-01-31 13:09:50 -0500
commita2d814dc84dbdcdb6c1e274b8bd7c212cc98c39e (patch)
tree45d223fce48180074f0b96e695c90cb054551caa
parentf83374f8649e5d8413e7ed585b0e058690c38563 (diff)
downloadhaskell-a2d814dc84dbdcdb6c1e274b8bd7c212cc98c39e.tar.gz
configure: Always create the VERSION file
Teach the `configure` script to create the `VERSION` file. This will serve as the stable interface to allow the user to determine the version number of a working tree. Fixes #22322.
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--configure.ac3
-rw-r--r--hadrian/src/Rules/SourceDist.hs4
3 files changed, 4 insertions, 7 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3999b645b1..bf8be6ebd5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -954,9 +954,6 @@ pages:
#############################################################
-# TODO: MP: This way of determining the project version is sadly very slow.
-# It seems overkill to have to setup a complete environment, and build hadrian to get
-# it to generate a single file containing the version information.
project-version:
stage: packaging
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
@@ -969,7 +966,6 @@ project-version:
- sudo chown ghc:ghc -R .
- .gitlab/ci.sh setup
- .gitlab/ci.sh configure
- - .gitlab/ci.sh run_hadrian VERSION
- echo "ProjectVersion=$(cat VERSION)" > version.sh
needs: []
diff --git a/configure.ac b/configure.ac
index 9b4dc0b650..7ebdcad7ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1214,6 +1214,9 @@ AC_CONFIG_FILES(
distrib/configure.ac
])
+dnl Create the VERSION file, satisfying #22322.
+printf "$ProjectVersion" > VERSION
+
AC_OUTPUT
[
if test "$print_make_warning" = "true"; then
diff --git a/hadrian/src/Rules/SourceDist.hs b/hadrian/src/Rules/SourceDist.hs
index 640b06a47d..ce8d05e6a6 100644
--- a/hadrian/src/Rules/SourceDist.hs
+++ b/hadrian/src/Rules/SourceDist.hs
@@ -29,8 +29,6 @@ sourceDistRules = alternatives $ do
archiveSourceTree prepareTree
"GIT_COMMIT_ID" %> \fname ->
writeFileChanged fname =<< setting ProjectGitCommitId
- "VERSION" %> \fname ->
- writeFileChanged fname =<< setting ProjectVersion
-- Rules to download mingw tarballs
let mingw_tarballs_stamp = "ghc-tarballs/mingw-w64/.mingw-w64.download.stamp"
@@ -120,7 +118,7 @@ prepareTree dest = do
out <- askWithResources [] (target (vanillaContext Stage1 compiler) (Git ListFiles) [] [])
top <- topDirectory
let files = ["GIT_COMMIT_ID", "VERSION"] ++ getFiles out
- need ["GIT_COMMIT_ID", "VERSION"]
+ need ["GIT_COMMIT_ID"]
forM_ files $ \source -> do
let target = dest -/- source
copyFileSourceDist (top -/- source) target