]> Git — Sourcephile - tmp/julm/bug-cblas_ctrmv.git/commitdiff
init main
authorJulien Moutinho <julm@sourcephile.fr>
Tue, 11 Mar 2025 10:46:46 +0000 (11:46 +0100)
committerJulien Moutinho <julm@sourcephile.fr>
Tue, 11 Mar 2025 14:10:56 +0000 (15:10 +0100)
.envrc [new file with mode: 0644]
flake.lock [new file with mode: 0644]
flake.nix [new file with mode: 0644]
main.c [new file with mode: 0644]

diff --git a/.envrc b/.envrc
new file mode 100644 (file)
index 0000000..3550a30
--- /dev/null
+++ b/.envrc
@@ -0,0 +1 @@
+use flake
diff --git a/flake.lock b/flake.lock
new file mode 100644 (file)
index 0000000..b481cdd
--- /dev/null
@@ -0,0 +1,147 @@
+{
+  "nodes": {
+    "flake-compat": {
+      "flake": false,
+      "locked": {
+        "lastModified": 1696426674,
+        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+        "owner": "edolstra",
+        "repo": "flake-compat",
+        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+        "type": "github"
+      },
+      "original": {
+        "owner": "edolstra",
+        "repo": "flake-compat",
+        "type": "github"
+      }
+    },
+    "flake-utils": {
+      "inputs": {
+        "systems": "systems"
+      },
+      "locked": {
+        "lastModified": 1731533236,
+        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "flake-utils_2": {
+      "inputs": {
+        "systems": "systems_2"
+      },
+      "locked": {
+        "lastModified": 1705309234,
+        "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1741600792,
+        "narHash": "sha256-yfDy6chHcM7pXpMF4wycuuV+ILSTG486Z/vLx/Bdi6Y=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "ebe2788eafd539477f83775ef93c3c7e244421d3",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixos-24.11",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "nixpkgs_2": {
+      "locked": {
+        "lastModified": 1708161998,
+        "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "84d981bae8b5e783b3b548de505b22880559515f",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixos-23.11",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "root": {
+      "inputs": {
+        "flake-utils": "flake-utils",
+        "nixpkgs": "nixpkgs",
+        "zig-overlay": "zig-overlay"
+      }
+    },
+    "systems": {
+      "locked": {
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "owner": "nix-systems",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default",
+        "type": "github"
+      }
+    },
+    "systems_2": {
+      "locked": {
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "owner": "nix-systems",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default",
+        "type": "github"
+      }
+    },
+    "zig-overlay": {
+      "inputs": {
+        "flake-compat": "flake-compat",
+        "flake-utils": "flake-utils_2",
+        "nixpkgs": "nixpkgs_2"
+      },
+      "locked": {
+        "lastModified": 1741653076,
+        "narHash": "sha256-c2pb+AfobGv6Ac5u6eYbvltdJWX7YNAy0dYnnhHBleg=",
+        "owner": "mitchellh",
+        "repo": "zig-overlay",
+        "rev": "8380c16525b7c1e964ae8867036ce8d2f24e3e82",
+        "type": "github"
+      },
+      "original": {
+        "owner": "mitchellh",
+        "repo": "zig-overlay",
+        "type": "github"
+      }
+    }
+  },
+  "root": "root",
+  "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644 (file)
index 0000000..007e738
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,69 @@
+{
+  inputs = {
+    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
+    flake-utils.url = "github:numtide/flake-utils";
+    zig-overlay.url = "github:mitchellh/zig-overlay";
+    #zig2nix.url = "github:Cloudef/zig2nix";
+    #zig2nix.inputs.nixpkgs.follows = "nixpkgs";
+  };
+
+  outputs = inputs:
+    inputs.flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
+      let
+        pkgs = import inputs.nixpkgs { inherit system; };
+        zig = pkgs.zig;
+        #zig = inputs.zig-overlay.packages.${system}.master;
+        # Wrap binary package zig on linux so /usr/bin/env can be found inside a sandbox
+        zigBin =
+          pkgs.writeScriptBin "zig" ''
+            args=()
+            for d in /*; do
+              args+=("--dev-bind" "$d" "$d")
+            done
+            ${pkgs.bubblewrap}/bin/bwrap "''${args[@]}" \
+              --bind ${pkgs.coreutils} /usr \
+              -- ${pkgs.lib.getExe zig} "$@"
+          '';
+        postInstall = ''
+          set -x
+          readelf -d $out/bin/test-* | grep RUNPATH
+          lddtree $out/bin/test-*
+          set +x
+        '';
+      in
+      {
+        packages.test-zig = pkgs.stdenv.mkDerivation {
+          name = "test-zig";
+          src = ./.;
+          buildInputs = [ zigBin pkgs.gsl pkgs.pkg-config pkgs.llvmPackages.bintools pkgs.pax-utils pkgs.binutils ];
+          buildPhase = ''
+            set -x
+            export ZIG_GLOBAL_CACHE_DIR=$PWD
+            mkdir -p $out/bin
+            zig build-exe main.c -femit-bin=$out/bin/test-zig $(pkg-config --cflags --libs gsl)
+            set +x
+          '';
+          inherit postInstall;
+        };
+        packages.test-gcc = pkgs.stdenv.mkDerivation {
+          name = "test-gcc";
+          src = ./.;
+          buildInputs = [ pkgs.gsl pkgs.pkg-config pkgs.pax-utils pkgs.binutils ];
+          buildPhase = ''
+            set -x
+            mkdir -p $out/bin
+            gcc main.c -o $out/bin/test-gcc $(pkg-config --cflags --libs gsl)
+            set +x
+          '';
+          inherit postInstall;
+        };
+        devShells.default = pkgs.mkShell {
+          packages = [
+            zig
+            pkgs.gsl
+            #pkgs.blas
+            pkgs.pkg-config
+          ];
+        };
+      });
+}
diff --git a/main.c b/main.c
new file mode 100644 (file)
index 0000000..6be2826
--- /dev/null
+++ b/main.c
@@ -0,0 +1,7 @@
+#include <gsl/gsl_cdf.h>
+#include <stdio.h>
+
+int main(){
+    double bottom_tail = gsl_cdf_gaussian_P(-1.96, 1);
+    printf("Area betweeen [-1.96, 1.96]: %g\n", 1 - 2*bottom_tail);
+}