File: gen-release-archives.sh

package info (click to toggle)
libdeflate 1.23-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,072 kB
  • sloc: ansic: 11,716; sh: 1,388; python: 169; makefile: 31
file content (37 lines) | stat: -rwxr-xr-x 1,234 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

set -eu -o pipefail

# This script generates source and binary archives that should be posted for
# each new release of libdeflate.

prefix="libdeflate-$(git describe HEAD | sed 's/^v//')"

# Generate source code archive libdeflate-*.tar.gz
tarball="${prefix}.tar.gz"
echo "Generating $tarball"
git archive --format=tar --prefix="${prefix}/" HEAD \
	| libdeflate-gzip -12 > "$tarball"

# Generate Windows binary releases libdeflate-*-windows-*-bin.zip
for arch in 'i686' 'x86_64'; do
	dir=${prefix}-windows-${arch}-bin
	zipfile="${dir}.zip"
	echo "Generating $zipfile"
	rm -rf build "$dir" "$zipfile"
	CFLAGS="-Werror" ${arch}-w64-mingw32-cmake -B build -G Ninja \
		-DLIBDEFLATE_BUILD_TESTS=1 > /dev/null
	cmake --build build > /dev/null
	mkdir "$dir"
	cp libdeflate.h build/libdeflate.{dll,dll.a,a} \
		build/programs/{benchmark,checksum}.exe "$dir"
	cp build/programs/libdeflate-gzip.exe "$dir"/gzip.exe
	cp build/programs/libdeflate-gzip.exe "$dir"/gunzip.exe
	${arch}-w64-mingw32-strip "$dir"/libdeflate.dll "$dir"/*.exe
	for file in COPYING NEWS.md README.md; do
		sed < $file > "$dir/${file}.txt" -e 's/$/\r/g'
	done
	(cd "$dir" && zip -q -r "../${zipfile}" .)
done

echo "Successfully generated release archives"