nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 cmake,
5 fetchFromGitHub,
6 llvmPackages,
7 enableSse4_1 ? stdenv.hostPlatform.sse4_1Support,
8 enableAvx ? stdenv.hostPlatform.avxSupport,
9 enableAvx2 ? stdenv.hostPlatform.avx2Support,
10}:
11
12stdenv.mkDerivation (finalAttrs: {
13 pname = "kalign";
14 version = "3.4.0";
15
16 src = fetchFromGitHub {
17 owner = "TimoLassmann";
18 repo = "kalign";
19 tag = "v${finalAttrs.version}";
20 hash = "sha256-QcFNaCTqj6CFiOzQ6ezfBL0mu8PDU11hyNdkcsLOPzA=";
21 };
22
23 nativeBuildInputs = [
24 cmake
25 ];
26
27 buildInputs = lib.optionals stdenv.cc.isClang [
28 llvmPackages.openmp
29 ];
30
31 cmakeFlags =
32 # these flags are ON by default
33 lib.optional (!enableSse4_1) "-DENABLE_SSE=OFF"
34 ++ lib.optional (!enableAvx) "-DENABLE_AVX=OFF"
35 ++ lib.optional (!enableAvx2) "-DENABLE_AVX2=OFF";
36
37 doCheck = true;
38
39 meta = {
40 description = "Fast multiple sequence alignment program";
41 mainProgram = "kalign";
42 homepage = "https://github.com/TimoLassmann/kalign";
43 changelog = "https://github.com/TimoLassmann/kalign/releases/tag/v${finalAttrs.version}";
44 license = lib.licenses.gpl3Plus;
45 maintainers = with lib.maintainers; [ natsukium ];
46 platforms = lib.platforms.unix;
47 };
48})