mirror of
https://git.proxmox.com/git/fwupd
synced 2025-06-04 00:40:58 +00:00
96 lines
2.6 KiB
Bash
Executable File
96 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
#prep
|
|
export LC_ALL=C.UTF-8
|
|
root=$(pwd)
|
|
export DESTDIR=${root}/dist
|
|
build=$root/build-win32
|
|
rm -rf $DESTDIR $build
|
|
|
|
# For logitech bulk controller being disabled (-Dplugin_logitech_bulkcontroller=false):
|
|
# See https://bugzilla.redhat.com/show_bug.cgi?id=1991749
|
|
# When fixed need to do the following to enable:
|
|
# 1. need to add mingw64-protobuf mingw64-protobuf-tools to CI build deps
|
|
# 2. add protoc = /path/to/protoc-c.exe in mingw64.cross
|
|
# 3. Only enable when not a tagged release (Unsupported by Logitech)
|
|
|
|
#build
|
|
mkdir -p $build $DESTDIR && cd $build
|
|
meson .. \
|
|
--cross-file=../contrib/mingw64.cross \
|
|
--prefix=/ \
|
|
--libexecdir="" \
|
|
--bindir="" \
|
|
-Dbuild=standalone \
|
|
-Ddocs=none \
|
|
-Dpolkit=false \
|
|
-Dplugin_flashrom=false \
|
|
-Dplugin_uefi_capsule=false \
|
|
-Dplugin_redfish=false \
|
|
-Dplugin_altos=false \
|
|
-Dplugin_dell=false \
|
|
-Dplugin_logitech_bulkcontroller=false \
|
|
-Dplugin_nvme=false \
|
|
-Dplugin_parade_lspcon=false \
|
|
-Dplugin_realtek_mst=false \
|
|
-Dplugin_platform_integrity=false \
|
|
-Dplugin_tpm=false \
|
|
-Dsystemd=false \
|
|
-Dplugin_emmc=false \
|
|
-Dplugin_amt=false \
|
|
-Dintrospection=false \
|
|
-Dplugin_thunderbolt=false \
|
|
-Dplugin_synaptics_mst=false \
|
|
-Dplugin_synaptics_rmi=false \
|
|
-Dman=false \
|
|
-Dsoup_session_compat=false \
|
|
-Dgcab:introspection=false \
|
|
-Dgcab:docs=false \
|
|
-Dgcab:nls=false \
|
|
-Dgcab:vapi=false \
|
|
-Dgcab:tests=false \
|
|
-Dlibxmlb:introspection=false \
|
|
-Dlibxmlb:gtkdoc=false \
|
|
-Dlibjcat:man=false \
|
|
-Dlibjcat:gpg=false \
|
|
-Dlibjcat:introspection=false \
|
|
-Dgusb:tests=false \
|
|
-Dgusb:docs=false \
|
|
-Dgusb:introspection=false \
|
|
-Dgusb:vapi=false \
|
|
-Dbluez=false \
|
|
-Dgudev=false $@
|
|
VERSION=$(meson introspect . --projectinfo | jq -r .version)
|
|
ninja -v
|
|
ninja -v install
|
|
|
|
#generate news release
|
|
cd $root
|
|
contrib/ci/generate_news.py $VERSION > $DESTDIR/news.txt
|
|
echo $VERSION > $DESTDIR/VERSION
|
|
|
|
# create a setup binary
|
|
cd $DESTDIR
|
|
mkdir -p $DESTDIR/setup
|
|
makensis -NOCD $build/contrib/setup-win32.nsi
|
|
|
|
#so that it's actually executable
|
|
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/*.dll .
|
|
|
|
#remove static archives
|
|
find -type f -print0 -name "*.dll.a" | xargs rm -f
|
|
|
|
#remove stuff that we really don't need
|
|
rm -fr gcab.exe \
|
|
xb-tool.exe \
|
|
share/man \
|
|
include \
|
|
fwupd \
|
|
lib/*.a \
|
|
lib/pkgconfig/ \
|
|
var
|
|
|
|
export WINEPATH="/usr/x86_64-w64-mingw32/sys-root/mingw/bin/;$build/libfwupd/;$build/subprojects/libxmlb/src/;$build/subprojects/gcab/libgcab/"
|
|
#TODO: fixup tests
|
|
ninja -C $build test || true
|