Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bisq2: init @ 2.1.0 #318594

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 131 additions & 0 deletions pkgs/by-name/bi/bisq/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
{ stdenvNoCC, lib, makeWrapper, fetchurl, makeDesktopItem, copyDesktopItems
, imagemagick, openjdk, dpkg, writeScript, bash, tor, zip, gnupg }:

let
bisq-launcher = args:
writeScript "bisq-launcher" ''
#! ${bash}/bin/bash

# This is just a comment to convince Nix that Tor is a
# runtime dependency; The Tor binary is in a *.jar file,
# whereas Nix only scans for hashes in uncompressed text.
# ${bisq-tor}

rm -fR $HOME/.local/share/Bisq2/tor

exec "${openjdk}/bin/java" -Djpackage.app-version=@version@ -classpath @out@/lib/app/desktop-app-launcher.jar:@out@/lib/app/* ${args} bisq.desktop_app_launcher.DesktopAppLauncher "$@"
'';

bisq-tor = writeScript "bisq-tor" ''
#! ${bash}/bin/bash

exec ${tor}/bin/tor "$@"
'';

# Alejandro Garcia's public key was obtained from
# https://bisq.network/pubkey/E222AA02.asc
publicKey = ./pubkey.asc;
in stdenvNoCC.mkDerivation rec {
pname = "bisq2";
version = "2.1.0";

src = fetchurl {
url =
"https://github.com/bisq-network/bisq2/releases/download/v${version}/Bisq-${version}.deb";
sha256 = "sha256-nvJy7V0Jh0gWpDtj9tq4yjd/npOcy+wTo8YKAOJUOJs=";

# Verify the upstream Debian package prior to extraction.
# See https://bisq.wiki/Downloading_and_installing#Verify_installer_file
# This ensures that a successful build of this Nix package requires the Debian
# package to pass verification.
nativeBuildInputs = [ gnupg ];
downloadToTemp = true;

postFetch = ''
pushd $(mktemp -d)
export GNUPGHOME=./gnupg
mkdir -m 700 -p $GNUPGHOME
ln -s $downloadedFile ./Bisq-${version}.deb
ln -s ${signature} ./signature.asc
gpg --import ${publicKey}
gpg --batch --verify signature.asc Bisq-${version}.deb
popd
mv $downloadedFile $out
'';
};

signature = fetchurl {
url =
"https://github.com/bisq-network/bisq2/releases/download/v${version}/Bisq-${version}.deb.asc";
sha256 = "sha256-D8hLTTXTnoC75sePBZu2SO4I6DldwWNaxJCSDH+OElE=";
};

nativeBuildInputs =
[ copyDesktopItems dpkg imagemagick makeWrapper zip gnupg ];

desktopItems = [
(makeDesktopItem {
name = "Bisq2";
exec = "bisq2";
icon = "bisq2";
desktopName = "Bisq ${version}";
genericName = "Decentralized bitcoin exchange";
categories = [ "Network" "P2P" ];
})

(makeDesktopItem {
name = "Bisq2-hidpi";
exec = "bisq2-hidpi";
icon = "bisq2";
desktopName = "Bisq ${version} (HiDPI)";
genericName = "Decentralized bitcoin exchange";
categories = [ "Network" "P2P" ];
})
];

unpackPhase = ''
dpkg -x $src .
'';

buildPhase = ''
# Replace the Tor binary embedded in tor.jar (which is in the zip archive tor.zip)
# with the Tor binary from Nixpkgs.

cp ${bisq-tor} ./tor
zip tor.zip ./tor
zip opt/bisq2/lib/app/tor.jar tor.zip
'';

installPhase = ''
runHook preInstall

mkdir -p $out/lib $out/bin
cp -r opt/bisq2/lib/app $out/lib

install -D -m 777 ${bisq-launcher ""} $out/bin/bisq2
substituteAllInPlace $out/bin/bisq2

install -D -m 777 ${
bisq-launcher "-Dglass.gtk.uiScale=2.0"
} $out/bin/bisq2-hidpi
substituteAllInPlace $out/bin/bisq2-hidpi

for n in 16 24 32 48 64 96 128 256; do
size=$n"x"$n
magick convert opt/bisq2/lib/Bisq2.png -resize $size bisq2.png
install -Dm644 -t $out/share/icons/hicolor/$size/apps bisq2.png
done;

runHook postInstall
'';

meta = with lib; {
description = "A decentralized bitcoin exchange network";
homepage = "https://bisq.network";
mainProgram = "bisq2";
sourceProvenance = with sourceTypes; [ binaryBytecode nativeBinaryCode ];
license = licenses.mit;
maintainers = with maintainers; [ emmanuelrosa ];
platforms = [ "x86_64-linux" ];
};
}
52 changes: 52 additions & 0 deletions pkgs/by-name/bi/bisq/pubkey.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
E75tU69fX3jkrGUnqLQIJ/yI3fXUCXnd
=ektd
-----END PGP PUBLIC KEY BLOCK-----
4 changes: 4 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3452,6 +3452,10 @@ with pkgs;
openjdk11 = openjdk11.override { enableJavaFX = true; };
};

bisq_2 = callPackage ../by-name/bi/bisq/package.nix {
openjdk = openjdk.override { enableJavaFX = true; };
};

bic = callPackage ../development/interpreters/bic { };

biscuit-cli = callPackage ../tools/security/biscuit-cli { };
Expand Down
Loading