Browse Source

wine build: build win-iconv-mingw-w64-dev, instead of using debian sid

This commit reintroduces b8240bec3e, which was previously reverted
due to making the build non-reproducible.
I have found building with "make -j1" seems to work.
see https://github.com/win-iconv/win-iconv/issues/42

closes https://github.com/spesmilo/electrum/issues/7994
related https://github.com/spesmilo/electrum/pull/7992
patch-4
SomberNight 2 years ago
parent
commit
98d29cba56
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 2
      contrib/build-wine/Dockerfile
  2. 6
      contrib/build-wine/apt.preferences
  3. 1
      contrib/build-wine/apt.sources.list
  4. 24
      contrib/build-wine/make_win.sh
  5. 2
      contrib/freeze_containers_distro.sh

2
contrib/build-wine/Dockerfile

@ -24,12 +24,12 @@ RUN dpkg --add-architecture i386 && \
make \ make \
mingw-w64 \ mingw-w64 \
mingw-w64-tools \ mingw-w64-tools \
win-iconv-mingw-w64-dev \
autotools-dev \ autotools-dev \
autoconf \ autoconf \
autopoint \ autopoint \
libtool \ libtool \
gettext \ gettext \
sudo \
&& \ && \
rm -rf /var/lib/apt/lists/* && \ rm -rf /var/lib/apt/lists/* && \
apt-get autoremove -y && \ apt-get autoremove -y && \

6
contrib/build-wine/apt.preferences

@ -1,7 +1,3 @@
Package: * Package: *
Pin: release n=bullseye Pin: origin "snapshot.debian.org"
Pin-Priority: 1001
Package: win-iconv-mingw-w64-dev
Pin: release a=unstable
Pin-Priority: 1001 Pin-Priority: 1001

1
contrib/build-wine/apt.sources.list

@ -1,3 +1,2 @@
deb https://snapshot.debian.org/archive/debian/20220811T031049Z/ bullseye main non-free contrib deb https://snapshot.debian.org/archive/debian/20220811T031049Z/ bullseye main non-free contrib
deb-src https://snapshot.debian.org/archive/debian/20220811T031049Z/ bullseye main non-free contrib deb-src https://snapshot.debian.org/archive/debian/20220811T031049Z/ bullseye main non-free contrib
deb [check-valid-until=no] https://snapshot.debian.org/archive/debian/20220811T031049Z/ sid main non-free contrib

24
contrib/build-wine/make_win.sh

@ -50,6 +50,30 @@ fi
if [ -f "$DLL_TARGET_DIR/libzbar-0.dll" ]; then if [ -f "$DLL_TARGET_DIR/libzbar-0.dll" ]; then
info "libzbar already built, skipping" info "libzbar already built, skipping"
else else
(
# As debian bullseye doesn't provide win-iconv-mingw-w64-dev, we need to build it:
WIN_ICONV_COMMIT="9f98392dfecadffd62572e73e9aba878e03496c4"
# ^ tag "v0.0.8"
info "Building win-iconv..."
cd "$CACHEDIR"
if [ ! -d win-iconv ]; then
git clone https://github.com/win-iconv/win-iconv.git
fi
cd win-iconv
if ! $(git cat-file -e ${WIN_ICONV_COMMIT}) ; then
info "Could not find requested version $WIN_ICONV_COMMIT in local clone; fetching..."
git fetch --all
fi
git reset --hard
git clean -dfxq
git checkout "${WIN_ICONV_COMMIT}^{commit}"
# note: "-j1" as parallel jobs lead to non-reproducibility seemingly due to ordering issues
# see https://github.com/win-iconv/win-iconv/issues/42
CC="${GCC_TRIPLET_HOST}-gcc" make -j1 || fail "Could not build win-iconv"
# FIXME avoid using sudo
sudo make install prefix="/usr/${GCC_TRIPLET_HOST}" || fail "Could not install win-iconv"
)
"$CONTRIB"/make_zbar.sh || fail "Could not build zbar" "$CONTRIB"/make_zbar.sh || fail "Could not build zbar"
fi fi

2
contrib/freeze_containers_distro.sh

@ -38,8 +38,6 @@ echo "deb-src ${DEBIAN_SNAPSHOT} ${DEBIAN_APPIMAGE_DISTRO} main non-free contrib
# build-wine # build-wine
echo "deb ${DEBIAN_SNAPSHOT} ${DEBIAN_WINE_DISTRO} main non-free contrib" >$contrib/build-wine/apt.sources.list echo "deb ${DEBIAN_SNAPSHOT} ${DEBIAN_WINE_DISTRO} main non-free contrib" >$contrib/build-wine/apt.sources.list
echo "deb-src ${DEBIAN_SNAPSHOT} ${DEBIAN_WINE_DISTRO} main non-free contrib" >>$contrib/build-wine/apt.sources.list echo "deb-src ${DEBIAN_SNAPSHOT} ${DEBIAN_WINE_DISTRO} main non-free contrib" >>$contrib/build-wine/apt.sources.list
# we need win-iconv-mingw-w64-dev which is only in sid/unstable
echo "deb [check-valid-until=no] ${DEBIAN_SNAPSHOT} unstable main non-free contrib" >>$contrib/build-wine/apt.sources.list
# android # android
echo "deb ${DEBIAN_SNAPSHOT} ${DEBIAN_ANDROID_DISTRO} main non-free contrib" >$contrib/android/apt.sources.list echo "deb ${DEBIAN_SNAPSHOT} ${DEBIAN_ANDROID_DISTRO} main non-free contrib" >$contrib/android/apt.sources.list

Loading…
Cancel
Save