36 lines
1.1 KiB
Nix
36 lines
1.1 KiB
Nix
# SPDX-FileCopyrightText: 2026 Qyriad <qyriad@qyriad.me>
|
|
#
|
|
# SPDX-License-Identifier: EUPL-1.1
|
|
|
|
{
|
|
pkgs ? import <nixpkgs> { config.checkMeta = true; },
|
|
qpkgs ? let
|
|
src = fetchTarball "https://github.com/Qyriad/nur-packages/archive/main.tar.gz";
|
|
in import src { inherit pkgs; },
|
|
}: let
|
|
inherit (qpkgs) lib;
|
|
|
|
# Use LLD for faster link times.
|
|
defaultStdenv = pkgs.clangStdenv.override {
|
|
cc = pkgs.clangStdenv.cc.override {
|
|
bintools = pkgs.wrapBintoolsWith { inherit (pkgs.llvmPackages) bintools; };
|
|
};
|
|
};
|
|
|
|
dynix = (qpkgs.callPackage ./package.nix { clangStdenv = defaultStdenv; })
|
|
.overrideAttrs (final: prev: {
|
|
dynixCommand = qpkgs.stdlib.mkStdenvPretty prev.dynixCommand;
|
|
dynixModules = qpkgs.stdlib.mkStdenvPretty prev.dynixModules;
|
|
})
|
|
|> qpkgs.stdlib.mkStdenvPretty;
|
|
|
|
byStdenv = lib.mapAttrs (stdenvName: stdenv: let
|
|
withStdenv = dynix.override { clangStdenv = stdenv; };
|
|
dynix' = withStdenv.overrideAttrs (prev: {
|
|
pname = "${prev.pname}-${stdenvName}";
|
|
});
|
|
in dynix') qpkgs.validStdenvs;
|
|
|
|
in dynix.overrideAttrs (prev: lib.recursiveUpdate prev {
|
|
passthru = { inherit byStdenv; };
|
|
})
|