|
1 |
| -{ rev ? "c7e0e9ed5abd0043e50ee371129fcb8640264fc4" |
2 |
| -, sha256 ? "0c28mpvjhjc8kiwj2w8zcjsr2rayw989a1wnsqda71zpcyas3mq2" |
3 |
| -, pkgs ? import (builtins.fetchTarball { inherit sha256; |
4 |
| - url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz"; |
5 |
| - }) { } |
6 |
| - |
7 |
| -, stdenv ? if useClang |
8 |
| - then (if pkgs.stdenv.cc.isClang |
9 |
| - then pkgs.stdenv |
10 |
| - else pkgs.llvmPackages_latest.stdenv) |
11 |
| - else (if pkgs.stdenv.cc.isGNU |
12 |
| - then pkgs.stdenv |
13 |
| - else pkgs.gcc.stdenv) |
14 |
| -, lib ? pkgs.lib |
| 1 | +{ source, rev, pkgs, lib, stdenv ? if useClang |
| 2 | + then (if pkgs.stdenv.cc.isClang |
| 3 | + then pkgs.stdenv |
| 4 | + else pkgs.llvmPackages_latest.stdenv) |
| 5 | + else (if pkgs.stdenv.cc.isGNU |
| 6 | + then pkgs.stdenv |
| 7 | + else pkgs.gcc.stdenv) |
15 | 8 |
|
16 | 9 | , debug ? false # Debug Build
|
17 | 10 | , useClang ? false # Use Clang over GCC
|
|
21 | 14 |
|
22 | 15 | let
|
23 | 16 | pname = "matrix-construct";
|
24 |
| - version = "development"; |
25 |
| - |
26 |
| - source = let |
27 |
| - srcFilter = n: t: (lib.hasSuffix ".cc" n || lib.hasSuffix ".h" n || lib.hasSuffix ".S" n |
28 |
| - || lib.hasSuffix ".md" n || t == "directory"); |
29 |
| - repo = lib.cleanSourceWith { filter = srcFilter; src = lib.cleanSource ./.; }; |
30 |
| - |
31 |
| - buildFileWith = root: name: type: rec { |
32 |
| - inherit name; file = "${root}/${name}"; |
33 |
| - path = if type == "directory" then buildFarmFrom name file else "${file}"; |
34 |
| - }; |
35 |
| - buildFarm = root: lib.mapAttrsToList (buildFileWith root) (builtins.readDir root); |
36 |
| - buildFarmFrom = basename: root: pkgs.linkFarm (lib.strings.sanitizeDerivationName basename) (buildFarm root); |
37 |
| - in buildFarmFrom "construct" repo; |
| 17 | + version = lib.substring 0 9 rev; |
38 | 18 |
|
39 | 19 | buildArgs = buildInputs: nativeBuildInputs: {
|
40 | 20 | inherit buildInputs nativeBuildInputs;
|
41 | 21 | preferLocalBuild = true;
|
42 | 22 | allowSubstitutes = false;
|
43 | 23 | };
|
44 |
| - |
45 |
| - VERSION_COMMIT_CMD = "git rev-parse --short HEAD"; |
46 |
| - VERSION_BRANCH_CMD = "git rev-parse --abbrev-ref HEAD"; |
47 |
| - VERSION_TAG_CMD = "git describe --tags --abbrev=0 --dirty --always --broken"; |
48 |
| - VERSION_CMD = "git describe --tags --always --broken"; |
49 |
| - runWithGit = id: cmd: lib.removeSuffix "\n" (builtins.readFile (pkgs.runCommandNoCCLocal "construct-${id}" { |
50 |
| - buildInputs = [ pkgs.git ]; |
51 |
| - } "cd ${./.} && ${cmd} > $out")); |
52 | 24 | in stdenv.mkDerivation rec {
|
53 | 25 | inherit pname version;
|
54 | 26 | src = source;
|
@@ -528,7 +500,7 @@ in stdenv.mkDerivation rec {
|
528 | 500 | libtool --tag=CXX --mode=link g++ -std=gnu++17 -ftls-model=initial-exec -pthread ${CXXOPTS} -version-info 3:2:0 \
|
529 | 501 | -Wl,--no-undefined-version -Wl,--weak-unresolved-symbols -Wl,--unresolved-symbols=ignore-in-shared-libs \
|
530 | 502 | -Wl,--wrap=pthread_create -Wl,--wrap=pthread_join -Wl,--wrap=pthread_timedjoin_np -Wl,--wrap=pthread_self -Wl,--wrap=pthread_setname_np \
|
531 |
| - -Wl,-z,nodelete -Wl,-z,nodlopen -Wl,-z,lazy -L${boost.out}/lib \ |
| 503 | + -Wl,-z,nodelete -Wl,-z,nodlopen -Wl,-z,lazy -L${pkgs.boost.out}/lib \ |
532 | 504 | -Wl,-fuse-ld=gold -Wl,--gdb-index -Wl,--warn-common -Wl,--warn-execstack -Wl,--detect-odr-violations -Wl,--rosegment -Wl,-z,noexecstack -Wl,-z,combreloc -Wl,-z,text-unlikely-segment \
|
533 | 505 | -o $out/${laFile} ${lib.concatStringsSep " " loFiles} ${extraArgs} \
|
534 | 506 | -lrocksdb -lboost_coroutine -lboost_context -lboost_thread -lboost_filesystem -lboost_chrono -lboost_system -lssl -lcrypto -L${pkgs.libsodium.out}/lib -lsodium -lmagic -lz -lpthread -latomic -lrocksdb -ldl
|
@@ -570,11 +542,11 @@ in stdenv.mkDerivation rec {
|
570 | 542 |
|
571 | 543 | versionDefs = let
|
572 | 544 | versions = {
|
573 |
| - BRANDING_VERSION = "${runWithGit "version" VERSION_CMD}"; |
574 |
| - RB_VERSION = "${runWithGit "version" VERSION_CMD}"; |
575 |
| - RB_VERSION_BRANCH = "${runWithGit "version-branch" VERSION_BRANCH_CMD}"; |
576 |
| - RB_VERSION_COMMIT = "${runWithGit "version-commit" VERSION_COMMIT_CMD}"; |
577 |
| - RB_VERSION_TAG = "${runWithGit "version-tag" VERSION_TAG_CMD}"; |
| 545 | + BRANDING_VERSION = lib.substring 0 9 rev; |
| 546 | + RB_VERSION = lib.substring 0 9 rev; |
| 547 | + RB_VERSION_BRANCH = "master"; |
| 548 | + RB_VERSION_COMMIT = rev; |
| 549 | + RB_VERSION_TAG = rev; |
578 | 550 | };
|
579 | 551 | in lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-U${k} -D'${k}=\"${v}\"'") versions);
|
580 | 552 |
|
|
0 commit comments