summaryrefslogtreecommitdiff
path: root/trivionomicon/pkgs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--trivionomicon/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch (renamed from pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch)0
-rw-r--r--trivionomicon/pkgs/athena-bccr/LaunchGaudi.java (renamed from pkgs/athena-bccr/LaunchGaudi.java)0
-rw-r--r--trivionomicon/pkgs/athena-bccr/default.nix (renamed from pkgs/athena-bccr/default.nix)0
-rw-r--r--trivionomicon/pkgs/athena-bccr/firmador.nix (renamed from pkgs/athena-bccr/firmador.nix)0
-rw-r--r--trivionomicon/pkgs/athena-bccr/gaudi-env.nix (renamed from pkgs/athena-bccr/gaudi-env.nix)0
-rw-r--r--trivionomicon/pkgs/athena-bccr/releases.nix33
-rw-r--r--trivionomicon/pkgs/athena-bccr/unwrapped.nix (renamed from pkgs/athena-bccr/unwrapped.nix)3
-rw-r--r--trivionomicon/pkgs/default.nix13
-rw-r--r--trivionomicon/pkgs/ibkr-tws/default.nix106
-rw-r--r--trivionomicon/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch (renamed from pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch)0
-rw-r--r--trivionomicon/pkgs/snapborg/default.nix (renamed from pkgs/snapborg/default.nix)0
-rw-r--r--trivionomicon/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch (renamed from pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch)0
-rw-r--r--trivionomicon/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch (renamed from pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch)0
-rw-r--r--trivionomicon/pkgs/socialpredict/default.nix (renamed from pkgs/socialpredict/default.nix)0
-rw-r--r--trivionomicon/pkgs/spliit/default.nix76
15 files changed, 230 insertions, 1 deletions
diff --git a/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch b/trivionomicon/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch
index a15896a..a15896a 100644
--- a/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch
+++ b/trivionomicon/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch
diff --git a/pkgs/athena-bccr/LaunchGaudi.java b/trivionomicon/pkgs/athena-bccr/LaunchGaudi.java
index e4bcdbf..e4bcdbf 100644
--- a/pkgs/athena-bccr/LaunchGaudi.java
+++ b/trivionomicon/pkgs/athena-bccr/LaunchGaudi.java
diff --git a/pkgs/athena-bccr/default.nix b/trivionomicon/pkgs/athena-bccr/default.nix
index 038220b..038220b 100644
--- a/pkgs/athena-bccr/default.nix
+++ b/trivionomicon/pkgs/athena-bccr/default.nix
diff --git a/pkgs/athena-bccr/firmador.nix b/trivionomicon/pkgs/athena-bccr/firmador.nix
index e8e0a2d..e8e0a2d 100644
--- a/pkgs/athena-bccr/firmador.nix
+++ b/trivionomicon/pkgs/athena-bccr/firmador.nix
diff --git a/pkgs/athena-bccr/gaudi-env.nix b/trivionomicon/pkgs/athena-bccr/gaudi-env.nix
index db79641..db79641 100644
--- a/pkgs/athena-bccr/gaudi-env.nix
+++ b/trivionomicon/pkgs/athena-bccr/gaudi-env.nix
diff --git a/trivionomicon/pkgs/athena-bccr/releases.nix b/trivionomicon/pkgs/athena-bccr/releases.nix
new file mode 100644
index 0000000..203e57c
--- /dev/null
+++ b/trivionomicon/pkgs/athena-bccr/releases.nix
@@ -0,0 +1,33 @@
+{
+ "athena" = {
+ latest = "deb64-rev26";
+
+ "deb64-rev26" = {
+ # nix hash convert --hash-algo sha256 --from base16 --to sri $(sha256sum sfd_ClientesLinux_DEB64_Rev26.zip | cut -d' ' -f1)
+ 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";
+ };
+ };
+ };
+
+ "idopte" = {
+ latest = "deb64-rev26.2";
+
+ "deb64-rev26.2" = {
+ # nix hash convert --hash-algo sha256 --from base16 --to sri $(sha256sum sfd_ClientesLinux_DEB64_Ubuntu24_rev26_02 | cut -d' ' -f1)
+ 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";
+ };
+ };
+ };
+}
diff --git a/pkgs/athena-bccr/unwrapped.nix b/trivionomicon/pkgs/athena-bccr/unwrapped.nix
index bf99a84..dc9f142 100644
--- a/pkgs/athena-bccr/unwrapped.nix
+++ b/trivionomicon/pkgs/athena-bccr/unwrapped.nix
@@ -5,9 +5,10 @@
requireFile,
release,
gaudiHash ? null,
+ vendor,
...
}: let
- inherit (release) srcPaths vendor;
+ inherit (release) srcPaths;
url =
if mirror != null
diff --git a/trivionomicon/pkgs/default.nix b/trivionomicon/pkgs/default.nix
new file mode 100644
index 0000000..255a365
--- /dev/null
+++ b/trivionomicon/pkgs/default.nix
@@ -0,0 +1,13 @@
+final: prev:
+with prev.lib; let
+ inherit (final) callPackage;
+in {
+ override = {};
+
+ athena-bccr = callPackage ./athena-bccr {vendor = "athena";};
+ ibkr-tws = callPackage ./ibkr-tws {};
+ idopte-bccr = callPackage ./athena-bccr {vendor = "idopte";};
+ snapborg = final.python3Packages.callPackage ./snapborg {};
+ socialpredict = callPackage ./socialpredict {};
+ spliit = callPackage ./spliit {};
+}
diff --git a/trivionomicon/pkgs/ibkr-tws/default.nix b/trivionomicon/pkgs/ibkr-tws/default.nix
new file mode 100644
index 0000000..ea3e94b
--- /dev/null
+++ b/trivionomicon/pkgs/ibkr-tws/default.nix
@@ -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";
+ };
+ }
diff --git a/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch b/trivionomicon/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch
index 33f7a0c..33f7a0c 100644
--- a/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch
+++ b/trivionomicon/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch
diff --git a/pkgs/snapborg/default.nix b/trivionomicon/pkgs/snapborg/default.nix
index 271be5c..271be5c 100644
--- a/pkgs/snapborg/default.nix
+++ b/trivionomicon/pkgs/snapborg/default.nix
diff --git a/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch b/trivionomicon/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch
index 69dc660..69dc660 100644
--- a/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch
+++ b/trivionomicon/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch
diff --git a/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch b/trivionomicon/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch
index 09b0d70..09b0d70 100644
--- a/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch
+++ b/trivionomicon/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch
diff --git a/pkgs/socialpredict/default.nix b/trivionomicon/pkgs/socialpredict/default.nix
index 22dc6a9..22dc6a9 100644
--- a/pkgs/socialpredict/default.nix
+++ b/trivionomicon/pkgs/socialpredict/default.nix
diff --git a/trivionomicon/pkgs/spliit/default.nix b/trivionomicon/pkgs/spliit/default.nix
new file mode 100644
index 0000000..280e820
--- /dev/null
+++ b/trivionomicon/pkgs/spliit/default.nix
@@ -0,0 +1,76 @@
+{
+ buildNpmPackage,
+ fetchFromGitHub,
+ nodePackages,
+ lib,
+ writeShellScriptBin,
+ pkgs,
+}: let
+ schemaEngine = "${pkgs.prisma-engines}/bin/schema-engine";
+ queryEngineBin = "${pkgs.prisma-engines}/bin/query-engine";
+ queryEngineLib = "${pkgs.prisma-engines}/lib/libquery_engine.node";
+ buildFlags = ["--ignore-scripts"];
+in
+ buildNpmPackage {
+ pname = "spliit2";
+ version = "master-20250420";
+
+ src = fetchFromGitHub {
+ repo = "spliit";
+ owner = "spliit-app";
+
+ rev = "a11efc79c13298c0d282e47496d132538752405f";
+ hash = "sha256-v4gaPzLzBbbqw/LDYxe1fiyficcrqcGOop23YPiTrdc=";
+ };
+
+ npmDepsHash = "sha256-sd0/7ruNUFxUKTeTwx/v8Vc/G3llkXP6RSDE78h3qVU=";
+
+ nativeBuildInputs = [pkgs.openssl];
+
+ npmRebuildFlags = buildFlags;
+
+ PRISMA_SCHEMA_ENGINE_BINARY = schemaEngine;
+ PRISMA_QUERY_ENGINE_BINARY = queryEngineBin;
+ PRISMA_QUERY_ENGINE_LIBRARY = queryEngineLib;
+
+ preBuild = ''
+ cp -v scripts/build.env .env
+
+ npx prisma generate
+ '';
+
+ npmBuildFlags = buildFlags;
+
+ postInstall = ''
+ cp -r .next public package.json next.config.mjs $out/lib/node_modules/spliit2
+
+ install -Dvm755 -t $out/bin ${lib.getExe (writeShellScriptBin "spliit2" ''
+ set -euxo pipefail
+
+ cd @out@/lib/node_modules/spliit2
+
+ export PATH="$PWD/node_modules/.bin:$PATH"
+ export NEXT_TELEMETRY_DISABLED=1
+
+ export PRISMA_SCHEMA_ENGINE_BINARY="${schemaEngine}"
+ export PRISMA_QUERY_ENGINE_BINARY="${queryEngineBin}"
+ export PRISMA_QUERY_ENGINE_LIBRARY="${queryEngineLib}"
+
+ prisma migrate deploy
+ next start
+ '')}
+
+ substituteInPlace $out/bin/spliit2 \
+ --replace @out@ $out
+
+ wrapProgram $out/bin/spliit2 \
+ --prefix PATH : ${lib.makeBinPath [pkgs.openssl]}
+ '';
+
+ meta = {
+ description = "Free and Open Source Alternative to Splitwise. Share expenses with your friends and family.";
+ homepage = "https://spliit.app";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [];
+ };
+ }