mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
These are already being set by iTerm2, WezTerm, tmux and likely some others. Even though using yet more environment variables seems rather questionable, if we don't set these we run the risk of inheriting them from other terminals. See also: *97a6078df8/sources/PTYSession.m (L2568-2570)*1d0f68dee9/environ.c (L263-L264)* https://github.com/search?q=TERM_PROGRAM&type=code
61 lines
1.6 KiB
Bash
Executable file
61 lines
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
if [ ${#} -ne 3 ]; then
|
|
echo "Usage: ${0} <default_version> <src_dir> <out_file>"
|
|
exit 1
|
|
fi
|
|
|
|
default_version=${1}
|
|
src_dir=${2}
|
|
out_file=${3}
|
|
|
|
# echo "default version: ${default_version}"
|
|
# echo "source directory: ${src_dir}"
|
|
# echo "output file: ${out_file}"
|
|
|
|
if [ -d "${src_dir}/.git" ] && command -v git > /dev/null; then
|
|
workdir=$(pwd)
|
|
cd "${src_dir}"
|
|
|
|
if git describe --tags > /dev/null 2>&1; then
|
|
git_version=$(git describe --always --tags)
|
|
else
|
|
# No tags available, happens in e.g. CI builds
|
|
git_version="${default_version}"
|
|
fi
|
|
|
|
git_branch=$(git rev-parse --abbrev-ref HEAD)
|
|
cd "${workdir}"
|
|
|
|
new_version="${git_version} ($(date "+%b %d %Y"), branch '${git_branch}')"
|
|
else
|
|
new_version="${default_version}"
|
|
extra=""
|
|
fi
|
|
|
|
major=$(echo "${new_version}" | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1/')
|
|
minor=$(echo "${new_version}" | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\2/')
|
|
patch=$(echo "${new_version}" | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\3/')
|
|
extra=$(echo "${new_version}" | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+)(-([0-9]+-g[a-z0-9]+) .*)?.*/\5/')
|
|
|
|
new_version="#define FOOT_VERSION \"${new_version}\"
|
|
#define FOOT_VERSION_SHORT \"${git_version:-${default_version}}\"
|
|
#define FOOT_MAJOR ${major}
|
|
#define FOOT_MINOR ${minor}
|
|
#define FOOT_PATCH ${patch}
|
|
#define FOOT_EXTRA \"${extra}\""
|
|
|
|
if [ -f "${out_file}" ]; then
|
|
old_version=$(cat "${out_file}")
|
|
else
|
|
old_version=""
|
|
fi
|
|
|
|
# echo "old version: ${old_version}"
|
|
# echo "new version: ${new_version}"
|
|
|
|
if [ "${old_version}" != "${new_version}" ]; then
|
|
echo "${new_version}" > "${out_file}"
|
|
fi
|