From 23d5bc4352cea82c7692b715980eff007928e246 Mon Sep 17 00:00:00 2001 From: Lyes Saadi Date: Tue, 24 Mar 2026 00:17:24 +0100 Subject: [PATCH] Ragequit #2 --- belenios.tar.gz | Bin 0 -> 20940 bytes pkgs/belenios/atdgen.patch | 52 ++++++++++++++++++++++++++ pkgs/belenios/default.nix | 4 +- pkgs/belenios/flake.lock | 59 ++++++++++++++++++++++++++++++ pkgs/belenios/lib.nix | 9 ++++- pkgs/belenios/netstring.patch | 13 +++++++ pkgs/belenios/platform-js.nix | 16 ++++---- pkgs/belenios/platform-native.nix | 5 ++- pkgs/belenios/platform.nix | 8 +++- pkgs/belenios/server.nix | 35 +++++++++++++++--- pkgs/belenios/tool.nix | 16 ++++++-- pkgs/flake.lock | 59 ++++++++++++++++++++++++++++++ pkgs/flake.nix | 27 ++++++++++++++ 13 files changed, 278 insertions(+), 25 deletions(-) create mode 100644 belenios.tar.gz create mode 100644 pkgs/belenios/atdgen.patch create mode 100644 pkgs/belenios/flake.lock create mode 100644 pkgs/belenios/netstring.patch create mode 100644 pkgs/flake.lock create mode 100644 pkgs/flake.nix diff --git a/belenios.tar.gz b/belenios.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2e43b94176e030011691169b296358dc79140b84 GIT binary patch literal 20940 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 literal 0 HcmV?d00001 diff --git a/pkgs/belenios/atdgen.patch b/pkgs/belenios/atdgen.patch new file mode 100644 index 0000000..9e31279 --- /dev/null +++ b/pkgs/belenios/atdgen.patch @@ -0,0 +1,52 @@ +diff --git a/src/lib/core/dune b/src/lib/core/dune +index b3fa93bc..978bcfd5 100644 +--- a/src/lib/core/dune ++++ b/src/lib/core/dune +@@ -1,7 +1,7 @@ + (library + (name belenios_core) + (public_name belenios-lib.core) +- (libraries base64 hex yojson atdgen re belenios-platform) ++ (libraries base64 hex yojson atdgen-runtime re belenios-platform) + (modules_without_implementation question_sigs trustees_sig versioned_sig)) + + (rule +diff --git a/src/lib/question/dune b/src/lib/question/dune +index aecbfad1..f78738ef 100644 +--- a/src/lib/question/dune ++++ b/src/lib/question/dune +@@ -2,7 +2,7 @@ + (name belenios_question) + (public_name belenios-lib.question) + (modules_without_implementation types) +- (libraries yojson atdgen belenios-platform belenios-lib.core)) ++ (libraries yojson atdgen-runtime belenios-platform belenios-lib.core)) + + (rule + (targets question_h_t.ml question_h_t.mli) +diff --git a/src/lib/shell/dune b/src/lib/shell/dune +index 63828081..de8f3870 100644 +--- a/src/lib/shell/dune ++++ b/src/lib/shell/dune +@@ -3,7 +3,7 @@ + (public_name belenios-lib) + (libraries + yojson +- atdgen ++ atdgen-runtime + belenios-platform + belenios-lib.core + belenios-lib.v1)) +diff --git a/src/lib/v1/dune b/src/lib/v1/dune +index 4c0eb68d..890262c0 100644 +--- a/src/lib/v1/dune ++++ b/src/lib/v1/dune +@@ -4,7 +4,7 @@ + (modules_without_implementation types) + (libraries + yojson +- atdgen ++ atdgen-runtime + belenios-platform + belenios-lib.core + belenios-lib.question)) diff --git a/pkgs/belenios/default.nix b/pkgs/belenios/default.nix index 5ac0995..3776e62 100644 --- a/pkgs/belenios/default.nix +++ b/pkgs/belenios/default.nix @@ -7,14 +7,14 @@ ocamlPackages.buildDunePackage rec { pname = "belenios"; - version = "3.0"; + version = "3.1"; src = fetchFromGitLab { domain = "gitlab.inria.fr"; owner = pname; repo = pname; rev = version; - hash = "sha256-paTkzWB2QiBfFnGfiMkTIHdKeg37PTGbMu25JLJc38U="; + hash = "sha256-Mrx6AQakeBg6IeqNyDUZ5j6KaUGOh1AUfrLIxvDI45M="; }; nativeBuildInputs = with ocamlPackages; [ diff --git a/pkgs/belenios/flake.lock b/pkgs/belenios/flake.lock new file mode 100644 index 0000000..2e80cc2 --- /dev/null +++ b/pkgs/belenios/flake.lock @@ -0,0 +1,59 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1774244481, + "narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4590696c8693fea477850fe379a01544293ca4e2", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-25.11", + "type": "indirect" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/pkgs/belenios/lib.nix b/pkgs/belenios/lib.nix index ca3c50b..615b8a2 100644 --- a/pkgs/belenios/lib.nix +++ b/pkgs/belenios/lib.nix @@ -12,14 +12,19 @@ ocamlPackages.buildDunePackage { atdgen ]; + buildInputs = with ocamlPackages; [ + hex + digestif + biniou + ]; + propagatedBuildInputs = [ belenios-platform ] ++ (with ocamlPackages; [ - atdgen + atdgen-runtime base64 - hex ocaml_gettext re uri diff --git a/pkgs/belenios/netstring.patch b/pkgs/belenios/netstring.patch new file mode 100644 index 0000000..bd105d8 --- /dev/null +++ b/pkgs/belenios/netstring.patch @@ -0,0 +1,13 @@ +diff --git a/src/web/server/common/dune b/src/web/server/common/dune +index 3324b582..50cf6c46 100644 +--- a/src/web/server/common/dune ++++ b/src/web/server/common/dune +@@ -15,7 +15,7 @@ + gettext.base + gettext.extension + gettext-camomile +- netstring) ++ sendmail) + (modules_without_implementation + web_i18n_sig + web_services_sig diff --git a/pkgs/belenios/platform-js.nix b/pkgs/belenios/platform-js.nix index b9da72c..d980e57 100644 --- a/pkgs/belenios/platform-js.nix +++ b/pkgs/belenios/platform-js.nix @@ -12,12 +12,12 @@ ocamlPackages.buildDunePackage { odoc ]; - propagatedBuildInputs = - [ - belenios-platform - ] - ++ (with ocamlPackages; [ - js_of_ocaml - js_of_ocaml-ppx - ]); + buildInputs = with ocamlPackages; [ + belenios-platform + lwt + js_of_ocaml + js_of_ocaml-ppx + digestif + hex + ]; } diff --git a/pkgs/belenios/platform-native.nix b/pkgs/belenios/platform-native.nix index cf3e213..aecc7be 100644 --- a/pkgs/belenios/platform-native.nix +++ b/pkgs/belenios/platform-native.nix @@ -13,12 +13,15 @@ ocamlPackages.buildDunePackage { odoc ]; - propagatedBuildInputs = + buildInputs = [ belenios-platform libsodium ] ++ (with ocamlPackages; [ + lwt cryptokit + digestif + zarith ]); } diff --git a/pkgs/belenios/platform.nix b/pkgs/belenios/platform.nix index 260cfd0..bc7dbeb 100644 --- a/pkgs/belenios/platform.nix +++ b/pkgs/belenios/platform.nix @@ -7,7 +7,11 @@ ocamlPackages.buildDunePackage { pname = "belenios-platform"; inherit (belenios) version src; - nativeBuildInputs = with ocamlPackages; [ - odoc + # nativeBuildInputs = with ocamlPackages; [ + # odoc + # ]; + + propagatedBuildInputs = with ocamlPackages; [ + lwt ]; } diff --git a/pkgs/belenios/server.nix b/pkgs/belenios/server.nix index 8e9bbfc..e95b5bc 100644 --- a/pkgs/belenios/server.nix +++ b/pkgs/belenios/server.nix @@ -10,6 +10,8 @@ ocamlPackages.buildDunePackage { pname = "belenios-server"; inherit (belenios) version src; + # dontDetectOcamlConflicts = true; + nativeBuildInputs = with ocamlPackages; [ atdgen js_of_ocaml-compiler @@ -17,20 +19,41 @@ ocamlPackages.buildDunePackage { ocaml_gettext ]; + patches = [ ./netstring.patch ]; + + buildInputs = + [ + # belenios-lib + # belenios-platform-native + belenios-platform-js + ] + ++ (with ocamlPackages; [ + # calendar + # csv + eliom + gettext-camomile + # lwt + # ocamlnet + ocsipersist + ocsipersist-lib + ocsipersist-sqlite-config + ocsigen_server + ocaml_gettext + xml-light + tyxml + markup + sendmail + ]); + propagatedBuildInputs = [ belenios-lib belenios-platform-native - belenios-platform-js ] ++ (with ocamlPackages; [ calendar - csv - eliom - gettext-camomile lwt - ocamlnet - ocsipersist-sqlite-config + xml-light ]); } diff --git a/pkgs/belenios/tool.nix b/pkgs/belenios/tool.nix index eecd060..2549ae5 100644 --- a/pkgs/belenios/tool.nix +++ b/pkgs/belenios/tool.nix @@ -1,8 +1,9 @@ { belenios, belenios-lib, - belenios-platform, + # belenios-platform, belenios-platform-native, + libsodium, ocamlPackages }: @@ -10,14 +11,21 @@ ocamlPackages.buildDunePackage { pname = "belenios-tool"; inherit (belenios) version src; - propagatedBuildInputs = + buildInputs = [ belenios-lib - belenios-platform + # belenios-platform belenios-platform-native + libsodium ] ++ (with ocamlPackages; [ cmdliner - cohttp-lwt-unix + cryptokit + hex ]); + + propagatedBuildInputs = with ocamlPackages; [ + lwt + cohttp-lwt-unix + ]; } diff --git a/pkgs/flake.lock b/pkgs/flake.lock new file mode 100644 index 0000000..2e80cc2 --- /dev/null +++ b/pkgs/flake.lock @@ -0,0 +1,59 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1774244481, + "narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4590696c8693fea477850fe379a01544293ca4e2", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-25.11", + "type": "indirect" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/pkgs/flake.nix b/pkgs/flake.nix new file mode 100644 index 0000000..38637cd --- /dev/null +++ b/pkgs/flake.nix @@ -0,0 +1,27 @@ +{ + inputs = { + nixpkgs.url = "nixpkgs/nixos-25.11"; + }; + + outputs = inputs@{ flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" ]; + perSystem = { pkgs, ... }: rec { + devShells.default = pkgs.mkShell { + packages = []; + }; + packages = let + ocamlPackages = pkgs.ocaml-ng.ocamlPackages_5_2; + in rec { + belenios = pkgs.callPackage ./belenios { inherit ocamlPackages belenios-server belenios-tool; }; + belenios-lib = pkgs.callPackage ./belenios/lib.nix { inherit belenios ocamlPackages belenios-platform; }; + belenios-tool = pkgs.callPackage ./belenios/tool.nix { inherit belenios ocamlPackages belenios-lib belenios-platform-native; }; + belenios-server = pkgs.callPackage ./belenios/server.nix { inherit belenios ocamlPackages belenios-lib belenios-platform-native belenios-platform-js; }; + belenios-platform = pkgs.callPackage ./belenios/platform.nix { inherit belenios ocamlPackages; }; + belenios-platform-native = pkgs.callPackage ./belenios/platform-native.nix { inherit belenios ocamlPackages belenios-platform; }; + belenios-platform-js = pkgs.callPackage ./belenios/platform-js.nix { inherit belenios ocamlPackages belenios-platform; }; + }; + }; + }; +} +