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
This commit is contained in:
@@ -24,12 +24,12 @@ RUN dpkg --add-architecture i386 && \
|
||||
make \
|
||||
mingw-w64 \
|
||||
mingw-w64-tools \
|
||||
win-iconv-mingw-w64-dev \
|
||||
autotools-dev \
|
||||
autoconf \
|
||||
autopoint \
|
||||
libtool \
|
||||
gettext \
|
||||
sudo \
|
||||
&& \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
apt-get autoremove -y && \
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
Package: *
|
||||
Pin: release n=bullseye
|
||||
Pin-Priority: 1001
|
||||
|
||||
Package: win-iconv-mingw-w64-dev
|
||||
Pin: release a=unstable
|
||||
Pin: origin "snapshot.debian.org"
|
||||
Pin-Priority: 1001
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
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 [check-valid-until=no] https://snapshot.debian.org/archive/debian/20220811T031049Z/ sid main non-free contrib
|
||||
|
||||
@@ -50,6 +50,30 @@ fi
|
||||
if [ -f "$DLL_TARGET_DIR/libzbar-0.dll" ]; then
|
||||
info "libzbar already built, skipping"
|
||||
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"
|
||||
fi
|
||||
|
||||
|
||||
@@ -38,8 +38,6 @@ echo "deb-src ${DEBIAN_SNAPSHOT} ${DEBIAN_APPIMAGE_DISTRO} main non-free contrib
|
||||
# build-wine
|
||||
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
|
||||
# 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
|
||||
echo "deb ${DEBIAN_SNAPSHOT} ${DEBIAN_ANDROID_DISTRO} main non-free contrib" >$contrib/android/apt.sources.list
|
||||
|
||||
Reference in New Issue
Block a user