From d167d0ee73d2d06fb9686d719fc4ef2a2014774e Mon Sep 17 00:00:00 2001 From: chn Date: Tue, 19 Nov 2024 15:02:13 +0800 Subject: [PATCH] packages.vaspberry: init --- flake.lock | 17 +++++++++++++++++ flake.nix | 1 + flake/packages.nix | 5 +++++ packages/default.nix | 1 + packages/vaspberry.nix | 9 +++++++++ 5 files changed, 33 insertions(+) create mode 100644 packages/vaspberry.nix diff --git a/flake.lock b/flake.lock index 243834a6..1334d5da 100644 --- a/flake.lock +++ b/flake.lock @@ -1310,6 +1310,7 @@ "sqlite-orm": "sqlite-orm", "tgbot-cpp": "tgbot-cpp", "v-sim": "v-sim", + "vaspberry": "vaspberry", "winapps": "winapps", "zpp-bits": "zpp-bits" } @@ -1639,6 +1640,22 @@ "type": "gitlab" } }, + "vaspberry": { + "flake": false, + "locked": { + "lastModified": 1724474006, + "narHash": "sha256-3cmidQRusbEdEog6e6Qe0IKBRpscrX2ghU/HApaNcys=", + "owner": "Infant83", + "repo": "VASPBERRY", + "rev": "3b5efc9ed6b748b1149278748024ffeb140ecfdb", + "type": "github" + }, + "original": { + "owner": "Infant83", + "repo": "VASPBERRY", + "type": "github" + } + }, "winapps": { "inputs": { "flake-compat": "flake-compat_6", diff --git a/flake.nix b/flake.nix index 09733548..738ad568 100644 --- a/flake.nix +++ b/flake.nix @@ -68,6 +68,7 @@ blog = { url = "git+https://git.chn.moe/chn/blog-public.git"; flake = false; }; nixos-wallpaper = { url = "git+https://git.chn.moe/chn/nixos-wallpaper.git"; flake = false; }; spectroscopy = { url = "github:skelton-group/Phonopy-Spectroscopy"; flake = false; }; + vaspberry = { url = "github:Infant83/VASPBERRY"; flake = false; }; }; outputs = inputs: let localLib = import ./flake/lib.nix inputs.nixpkgs.lib; in diff --git a/flake/packages.nix b/flake/packages.nix index cb60401f..82b1bff0 100644 --- a/flake/packages.nix +++ b/flake/packages.nix @@ -23,6 +23,11 @@ }; chn-bsub = pkgs.pkgsStatic.localPackages.chn-bsub; blog = pkgs.callPackage inputs.blog { inherit (inputs) hextra; }; + vaspberry = pkgs.pkgsStatic.localPackages.vaspberry.override + { + gfortran = pkgs.pkgsStatic.gfortran; + lapack = pkgs.pkgsStatic.openblas; + }; } // (builtins.listToAttrs (builtins.map (system: { inherit (system) name; value = system.value.config.system.build.toplevel; }) diff --git a/packages/default.nix b/packages/default.nix index 9ec4111c..55e25d4f 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -91,6 +91,7 @@ inputs: rec pocketfft = inputs.pkgs.callPackage ./pocketfft.nix { src = inputs.topInputs.pocketfft; }; spectroscopy = inputs.pkgs.callPackage ./spectroscopy.nix { src = inputs.topInputs.spectroscopy; }; mirism = inputs.pkgs.callPackage ./mirism { inherit biu; stdenv = inputs.pkgs.clang18Stdenv; }; + vaspberry = inputs.pkgs.callPackage ./vaspberry.nix { src = inputs.topInputs.vaspberry; }; fromYaml = content: builtins.fromJSON (builtins.readFile (inputs.pkgs.runCommand "toJSON" {} diff --git a/packages/vaspberry.nix b/packages/vaspberry.nix new file mode 100644 index 00000000..0e168c08 --- /dev/null +++ b/packages/vaspberry.nix @@ -0,0 +1,9 @@ +{ stdenv, src, gfortran, lapack }: stdenv.mkDerivation +{ + name = "vaspberry"; + inherit src; + nativeBuildInputs = [ gfortran ]; + buildInputs = [ lapack ]; + buildPhase = "gfortran vaspberry_gfortran_serial.f -std=legacy -llapack -o vaspberry"; + installPhase = "mkdir -p $out/bin && cp vaspberry $out/bin"; +}