3
0
Fork 0
forked from mirrors/nixpkgs

Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-11-15 00:15:11 +00:00 committed by GitHub
commit c8011a8a29
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
193 changed files with 2995 additions and 972 deletions

9
.github/CODEOWNERS vendored
View file

@ -49,11 +49,16 @@
/pkgs/build-support/writers @lassulus @Profpatsch
# Nixpkgs documentation
/doc @fricklerhandwerk
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm
/doc/* @fricklerhandwerk
/doc/build-aux/pandoc-filters @jtojnar
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar
/doc/builders/trivial-builders.chapter.md @fricklerhandwerk
/doc/contributing/ @fricklerhandwerk
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @fricklerhandwerk
/doc/stdenv @fricklerhandwerk
/doc/using @fricklerhandwerk
# NixOS Internals
/nixos/default.nix @nbp @infinisil

View file

@ -0,0 +1,31 @@
---
name: Unreproducible package
about: A package that does not produce a bit-by-bit reproducible result each time it is built
title: ''
labels: '0.kind: enhancement', '6.topic: reproducible builds'
assignees: ''
---
Building this package twice does not produce the bit-by-bit identical result each time, making it harder to detect CI breaches. You can read more about this at https://reproducible-builds.org/ .
Fixing bit-by-bit reproducibility also has additional advantages, such as avoiding hard-to-reproduce bugs, making content-addressed storage more effective and reducing rebuilds in such systems.
### Steps To Reproduce
```
nix-build '<nixpkgs>' -A ... --check --keep-failed
```
You can use `diffoscope` to analyze the differences in the output of the two builds.
To view the build log of the build that produced the artifact in the binary cache:
```
nix-store --read-log $(nix-instantiate '<nixpkgs>' -A ...)
```
### Additional context
(please share the relevant fragment of the diffoscope output here,
and any additional analysis you may have done)

View file

@ -125,7 +125,7 @@ If one of your favourite plugins isn't packaged, you can package it yourself:
{ config, pkgs, ... }:
let
easygrep = pkgs.vimUtils.buildVimPlugin {
easygrep = pkgs.vimUtils.buildVimPluginFrom2Nix {
name = "vim-easygrep";
src = pkgs.fetchFromGitHub {
owner = "dkprice";
@ -155,6 +155,8 @@ in
}
```
If your package requires building specific parts, use instead `pkgs.vimUtils.buildVimPlugin`.
### Specificities for some plugins
#### Treesitter

View file

@ -44,8 +44,8 @@ $ nix-env -qa hello --json
"mips32-linux",
"x86_64-darwin",
"i686-cygwin",
"i686-freebsd",
"x86_64-freebsd",
"i686-freebsd13",
"x86_64-freebsd13",
"i686-openbsd",
"x86_64-openbsd"
],

View file

@ -47,9 +47,10 @@ rec {
else if final.isUClibc then "uclibc"
else if final.isAndroid then "bionic"
else if final.isLinux /* default */ then "glibc"
else if final.isFreeBSD then "fblibc"
else if final.isNetBSD then "nblibc"
else if final.isAvr then "avrlibc"
else if final.isNone then "newlib"
else if final.isNetBSD then "nblibc"
# TODO(@Ericson2314) think more about other operating systems
else "native/impure";
# Choose what linker we wish to use by default. Someday we might also

View file

@ -13,7 +13,7 @@ let
"x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin"
# FreeBSD
"i686-freebsd" "x86_64-freebsd"
"i686-freebsd13" "x86_64-freebsd13"
# Genode
"aarch64-genode" "i686-genode" "x86_64-genode"

View file

@ -303,15 +303,18 @@ rec {
# BSDs
x86_64-freebsd = {
config = "x86_64-unknown-freebsd13";
useLLVM = true;
};
x86_64-netbsd = {
config = "x86_64-unknown-netbsd";
libc = "nblibc";
};
# this is broken and never worked fully
x86_64-netbsd-llvm = {
config = "x86_64-unknown-netbsd";
libc = "nblibc";
useLLVM = true;
};

View file

@ -59,7 +59,7 @@ rec {
isiOS = { kernel = kernels.ios; };
isLinux = { kernel = kernels.linux; };
isSunOS = { kernel = kernels.solaris; };
isFreeBSD = { kernel = kernels.freebsd; };
isFreeBSD = { kernel = { name = "freebsd"; }; };
isNetBSD = { kernel = kernels.netbsd; };
isOpenBSD = { kernel = kernels.openbsd; };
isWindows = { kernel = kernels.windows; };

View file

@ -290,7 +290,11 @@ rec {
# the normalized name for macOS.
macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; };
ios = { execFormat = macho; families = { inherit darwin; }; };
freebsd = { execFormat = elf; families = { inherit bsd; }; };
# A tricky thing about FreeBSD is that there is no stable ABI across
# versions. That means that putting in the version as part of the
# config string is paramount.
freebsd12 = { execFormat = elf; families = { inherit bsd; }; name = "freebsd"; version = 12; };
freebsd13 = { execFormat = elf; families = { inherit bsd; }; name = "freebsd"; version = 13; };
linux = { execFormat = elf; families = { }; };
netbsd = { execFormat = elf; families = { inherit bsd; }; };
none = { execFormat = unknown; families = { }; };
@ -431,6 +435,8 @@ rec {
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "redox"; }
else if (elemAt l 2 == "mmixware")
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "mmixware"; }
else if hasPrefix "freebsd" (elemAt l 2)
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; }
else if hasPrefix "netbsd" (elemAt l 2)
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; }
else if (elem (elemAt l 2) ["eabi" "eabihf" "elf"])
@ -485,10 +491,13 @@ rec {
mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s));
kernelName = kernel:
kernel.name + toString (kernel.version or "");
doubleFromSystem = { cpu, kernel, abi, ... }:
/**/ if abi == abis.cygnus then "${cpu.name}-cygwin"
else if kernel.families ? darwin then "${cpu.name}-darwin"
else "${cpu.name}-${kernel.name}";
else "${cpu.name}-${kernelName kernel}";
tripleFromSystem = { cpu, vendor, kernel, abi, ... } @ sys: assert isSystem sys; let
optExecFormat =
@ -496,7 +505,7 @@ rec {
gnuNetBSDDefaultExecFormat cpu != kernel.execFormat)
kernel.execFormat.name;
optAbi = lib.optionalString (abi != abis.unknown) "-${abi.name}";
in "${cpu.name}-${vendor.name}-${kernel.name}${optExecFormat}${optAbi}";
in "${cpu.name}-${vendor.name}-${kernelName kernel}${optExecFormat}${optAbi}";
################################################################################

View file

@ -16,17 +16,17 @@ with lib.systems.doubles; lib.runTests {
testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded ++ mmix ++ js ++ genode ++ redox);
testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv6l-netbsd" "armv6l-none" "armv7a-linux" "armv7a-netbsd" "armv7l-linux" "armv7l-netbsd" "arm-none" "armv7a-darwin" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd13" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testmips = mseteq mips [ "mips64el-linux" "mipsel-linux" "mipsel-netbsd" ];
testmmix = mseteq mmix [ "mmix-mmixware" ];
testriscv = mseteq riscv [ "riscv32-linux" "riscv64-linux" "riscv32-netbsd" "riscv64-netbsd" "riscv32-none" "riscv64-none" ];
testriscv32 = mseteq riscv32 [ "riscv32-linux" "riscv32-netbsd" "riscv32-none" ];
testriscv64 = mseteq riscv64 [ "riscv64-linux" "riscv64-netbsd" "riscv64-none" ];
testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd13" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ];
testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ];
testfreebsd = mseteq freebsd [ "i686-freebsd13" "x86_64-freebsd13" ];
testgenode = mseteq genode [ "aarch64-genode" "i686-genode" "x86_64-genode" ];
testredox = mseteq redox [ "x86_64-redox" ];
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);

View file

@ -4158,6 +4158,15 @@
githubId = 147284;
name = "Jason Felice";
};
ercao = {
email = "vip@ercao.cn";
github = "ercao";
githubId = 51725284;
name = "ercao";
keys = [{
fingerprint = "F3B0 36F7 B0CB 0964 3C12 D3C7 FFAB D125 7ECF 0889";
}];
};
erdnaxe = {
email = "erdnaxe@crans.org";
github = "erdnaxe";
@ -11791,6 +11800,12 @@
githubId = 12312980;
name = "Robbin C.";
};
robbins = {
email = "nejrobbins@gmail.com";
github = "robbins";
githubId = 31457698;
name = "Nathanael Robbins";
};
roberth = {
email = "nixpkgs@roberthensing.nl";
matrix = "@roberthensing:matrix.org";

View file

@ -11,7 +11,7 @@ options = {
type = type specification;
default = default value;
example = example value;
description = "Description for use in the NixOS manual.";
description = lib.mdDoc "Description for use in the NixOS manual.";
};
};
```
@ -59,8 +59,9 @@ The function `mkOption` accepts the following arguments.
: A textual description of the option, in [Nixpkgs-flavored Markdown](
https://nixos.org/nixpkgs/manual/#sec-contributing-markup) format, that will be
included in the NixOS manual. During the migration process from DocBook
to CommonMark the description may also be written in DocBook, but this is
discouraged.
it is necessary to mark descriptions written in CommonMark with `lib.mdDoc`.
The description may still be written in DocBook (without any marker), but this
is discouraged and will be deprecated in the future.
## Utility functions for common option patterns {#sec-option-declarations-util}
@ -83,7 +84,7 @@ lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether to enable magic.";
description = lib.mdDoc "Whether to enable magic.";
}
```
@ -116,7 +117,7 @@ lib.mkOption {
type = lib.types.package;
default = pkgs.hello;
defaultText = lib.literalExpression "pkgs.hello";
description = "The hello package to use.";
description = lib.mdDoc "The hello package to use.";
}
```
@ -132,7 +133,7 @@ lib.mkOption {
default = pkgs.ghc;
defaultText = lib.literalExpression "pkgs.ghc";
example = lib.literalExpression "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])";
description = "The GHC package to use.";
description = lib.mdDoc "The GHC package to use.";
}
```

View file

@ -12,7 +12,7 @@ options = {
type = type specification;
default = default value;
example = example value;
description = &quot;Description for use in the NixOS manual.&quot;;
description = lib.mdDoc &quot;Description for use in the NixOS manual.&quot;;
};
};
</programlisting>
@ -98,9 +98,11 @@ options = {
A textual description of the option, in
<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-contributing-markup">Nixpkgs-flavored
Markdown</link> format, that will be included in the NixOS
manual. During the migration process from DocBook to
CommonMark the description may also be written in DocBook, but
this is discouraged.
manual. During the migration process from DocBook it is
necessary to mark descriptions written in CommonMark with
<literal>lib.mdDoc</literal>. The description may still be
written in DocBook (without any marker), but this is
discouraged and will be deprecated in the future.
</para>
</listitem>
</varlistentry>
@ -132,7 +134,7 @@ lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = &quot;Whether to enable magic.&quot;;
description = lib.mdDoc &quot;Whether to enable magic.&quot;;
}
</programlisting>
<section xml:id="sec-option-declarations-util-mkPackageOption">
@ -182,7 +184,7 @@ lib.mkOption {
type = lib.types.package;
default = pkgs.hello;
defaultText = lib.literalExpression &quot;pkgs.hello&quot;;
description = &quot;The hello package to use.&quot;;
description = lib.mdDoc &quot;The hello package to use.&quot;;
}
</programlisting>
<anchor xml:id="ex-options-declarations-util-mkPackageOption-ghc" />
@ -197,7 +199,7 @@ lib.mkOption {
default = pkgs.ghc;
defaultText = lib.literalExpression &quot;pkgs.ghc&quot;;
example = lib.literalExpression &quot;pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
description = &quot;The GHC package to use.&quot;;
description = lib.mdDoc &quot;The GHC package to use.&quot;;
}
</programlisting>
<section xml:id="sec-option-declarations-eot">

View file

@ -40,6 +40,8 @@
# `false`, and a different renderer may be used with different bugs and performance
# characteristics but (hopefully) indistinguishable output.
, allowDocBook ? true
# whether lib.mdDoc is required for descriptions to be read as markdown.
, markdownByDefault ? false
}:
let
@ -152,6 +154,7 @@ in rec {
python ${./mergeJSON.py} \
${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
${lib.optionalString (! allowDocBook) "--error-on-docbook"} \
${lib.optionalString markdownByDefault "--markdown-by-default"} \
$baseJSON $options \
> $dst/options.json

View file

@ -201,19 +201,27 @@ def convertMD(options: Dict[str, Any]) -> str:
return option[key]['_type'] == typ
for (name, option) in options.items():
if optionIs(option, 'description', 'mdDoc'):
option['description'] = convertString(name, option['description']['text'])
if optionIs(option, 'example', 'literalMD'):
docbook = convertString(name, option['example']['text'])
option['example'] = { '_type': 'literalDocBook', 'text': docbook }
if optionIs(option, 'default', 'literalMD'):
docbook = convertString(name, option['default']['text'])
option['default'] = { '_type': 'literalDocBook', 'text': docbook }
try:
if optionIs(option, 'description', 'mdDoc'):
option['description'] = convertString(name, option['description']['text'])
elif markdownByDefault:
option['description'] = convertString(name, option['description'])
if optionIs(option, 'example', 'literalMD'):
docbook = convertString(name, option['example']['text'])
option['example'] = { '_type': 'literalDocBook', 'text': docbook }
if optionIs(option, 'default', 'literalMD'):
docbook = convertString(name, option['default']['text'])
option['default'] = { '_type': 'literalDocBook', 'text': docbook }
except Exception as e:
raise Exception(f"Failed to render option {name}: {str(e)}")
return options
warningsAreErrors = False
errorOnDocbook = False
markdownByDefault = False
optOffset = 0
for arg in sys.argv[1:]:
if arg == "--warnings-are-errors":
@ -222,6 +230,9 @@ for arg in sys.argv[1:]:
if arg == "--error-on-docbook":
optOffset += 1
errorOnDocbook = True
if arg == "--markdown-by-default":
optOffset += 1
markdownByDefault = True
options = pivot(json.load(open(sys.argv[1 + optOffset], 'r')))
overrides = pivot(json.load(open(sys.argv[2 + optOffset], 'r')))

View file

@ -544,6 +544,7 @@ let
# We use try_first_pass the second time to avoid prompting password twice
(optionalString (cfg.unixAuth &&
(config.security.pam.enableEcryptfs
|| config.security.pam.enableFscrypt
|| cfg.pamMount
|| cfg.enableKwallet
|| cfg.enableGnomeKeyring
@ -558,6 +559,9 @@ let
optionalString config.security.pam.enableEcryptfs ''
auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap
'' +
optionalString config.security.pam.enableFscrypt ''
auth optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so
'' +
optionalString cfg.pamMount ''
auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive
'' +
@ -606,6 +610,9 @@ let
optionalString config.security.pam.enableEcryptfs ''
password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
'' +
optionalString config.security.pam.enableFscrypt ''
password optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so
'' +
optionalString cfg.pamMount ''
password optional ${pkgs.pam_mount}/lib/security/pam_mount.so
'' +
@ -652,6 +659,14 @@ let
optionalString config.security.pam.enableEcryptfs ''
session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
'' +
optionalString config.security.pam.enableFscrypt ''
# Work around https://github.com/systemd/systemd/issues/8598
# Skips the pam_fscrypt module for systemd-user sessions which do not have a password
# anyways.
# See also https://github.com/google/fscrypt/issues/95
session [success=1 default=ignore] pam_succeed_if.so service = systemd-user
session optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so
'' +
optionalString cfg.pamMount ''
session optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive
'' +
@ -1168,6 +1183,14 @@ in
};
security.pam.enableEcryptfs = mkEnableOption (lib.mdDoc "eCryptfs PAM module (mounting ecryptfs home directory on login)");
security.pam.enableFscrypt = mkEnableOption (lib.mdDoc ''
Enables fscrypt to automatically unlock directories with the user's login password.
This also enables a service at security.pam.services.fscrypt which is used by
fscrypt to verify the user's password when setting up a new protector. If you
use something other than pam_unix to verify user passwords, please remember to
adjust this PAM service.
'');
users.motd = mkOption {
default = null;
@ -1192,6 +1215,7 @@ in
++ optionals config.security.pam.enableOTPW [ pkgs.otpw ]
++ optionals config.security.pam.oath.enable [ pkgs.oath-toolkit ]
++ optionals config.security.pam.p11.enable [ pkgs.pam_p11 ]
++ optionals config.security.pam.enableFscrypt [ pkgs.fscrypt-experimental ]
++ optionals config.security.pam.u2f.enable [ pkgs.pam_u2f ];
boot.supportedFilesystems = optionals config.security.pam.enableEcryptfs [ "ecryptfs" ];
@ -1233,6 +1257,9 @@ in
it complains "Cannot create session: Already running in a
session". */
runuser-l = { rootOK = true; unixAuth = false; };
} // optionalAttrs (config.security.pam.enableFscrypt) {
# Allow fscrypt to verify login passphrase
fscrypt = {};
};
security.apparmor.includes."abstractions/pam" = let
@ -1297,6 +1324,9 @@ in
optionalString config.security.pam.enableEcryptfs ''
mr ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so,
'' +
optionalString config.security.pam.enableFscrypt ''
mr ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so,
'' +
optionalString (isEnabled (cfg: cfg.pamMount)) ''
mr ${pkgs.pam_mount}/lib/security/pam_mount.so,
'' +

View file

@ -88,7 +88,7 @@ with lib;
type = types.nullOr types.str;
default = "/var/lib/acme/acme-challenge";
description = lib.mdDoc ''
Directory for the acme challenge which is PUBLIC, don't put certs or keys in here.
Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.
Set to null to inherit from config.security.acme.
'';
};
@ -97,8 +97,12 @@ with lib;
type = types.nullOr types.str;
default = null;
description = lib.mdDoc ''
Host which to proxy requests to if acme challenge is not found. Useful
Host which to proxy requests to if ACME challenge is not found. Useful
if you want multiple hosts to be able to verify the same domain name.
With this option, you could request certificates for the present domain
with an ACME client that is running on another host, which you would
specify here.
'';
};

View file

@ -57,6 +57,12 @@ let
--disallow-untyped-defs \
$out
'';
finalSystemdBootBuilder = pkgs.writeScript "install-systemd-boot.sh" ''
#!${pkgs.runtimeShell}
${checkedSystemdBootBuilder} "$@"
${cfg.extraInstallCommands}
'';
in {
imports =
@ -99,6 +105,22 @@ in {
'';
};
extraInstallCommands = mkOption {
default = "";
example = ''
default_cfg=$(cat /boot/loader/loader.conf | grep default | awk '{print $2}')
init_value=$(cat /boot/loader/entries/$default_cfg | grep init= | awk '{print $2}')
sed -i "s|@INIT@|$init_value|g" /boot/custom/config_with_placeholder.conf
'';
type = types.lines;
description = lib.mdDoc ''
Additional shell commands inserted in the bootloader installer
script after generating menu entries. It can be used to expand
on extra boot entries that cannot incorporate certain pieces of
information (such as the resulting `init=` kernel parameter).
'';
};
consoleMode = mkOption {
default = "keep";
@ -277,7 +299,7 @@ in {
];
system = {
build.installBootLoader = checkedSystemdBootBuilder;
build.installBootLoader = finalSystemdBootBuilder;
boot.loader.id = "systemd-boot";

View file

@ -336,6 +336,7 @@ in
};
systemd.services.libvirtd = {
wantedBy = [ "multi-user.target" ];
requires = [ "libvirtd-config.service" ];
after = [ "libvirtd-config.service" ]
++ optional vswitch.enable "ovs-vswitchd.service";

View file

@ -179,6 +179,7 @@ in {
ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
ecryptfs = handleTest ./ecryptfs.nix {};
fscrypt = handleTest ./fscrypt.nix {};
ejabberd = handleTest ./xmpp/ejabberd.nix {};
elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
emacs-daemon = handleTest ./emacs-daemon.nix {};

50
nixos/tests/fscrypt.nix Normal file
View file

@ -0,0 +1,50 @@
import ./make-test-python.nix ({ ... }:
{
name = "fscrypt";
nodes.machine = { pkgs, ... }: {
imports = [ ./common/user-account.nix ];
security.pam.enableFscrypt = true;
};
testScript = ''
def login_as_alice():
machine.wait_until_tty_matches("1", "login: ")
machine.send_chars("alice\n")
machine.wait_until_tty_matches("1", "Password: ")
machine.send_chars("foobar\n")
machine.wait_until_tty_matches("1", "alice\@machine")
def logout():
machine.send_chars("logout\n")
machine.wait_until_tty_matches("1", "login: ")
machine.wait_for_unit("default.target")
with subtest("Enable fscrypt on filesystem"):
machine.succeed("tune2fs -O encrypt /dev/vda")
machine.succeed("fscrypt setup --quiet --force --time=1ms")
with subtest("Set up alice with an fscrypt-enabled home directory"):
machine.succeed("(echo foobar; echo foobar) | passwd alice")
machine.succeed("chown -R alice.users ~alice")
machine.succeed("echo foobar | fscrypt encrypt --skip-unlock --source=pam_passphrase --user=alice /home/alice")
with subtest("Create file as alice"):
login_as_alice()
machine.succeed("echo hello > /home/alice/world")
logout()
# Wait for logout to be processed
machine.sleep(1)
with subtest("File should not be readable without being logged in as alice"):
machine.fail("cat /home/alice/world")
with subtest("File should be readable again as alice"):
login_as_alice()
machine.succeed("cat /home/alice/world")
logout()
'';
})

View file

@ -26,7 +26,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
in ''
start_all()
virthost.wait_for_unit("sockets.target")
virthost.wait_for_unit("multi-user.target")
with subtest("enable default network"):
virthost.succeed("virsh net-start default")
@ -46,13 +46,16 @@ import ./make-test-python.nix ({ pkgs, ... }: {
virthost.succeed("virsh pool-start zfs_storagepool")
virthost.succeed("virsh vol-create-as zfs_storagepool disk1 25MB")
with subtest("check if nixos install iso boots and network works"):
with subtest("check if nixos install iso boots, network and autostart works"):
virthost.succeed(
"virt-install -n nixos --osinfo=nixos-unstable --ram=1024 --graphics=none --disk=`find ${nixosInstallISO}/iso -type f | head -n1`,readonly=on --import --noautoconsole"
"virt-install -n nixos --osinfo nixos-unstable --memory 1024 --graphics none --disk `find ${nixosInstallISO}/iso -type f | head -n1`,readonly=on --import --noautoconsole --autostart"
)
virthost.succeed("virsh domstate nixos | grep running")
virthost.wait_until_succeeds("ping -c 1 nixos")
virthost.succeed("virsh ${virshShutdownCmd} nixos")
virthost.wait_until_succeeds("virsh domstate nixos | grep 'shut off'")
virthost.shutdown()
virthost.wait_for_unit("multi-user.target")
virthost.wait_until_succeeds("ping -c 1 nixos")
'';
})

View file

@ -84,6 +84,10 @@ stdenv.mkDerivation rec {
'' + lib.optionalString stdenv.isLinux ''
substituteInPlace libraries/lib-files/FileNames.cpp \
--replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
''
# error: unknown type name 'NSAppearanceName'
+ lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
sed -z -i "s/if (@available(macOS 10.14, \*)).*}/}/g" src/AudacityApp.mm
'';
nativeBuildInputs = [
@ -199,7 +203,5 @@ stdenv.mkDerivation rec {
];
maintainers = with maintainers; [ lheckemann veprbl wegank ];
platforms = platforms.unix;
# error: unknown type name 'NSAppearanceName'
broken = stdenv.isDarwin && stdenv.isx86_64;
};
}

View file

@ -25,7 +25,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "lollypop";
version = "1.4.34";
version = "1.4.36";
format = "other";
doCheck = false;
@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
sha256 = "sha256-nkrnmpM/mVrXVGkfwzmbSxsO1L890LgsjxSXAYjevCs=";
sha256 = "sha256-Ka/rYgWGuCQTzguJiyQpY5SPC1iB5XOVy/Gezj+DYpk=";
};
nativeBuildInputs = [

View file

@ -45,13 +45,13 @@ let
];
in stdenv.mkDerivation rec {
pname = "pulseeffects";
version = "4.8.4";
version = "4.8.7";
src = fetchFromGitHub {
owner = "wwmm";
repo = "pulseeffects";
rev = "v${version}";
sha256 = "19sndxvszafbd1l2033g2irpx2jrwi5bpbx8r35047wi0z7djiag";
sha256 = "sha256-ldvcA8aTHOgaascH6MF4CzmJ8I2rYOiR0eAkCZzvK/M=";
};
nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "SonyHeadphonesClient";
version = "1.2";
version = "1.3.1";
src = fetchFromGitHub {
owner = "Plutoberth";
repo = "SonyHeadphonesClient";
rev = "v${version}";
sha256 = "sha256-oejXrs9X+R6Jydro0XIw2XifzFA7asDhpobtaE3//Hc=";
hash = "sha256-0DQanrglJiGsN8qQ5KxkL8I+Fpt1abeeuKiM8v9GclM=";
fetchSubmodules = true;
};
@ -19,8 +19,6 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-Wno-dev" ];
patches = [ ./gcc.patch ];
postPatch = ''
substituteInPlace Constants.h \
--replace "UNKNOWN = -1" "// UNKNOWN removed since it doesn't fit in char"

View file

@ -1,19 +0,0 @@
diff --git a/SingleInstanceFuture.h b/SingleInstanceFuture.h
index 8af733f..d2e6c49 100644
--- a/SingleInstanceFuture.h
+++ b/SingleInstanceFuture.h
@@ -12,13 +12,13 @@ template <class T>
class SingleInstanceFuture : public std::future<T>
{
public:
- SingleInstanceFuture<T>() = default;
+ SingleInstanceFuture(void) = default;
template<class Func, class... Args>
void setFromAsync(Func func, Args&&... args) noexcept(false);
bool ready();
private:
- SingleInstanceFuture<T>(std::future<T> other);
+ SingleInstanceFuture(std::future<T> other);
SingleInstanceFuture<T> operator=(std::future<T>& other);
};

View file

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, spotify, xorg, runtimeShell }:
stdenv.mkDerivation {
pname = "spotifywm-unstable";
version = "2016-11-28";
version = "2022-10-26";
src = fetchFromGitHub {
owner = "dasJ";
repo = "spotifywm";
rev = "91dd5532ffb7a398d775abe94fe7781904ab406f";
sha256 = "01z088i83410bpx1vbp7c6cq01r431v55l7340x3izp53lnpp379";
owner = "dasJ";
repo = "spotifywm";
rev = "8624f539549973c124ed18753881045968881745";
sha256 = "sha256-AsXqcoqUXUFxTG+G+31lm45gjP6qGohEnUSUtKypew0=";
};
buildInputs = [ xorg.libX11 ];

View file

@ -20,7 +20,6 @@
, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit
, ImageCaptureCore, GSS, ImageIO # These may be optional
, systemd ? null
, withX ? !stdenv.isDarwin && !withPgtk
, withNS ? stdenv.isDarwin && !withMacport
, withMacport ? macportVersion != null
@ -45,6 +44,7 @@
else if withMotif then "motif"
else if withAthena then "athena"
else "lucid")
, withSystemd ? stdenv.isLinux, systemd
}:
assert (libXft != null) -> libpng != null; # probably a bug
@ -141,7 +141,8 @@ let emacs = (if withMacport then llvmPackages_6.stdenv else stdenv).mkDerivation
buildInputs =
[ ncurses gconf libxml2 gnutls gettext jansson harfbuzz.dev ]
++ lib.optionals stdenv.isLinux [ dbus libselinux systemd alsa-lib acl gpm ]
++ lib.optionals stdenv.isLinux [ dbus libselinux alsa-lib acl gpm ]
++ lib.optionals withSystemd [ systemd ]
++ lib.optionals withX
[ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg giflib libtiff libXft
gconf cairo ]

View file

@ -5,6 +5,9 @@
, maven
, autoPatchelfHook
, libdbusmenu
, patchelf
, openssl
, expat
, vmopts ? null
}:
@ -41,12 +44,14 @@ let
}).overrideAttrs (attrs: {
nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ optionals (stdenv.isLinux) [
autoPatchelfHook
patchelf
];
buildInputs = (attrs.buildInputs or []) ++ optionals (stdenv.isLinux) [
python3
stdenv.cc.cc
libdbusmenu
lldb
openssl.out
expat
];
dontAutoPatchelf = true;
postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
@ -58,9 +63,11 @@ let
# bundled gdb does not find libcrypto 10
rm -rf bin/gdb/linux
ln -s ${gdb} bin/gdb/linux
# bundled lldb does not find libssl
rm -rf bin/lldb/linux
ln -s ${lldb} bin/lldb/linux
ls -d $PWD/bin/lldb/linux/lib/python3.8/lib-dynload/* |
xargs patchelf \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
autoPatchelf $PWD/bin

File diff suppressed because it is too large Load diff

View file

@ -75,12 +75,12 @@
};
c_sharp = buildGrammar {
language = "c_sharp";
version = "5b60f99";
version = "3ef3f7f";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c-sharp";
rev = "5b60f99545fea00a33bbfae5be956f684c4c69e2";
hash = "sha256-4R6+15ZbtC/LtSHpk7DqcMiFYjht+062Av31spK07rc=";
rev = "3ef3f7f99e16e528e6689eae44dff35150993307";
hash = "sha256-xBRSwuodQTrKHjwx3JVgnwsAkp9EO+6su3hc2d+6DBQ=";
};
};
clojure = buildGrammar {
@ -209,12 +209,12 @@
};
dockerfile = buildGrammar {
language = "dockerfile";
version = "25c71d6";
version = "f913be9";
source = fetchFromGitHub {
owner = "camdencheek";
repo = "tree-sitter-dockerfile";
rev = "25c71d6a24cdba8f0c74ef40d4d2d93defd7e196";
hash = "sha256-Y6RvFXKryFH+NF87YKa8QIgB+Dh871cfuM/em0b4ks4=";
rev = "f913be9bb8689af22114605012693146fbe9ddaa";
hash = "sha256-EoZDjUyL4dEwE6E9r9KruQ8Kb83bAyyFq7a/NFBdZjU=";
};
};
dot = buildGrammar {
@ -269,12 +269,12 @@
};
embedded_template = buildGrammar {
language = "embedded_template";
version = "1a538da";
version = "91fc5ae";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-embedded-template";
rev = "1a538da253d73f896b9f6c0c7d79cda58791ac5c";
hash = "sha256-vebevlTAISkHhNcv89tzSXJX3DsGakxWaxxmv9KU40g=";
rev = "91fc5ae1140d5c9d922312431f7d251a48d7b8ce";
hash = "sha256-WAMCwKS+gOvBVC9h0qKHLgNedCRQwbJV+++SDqHhK5g=";
};
};
erlang = buildGrammar {
@ -533,12 +533,12 @@
};
hocon = buildGrammar {
language = "hocon";
version = "bb412e2";
version = "c390f10";
source = fetchFromGitHub {
owner = "antosha417";
repo = "tree-sitter-hocon";
rev = "bb412e2633f4a3611a4e16efe58d917093bb4782";
hash = "sha256-ujVznEMWnhUjWZS+LAZZYba1Ybs2oLg/iCHPba1TZcQ=";
rev = "c390f10519ae69fdb03b3e5764f5592fb6924bcc";
hash = "sha256-9Zo3YYoo9mJ4Buyj7ofSrlZURrwstBo0vgzeTq1jMGw=";
};
};
html = buildGrammar {
@ -633,12 +633,12 @@
};
julia = buildGrammar {
language = "julia";
version = "8fb38ab";
version = "58d0701";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-julia";
rev = "8fb38abff74652c4faddbf04d2d5bbbc6b4bae25";
hash = "sha256-G619Zlb2uL2PskYKNqoG6XXBxRipeGFU4eOLw7u3BRo=";
rev = "58d0701550b4cce02acf433eedada03b634cc524";
hash = "sha256-ywliyXSL6A/NtqPnjRU++4C26H9MO6slz/3bIYFgGp4=";
};
};
kotlin = buildGrammar {
@ -859,12 +859,12 @@
};
perl = buildGrammar {
language = "perl";
version = "ff5c310";
version = "749d26f";
source = fetchFromGitHub {
owner = "ganezdragon";
repo = "tree-sitter-perl";
rev = "ff5c3108083af6fcb7575e32a7558b8165a05bcd";
hash = "sha256-ETlvojT2X8gg323zxxNBpNqJ4ARVeo5ICKxRXUpzTv8=";
rev = "749d26fe13fb131b92e6515416096e572575b981";
hash = "sha256-VOLvfgh1ZbuDk1BKBW9ln/9b/seudFv0PTIOFe1AtNE=";
};
};
php = buildGrammar {
@ -969,22 +969,22 @@
};
r = buildGrammar {
language = "r";
version = "0f4f66e";
version = "80efda5";
source = fetchFromGitHub {
owner = "r-lib";
repo = "tree-sitter-r";
rev = "0f4f66e5050037b759ea040dafd596bcdda1de94";
hash = "sha256-5rgc1ZmzFT3Hgv0GKVu5Ns21Nc3Ck8NW2naslvKzguM=";
rev = "80efda55672d1293aa738f956c7ae384ecdc31b4";
hash = "sha256-qUfyITSZRnSm4zZHfkM/Dm5AeFEFLcCtRrInx0Xs/tg=";
};
};
racket = buildGrammar {
language = "racket";
version = "69ca563";
version = "09cb27a";
source = fetchFromGitHub {
owner = "6cdh";
repo = "tree-sitter-racket";
rev = "69ca563af3bcf9d67220532e0814786f2dc34db1";
hash = "sha256-GLBi/NM7dFsPtmZWbFm/vM0gOwqbihOqXnxMR5k8hWE=";
rev = "09cb27a06415bce529a26774a842f5a80d50d362";
hash = "sha256-+chEzpHh4eBTEpx2+sFXDMco18zNPFUu5HMQ3dB+LwI=";
};
};
rasi = buildGrammar {
@ -1049,12 +1049,12 @@
};
rust = buildGrammar {
language = "rust";
version = "47b061c";
version = "0431a2c";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-rust";
rev = "47b061c1e1ba3a7e9c2f450363a50e87de3f7c61";
hash = "sha256-v6ExAQxXIOeLfCjxbIhVEd7XBCkXHCiukRyrUqEBxIA=";
rev = "0431a2c60828731f27491ee9fdefe25e250ce9c9";
hash = "sha256-DnUq8TwLGPtN1GXw0AV2t+tj7UKrU4kU32rjGoCHMpE=";
};
};
scala = buildGrammar {
@ -1069,12 +1069,12 @@
};
scheme = buildGrammar {
language = "scheme";
version = "af0fd1f";
version = "bdcd2c8";
source = fetchFromGitHub {
owner = "6cdh";
repo = "tree-sitter-scheme";
rev = "af0fd1fa452cb2562dc7b5c8a8c55551c39273b9";
hash = "sha256-K3+zmykjq2DpCnk17Ko9LOyGQTBZb1/dgVXIVynCYd4=";
rev = "bdcd2c8496701153506a9e3e1b76dfed852873ba";
hash = "sha256-KfcWGE92nx9lrs3V/lKeE0pPqCqFC/mHamkyryrcdoo=";
};
};
scss = buildGrammar {
@ -1159,14 +1159,14 @@
};
swift = buildGrammar {
language = "swift";
version = "d7808f0";
version = "25f8de3";
source = fetchFromGitHub {
owner = "alex-pinkus";
repo = "tree-sitter-swift";
nativeBuildInputs = [ nodejs tree-sitter ];
postFetch = "pushd $out && tree-sitter generate && popd";
rev = "d7808f030a44dc8768948042baa7566949785e2f";
hash = "sha256-7Gjpf2isOpeOV3ZMTMibK+F4C4v8ywOPin2Wv86s+AM=";
rev = "25f8de356e3c33099ed691bd3b8b5c0fe3a11e15";
hash = "sha256-KCmEE5O7EAA0uUcYkM/FpeEIn9tOqrJosSpYsBvivOk=";
};
};
sxhkdrc = buildGrammar {
@ -1275,12 +1275,12 @@
};
v = buildGrammar {
language = "v";
version = "d0e7c75";
version = "66b92a8";
source = fetchFromGitHub {
owner = "vlang";
repo = "vls";
rev = "d0e7c755193c762eb1521e3b4740b22929cc91cc";
hash = "sha256-d1NeZixsN9992Q1UC5ZKGN4LNxlsvdL91QW2K8d1J9Y=";
rev = "66b92a89ef1e149300df79c0b2a934ad959c8eec";
hash = "sha256-R6Irz3sdyzKH1qWOUwUYK1OKhYs0PUYS/azYn/nb6jk=";
};
location = "tree_sitter_v";
};
@ -1304,6 +1304,16 @@
hash = "sha256-l4DgThuP9EFU55YQ9lgvVP/8pXojOllQ870gRsBF3FE=";
};
};
vhs = buildGrammar {
language = "vhs";
version = "2f87b9d";
source = fetchFromGitHub {
owner = "charmbracelet";
repo = "tree-sitter-vhs";
rev = "2f87b9d973597e69552ecf6a4fe16470fbd8c44e";
hash = "sha256-G1ytXVBeGN1606aFrPdNFp3Khlg/BTFq2VS176Knb7k=";
};
};
vim = buildGrammar {
language = "vim";
version = "4ae7bd6";

View file

@ -652,6 +652,7 @@ https://github.com/nvim-telescope/telescope-fzf-native.nvim/,,
https://github.com/nvim-telescope/telescope-fzf-writer.nvim/,,
https://github.com/nvim-telescope/telescope-fzy-native.nvim/,,
https://github.com/nvim-telescope/telescope-github.nvim/,,
https://github.com/nvim-telescope/telescope-live-grep-args.nvim/,HEAD,
https://github.com/gbrlsnchs/telescope-lsp-handlers.nvim/,,
https://github.com/MrcJkb/telescope-manix/,HEAD,
https://github.com/nvim-telescope/telescope-media-files.nvim/,HEAD,

View file

@ -2615,8 +2615,8 @@ let
mktplcRef = {
name = "shellcheck";
publisher = "timonwong";
version = "0.19.3";
sha256 = "0l8fbim19jgcdgxxgidnhdczxvhls920vrffwrac8k1y34lgfl3v";
version = "0.26.3";
sha256 = "GlyOLc2VrRnA50MkaG83qa0yLUyJYwueqEO+ZeAStYs=";
};
nativeBuildInputs = [ jq moreutils ];
postInstall = ''

View file

@ -0,0 +1,77 @@
{ pkgs
, lib
, stdenv
, fetchurl
, autoPatchelfHook
, dpkg
, ...
}:
with lib;
stdenv.mkDerivation rec {
pname = "figma-linux";
version = "0.10.0";
src = fetchurl {
url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${version}/figma-linux_${version}_linux_amd64.deb";
sha256 = "sha256-+xiXEwSSxpt1/Eu9g57/L+Il/Av+a/mgGBQl/4LKR74=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg ];
buildInputs = with pkgs;[
alsa-lib
at-spi2-atk
cairo
cups.lib
dbus.lib
expat
gdk-pixbuf
glib
gtk3
libdrm
libxkbcommon
mesa
nspr
nss
pango
] ++ (with pkgs.xorg; [
libX11
libXcomposite
libXdamage
libXext
libXfixes
libXrandr
libxcb
libxshmfence
]);
runtimeDependencies = with pkgs; [ eudev ];
unpackCmd = "dpkg -x $src .";
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/lib && cp -r opt/figma-linux/* $_
mkdir -p $out/bin && ln -s $out/lib/figma-linux $_/figma-linux
cp -r usr/* $out
runHook postInstall
'';
postFixup = ''
substituteInPlace $out/share/applications/figma-linux.desktop \
--replace "Exec=/opt/figma-linux/figma-linux" "Exec=$out/bin/${pname}"
'';
meta = {
description = "unofficial Electron-based Figma desktop app for Linux";
homepage = "https://github.com/Figma-Linux/figma-linux";
platforms = [ "x86_64-linux" ];
license = licenses.gpl2;
maintainers = with maintainers; [ ercao ];
};
}

View file

@ -9,43 +9,43 @@
let
pname = "1password";
version = if channel == "stable" then "8.9.4" else "8.9.6-30.BETA";
version = if channel == "stable" then "8.9.8" else "8.9.10-1.BETA";
sources = {
stable = {
x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
sha256 = "sha256-Smq0gOGfBTjIOMwF1AI+TJwXaIiTi/YP9mGIqcjsCNQ=";
sha256 = "sha256-s5GFGsSelnvqdoEgCzU88BG0dc4bUG4IX3fbeciIPIk=";
};
aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
sha256 = "sha256-SJDUfAFEwYnOR+y/6Dg2S/CkA84QogoRpMXOPP5PyrM=";
sha256 = "sha256-wNF9jwHTxuojFQ+s05jhb7dFihE/36cadaBONqrMYF0=";
};
x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
sha256 = "sha256-+2FQQ5FiB0N30JM/Mtnfa04K2XZaf3r/W1+i8VKNslA=";
sha256 = "sha256-Ok0M6jPZ513iTE646PDPu+dK6Y3b/J8oejJQQkQMS2w=";
};
aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
sha256 = "sha256-nhocEwtr6cMSSStPa7S+g8SwPStJVWPblA3HbqJ8q6Q=";
sha256 = "sha256-zocY/0IgiGwuY/ZrMbip34HoRp90ATWRpfAIRhyH9M8=";
};
};
beta = {
x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
sha256 = "sha256-xBfpBkYff1X26Iu0Ee03lIiR6UdJOiaG+kZMVotG0Hc=";
sha256 = "sha256-fW+9mko1OZ5zlTnbZucOjvjus8KVZA4Mcga/4HJyJL4=";
};
aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
sha256 = "0j0v90i78y1m77gpn65iyjdy1xslv1mar1ihxj9jzcmva0nmdmra";
sha256 = "sha256-jczDhKMCEHjE5yXr5jczSalGa4pVFs7V8BcIhueT88M=";
};
x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
sha256 = "sha256-PNlEBFoIGYkDR4TzbudsqAE5vjbiVHTNL7XoflN+mUY=";
sha256 = "sha256-apgXMoZ7yNtUgf6efuSjAK6TGFR230FMK4j95OoXgwQ=";
};
aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
sha256 = "sha256-PYS0N4VeUjNhCncSDXvpyLuHlpv4nn35aJTPANdMXwk=";
sha256 = "sha256-tdGu648joHu5E8ECU1TpkxgfU6ZMHlJAy+VcNDtIscA=";
};
};
};

View file

@ -45,5 +45,6 @@ buildGoModule rec {
homepage = "https://gitlab.com/WhyNotHugo/darkman";
license = licenses.isc;
maintainers = [ maintainers.ajgrf ];
platforms = platforms.linux;
};
}

View file

@ -55,7 +55,7 @@ let
install -Dm444 ${appimageContents}/@joplinapp-desktop.png -t $out/share/pixmaps
substituteInPlace $out/share/applications/@joplinapp-desktop.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' \
--replace 'Icon=joplin' "Icon=$out/share/pixmaps/@joplinapp-desktop.png"
--replace 'Icon=joplin' "Icon=@joplinapp-desktop"
'';
};

View file

@ -7,6 +7,8 @@
, ffmpeg
, glib
, libGLU
, libICE
, libX11
, mesa
, perl
, pkg-config
@ -14,7 +16,6 @@
, python3
, wrapGAppsHook
, wxGTK32
, xlibsWrapper
}:
stdenv.mkDerivation rec {
@ -52,7 +53,8 @@ stdenv.mkDerivation rec {
Carbon
Cocoa
] ++ lib.optionals stdenv.hostPlatform.isLinux [
xlibsWrapper
libICE
libX11
];
postPatch = ''

View file

@ -1,6 +1,7 @@
{ mkDerivation
, lib
, fetchFromGitHub
, substituteAll
, qtbase
, qtwebengine
, qtdeclarative
@ -31,6 +32,17 @@ mkDerivation rec {
sha256 = "sha256-uhVRO9aiYJbUmwDp1+LIYF3wNBbVduVpTtVzaS0oUMU=";
};
patches = [
# Fix Exec= path in runtime-generated
# ~/.config/autostart/syncthingtray.desktop file - this is required because
# we are wrapping the executable. We can't use `substituteAll` because we
# can't use `${placeholder "out"}` because that will produce the $out of
# the patch derivation itself, and not of syncthing's "out" placeholder.
# Hence we use a C definition with NIX_CFLAGS_COMPILE
./use-nix-path-in-autostart.patch
];
NIX_CFLAGS_COMPILE = "-DEXEC_NIX_PATH=\"${placeholder "out"}/bin/syncthingtray\"";
buildInputs = [
qtbase
cpp-utilities

View file

@ -0,0 +1,13 @@
diff --git i/widgets/settings/settingsdialog.cpp w/widgets/settings/settingsdialog.cpp
index 4deff1f..16845b5 100644
--- i/widgets/settings/settingsdialog.cpp
+++ w/widgets/settings/settingsdialog.cpp
@@ -802,7 +802,7 @@ bool setAutostartEnabled(bool enabled)
desktopFile.write("[Desktop Entry]\n"
"Name=" APP_NAME "\n"
"Exec=\"");
- desktopFile.write(qEnvironmentVariable("APPIMAGE", QCoreApplication::applicationFilePath()).toUtf8().data());
+ desktopFile.write(qEnvironmentVariable("APPIMAGE", EXEC_NIX_PATH).toUtf8().data());
desktopFile.write("\" qt-widgets-gui --single-instance\nComment=" APP_DESCRIPTION "\n"
"Icon=" PROJECT_NAME "\n"
"Type=Application\n"

View file

@ -2,16 +2,17 @@
buildGoModule rec {
pname = "argocd";
version = "2.5.1";
version = "2.5.2";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = "v${version}";
sha256 = "sha256-UwMJnmvwcN/OuIbFJJEE7A5WFjzfvpe5ljMmbSLQsnA=";
sha256 = "sha256-xiqxCYGSpsREZyylWJCIbFPPr3jISxD0wS/L/P77BF8=";
};
vendorSha256 = "sha256-LmIvNenKV6ie2FZBj/jN70pKe1m8kFg/IQ8z5q8tO8A=";
proxyVendor = true; # darwin/linux hash mismatch
vendorSha256 = "sha256-F5EY1/WWRPBN5fqp2J2mdpIzL1gNKR0ltzSdarT6dFw=";
# Set target as ./cmd per cli-local
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L227

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "atmos";
version = "1.10.4";
version = "1.13.1";
src = fetchFromGitHub {
owner = "cloudposse";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ZNoucLjvj5nZxIDbzoAXtIx3TAg405+CaKBSLmC1PNM=";
sha256 = "sha256-iL8quRwW4idY880aEM2rwXRh6JXIvMzlfBDcz2TgHjw=";
};
vendorSha256 = "sha256-j4KvGLnFm3P9EUXxfRgsandKc0lJMs9ntBQacsEha2w=";
vendorSha256 = "sha256-pr33Ya6cg3EKIVTBTY8DD0lyTMPF1FcRQK2jdyPiE44=";
ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];

View file

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub, docker }:
{ lib, stdenv, buildGoModule, fetchFromGitHub, docker }:
buildGoModule rec {
pname = "fn";
@ -32,5 +32,6 @@ buildGoModule rec {
homepage = "https://fnproject.io";
license = licenses.asl20;
maintainers = [ maintainers.c4605 ];
broken = stdenv.isDarwin;
};
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubernetes-helm";
version = "3.10.1";
version = "3.10.2";
src = fetchFromGitHub {
owner = "helm";
repo = "helm";
rev = "v${version}";
sha256 = "sha256-OyU97zyN7fZMZAD2BEp8TW2z2E9Rl/yeiVkQaJ1GWZk=";
sha256 = "sha256-ly48zSsi+dV4te68LX8NtaJ9eLC46sSakExR2a+3b5U=";
};
vendorSha256 = "sha256-vyHT/N5lat/vqM2jK4Q+jJOtZpS52YCYGcJqfa5e0KM=";

View file

@ -2,14 +2,14 @@
buildGoModule rec {
pname = "velero";
version = "1.9.2";
version = "1.9.3";
src = fetchFromGitHub {
owner = "vmware-tanzu";
repo = "velero";
rev = "v${version}";
sha256 = "sha256-xhsHFb3X1oM68xnYiVEa0eZr7VFdUCkNzeyvci6wb9g=";
sha256 = "sha256-UN1nxzcoaUrqmFAJ6LQ+Ro6Ywn/mG7J+MEJIUbpBiK4=";
};
ldflags = [
@ -20,7 +20,7 @@ buildGoModule rec {
"-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=none"
];
vendorSha256 = "sha256-l8srlzoCcBZFOwVs7veQ1RvqWRIqQAaZLM/2CbNHN50=";
vendorSha256 = "sha256-QSR8nSKSKaFyFC6yik3f44mdNvSBgE4bFIGttuJ5oRM=";
excludedPackages = [ "issue-template-gen" "release-tools" "v1" "velero-restic-restore-helper" ];

View file

@ -14,6 +14,7 @@
, Security
, AppKit
, CoreServices
, sqlcipher
}:
let
@ -87,7 +88,9 @@ stdenv.mkDerivation rec {
done
# executable wrapper
# LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102
makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
--set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \
--add-flags "$out/share/element/electron" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"

View file

@ -5,13 +5,13 @@
mkDerivation rec {
pname = "qownnotes";
version = "22.10.2";
version = "22.11.4";
src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Fetch the checksum of current version with curl:
# curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
hash = "sha256-cHUkMrfVrdQXKrmK2jcNT6CHw0+VEWc1tp1XGuI0XcQ=";
hash = "sha256-oZLbplYn1AYCv/fPb2dotpQeb8MITx7F5Tc4Wxd65Ew=";
};
nativeBuildInputs = [ qmake qttools ];

View file

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, stdenv, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "element";
@ -18,5 +18,6 @@ buildGoModule rec {
homepage = "https://github.com/gennaro-tedesco/element";
license = licenses.asl20;
maintainers = [ maintainers.j0hax ];
broken = stdenv.isDarwin;
};
}

View file

@ -5,13 +5,13 @@ let
in buildPythonApplication rec {
pname = "git-cola";
version = "4.0.2";
version = "4.0.3";
src = fetchFromGitHub {
owner = "git-cola";
repo = "git-cola";
rev = "refs/tags/v${version}";
hash = "sha256-5PE2Ey9IwNzxl4mk7tzaSWXiTmRFlxDO5MhoIYAwEag=";
hash = "sha256-w3SbuquHuWTYg1N3kcix4S5vrsmclVSrHf6uv8CYU6w=";
};
buildInputs = [ git gettext ];

View file

@ -21,11 +21,11 @@ let
self = python3Packages.buildPythonApplication rec {
pname = "mercurial${lib.optionalString fullBuild "-full"}";
version = "6.2.3";
version = "6.3.0";
src = fetchurl {
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
sha256 = "sha256-mNGuAC9orfU9ZcWUf+i3o3n5jPBdm46h9Ad9LKXc6ds=";
sha256 = "sha256-iAOZtVSh3mQQFs5fNbiEDXXxjWh7mrHDWNrAWK1m5pg=";
};
format = "other";
@ -35,7 +35,7 @@ let
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
inherit src;
name = "mercurial-${version}";
sha256 = "sha256-UWYXVPdEMITLNdBjnoo8IuLOGZiwUJL+dqSl26nf5qs=";
sha256 = "sha256-VfIZ1bV8bhjjBL4KNjToPuu8gg9TkChziH2rRKhdRXE=";
sourceRoot = "mercurial-${version}/rust";
} else null;
cargoRoot = if rustSupport then "rust" else null;
@ -149,9 +149,6 @@ let
# doesn't like the extra setlocale warnings emitted by our bash wrappers
test-locale.t
# Python 3.10 error message change https://bz.mercurial-scm.org/show_bug.cgi?id=6643
test-http-bad-server.t
# Python 3.10-3.12 deprecation warning: distutils
# https://bz.mercurial-scm.org/show_bug.cgi?id=6729
test-hghave.t
@ -159,6 +156,10 @@ let
# Python 3.10-3.12 deprecation warning: asyncore
# https://bz.mercurial-scm.org/show_bug.cgi?id=6727
test-patchbomb-tls.t
# Test broken with recent versions of git due to default policy change
# https://foss.heptapod.net/mercurial/mercurial-devel/-/merge_requests/302
test-convert-git.t
EOF
export HGTEST_REAL_HG="${mercurial}/bin/hg"

View file

@ -64,6 +64,7 @@ in python3.pkgs.buildPythonApplication rec {
--replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" "" \
--replace 'cloup = "^0.13.0"' 'cloup = "*"' \
--replace 'mapbox-earcut = "^0.12.10"' 'mapbox-earcut = "*"' \
--replace 'click = ">=7.2<=9.0"' 'click = ">=7.2,<=9.0"' # https://github.com/ManimCommunity/manim/pull/2954
'';
buildInputs = [ cairo ];

View file

@ -26,6 +26,8 @@
obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix { };
obs-source-record = callPackage ./obs-source-record.nix { };
obs-vkcapture = callPackage ./obs-vkcapture.nix {
obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
};

View file

@ -0,0 +1,34 @@
{ lib, stdenv, fetchFromGitHub, cmake, obs-studio }:
stdenv.mkDerivation rec {
pname = "obs-source-record";
version = "unstable-2022-11-10";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-source-record";
rev = "4a543d3577d56a27f5f2b9aa541a466b37dafde0";
sha256 = "sha256-LoMgrWZ7r6lu2fisNvqrAiFvxWQQDE6lSxUHkMB/ZPY=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
obs-studio
];
cmakeFlags = [
"-DBUILD_OUT_OF_TREE=On"
];
postInstall = ''
rm -rf $out/{data,obs-plugins}
'';
meta = with lib; {
description = "OBS Studio plugin to make sources available to record via a filter";
homepage = "https://github.com/exeldro/obs-source-record";
maintainers = with maintainers; [ robbins ];
license = licenses.gpl2Only;
platforms = [ "x86_64-linux" ];
};
}

View file

@ -1,27 +1,30 @@
{ lib, fetchFromGitHub, buildGoPackage }:
{ lib, fetchFromGitHub, buildGoModule }:
buildGoPackage rec {
pname = "amazon-ecs-agent";
buildGoModule rec {
pname = "amazon-ecs-agent";
version = "1.66.2";
goPackagePath = "github.com/aws/${pname}";
subPackages = [ "agent" ];
src = fetchFromGitHub {
rev = "v${version}";
owner = "aws";
repo = pname;
sha256 = "sha256-mZzDvD+40YiC8cBpLlYd7K1p5UBYpso9OMCDijopuik=";
rev = "v${version}";
owner = "aws";
repo = pname;
hash = "sha256-mZzDvD+40YiC8cBpLlYd7K1p5UBYpso9OMCDijopuik=";
};
vendorHash = null;
modRoot = "./agent";
excludedPackages = [ "./version/gen" ];
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "The agent that runs on AWS EC2 container instances and starts containers on behalf of Amazon ECS";
homepage = "https://github.com/aws/amazon-ecs-agent";
changelog = "https://github.com/aws/amazon-ecs-agent/raw/v${version}/CHANGELOG.md";
license = licenses.asl20;
platforms = platforms.unix;
homepage = "https://github.com/aws/amazon-ecs-agent";
changelog = "https://github.com/aws/amazon-ecs-agent/raw/v${version}/CHANGELOG.md";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ copumpkin ];
mainProgram = "agent";
};

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "v2ray-geoip";
version = "202211030059";
version = "202211100058";
src = fetchFromGitHub {
owner = "v2fly";
repo = "geoip";
rev = "b7d16c8aea9bbe2555fe4aabddd1fb86f9785229";
sha256 = "sha256-1WxqD9a0uJY+/DiFwESkEceN2EJvDl5qhLg4oEs5uSA=";
rev = "6fcf11f003829b16b534a710a26549b741e81311";
sha256 = "sha256-XlqfXRJa4xnw8lqC94TfRcXVW/8L7hrqENfC7A7rTpI=";
};
installPhase = ''

View file

@ -37,7 +37,7 @@ assert langGo -> langCC;
assert langAda -> gnatboot != null;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -65,7 +65,7 @@ let majorVersion = "10";
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ optional (buildPlatform.system == "aarch64-darwin" && targetPlatform != buildPlatform) (fetchpatch {
url = "https://raw.githubusercontent.com/richard-vd/musl-cross-make/5e9e87f06fc3220e102c29d3413fbbffa456fcd6/patches/gcc-${version}/0008-darwin-aarch64-self-host-driver.patch";
@ -179,7 +179,7 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -199,7 +199,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -37,7 +37,7 @@ assert langGo -> langCC;
assert langAda -> gnatboot != null;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -76,7 +76,7 @@ let majorVersion = "11";
})
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch;
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
@ -187,7 +187,7 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -207,7 +207,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -41,7 +41,7 @@ assert langAda -> gnatboot != null;
assert !langD;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -71,7 +71,7 @@ let majorVersion = "12";
++ optional langD ../libphobos.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch;
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
@ -180,7 +180,7 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -201,7 +201,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -45,7 +45,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
assert langGo -> langCC;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -188,7 +188,7 @@ stdenv.mkDerivation ({
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross;
preConfigure = import ../common/pre-configure.nix {
inherit lib;
@ -204,7 +204,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -45,7 +45,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
assert langGo -> langCC;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -208,7 +208,7 @@ stdenv.mkDerivation ({
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross;
preConfigure = import ../common/pre-configure.nix {
inherit lib;
@ -224,7 +224,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -48,7 +48,7 @@ assert langGo -> langCC;
assert langAda -> gnatboot != null;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -72,7 +72,7 @@ let majorVersion = "6";
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ optional (targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb";
sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2";
@ -217,7 +217,7 @@ stdenv.mkDerivation ({
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -235,7 +235,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -32,7 +32,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
assert langGo -> langCC;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -75,7 +75,7 @@ let majorVersion = "7";
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ [ ../libsanitizer-no-cyclades-9.patch ];
@ -184,7 +184,7 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -203,7 +203,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -32,7 +32,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
assert langGo -> langCC;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -59,8 +59,7 @@ let majorVersion = "8";
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ [ ../libsanitizer-no-cyclades-9.patch ];
/* Cross-gcc settings (build == host != target) */
@ -168,7 +167,7 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -186,7 +185,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -41,7 +41,7 @@ assert langGo -> langCC;
assert langAda -> gnatboot != null;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
@ -71,7 +71,7 @@ let majorVersion = "9";
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch
;
/* Cross-gcc settings (build == host != target) */
@ -180,7 +180,7 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -198,7 +198,7 @@ stdenv.mkDerivation ({
lib
stdenv
targetPackages
crossStageStatic libcCross
crossStageStatic libcCross threadsCross
version
gmp mpfr libmpc isl

View file

@ -2,6 +2,7 @@
, targetPackages
, crossStageStatic, libcCross
, threadsCross
, version
, gmp, mpfr, libmpc, isl
@ -86,7 +87,7 @@ let
"--enable-__cxa_atexit"
"--enable-long-long"
"--enable-threads=${if targetPlatform.isUnix then "posix"
else if targetPlatform.isWindows then "mcf"
else if targetPlatform.isWindows then (threadsCross.model or "win32")
else "single"}"
"--enable-nls"
] ++ lib.optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [

View file

@ -15,7 +15,7 @@ in
"-B${lib.getLib dep}${dep.libdir or "/lib"}"
]);
in mkFlags libcCross langD
++ lib.optionals (!crossStageStatic) (mkFlags threadsCross langD)
++ lib.optionals (!crossStageStatic) (mkFlags (threadsCross.package or null) langD)
;
EXTRA_LDFLAGS_FOR_TARGET = let
@ -28,6 +28,6 @@ in
"-Wl,-rpath-link,${lib.getLib dep}${dep.libdir or "/lib"}"
]));
in mkFlags libcCross
++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
++ lib.optionals (!crossStageStatic) (mkFlags (threadsCross.package or null))
;
}

View file

@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
depsBuildTarget = lib.optional isCross targetCC;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
postPatch = ''
patchShebangs .

View file

@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
depsBuildTarget = lib.optional isCross targetCC;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
postPatch = ''
patchShebangs .

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi, libxcrypt }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi, libxcrypt
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -99,6 +101,8 @@ stdenv.mkDerivation {
for f in $out/lib/*/*builtins-i?86*; do
ln -s "$f" $(echo "$f" | sed -e 's/builtins-i.86/builtins-i386/')
done
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -156,7 +156,7 @@ let
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
'' + lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags

View file

@ -28,7 +28,7 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [ cmake ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
"-DLLVM_ENABLE_LIBCXX=ON"

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, xcbuild, libllvm, libcxxabi, libxcrypt }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, xcbuild, libllvm, libcxxabi, libxcrypt
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -108,6 +110,8 @@ stdenv.mkDerivation {
for f in $out/lib/*/*builtins-i?86*; do
ln -s "$f" $(echo "$f" | sed -e 's/builtins-i.86/builtins-i386/')
done
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -172,7 +172,7 @@ let
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
'' + lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags

View file

@ -1,7 +1,7 @@
{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version
, enableShared ? !stdenv.hostPlatform.isStatic
, standalone ? stdenv.hostPlatform.useLLVM or false
, withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm
, withLibunwind ? !stdenv.isDarwin && !stdenv.hostPlatform.isWasm
}:
stdenv.mkDerivation {

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, xcbuild, libllvm, libcxxabi, libxcrypt }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, xcbuild, libllvm, libcxxabi, libxcrypt
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -94,6 +96,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -163,7 +163,7 @@ let
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
'' + lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags

View file

@ -1,7 +1,7 @@
{ lib, stdenv, llvm_meta, cmake, python3, fetch, libcxx, libunwind, llvm, version
, enableShared ? !stdenv.hostPlatform.isStatic
, standalone ? stdenv.hostPlatform.useLLVM or false
, withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm
, withLibunwind ? !stdenv.isDarwin && !stdenv.hostPlatform.isWasm
}:
stdenv.mkDerivation {

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, src, cmake, python3, xcbuild, libllvm, libcxxabi, libxcrypt }:
{ lib, stdenv, llvm_meta, version, src, cmake, python3, xcbuild, libllvm, libcxxabi, libxcrypt
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -99,6 +101,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -163,7 +163,7 @@ let
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
'' + lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags

View file

@ -1,7 +1,7 @@
{ lib, stdenv, llvm_meta, cmake, python3, src, cxx-headers, libunwind, version
, enableShared ? !stdenv.hostPlatform.isStatic
, standalone ? stdenv.hostPlatform.useLLVM or false
, withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm
, withLibunwind ? !stdenv.isDarwin && !stdenv.hostPlatform.isWasm
}:
stdenv.mkDerivation rec {

View file

@ -1,6 +1,7 @@
{ lib, stdenv, llvm_meta, version
, monorepoSrc, runCommand
, cmake, python3, xcbuild, libllvm, libcxxabi, libxcrypt
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -110,6 +111,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -166,7 +166,7 @@ let
]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind"
++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false)
(!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
};

View file

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [ cmake python3 ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
cmakeFlags = [
"-DLIBCXXABI_LIBCXX_INCLUDES=${cxx-headers}/include/c++/v1"

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -86,6 +88,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/freebsd/libgcc.a
'';
meta = llvm_meta // {

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [ cmake ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
buildInputs = lib.optional (!stdenv.isDarwin) libunwind;
preInstall = lib.optionalString stdenv.isDarwin ''
for file in lib/*.dylib; do

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -86,6 +88,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/freebsd/libgcc.a
'';
meta = llvm_meta // {

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [ cmake ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
buildInputs = lib.optional (!stdenv.isDarwin) libunwind;
preInstall = lib.optionalString stdenv.isDarwin ''
for file in lib/*.dylib; do

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -89,6 +91,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -163,7 +163,7 @@ let
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
'' + lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags

View file

@ -1,7 +1,7 @@
{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version
, fetchpatch
, standalone ? stdenv.hostPlatform.useLLVM or false
, withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm
, withLibunwind ? !stdenv.isDarwin && !stdenv.hostPlatform.isWasm
# on musl the shared objects don't build
, enableShared ? !stdenv.hostPlatform.isStatic
}:

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -89,6 +91,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -164,7 +164,7 @@ let
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
'' + lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags

View file

@ -28,7 +28,7 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [ cmake ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
"-DLLVM_ENABLE_LIBCXX=ON"

View file

@ -1,4 +1,6 @@
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -88,6 +90,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -164,7 +164,7 @@ let
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
'' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
'' + lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags

View file

@ -28,7 +28,7 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [ cmake ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
"-DLLVM_ENABLE_LIBCXX=ON"

View file

@ -1,6 +1,7 @@
{ lib, stdenv, llvm_meta, version
, monorepoSrc, runCommand
, cmake, python3, xcbuild, libllvm, libcxxabi
, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
}:
let
@ -106,6 +107,8 @@ stdenv.mkDerivation {
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
'' + lib.optionalString doFakeLibgcc ''
ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
'';
meta = llvm_meta // {

View file

@ -166,7 +166,7 @@ let
]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind"
++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false)
(!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
};

View file

@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [ cmake python3 ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
cmakeFlags = [
"-DLLVM_ENABLE_RUNTIMES=libcxxabi"

Some files were not shown because too many files have changed in this diff Show more