File 0001-meson-remove-meson-dist-script.patch of Package libslirp.25314
From 8a808aa493980e212b4d5f5465330905c8294e59 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Mon, 14 Sep 2020 21:35:44 +0200
Subject: [PATCH] meson: remove meson-dist script
Unfortunately meson subprojects do not support add_dist_script, so we
cannot generate the .tarball-version file at "meson dist" time.
Include the version in the meson project declaration, and use
build-aux/git-version-gen only to determine SLIRP_VERSION_STRING.
Instead of the dist script, we check that the version in the
project declaration matches the latest tag. If they do not match
it will be impossible to run "ninja dist" successfully.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
build-aux/meson-dist | 16 ----------------
meson.build | 16 ++++++++++++----
2 files changed, 12 insertions(+), 20 deletions(-)
delete mode 100755 build-aux/meson-dist
diff --git a/build-aux/meson-dist b/build-aux/meson-dist
deleted file mode 100755
index 80d534f..0000000
--- a/build-aux/meson-dist
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-set -e
-set -o pipefail
-
-if test "$1" = ""; then
- echo "Version not provided" >&2
- exit 1
-fi
-if ! test -d "$2"; then
- echo "Source directory not provided" >&2
- exit 1
-fi
-
-# generate tarball version
-echo "$1" > "$MESON_DIST_ROOT/.tarball-version"
diff --git a/meson.build b/meson.build
index 922d602..65bc6cb 100644
--- a/meson.build
+++ b/meson.build
@@ -1,12 +1,10 @@
project('libslirp', 'c',
- version : run_command('build-aux/git-version-gen', '@0@/.tarball-version'.format(meson.source_root()), check : true).stdout().strip(),
+ version : '4.3.1',
license : 'BSD-3-Clause',
default_options : ['warning_level=1', 'c_std=gnu99'],
meson_version : '>= 0.49',
)
-meson.add_dist_script('build-aux/meson-dist', meson.project_version(), meson.source_root())
-
version = meson.project_version()
varr = version.split('.')
major_version = varr[0]
@@ -17,7 +15,17 @@ conf = configuration_data()
conf.set('SLIRP_MAJOR_VERSION', major_version)
conf.set('SLIRP_MINOR_VERSION', minor_version)
conf.set('SLIRP_MICRO_VERSION', micro_version)
-conf.set_quoted('SLIRP_VERSION_STRING', version)
+
+full_version = run_command('build-aux/git-version-gen',
+ '@0@/.tarball-version'.format(meson.source_root()),
+ check : true).stdout().strip()
+if full_version.startswith('UNKNOWN')
+ full_version = meson.project_version()
+elif not full_version.startswith(meson.project_version())
+ error('meson.build project version @0@ does not match git-describe output @1@'
+ .format(meson.project_version(), full_version))
+endif
+conf.set_quoted('SLIRP_VERSION_STRING', full_version)
# libtool versioning - this applies to libslirp
#
--
2.36.1