Added Release Workflow and Fixed some build script issues (#1013)
* ci linux: make builds properly static * test workflow_dispatch * install wayland-protocols * append missing portable * make debug builds by default * auto enable some video subsystems for proper wayland support * added release workflow * make line shorter in innosetup bash script * disable some video subsystems on darwin and windows * fix default build dir on msys * print output of ntldd * properly set msys arch * disable opengl on windows * copy mingw dependencies on package * innosetup script copy from generated package dir * changed license to reflect team work * adjusted the ci windows install name * add all language plugins to addons * disabled generation of source tarballs * removed language_cpp from plugins repo * enabled lua utf8 patch for windows build * added open_ext to addons * moved away from deprecated virtual environments * make minimal build and with addons * simplified CI build.yml
This commit is contained in:
@@ -69,9 +69,7 @@ Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescrip
|
||||
Name: "portablemode"; Description: "Portable Mode"; Flags: unchecked
|
||||
|
||||
[Files]
|
||||
Source: "{#BuildDir}/src/lite-xl.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "{#BuildDir}/mingwLibs{#Arch}/*"; DestDir: "{app}"; Flags: ignoreversion ; Check: DirExists(ExpandConstant('{#BuildDir}/mingwLibs{#Arch}'))
|
||||
Source: "{#SourceDir}/data/*"; DestDir: "{app}/data"; Flags: ignoreversion recursesubdirs
|
||||
Source: "{#SourceDir}/lite-xl/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
|
||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||
|
||||
[Icons]
|
||||
|
||||
@@ -15,15 +15,29 @@ show_help() {
|
||||
echo
|
||||
echo "-b --builddir DIRNAME Sets the name of the build directory (not path)."
|
||||
echo " Default: '$(get_default_build_dir)'."
|
||||
echo "-v --version VERSION Sets the version on the package name."
|
||||
echo "-a --addons Tell the script we are packaging an install with addons."
|
||||
echo " --debug Debug this script."
|
||||
echo
|
||||
}
|
||||
|
||||
main() {
|
||||
local build_dir=$(get_default_build_dir)
|
||||
local addons=false
|
||||
local arch
|
||||
local arch_file
|
||||
local version
|
||||
local output
|
||||
|
||||
if [[ $MSYSTEM == "MINGW64" ]]; then arch=x64; else arch=Win32; fi
|
||||
if [[ $MSYSTEM == "MINGW64" ]]; then
|
||||
arch=x64
|
||||
arch_file=x86_64
|
||||
else
|
||||
arch=i686;
|
||||
arch_file=i686
|
||||
fi
|
||||
|
||||
initial_arg_count=$#
|
||||
|
||||
for i in "$@"; do
|
||||
case $i in
|
||||
@@ -31,11 +45,20 @@ main() {
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
-a|--addons)
|
||||
addons=true
|
||||
shift
|
||||
;;
|
||||
-b|--builddir)
|
||||
build_dir="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-v|--version)
|
||||
if [[ -n $2 ]]; then version="-$2"; fi
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--debug)
|
||||
set -x
|
||||
shift
|
||||
@@ -46,19 +69,19 @@ main() {
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -n $1 ]]; then
|
||||
# show help if no valid argument was found
|
||||
if [ $initial_arg_count -eq $# ]; then
|
||||
show_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy MinGW libraries dependencies.
|
||||
# MSYS2 ldd command seems to be only 64bit, so use ntldd
|
||||
# see https://github.com/msys2/MINGW-packages/issues/4164
|
||||
local mingwLibsDir="${build_dir}/mingwLibs$arch"
|
||||
mkdir -p "$mingwLibsDir"
|
||||
ntldd -R "${build_dir}/src/lite-xl.exe" | grep mingw | awk '{print $3}' | sed 's#\\#/#g' | xargs -I '{}' cp -v '{}' $mingwLibsDir
|
||||
if [[ $addons == true ]]; then
|
||||
version="${version}-addons"
|
||||
fi
|
||||
|
||||
"/c/Program Files (x86)/Inno Setup 6/ISCC.exe" -dARCH=$arch "${build_dir}/scripts/innosetup.iss"
|
||||
output="LiteXL${version}-${arch_file}-setup"
|
||||
|
||||
"/c/Program Files (x86)/Inno Setup 6/ISCC.exe" -dARCH=$arch //F"${output}" "${build_dir}/scripts/innosetup.iss"
|
||||
pushd "${build_dir}/scripts"; mv LiteXL*.exe "./../../"; popd
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user