Compare commits
3 commits
efcef47c37
...
cf2823d14e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cf2823d14e | ||
|
|
91e5edd82b | ||
|
|
aac5bbeb91 |
4 changed files with 135 additions and 20 deletions
|
|
@ -1,27 +1,33 @@
|
||||||
{
|
{
|
||||||
"deb64-rev26" = {
|
"athena" = {
|
||||||
# nix hash convert --hash-algo sha256 --from base16 --to sri $(sha256sum sfd_ClientesLinux_DEB64_Rev26.zip | cut -d' ' -f1)
|
latest = "deb64-rev26";
|
||||||
hash = "sha256-ZPWP9TqJQ5coJAPzUSiaXKVItBWlqFM4smCjOf+gqQM=";
|
|
||||||
filename = "sfd_ClientesLinux_DEB64_Rev26.zip";
|
|
||||||
basename = "sfd_ClientesLinux_DEB64_Rev26";
|
|
||||||
vendor = "athena";
|
|
||||||
|
|
||||||
srcPaths = {
|
"deb64-rev26" = {
|
||||||
gaudi = "Firma Digital/Agente GAUDI/agente-gaudi_20.0_amd64.deb";
|
# nix hash convert --hash-algo sha256 --from base16 --to sri $(sha256sum sfd_ClientesLinux_DEB64_Rev26.zip | cut -d' ' -f1)
|
||||||
idprotect = "Firma Digital/PinTool/IDProtect PINTool 7.24.02/DEB/idprotectclient_7.24.02-0_amd64.deb";
|
hash = "sha256-ZPWP9TqJQ5coJAPzUSiaXKVItBWlqFM4smCjOf+gqQM=";
|
||||||
|
filename = "sfd_ClientesLinux_DEB64_Rev26.zip";
|
||||||
|
basename = "sfd_ClientesLinux_DEB64_Rev26";
|
||||||
|
|
||||||
|
srcPaths = {
|
||||||
|
gaudi = "Firma Digital/Agente GAUDI/agente-gaudi_20.0_amd64.deb";
|
||||||
|
idprotect = "Firma Digital/PinTool/IDProtect PINTool 7.24.02/DEB/idprotectclient_7.24.02-0_amd64.deb";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"deb64-rev26.2" = {
|
"idopte" = {
|
||||||
# nix hash convert --hash-algo sha256 --from base16 --to sri $(sha256sum sfd_ClientesLinux_DEB64_Ubuntu24_rev26_02 | cut -d' ' -f1)
|
latest = "deb64-rev26.2";
|
||||||
hash = "sha256-DNzP0YRnuUbfKLhi7JeQCirdGx4kM7ROqHDkTuVs0mA=";
|
|
||||||
filename = "sfd_ClientesLinux_DEB64_Ubuntu24_rev26_02.zip";
|
|
||||||
basename = "sfd_ClientesLinux_DEB64_Ubuntu24_26_02";
|
|
||||||
vendor = "idopte";
|
|
||||||
|
|
||||||
srcPaths = {
|
"deb64-rev26.2" = {
|
||||||
gaudi = "Firma Digital/Agente GAUDI/agente-gaudi_27.0_amd64.deb";
|
# nix hash convert --hash-algo sha256 --from base16 --to sri $(sha256sum sfd_ClientesLinux_DEB64_Ubuntu24_rev26_02 | cut -d' ' -f1)
|
||||||
idopte = "Firma Digital/Idopte/Idopte_6.23.44.0_ubun24_amd64.deb";
|
hash = "sha256-DNzP0YRnuUbfKLhi7JeQCirdGx4kM7ROqHDkTuVs0mA=";
|
||||||
|
filename = "sfd_ClientesLinux_DEB64_Ubuntu24_rev26_02.zip";
|
||||||
|
basename = "sfd_ClientesLinux_DEB64_Ubuntu24_26_02";
|
||||||
|
|
||||||
|
srcPaths = {
|
||||||
|
gaudi = "Firma Digital/Agente GAUDI/agente-gaudi_27.0_amd64.deb";
|
||||||
|
idopte = "Firma Digital/Idopte/Idopte_6.23.44.0_ubun24_amd64.deb";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,10 @@
|
||||||
requireFile,
|
requireFile,
|
||||||
release,
|
release,
|
||||||
gaudiHash ? null,
|
gaudiHash ? null,
|
||||||
|
vendor,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (release) srcPaths vendor;
|
inherit (release) srcPaths;
|
||||||
|
|
||||||
url =
|
url =
|
||||||
if mirror != null
|
if mirror != null
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@ with prev.lib; let
|
||||||
in {
|
in {
|
||||||
override = {};
|
override = {};
|
||||||
|
|
||||||
athena-bccr = callPackage ./athena-bccr {};
|
athena-bccr = callPackage ./athena-bccr {vendor = "athena";};
|
||||||
|
ibkr-tws = callPackage ./ibkr-tws {};
|
||||||
|
idopte-bccr = callPackage ./athena-bccr {vendor = "idopte";};
|
||||||
snapborg = final.python3Packages.callPackage ./snapborg {};
|
snapborg = final.python3Packages.callPackage ./snapborg {};
|
||||||
socialpredict = callPackage ./socialpredict {};
|
socialpredict = callPackage ./socialpredict {};
|
||||||
spliit = callPackage ./spliit {};
|
spliit = callPackage ./spliit {};
|
||||||
|
|
|
||||||
106
pkgs/ibkr-tws/default.nix
Normal file
106
pkgs/ibkr-tws/default.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
makeWrapper,
|
||||||
|
openjdk,
|
||||||
|
requireFile,
|
||||||
|
stdenv,
|
||||||
|
}: let
|
||||||
|
version = "10.44.1g";
|
||||||
|
|
||||||
|
jdk = openjdk.override {
|
||||||
|
enableJavaFX = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
removeJavaVersionCheck = file: ''
|
||||||
|
# Lie about the openjdk version to skip the version check
|
||||||
|
sed -i 's/\(read_db_entry || create_db_entry \$2\)/\1; ver_major=17; ver_minor=0; ver_micro=16/' ${file}
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "ibkr-tws";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = requireFile {
|
||||||
|
name = "tws-${version}-standalone-linux-x64.sh";
|
||||||
|
url = "https://www.interactivebrokers.com/en/trading/download-tws.php?p=offline-latest";
|
||||||
|
|
||||||
|
# 1. Rename 'tws-latest-standalone-linux-x64.sh' to 'tws-${version}-standalone-linux-x64.sh'
|
||||||
|
# 2. nix hash convert --hash-algo sha256 --from base16 --to sri $(sha256sum tws-${version}-standalone-linux-x64.sh | cut -d' ' -f1)
|
||||||
|
hash = "sha256-UfyfTHOcPiwTof0ZMhV1haX7gyb08v7U2A12VjAny7c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
|
||||||
|
cp $src bundle.sh
|
||||||
|
chmod +x bundle.sh
|
||||||
|
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
runHook prePatch
|
||||||
|
|
||||||
|
${removeJavaVersionCheck "bundle.sh"}
|
||||||
|
|
||||||
|
runHook postPatch
|
||||||
|
'';
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
export INSTALL4J_NO_DB=true
|
||||||
|
export INSTALL4J_JAVA_HOME=${jdk}
|
||||||
|
export INSTALL4J_DISABLE_BUNDLED_JRE=true
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
# Where should Trader Workstation 10.44 be installed?: $out
|
||||||
|
# Run Trader Workstation 10.44? Yes [y], No [n, Enter]: n
|
||||||
|
echo -e "$out/lib/tws\nn" | ./bundle.sh
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p "$out/bin" "$out/share/applications"
|
||||||
|
|
||||||
|
${removeJavaVersionCheck "$out/lib/tws/tws"}
|
||||||
|
makeWrapper \
|
||||||
|
"$out/lib/tws/tws" "$out/bin/tws" \
|
||||||
|
--set INSTALL4J_NO_DB true \
|
||||||
|
--set INSTALL4J_JAVA_HOME ${jdk}
|
||||||
|
|
||||||
|
mv "$out/lib/tws/.install4j/tws.png" "$out/lib/tws"
|
||||||
|
|
||||||
|
for path in $out/lib/tws/*.desktop; do
|
||||||
|
target="$(readlink -f "$path")"
|
||||||
|
mv "$target" "$out/share/applications/$(basename "$path")"
|
||||||
|
rm -f "$path"
|
||||||
|
done
|
||||||
|
|
||||||
|
sed -i \
|
||||||
|
's@$out/lib/tws/tws\>@$out/bin/tws@; s@$out/lib/tws/.install4j/tws.png@$out/lib/tws/tws.png@' \
|
||||||
|
$out/share/applications/*.desktop
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
sed -i \
|
||||||
|
's@/build/Jts@/tmp/Jts@g' \
|
||||||
|
$out/lib/tws/.install4j/{i4jparams.conf,response.varfile}
|
||||||
|
|
||||||
|
rm -f "$out/lib/tws/uninstall" $out/lib/tws/.install4j/*.log
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
mainProgram = "tws";
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue