build: use add_dist_script for vendoring
Our workaround for getting meson and cargo working together included a separate 'release' target that replaced 'ninja dist' so that we could vendor dependencies. Now we use meson's add_dist_script to vendor the dependencies as part of 'ninja dist', so we no longer need the 'release' target.
This commit is contained in:
parent
92e2006782
commit
78f29e726e
@ -69,9 +69,11 @@ test_script = find_program('scripts/test.sh')
|
|||||||
|
|
||||||
subdir('podcasts-gtk/src')
|
subdir('podcasts-gtk/src')
|
||||||
|
|
||||||
run_target('release', command: ['scripts/release.sh',
|
meson.add_dist_script(
|
||||||
meson.project_name() + '-' + podcasts_version
|
'scripts/dist-vendor.sh',
|
||||||
])
|
meson.source_root(),
|
||||||
|
join_paths(meson.build_root(), 'meson-dist', meson.project_name() + '-' + podcasts_version)
|
||||||
|
)
|
||||||
|
|
||||||
test(
|
test(
|
||||||
'cargo-test',
|
'cargo-test',
|
||||||
|
|||||||
@ -22,4 +22,5 @@ if test -d vendor; then
|
|||||||
ARGS+=('--frozen')
|
ARGS+=('--frozen')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cargo build ${ARGS[@]} -p podcasts-gtk && cp $1/target/${TARGET}/podcasts-gtk $2
|
cargo build ${ARGS[@]} --manifest-path="$1"/Cargo.toml -p podcasts-gtk &&
|
||||||
|
cp $1/target/${TARGET}/podcasts-gtk $2
|
||||||
|
|||||||
9
scripts/dist-vendor.sh
Executable file
9
scripts/dist-vendor.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
export SOURCE_ROOT="$1"
|
||||||
|
export DIST="$2"
|
||||||
|
|
||||||
|
cd "$SOURCE_ROOT"
|
||||||
|
mkdir "$DIST"/.cargo
|
||||||
|
cargo vendor | sed 's/^directory = ".*"/directory = "vendor"/g' > $DIST/.cargo/config
|
||||||
|
# Move vendor into dist tarball directory
|
||||||
|
mv vendor "$DIST"
|
||||||
@ -1,32 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
VERSION=$1
|
|
||||||
DEST=${MESON_BUILD_ROOT}
|
|
||||||
DIST=$DEST/dist/$VERSION
|
|
||||||
|
|
||||||
|
|
||||||
cd "${MESON_SOURCE_ROOT}"
|
|
||||||
mkdir -p $DIST
|
|
||||||
|
|
||||||
# copying files
|
|
||||||
cp -rf podcasts-data $DIST
|
|
||||||
cp -rf podcasts-gtk $DIST
|
|
||||||
cp -rf podcasts-downloader $DIST
|
|
||||||
cp Cargo.toml $DIST
|
|
||||||
cp Cargo.lock $DIST
|
|
||||||
cp meson.build $DIST
|
|
||||||
cp meson_options.txt $DIST
|
|
||||||
cp podcasts.doap $DIST
|
|
||||||
cp LICENSE $DIST
|
|
||||||
cp README.md $DIST
|
|
||||||
cp -rf screenshots $DIST
|
|
||||||
cp -rf scripts $DIST
|
|
||||||
|
|
||||||
#cargo vendor
|
|
||||||
mkdir $DIST/.cargo
|
|
||||||
cargo vendor | sed 's/^directory = ".*"/directory = "vendor"/g' > $DIST/.cargo/config
|
|
||||||
cp -rf vendor $DIST/
|
|
||||||
|
|
||||||
# packaging
|
|
||||||
cd $DEST/dist
|
|
||||||
tar -cJvf $VERSION.tar.xz $VERSION
|
|
||||||
Loading…
Reference in New Issue
Block a user