| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.9.21 | 8 | ~amd64 | 0 |
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop unpacker xdg
DESCRIPTION="The decentralized bitcoin exchange (non-atomic, with arbitration)"
HOMEPAGE="https://bisq.network/ https://github.com/bisq-network/exchange/"
SRC_URI="https://bisq.network/downloads/v${PV}/Bisq-64bit-${PV}.deb"
S="${WORKDIR}"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RESTRICT="mirror strip"
# Dependencies based on Debian package analysis and Gentoo equivalents
RDEPEND="
>=virtual/jre-11:*
x11-libs/gtk+:3
x11-misc/xdg-utils"
DEPEND="${RDEPEND}"
# QA variables for binary package - comprehensive file listing
QA_PREBUILT="
opt/bisq/bin/Bisq
opt/bisq/lib/libapplauncher.so
opt/bisq/lib/runtime/bin/*
opt/bisq/lib/runtime/lib/*.so
opt/bisq/lib/runtime/lib/*/*.so"
# Exclude problematic libraries that may cause QA warnings
QA_FLAGS_IGNORED="
opt/bisq/bin/Bisq
opt/bisq/lib/libapplauncher.so
opt/bisq/lib/runtime/bin/*
opt/bisq/lib/runtime/lib/*.so"
# Exclude bundled FFmpeg libraries from dependency checks
REQUIRES_EXCLUDE="
libgstreamer-lite.so
libavplugin-53.so
libavplugin-54.so
libavplugin-55.so
libavplugin-56.so
libavplugin-57.so
libavplugin-ffmpeg-56.so
libavplugin-ffmpeg-57.so"
src_prepare() {
default
# Remove unnecessary demo files to reduce package size
if [[ -d opt/bisq/lib/runtime/demo ]]; then
rm -rf opt/bisq/lib/runtime/demo || die "Failed to remove demo files"
fi
# Remove non-English man pages to reduce size (optional)
if [[ -d opt/bisq/lib/runtime/man/ja ]]; then
rm -rf opt/bisq/lib/runtime/man/ja* || die "Failed to remove Japanese man pages"
fi
}
src_compile() {
:
}
src_install() {
# Verify expected directory structure
if [[ ! -d "${S}/opt/bisq" ]]; then
die "Expected directory structure not found. Package format may have changed."
fi
# Copy all files to destination
dodir /opt/bisq
cp -r "${S}"/opt/bisq/* "${ED}"/opt/bisq/ || die "Failed to copy bisq files"
# Verify and set permissions for main binary
if [[ ! -f "${ED}/opt/bisq/bin/Bisq" ]]; then
die "Bisq binary not found at expected location"
fi
fperms 755 /opt/bisq/bin/Bisq
# Create standard symlink
dosym ../../opt/bisq/bin/Bisq /usr/bin/bisq
# Handle desktop integration
if [[ -f "${ED}/opt/bisq/lib/bisq-Bisq.desktop" ]]; then
# Fix desktop file paths and validation
sed -i \
-e "s|/opt/bisq/bin/Bisq|bisq|g" \
-e "s|/opt/bisq/lib/Bisq.png|Bisq|g" \
"${ED}/opt/bisq/lib/bisq-Bisq.desktop" || die "Failed to fix desktop file"
domenu "${ED}/opt/bisq/lib/bisq-Bisq.desktop"
else
# Create fallback desktop entry
make_desktop_entry bisq "Bisq Bitcoin Exchange" Bisq "Office;Finance;P2P"
fi
# Install icon
if [[ -f "${ED}/opt/bisq/lib/Bisq.png" ]]; then
doicon "${ED}/opt/bisq/lib/Bisq.png"
fi
# Create optimized wrapper script
cat > "${T}/bisq-wrapper" <<-EOF || die
#!/bin/bash
# Bisq wrapper script for better Java integration
# Set working directory
cd /opt/bisq || exit 1
# Set Java options for better performance
export JAVA_OPTS="\${JAVA_OPTS} -Xmx2048m -XX:+UseG1GC"
# Launch Bisq with arguments
exec ./bin/Bisq "\$@"
EOF
exeinto /opt/bisq
doexe "${T}/bisq-wrapper"
dosym ../../opt/bisq/bisq-wrapper /usr/bin/bisq-wrapper
# Install documentation if present
if [[ -d "${S}/opt/bisq/share/doc" ]]; then
dodoc "${S}"/opt/bisq/share/doc/*
fi
# Handle copyright file
if [[ -f "${S}/opt/bisq/share/doc/copyright" ]]; then
dodoc "${S}/opt/bisq/share/doc/copyright"
fi
}
pkg_postinst() {
xdg_pkg_postinst
elog "Bisq Bitcoin Exchange has been installed to /opt/bisq"
elog ""
elog "Launch commands:"
elog " bisq - Standard launcher"
elog " bisq-wrapper - Enhanced launcher with Java optimizations"
elog ""
elog "Important notes:"
elog "- Java 11+ runtime is bundled (located in /opt/bisq/lib/runtime/)"
elog "- Configuration stored in: ~/.local/share/Bisq"
elog "- Initial blockchain sync requires ~10GB+ disk space"
elog "- Network connectivity required (P2P and Tor)"
elog "- Some ISPs may block P2P traffic"
elog ""
elog "For troubleshooting Java issues, use: bisq-wrapper"
elog "Report bugs to: https://github.com/bisq-network/bisq/issues"
}
pkg_postrm() {
xdg_pkg_postrm
}
>=virtual/jre-11:* x11-libs/gtk+:3 x11-misc/xdg-utils
>=virtual/jre-11:* x11-libs/gtk+:3 x11-misc/xdg-utils
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | Bisq-64bit-1.9.21.deb | 402818400 bytes | https://bisq.network/downloads/v1.9.21/Bisq-64bit-1.9.21.deb |