Merge #135477: branch 'staging-next'
This commit is contained in:
commit
ff94eef5c1
@ -16,7 +16,7 @@ How to add a new (major) version of the Linux kernel to Nixpkgs:
|
|||||||
|
|
||||||
1. Copy the old Nix expression (e.g. `linux-2.6.21.nix`) to the new one (e.g. `linux-2.6.22.nix`) and update it.
|
1. Copy the old Nix expression (e.g. `linux-2.6.21.nix`) to the new one (e.g. `linux-2.6.22.nix`) and update it.
|
||||||
|
|
||||||
2. Add the new kernel to `all-packages.nix` (e.g., create an attribute `kernel_2_6_22`).
|
2. Add the new kernel to the `kernels` attribute set in `linux-kernels.nix` (e.g., create an attribute `kernel_2_6_22`).
|
||||||
|
|
||||||
3. Now we’re going to update the kernel configuration. First unpack the kernel. Then for each supported platform (`i686`, `x86_64`, `uml`) do the following:
|
3. Now we’re going to update the kernel configuration. First unpack the kernel. Then for each supported platform (`i686`, `x86_64`, `uml`) do the following:
|
||||||
|
|
||||||
@ -36,6 +36,6 @@ How to add a new (major) version of the Linux kernel to Nixpkgs:
|
|||||||
|
|
||||||
5. Copy `.config` over the new config file (e.g. `config-2.6.22-i686-smp`).
|
5. Copy `.config` over the new config file (e.g. `config-2.6.22-i686-smp`).
|
||||||
|
|
||||||
4. Test building the kernel: `nix-build -A kernel_2_6_22`. If it compiles, ship it! For extra credit, try booting NixOS with it.
|
4. Test building the kernel: `nix-build -A linuxKernel.kernels.kernel_2_6_22`. If it compiles, ship it! For extra credit, try booting NixOS with it.
|
||||||
|
|
||||||
5. It may be that the new kernel requires updating the external kernel modules and kernel-dependent packages listed in the `linuxPackagesFor` function in `all-packages.nix` (such as the NVIDIA drivers, AUFS, etc.). If the updated packages aren’t backwards compatible with older kernels, you may need to keep the older versions around.
|
5. It may be that the new kernel requires updating the external kernel modules and kernel-dependent packages listed in the `linuxPackagesFor` function in `linux-kernels.nix` (such as the NVIDIA drivers, AUFS, etc.). If the updated packages aren’t backwards compatible with older kernels, you may need to keep the older versions around.
|
||||||
|
@ -5,13 +5,18 @@ option `boot.kernelPackages`. For instance, this selects the Linux 3.10
|
|||||||
kernel:
|
kernel:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
boot.kernelPackages = pkgs.linuxPackages_3_10;
|
boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_10;
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that this not only replaces the kernel, but also packages that are
|
Note that this not only replaces the kernel, but also packages that are
|
||||||
specific to the kernel version, such as the NVIDIA video drivers. This
|
specific to the kernel version, such as the NVIDIA video drivers. This
|
||||||
ensures that driver packages are consistent with the kernel.
|
ensures that driver packages are consistent with the kernel.
|
||||||
|
|
||||||
|
While `pkgs.linuxKernel.packages` contains all available kernel packages,
|
||||||
|
you may want to use one of the unversioned `pkgs.linuxPackages_*` aliases
|
||||||
|
such as `pkgs.linuxPackages_latest`, that are kept up to date with new
|
||||||
|
versions.
|
||||||
|
|
||||||
The default Linux kernel configuration should be fine for most users.
|
The default Linux kernel configuration should be fine for most users.
|
||||||
You can see the configuration of your current kernel with the following
|
You can see the configuration of your current kernel with the following
|
||||||
command:
|
command:
|
||||||
@ -25,14 +30,13 @@ If you want to change the kernel configuration, you can use the
|
|||||||
instance, to enable support for the kernel debugger KGDB:
|
instance, to enable support for the kernel debugger KGDB:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
nixpkgs.config.packageOverrides = pkgs:
|
nixpkgs.config.packageOverrides = pkgs: pkgs.lib.recursiveUpdate pkgs {
|
||||||
{ linux_3_4 = pkgs.linux_3_4.override {
|
linuxKernel.kernels.linux_5_10 = pkgs.linuxKernel.kernels.linux_5_10.override {
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
|
||||||
KGDB y
|
KGDB y
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
`extraConfig` takes a list of Linux kernel configuration options, one
|
`extraConfig` takes a list of Linux kernel configuration options, one
|
||||||
@ -72,13 +76,14 @@ available parameters, run `sysctl -a`.
|
|||||||
|
|
||||||
The first step before compiling the kernel is to generate an appropriate
|
The first step before compiling the kernel is to generate an appropriate
|
||||||
`.config` configuration. Either you pass your own config via the
|
`.config` configuration. Either you pass your own config via the
|
||||||
`configfile` setting of `linuxManualConfig`:
|
`configfile` setting of `linuxKernel.manualConfig`:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
custom-kernel = super.linuxManualConfig {
|
custom-kernel = let base_kernel = linuxKernel.kernels.linux_4_9;
|
||||||
|
in super.linuxKernel.manualConfig {
|
||||||
inherit (super) stdenv hostPlatform;
|
inherit (super) stdenv hostPlatform;
|
||||||
inherit (linux_4_9) src;
|
inherit (base_kernel) src;
|
||||||
version = "${linux_4_9.version}-custom";
|
version = "${base_kernel.version}-custom";
|
||||||
|
|
||||||
configfile = /home/me/my_kernel_config;
|
configfile = /home/me/my_kernel_config;
|
||||||
allowImportFromDerivation = true;
|
allowImportFromDerivation = true;
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
selects the Linux 3.10 kernel:
|
selects the Linux 3.10 kernel:
|
||||||
</para>
|
</para>
|
||||||
<programlisting language="bash">
|
<programlisting language="bash">
|
||||||
boot.kernelPackages = pkgs.linuxPackages_3_10;
|
boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_10;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
<para>
|
<para>
|
||||||
Note that this not only replaces the kernel, but also packages that
|
Note that this not only replaces the kernel, but also packages that
|
||||||
@ -14,6 +14,13 @@ boot.kernelPackages = pkgs.linuxPackages_3_10;
|
|||||||
drivers. This ensures that driver packages are consistent with the
|
drivers. This ensures that driver packages are consistent with the
|
||||||
kernel.
|
kernel.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
While <literal>pkgs.linuxKernel.packages</literal> contains all
|
||||||
|
available kernel packages, you may want to use one of the
|
||||||
|
unversioned <literal>pkgs.linuxPackages_*</literal> aliases such as
|
||||||
|
<literal>pkgs.linuxPackages_latest</literal>, that are kept up to
|
||||||
|
date with new versions.
|
||||||
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The default Linux kernel configuration should be fine for most
|
The default Linux kernel configuration should be fine for most
|
||||||
users. You can see the configuration of your current kernel with the
|
users. You can see the configuration of your current kernel with the
|
||||||
@ -29,14 +36,13 @@ zcat /proc/config.gz
|
|||||||
enable support for the kernel debugger KGDB:
|
enable support for the kernel debugger KGDB:
|
||||||
</para>
|
</para>
|
||||||
<programlisting language="bash">
|
<programlisting language="bash">
|
||||||
nixpkgs.config.packageOverrides = pkgs:
|
nixpkgs.config.packageOverrides = pkgs: pkgs.lib.recursiveUpdate pkgs {
|
||||||
{ linux_3_4 = pkgs.linux_3_4.override {
|
linuxKernel.kernels.linux_5_10 = pkgs.linuxKernel.kernels.linux_5_10.override {
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
|
||||||
KGDB y
|
KGDB y
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
</programlisting>
|
</programlisting>
|
||||||
<para>
|
<para>
|
||||||
<literal>extraConfig</literal> takes a list of Linux kernel
|
<literal>extraConfig</literal> takes a list of Linux kernel
|
||||||
@ -82,13 +88,14 @@ boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 120;
|
|||||||
The first step before compiling the kernel is to generate an
|
The first step before compiling the kernel is to generate an
|
||||||
appropriate <literal>.config</literal> configuration. Either you
|
appropriate <literal>.config</literal> configuration. Either you
|
||||||
pass your own config via the <literal>configfile</literal> setting
|
pass your own config via the <literal>configfile</literal> setting
|
||||||
of <literal>linuxManualConfig</literal>:
|
of <literal>linuxKernel.manualConfig</literal>:
|
||||||
</para>
|
</para>
|
||||||
<programlisting language="bash">
|
<programlisting language="bash">
|
||||||
custom-kernel = super.linuxManualConfig {
|
custom-kernel = let base_kernel = linuxKernel.kernels.linux_4_9;
|
||||||
|
in super.linuxKernel.manualConfig {
|
||||||
inherit (super) stdenv hostPlatform;
|
inherit (super) stdenv hostPlatform;
|
||||||
inherit (linux_4_9) src;
|
inherit (base_kernel) src;
|
||||||
version = "${linux_4_9.version}-custom";
|
version = "${base_kernel.version}-custom";
|
||||||
|
|
||||||
configfile = /home/me/my_kernel_config;
|
configfile = /home/me/my_kernel_config;
|
||||||
allowImportFromDerivation = true;
|
allowImportFromDerivation = true;
|
||||||
|
@ -983,6 +983,20 @@ Superuser created successfully.
|
|||||||
<section xml:id="sec-release-21.11-notable-changes">
|
<section xml:id="sec-release-21.11-notable-changes">
|
||||||
<title>Other Notable Changes</title>
|
<title>Other Notable Changes</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The linux kernel package infrastructure was moved out of
|
||||||
|
<literal>all-packages.nix</literal>, and restructured. Linux
|
||||||
|
related functions and attributes now live under the
|
||||||
|
<literal>pkgs.linuxKernel</literal> attribute set. In
|
||||||
|
particular the versioned <literal>linuxPackages_*</literal>
|
||||||
|
package sets (such as <literal>linuxPackages_5_4</literal>)
|
||||||
|
and kernels from <literal>pkgs</literal> were moved there and
|
||||||
|
now live under <literal>pkgs.linuxKernel.packages.*</literal>.
|
||||||
|
The unversioned ones (such as
|
||||||
|
<literal>linuxPackages_latest</literal>) remain untouched.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The setting
|
The setting
|
||||||
@ -1171,6 +1185,24 @@ Superuser created successfully.
|
|||||||
but instead use more of the YAML-specific syntax.
|
but instead use more of the YAML-specific syntax.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
MariaDB was upgraded from 10.5.x to 10.6.x. Please read the
|
||||||
|
<link xlink:href="https://mariadb.com/kb/en/changes-improvements-in-mariadb-106/">upstream
|
||||||
|
release notes</link> for changes and upgrade instructions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The MariaDB C client library, also known as libmysqlclient or
|
||||||
|
mariadb-connector-c, was upgraded from 3.1.x to 3.2.x. While
|
||||||
|
this should hopefully not have any impact, this upgrade comes
|
||||||
|
with some changes to default behavior, so you might want to
|
||||||
|
review the
|
||||||
|
<link xlink:href="https://mariadb.com/kb/en/changes-and-improvements-in-mariadb-connector-c-32/">upstream
|
||||||
|
release notes</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
GNOME desktop environment now enables
|
GNOME desktop environment now enables
|
||||||
|
@ -302,6 +302,9 @@ To be able to access the web UI this port needs to be opened in the firewall.
|
|||||||
|
|
||||||
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
||||||
|
|
||||||
|
- The linux kernel package infrastructure was moved out of `all-packages.nix`, and restructured. Linux related functions and attributes now live under the `pkgs.linuxKernel` attribute set.
|
||||||
|
In particular the versioned `linuxPackages_*` package sets (such as `linuxPackages_5_4`) and kernels from `pkgs` were moved there and now live under `pkgs.linuxKernel.packages.*`. The unversioned ones (such as `linuxPackages_latest`) remain untouched.
|
||||||
|
|
||||||
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
|
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
|
||||||
|
|
||||||
However, if [`services.fail2ban.enable`](options.html#opt-services.fail2ban.enable) is `true`, the `fail2ban` will override the verbosity to `"VERBOSE"`, so that `fail2ban` can observe the failed login attempts from the SSH logs.
|
However, if [`services.fail2ban.enable`](options.html#opt-services.fail2ban.enable) is `true`, the `fail2ban` will override the verbosity to `"VERBOSE"`, so that `fail2ban` can observe the failed login attempts from the SSH logs.
|
||||||
@ -352,6 +355,10 @@ To be able to access the web UI this port needs to be opened in the firewall.
|
|||||||
|
|
||||||
- `lib.formats.yaml`'s `generate` will not generate JSON anymore, but instead use more of the YAML-specific syntax.
|
- `lib.formats.yaml`'s `generate` will not generate JSON anymore, but instead use more of the YAML-specific syntax.
|
||||||
|
|
||||||
|
- MariaDB was upgraded from 10.5.x to 10.6.x. Please read the [upstream release notes](https://mariadb.com/kb/en/changes-improvements-in-mariadb-106/) for changes and upgrade instructions.
|
||||||
|
|
||||||
|
- The MariaDB C client library, also known as libmysqlclient or mariadb-connector-c, was upgraded from 3.1.x to 3.2.x. While this should hopefully not have any impact, this upgrade comes with some changes to default behavior, so you might want to review the [upstream release notes](https://mariadb.com/kb/en/changes-and-improvements-in-mariadb-connector-c-32/).
|
||||||
|
|
||||||
- GNOME desktop environment now enables `QGnomePlatform` as the Qt platform theme, which should avoid crashes when opening file chooser dialogs in Qt apps by using XDG desktop portal. Additionally, it will make the apps fit better visually.
|
- GNOME desktop environment now enables `QGnomePlatform` as the Qt platform theme, which should avoid crashes when opening file chooser dialogs in Qt apps by using XDG desktop portal. Additionally, it will make the apps fit better visually.
|
||||||
|
|
||||||
- `rofi` has been updated from '1.6.1' to '1.7.0', one important thing is the removal of the old xresources based configuration setup. Read more [in rofi's changelog](https://github.com/davatorium/rofi/blob/cb12e6fc058f4a0f4f/Changelog#L1).
|
- `rofi` has been updated from '1.6.1' to '1.7.0', one important thing is the removal of the old xresources based configuration setup. Read more [in rofi's changelog](https://github.com/davatorium/rofi/blob/cb12e6fc058f4a0f4f/Changelog#L1).
|
||||||
|
@ -93,7 +93,7 @@ in
|
|||||||
boot.initrd.availableKernelModules =
|
boot.initrd.availableKernelModules =
|
||||||
[ "vfat" "reiserfs" ];
|
[ "vfat" "reiserfs" ];
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_3_10;
|
boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_10;
|
||||||
boot.kernelParams = [ "console=tty1" ];
|
boot.kernelParams = [ "console=tty1" ];
|
||||||
|
|
||||||
boot.postBootCommands =
|
boot.postBootCommands =
|
||||||
|
@ -114,7 +114,7 @@ in
|
|||||||
# To be able to use the systemTarball to catch troubles.
|
# To be able to use the systemTarball to catch troubles.
|
||||||
boot.crashDump = {
|
boot.crashDump = {
|
||||||
enable = true;
|
enable = true;
|
||||||
kernelPackages = pkgs.linuxPackages_3_4;
|
kernelPackages = pkgs.linuxKernel.packages.linux_3_4;
|
||||||
};
|
};
|
||||||
|
|
||||||
# No grub for the tarball.
|
# No grub for the tarball.
|
||||||
|
@ -111,7 +111,7 @@ in
|
|||||||
# "console=ttyS0,115200n8" # serial console
|
# "console=ttyS0,115200n8" # serial console
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_3_4;
|
boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_4;
|
||||||
|
|
||||||
boot.supportedFilesystems = [ "reiserfs" ];
|
boot.supportedFilesystems = [ "reiserfs" ];
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
boot.consoleLogLevel = lib.mkDefault 7;
|
boot.consoleLogLevel = lib.mkDefault 7;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_rpi1;
|
boot.kernelPackages = pkgs.linuxKernel.packages.linux_rpi1;
|
||||||
|
|
||||||
sdImage = {
|
sdImage = {
|
||||||
populateFirmwareCommands = let
|
populateFirmwareCommands = let
|
||||||
|
@ -73,6 +73,7 @@ in
|
|||||||
services.automysqlbackup.config = mapAttrs (name: mkDefault) {
|
services.automysqlbackup.config = mapAttrs (name: mkDefault) {
|
||||||
mysql_dump_username = user;
|
mysql_dump_username = user;
|
||||||
mysql_dump_host = "localhost";
|
mysql_dump_host = "localhost";
|
||||||
|
mysql_dump_socket = "/run/mysqld/mysqld.sock";
|
||||||
backup_dir = "/var/backup/mysql";
|
backup_dir = "/var/backup/mysql";
|
||||||
db_exclude = [ "information_schema" "performance_schema" ];
|
db_exclude = [ "information_schema" "performance_schema" ];
|
||||||
mailcontent = "stdout";
|
mailcontent = "stdout";
|
||||||
|
@ -47,7 +47,7 @@ in
|
|||||||
# We don't want to evaluate all of linuxPackages for the manual
|
# We don't want to evaluate all of linuxPackages for the manual
|
||||||
# - some of it might not even evaluate correctly.
|
# - some of it might not even evaluate correctly.
|
||||||
defaultText = "pkgs.linuxPackages";
|
defaultText = "pkgs.linuxPackages";
|
||||||
example = literalExample "pkgs.linuxPackages_2_6_25";
|
example = literalExample "pkgs.linuxKernel.packages.linux_5_10";
|
||||||
description = ''
|
description = ''
|
||||||
This option allows you to override the Linux kernel used by
|
This option allows you to override the Linux kernel used by
|
||||||
NixOS. Since things like external kernel module packages are
|
NixOS. Since things like external kernel module packages are
|
||||||
|
@ -26,6 +26,13 @@ let chia = python3Packages.buildPythonApplication rec {
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py \
|
||||||
|
--replace "==" ">="
|
||||||
|
|
||||||
|
ln -sf ${cacert}/etc/ssl/certs/ca-bundle.crt mozilla-ca/cacert.pem
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
python3Packages.setuptools-scm
|
python3Packages.setuptools-scm
|
||||||
];
|
];
|
||||||
@ -75,17 +82,6 @@ let chia = python3Packages.buildPythonApplication rec {
|
|||||||
"test_using_legacy_keyring"
|
"test_using_legacy_keyring"
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# tweak version requirements to what's available in Nixpkgs
|
|
||||||
substituteInPlace setup.py \
|
|
||||||
--replace "aiohttp==3.7.4" "aiohttp>=3.7.4" \
|
|
||||||
--replace "sortedcontainers==2.3.0" "sortedcontainers>=2.3.0" \
|
|
||||||
--replace "click==7.1.2" "click>=7.1.2" \
|
|
||||||
--replace "clvm==0.9.7" "clvm>=0.9.7" \
|
|
||||||
|
|
||||||
ln -sf ${cacert}/etc/ssl/certs/ca-bundle.crt mozilla-ca/cacert.pem
|
|
||||||
'';
|
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export HOME=`mktemp -d`
|
export HOME=`mktemp -d`
|
||||||
'';
|
'';
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ lib, fetchFromGitHub }:
|
{ lib, fetchFromGitHub }:
|
||||||
rec {
|
rec {
|
||||||
version = "8.2.2567";
|
version = "8.2.3337";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vim";
|
owner = "vim";
|
||||||
repo = "vim";
|
repo = "vim";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-FS3TZX7FKnnNpGYKbng2LIfWA9z2jqg7d2HC6t3xYTU=";
|
sha256 = "sha256-iwSGcLeqXH0bVIXEI5OnotG88Uv8ntycisD9EcHjz/c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "krita";
|
pname = "krita";
|
||||||
version = "4.4.5";
|
version = "4.4.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.gz";
|
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "sha256-S/1ygIcNEGCgDREj2Db8Gltb+KAoZ2Z58CaM1ef7dWg=";
|
sha256 = "sha256-I6fFxPRCcRU5dyFXZPvGvTb9MuGikrvTaGCXpp4LRRk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip_4 makeWrapper ];
|
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip_4 makeWrapper ];
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
extra-cmake-modules,
|
extra-cmake-modules,
|
||||||
qtwebengine,
|
qtwebengine,
|
||||||
grantlee, grantleetheme,
|
grantlee, grantleetheme,
|
||||||
kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets, prison,
|
kcmutils, kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets,
|
||||||
akonadi, akonadi-mime, kcontacts, kmime, libkleo,
|
prison, akonadi, akonadi-mime, kcontacts, kmime, libkleo,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
@ -17,7 +17,7 @@ mkDerivation {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtwebengine
|
qtwebengine
|
||||||
grantlee grantleetheme
|
grantlee grantleetheme
|
||||||
kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison
|
kcmutils kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison
|
||||||
akonadi-mime kcontacts kmime libkleo
|
akonadi-mime kcontacts kmime libkleo
|
||||||
];
|
];
|
||||||
propagatedBuildInputs = [ akonadi ];
|
propagatedBuildInputs = [ akonadi ];
|
||||||
|
@ -1 +1 @@
|
|||||||
WGET_ARGS=( http://download.kde.org/stable/release-service/21.04.0/src -A '*.tar.xz' )
|
WGET_ARGS=( http://download.kde.org/stable/release-service/21.08.0/src -A '*.tar.xz' )
|
||||||
|
@ -19,12 +19,15 @@
|
|||||||
, makeWrapper
|
, makeWrapper
|
||||||
, pulseaudio-qt
|
, pulseaudio-qt
|
||||||
, qca-qt5
|
, qca-qt5
|
||||||
|
, qqc2-desktop-style
|
||||||
, qtgraphicaleffects
|
, qtgraphicaleffects
|
||||||
, qtmultimedia
|
, qtmultimedia
|
||||||
, qtquickcontrols2
|
, qtquickcontrols2
|
||||||
, qtx11extras
|
, qtx11extras
|
||||||
, breeze-icons
|
, breeze-icons
|
||||||
, sshfs
|
, sshfs
|
||||||
|
, wayland
|
||||||
|
, wayland-scanner
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
@ -46,10 +49,13 @@ mkDerivation {
|
|||||||
libfakekey
|
libfakekey
|
||||||
pulseaudio-qt
|
pulseaudio-qt
|
||||||
qca-qt5
|
qca-qt5
|
||||||
|
qqc2-desktop-style
|
||||||
qtgraphicaleffects
|
qtgraphicaleffects
|
||||||
qtmultimedia
|
qtmultimedia
|
||||||
qtquickcontrols2
|
qtquickcontrols2
|
||||||
qtx11extras
|
qtx11extras
|
||||||
|
wayland
|
||||||
|
wayland-scanner
|
||||||
# otherwise buttons are blank on non-kde
|
# otherwise buttons are blank on non-kde
|
||||||
breeze-icons
|
breeze-icons
|
||||||
];
|
];
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -9,13 +9,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "moolticute";
|
pname = "moolticute";
|
||||||
version = "0.45.0";
|
version = "0.50.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mooltipass";
|
owner = "mooltipass";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-azJ63NI0wzzv3acgoPaeF+lTM1WKpXg595FrK908k1U=";
|
sha256 = "sha256-/luba+qYRATP3EjNMB+GIRP6JQOlADsvpF8PzRFqFlM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "udev" ];
|
outputs = [ "out" "udev" ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, fetchurl, python27Packages, python36Packages, wmctrl,
|
{ lib, fetchurl, python27Packages, python3Packages, wmctrl,
|
||||||
qtbase, mkDerivationWith }:
|
qtbase, mkDerivationWith }:
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -24,9 +24,9 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
dev = with python36Packages; mkDerivationWith buildPythonPackage rec {
|
dev = with python3Packages; mkDerivationWith buildPythonPackage rec {
|
||||||
pname = "plover";
|
pname = "plover";
|
||||||
version = "4.0.0.dev8";
|
version = "4.0.0.dev10";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "OpenSteno Plover stenography software";
|
description = "OpenSteno Plover stenography software";
|
||||||
@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz";
|
url = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz";
|
||||||
sha256 = "1wxkmik1zyw5gqig5r0cas5v6f5408fbnximzw610rdisqy09rxp";
|
sha256 = "sha256-Eun+ZgmOIjYw6FS/2OGoBvYh52U/Ue0+NtIqrvV2Tqc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# I'm not sure why we don't find PyQt5 here but there's a similar
|
# I'm not sure why we don't find PyQt5 here but there's a similar
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub
|
{ stdenv, lib, fetchFromGitHub
|
||||||
, python37Packages
|
, python3Packages
|
||||||
, fehSupport ? false, feh
|
, fehSupport ? false, feh
|
||||||
, imagemagickSupport ? true, imagemagick
|
, imagemagickSupport ? true, imagemagick
|
||||||
, intltool
|
, intltool
|
||||||
@ -13,7 +13,7 @@
|
|||||||
, makeWrapper
|
, makeWrapper
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with python37Packages;
|
with python3Packages;
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "variety";
|
pname = "variety";
|
||||||
|
@ -12,8 +12,10 @@ stdenv.mkDerivation {
|
|||||||
buildInputs = [ libXt libXaw libXpm libXext ];
|
buildInputs = [ libXt libXaw libXpm libXext ];
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"BINDIR=$(out)/bin"
|
"BINDIR=${placeholder "out"}/bin"
|
||||||
"XAPPLOADDIR=$(out)/etc/X11/app-defaults"
|
"CONFDIR=${placeholder "out"}/etc/X11"
|
||||||
|
"LIBDIR=${placeholder "out"}/lib/X11"
|
||||||
|
"XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -24,7 +24,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"BINDIR=${placeholder "out"}/bin"
|
"BINDIR=${placeholder "out"}/bin"
|
||||||
|
"CONFDIR=${placeholder "out"}/etc/X11"
|
||||||
"PIXMAPDIR=${placeholder "out"}/share/xxkb"
|
"PIXMAPDIR=${placeholder "out"}/share/xxkb"
|
||||||
|
"LIBDIR=${placeholder "out"}/lib/X11"
|
||||||
"XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
|
"XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
|
||||||
"MANDIR=${placeholder "man"}/share/man"
|
"MANDIR=${placeholder "man"}/share/man"
|
||||||
];
|
];
|
||||||
|
@ -32,8 +32,7 @@
|
|||||||
, openssl
|
, openssl
|
||||||
, pango
|
, pango
|
||||||
, procps
|
, procps
|
||||||
, python37
|
, python3
|
||||||
, python37Packages
|
|
||||||
, stdenv
|
, stdenv
|
||||||
, systemd
|
, systemd
|
||||||
, xdg-utils
|
, xdg-utils
|
||||||
@ -101,8 +100,8 @@ stdenv.mkDerivation rec {
|
|||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
python37
|
python3
|
||||||
python37Packages.dbus-python
|
python3.pkgs.dbus-python
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -1,22 +1,37 @@
|
|||||||
{ buildPythonApplication, fetchFromGitHub, isPy27, pytest, testfixtures, lib }:
|
{ lib
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, testfixtures
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "bump2version";
|
pname = "bump2version";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
disabled = isPy27;
|
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "c4urself";
|
owner = "c4urself";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "10p7rg569rk3qvzs5kjj17894bqlsg3ihhbln6ciwwfhkfq1kpja";
|
sha256 = "sha256-j6HKi3jTwSgGBrA8PCJJNg+yQqRMo1aqaLgPGf4KAKU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkInputs = [ pytest testfixtures ];
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
testfixtures
|
||||||
|
];
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
# X's in pytest are git tests which won't run in sandbox
|
# X's in pytest are git tests which won't run in sandbox
|
||||||
checkPhase = ''
|
"usage_string_fork"
|
||||||
pytest tests/ -k 'not usage_string_fork'
|
"test_usage_string"
|
||||||
'';
|
"test_defaults_in_usage_with_config"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "bumpversion" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Version-bump your software with a single command";
|
description = "Version-bump your software with a single command";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
|
{ lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, libiconv, Security }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "git-interactive-rebase-tool";
|
pname = "git-interactive-rebase-tool";
|
||||||
@ -11,7 +11,15 @@ rustPlatform.buildRustPackage rec {
|
|||||||
sha256 = "sha256-DYl/GUbeNtKmXoR3gq8mK8EfsZNVNlrdngAwfzG+epw=";
|
sha256 = "sha256-DYl/GUbeNtKmXoR3gq8mK8EfsZNVNlrdngAwfzG+epw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-1joMWPfn0s+pLsO6NHMT6AoXZ33R8MY2AWSrROY2mw8=";
|
cargoPatches = [
|
||||||
|
# update git2 crate to fix a compile error
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/MitMaro/git-interactive-rebase-tool/commit/f4d3026f23118d29a263bbca6c83f963e76c34c4.patch";
|
||||||
|
sha256 = "sha256-6ErPRcPbPRXbEslNiNInbbUhbOWb9ZRll7ZDRgTpWS4=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
cargoSha256 = "sha256-2aHW9JIiqkO0X0B0D44tSZ8QkmKH/QZoYvKNEQWldo4=";
|
||||||
|
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ assert sendEmailSupport -> perlSupport;
|
|||||||
assert svnSupport -> perlSupport;
|
assert svnSupport -> perlSupport;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.32.0";
|
version = "2.33.0";
|
||||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||||
|
|
||||||
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||||||
@ -37,7 +37,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||||
sha256 = "08rnm3ipjqdd2n31dw7mxl3iv9g4nxgc409krmz892a37kd43a38";
|
sha256 = "0kqcs8nj5h7rh3q86pw5777awq7gn77lgxk88ynjl1rfz2snlg5z";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" ] ++ lib.optional withManual "doc";
|
outputs = [ "out" ] ++ lib.optional withManual "doc";
|
||||||
@ -297,6 +297,8 @@ stdenv.mkDerivation {
|
|||||||
disable_test t0001-init 'shared overrides system'
|
disable_test t0001-init 'shared overrides system'
|
||||||
disable_test t0001-init 'init honors global core.sharedRepository'
|
disable_test t0001-init 'init honors global core.sharedRepository'
|
||||||
disable_test t1301-shared-repo
|
disable_test t1301-shared-repo
|
||||||
|
# git-completion.bash: line 405: compgen: command not found:
|
||||||
|
disable_test t9902-completion 'option aliases are shown with GIT_COMPLETION_SHOW_ALL'
|
||||||
|
|
||||||
# Our patched gettext never fallbacks
|
# Our patched gettext never fallbacks
|
||||||
disable_test t0201-gettext-fallbacks
|
disable_test t0201-gettext-fallbacks
|
||||||
|
@ -1,28 +1,31 @@
|
|||||||
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
|
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
|
||||||
index 1afe9fc858..05dd7c3a90 100644
|
index 3db4eab4ba..39bc0e77c9 100644
|
||||||
--- a/Documentation/git-send-email.txt
|
--- a/Documentation/git-send-email.txt
|
||||||
+++ b/Documentation/git-send-email.txt
|
+++ b/Documentation/git-send-email.txt
|
||||||
@@ -215,8 +215,7 @@ a password is obtained using 'git-credential'.
|
@@ -220,9 +220,9 @@ a password is obtained using 'git-credential'.
|
||||||
specify a full pathname of a sendmail-like program instead;
|
--smtp-server=<host>::
|
||||||
the program must support the `-i` option. Default value can
|
If set, specifies the outgoing SMTP server to use (e.g.
|
||||||
be specified by the `sendemail.smtpServer` configuration
|
`smtp.example.com` or a raw IP address). If unspecified, and if
|
||||||
- option; the built-in default is to search for `sendmail` in
|
- `--sendmail-cmd` is also unspecified, the default is to search
|
||||||
- `/usr/sbin`, `/usr/lib` and $PATH if such program is
|
- for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such a
|
||||||
+ option; the built-in default is to search in $PATH if such program is
|
- program is available, falling back to `localhost` otherwise.
|
||||||
available, falling back to `localhost` otherwise.
|
+ `--sendmail-cmd` is also unspecified, the default is to search for
|
||||||
|
+ `sendmail` in $PATH if such a program is available, falling back to
|
||||||
--smtp-server-port=<port>::
|
+ `localhost` otherwise.
|
||||||
|
+
|
||||||
|
For backward compatibility, this option can also specify a full pathname
|
||||||
|
of a sendmail-like program instead; the program must support the `-i`
|
||||||
diff --git a/git-send-email.perl b/git-send-email.perl
|
diff --git a/git-send-email.perl b/git-send-email.perl
|
||||||
index 8eb63b5a2f..74a61d8213 100755
|
index e65d969d0b..508d49483d 100755
|
||||||
--- a/git-send-email.perl
|
--- a/git-send-email.perl
|
||||||
+++ b/git-send-email.perl
|
+++ b/git-send-email.perl
|
||||||
@@ -956,8 +956,7 @@ sub expand_one_alias {
|
@@ -1066,8 +1066,7 @@ sub expand_one_alias {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!defined $smtp_server) {
|
if (!defined $sendmail_cmd && !defined $smtp_server) {
|
||||||
- my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail );
|
- my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail );
|
||||||
- push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH};
|
- push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH};
|
||||||
+ my @sendmail_paths = map {"$_/sendmail"} split /:/, $ENV{PATH};
|
+ my @sendmail_paths = map {"$_/sendmail"} split /:/, $ENV{PATH};
|
||||||
foreach (@sendmail_paths) {
|
foreach (@sendmail_paths) {
|
||||||
if (-x $_) {
|
if (-x $_) {
|
||||||
$smtp_server = $_;
|
$sendmail_cmd = $_;
|
||||||
|
@ -50,12 +50,12 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1f9hz8rf12jm8baa7kda34yl4hyl0xh0c4ap03krfjx23i3img47";
|
sha256 = "1f9hz8rf12jm8baa7kda34yl4hyl0xh0c4ap03krfjx23i3img47";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ python python.pkgs.sphinx pkg-config flex bison meson ninja ]
|
nativeBuildInputs = [ makeWrapper python python.pkgs.sphinx pkg-config flex bison meson ninja ]
|
||||||
++ lib.optionals gtkSupport [ wrapGAppsHook ]
|
++ lib.optionals gtkSupport [ wrapGAppsHook ]
|
||||||
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
|
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
|
||||||
|
|
||||||
buildInputs = [ zlib glib perl pixman
|
buildInputs = [ zlib glib perl pixman
|
||||||
vde2 texinfo makeWrapper lzo snappy
|
vde2 texinfo lzo snappy
|
||||||
gnutls nettle curl
|
gnutls nettle curl
|
||||||
]
|
]
|
||||||
++ lib.optionals ncursesSupport [ ncurses ]
|
++ lib.optionals ncursesSupport [ ncurses ]
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, asciidoc
|
, asciidoc
|
||||||
, cmake
|
, cmake
|
||||||
, expat
|
, expat
|
||||||
@ -48,6 +49,15 @@ stdenv.mkDerivation rec {
|
|||||||
hash = "sha256-R06tiWS9z6K5Nbi+vvk7DyozpcFdrHleMeh7Iq/FfHQ=";
|
hash = "sha256-R06tiWS9z6K5Nbi+vvk7DyozpcFdrHleMeh7Iq/FfHQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/ice-wm/icewm/pull/57
|
||||||
|
# Fix trailing -I that leads to "to generate dependencies you must specify either '-M' or '-MM'"
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/ice-wm/icewm/pull/57/commits/ebd2c45341cc31755758a423392a0f78a64d2d37.patch";
|
||||||
|
sha256 = "16m9znd3ijcfl7la3l27ac3clx8l9qng3fprkpxqcifd89ny1ml5";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
asciidoc
|
asciidoc
|
||||||
cmake
|
cmake
|
||||||
|
@ -19,16 +19,33 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
strictDeps = true;
|
||||||
|
depsBuildBuild = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
asciidoc
|
||||||
|
docbook_xsl
|
||||||
|
libxslt
|
||||||
|
makeWrapper
|
||||||
|
libconfig
|
||||||
|
pango
|
||||||
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cairo gdk-pixbuf libconfig pango xcbutilwm docbook_xsl
|
cairo
|
||||||
alsa-lib wirelesstools asciidoc libxslt makeWrapper
|
gdk-pixbuf
|
||||||
|
libconfig
|
||||||
|
pango
|
||||||
|
xcbutilwm
|
||||||
|
alsa-lib
|
||||||
|
wirelesstools
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace ./Makefile \
|
substituteInPlace ./Makefile \
|
||||||
--replace "\$(shell git describe)" "${version}" \
|
--replace "\$(shell git describe)" "${version}" \
|
||||||
--replace "a2x" "${asciidoc}/bin/a2x --no-xmllint"
|
--replace "a2x" "a2x --no-xmllint"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
|
makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
|
||||||
|
@ -10,7 +10,11 @@ use JSON::PP;
|
|||||||
|
|
||||||
STDOUT->autoflush(1);
|
STDOUT->autoflush(1);
|
||||||
|
|
||||||
|
$SIG{__WARN__} = sub { warn "warning: ", @_ };
|
||||||
|
$SIG{__DIE__} = sub { die "error: ", @_ };
|
||||||
|
|
||||||
my $out = $ENV{"out"};
|
my $out = $ENV{"out"};
|
||||||
|
my $extraPrefix = $ENV{"extraPrefix"};
|
||||||
|
|
||||||
my @pathsToLink = split ' ', $ENV{"pathsToLink"};
|
my @pathsToLink = split ' ', $ENV{"pathsToLink"};
|
||||||
|
|
||||||
@ -88,6 +92,10 @@ sub findFilesInDir {
|
|||||||
sub checkCollision {
|
sub checkCollision {
|
||||||
my ($path1, $path2) = @_;
|
my ($path1, $path2) = @_;
|
||||||
|
|
||||||
|
if (! -e $path1 || ! -e $path2) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
my $stat1 = (stat($path1))[2];
|
my $stat1 = (stat($path1))[2];
|
||||||
my $stat2 = (stat($path2))[2];
|
my $stat2 = (stat($path2))[2];
|
||||||
|
|
||||||
@ -101,6 +109,11 @@ sub checkCollision {
|
|||||||
return compare($path1, $path2) == 0;
|
return compare($path1, $path2) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub prependDangling {
|
||||||
|
my $path = shift;
|
||||||
|
return (-l $path && ! -e $path ? "dangling symlink " : "") . "`$path'";
|
||||||
|
}
|
||||||
|
|
||||||
sub findFiles {
|
sub findFiles {
|
||||||
my ($relName, $target, $baseName, $ignoreCollisions, $checkCollisionContents, $priority) = @_;
|
my ($relName, $target, $baseName, $ignoreCollisions, $checkCollisionContents, $priority) = @_;
|
||||||
|
|
||||||
@ -125,12 +138,21 @@ sub findFiles {
|
|||||||
# symlink to a file (not a directory) in a lower-priority package,
|
# symlink to a file (not a directory) in a lower-priority package,
|
||||||
# overwrite it.
|
# overwrite it.
|
||||||
if (!defined $oldTarget || ($priority < $oldPriority && ($oldTarget ne "" && ! -d $oldTarget))) {
|
if (!defined $oldTarget || ($priority < $oldPriority && ($oldTarget ne "" && ! -d $oldTarget))) {
|
||||||
|
# If target is a dangling symlink, emit a warning.
|
||||||
|
if (-l $target && ! -e $target) {
|
||||||
|
my $link = readlink $target;
|
||||||
|
warn "creating dangling symlink `$out$extraPrefix/$relName' -> `$target' -> `$link'\n";
|
||||||
|
}
|
||||||
$symlinks{$relName} = [$target, $priority];
|
$symlinks{$relName} = [$target, $priority];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
# If target already exists and both targets resolves to the same path, skip
|
# If target already exists and both targets resolves to the same path, skip
|
||||||
if (defined $oldTarget && $oldTarget ne "" && abs_path($target) eq abs_path($oldTarget)) {
|
if (
|
||||||
|
defined $oldTarget && $oldTarget ne "" &&
|
||||||
|
defined abs_path($target) && defined abs_path($oldTarget) &&
|
||||||
|
abs_path($target) eq abs_path($oldTarget)
|
||||||
|
) {
|
||||||
# Prefer the target that is not a symlink, if any
|
# Prefer the target that is not a symlink, if any
|
||||||
if (-l $oldTarget && ! -l $target) {
|
if (-l $oldTarget && ! -l $target) {
|
||||||
$symlinks{$relName} = [$target, $priority];
|
$symlinks{$relName} = [$target, $priority];
|
||||||
@ -144,14 +166,25 @@ sub findFiles {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# If target is supposed to be a directory but it isn't, die with an error message
|
||||||
|
# instead of attempting to recurse into it, only to fail then.
|
||||||
|
# This happens e.g. when pathsToLink contains a non-directory path.
|
||||||
|
if ($oldTarget eq "" && ! -d $target) {
|
||||||
|
die "not a directory: `$target'\n";
|
||||||
|
}
|
||||||
|
|
||||||
unless (-d $target && ($oldTarget eq "" || -d $oldTarget)) {
|
unless (-d $target && ($oldTarget eq "" || -d $oldTarget)) {
|
||||||
|
# Prepend "dangling symlink" to paths if applicable.
|
||||||
|
my $targetRef = prependDangling($target);
|
||||||
|
my $oldTargetRef = prependDangling($oldTarget);
|
||||||
|
|
||||||
if ($ignoreCollisions) {
|
if ($ignoreCollisions) {
|
||||||
warn "collision between `$target' and `$oldTarget'\n" if $ignoreCollisions == 1;
|
warn "collision between $targetRef and $oldTargetRef\n" if $ignoreCollisions == 1;
|
||||||
return;
|
return;
|
||||||
} elsif ($checkCollisionContents && checkCollision($oldTarget, $target)) {
|
} elsif ($checkCollisionContents && checkCollision($oldTarget, $target)) {
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
die "collision between `$target' and `$oldTarget'\n";
|
die "collision between $targetRef and $oldTargetRef\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,7 +257,6 @@ while (scalar(keys %postponed) > 0) {
|
|||||||
|
|
||||||
|
|
||||||
# Create the symlinks.
|
# Create the symlinks.
|
||||||
my $extraPrefix = $ENV{"extraPrefix"};
|
|
||||||
my $nrLinks = 0;
|
my $nrLinks = 0;
|
||||||
foreach my $relName (sort keys %symlinks) {
|
foreach my $relName (sort keys %symlinks) {
|
||||||
my ($target, $priority) = @{$symlinks{$relName}};
|
my ($target, $priority) = @{$symlinks{$relName}};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ lib, stdenv, writeText, ocaml, findlib, ocamlbuild, camlp4 }:
|
{ lib, stdenv, writeText, ocaml, findlib, ocamlbuild, camlp4 }:
|
||||||
|
|
||||||
{ name, version, buildInputs ? [],
|
{ name, version, nativeBuildInputs ? [],
|
||||||
createFindlibDestdir ? true,
|
createFindlibDestdir ? true,
|
||||||
dontStrip ? true,
|
dontStrip ? true,
|
||||||
minimumSupportedOcamlVersion ? null,
|
minimumSupportedOcamlVersion ? null,
|
||||||
@ -19,7 +19,7 @@ in
|
|||||||
stdenv.mkDerivation (args // {
|
stdenv.mkDerivation (args // {
|
||||||
name = "ocaml-${name}-${version}";
|
name = "ocaml-${name}-${version}";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild camlp4 ] ++ buildInputs;
|
nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ] ++ nativeBuildInputs;
|
||||||
|
|
||||||
setupHook = if setupHook == null && hasSharedObjects
|
setupHook = if setupHook == null && hasSharedObjects
|
||||||
then writeText "setupHook.sh" ''
|
then writeText "setupHook.sh" ''
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ lib, stdenv, ocaml, findlib, dune_1, dune_2 }:
|
{ lib, stdenv, ocaml, findlib, dune_1, dune_2 }:
|
||||||
|
|
||||||
{ pname, version, buildInputs ? [], enableParallelBuilding ? true, ... }@args:
|
{ pname, version, nativeBuildInputs ? [], enableParallelBuilding ? true, ... }@args:
|
||||||
|
|
||||||
let Dune = if args.useDune2 or false then dune_2 else dune_1; in
|
let Dune = if args.useDune2 or false then dune_2 else dune_1; in
|
||||||
|
|
||||||
@ -12,6 +12,8 @@ else
|
|||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
|
|
||||||
inherit enableParallelBuilding;
|
inherit enableParallelBuilding;
|
||||||
|
dontAddStaticConfigureFlags = true;
|
||||||
|
configurePlatforms = [];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
@ -33,7 +35,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
name = "ocaml${ocaml.version}-${pname}-${version}";
|
name = "ocaml${ocaml.version}-${pname}-${version}";
|
||||||
|
|
||||||
buildInputs = [ ocaml Dune findlib ] ++ buildInputs;
|
nativeBuildInputs = [ ocaml Dune findlib ] ++ nativeBuildInputs;
|
||||||
|
|
||||||
meta = (args.meta or {}) // { platforms = args.meta.platforms or ocaml.meta.platforms; };
|
meta = (args.meta or {}) // { platforms = args.meta.platforms or ocaml.meta.platforms; };
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
preConfigurePhases+=" autoreconfPhase"
|
preConfigurePhases="${preConfigurePhases:-} autoreconfPhase"
|
||||||
|
|
||||||
autoreconfPhase() {
|
autoreconfPhase() {
|
||||||
runHook preAutoreconf
|
runHook preAutoreconf
|
||||||
|
@ -2,8 +2,9 @@
|
|||||||
# This should ensure that it is deterministic across rebuilds of the same
|
# This should ensure that it is deterministic across rebuilds of the same
|
||||||
# derivation and not easily collide with other builds.
|
# derivation and not easily collide with other builds.
|
||||||
# We also truncate the hash so that it cannot cause reference cycles.
|
# We also truncate the hash so that it cannot cause reference cycles.
|
||||||
export NIX_CFLAGS_COMPILE+=" -frandom-seed=$(
|
NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE:-} -frandom-seed=$(
|
||||||
outbase="${out##*/}"
|
outbase="${out##*/}"
|
||||||
randomseed="${outbase:0:10}"
|
randomseed="${outbase:0:10}"
|
||||||
echo $randomseed
|
echo $randomseed
|
||||||
)"
|
)"
|
||||||
|
export NIX_CFLAGS_COMPILE
|
||||||
|
@ -14,7 +14,7 @@ _separateDebugInfo() {
|
|||||||
dst="$dst/lib/debug/.build-id"
|
dst="$dst/lib/debug/.build-id"
|
||||||
|
|
||||||
# Find executables and dynamic libraries.
|
# Find executables and dynamic libraries.
|
||||||
local i magic
|
local i
|
||||||
while IFS= read -r -d $'\0' i; do
|
while IFS= read -r -d $'\0' i; do
|
||||||
if ! isELF "$i"; then continue; fi
|
if ! isELF "$i"; then continue; fi
|
||||||
|
|
||||||
|
58
pkgs/data/fonts/openmoji/default.nix
Normal file
58
pkgs/data/fonts/openmoji/default.nix
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, scfbuild
|
||||||
|
, nodejs
|
||||||
|
, nodePackages
|
||||||
|
, python3Packages
|
||||||
|
, variant ? "color" # "color" or "black"
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
filename = builtins.replaceStrings
|
||||||
|
[ "color" "black" ]
|
||||||
|
[ "OpenMoji-Color.ttf" "OpenMoji-Black.ttf" ]
|
||||||
|
variant;
|
||||||
|
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
pname = "openmoji";
|
||||||
|
version = "13.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "hfg-gmuend";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-7G6a+LFq79njyPhnDhhSJ98Smw5fWlfcsFj6nWBPsSk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
scfbuild
|
||||||
|
nodejs
|
||||||
|
nodePackages.glob
|
||||||
|
nodePackages.lodash
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
node helpers/generate-font-glyphs.js
|
||||||
|
|
||||||
|
cd font
|
||||||
|
scfbuild -c scfbuild-${variant}.yml
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm644 ${filename} $out/share/fonts/truetype/${filename}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
license = licenses.cc-by-sa-40;
|
||||||
|
maintainers = with maintainers; [ fgaz ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
homepage = "https://openmoji.org/";
|
||||||
|
downloadPage = "https://github.com/hfg-gmuend/openmoji/releases";
|
||||||
|
description = "Open-source emojis for designers, developers and everyone else";
|
||||||
|
};
|
||||||
|
}
|
@ -1,28 +1,17 @@
|
|||||||
{ lib, stdenv, fetchurl, nss, python3
|
{ lib
|
||||||
, blacklist ? []
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, nss
|
||||||
|
, python3
|
||||||
|
, blacklist ? [ ]
|
||||||
|
|
||||||
# Used for tests only
|
# Used for tests only
|
||||||
, runCommand
|
, runCommand
|
||||||
, cacert
|
, cacert
|
||||||
, openssl
|
, openssl
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.66";
|
|
||||||
|
|
||||||
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "nss-cacert-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/nss-${version}.tar.gz";
|
|
||||||
sha256 = "1jfdnh5l4k57r2vb07s06hqi7m2qzk0d9x25lsdsrw3cflx9x9w9";
|
|
||||||
};
|
|
||||||
|
|
||||||
certdata2pem = fetchurl {
|
certdata2pem = fetchurl {
|
||||||
name = "certdata2pem.py";
|
name = "certdata2pem.py";
|
||||||
urls = [
|
urls = [
|
||||||
@ -31,6 +20,16 @@ stdenv.mkDerivation {
|
|||||||
];
|
];
|
||||||
sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
|
sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "nss-cacert";
|
||||||
|
version = "3.66";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
|
||||||
|
sha256 = "1jfdnh5l4k57r2vb07s06hqi7m2qzk0d9x25lsdsrw3cflx9x9w9";
|
||||||
|
};
|
||||||
|
|
||||||
outputs = [ "out" "unbundled" ];
|
outputs = [ "out" "unbundled" ];
|
||||||
|
|
||||||
@ -40,11 +39,11 @@ stdenv.mkDerivation {
|
|||||||
ln -s nss/lib/ckfw/builtins/certdata.txt
|
ln -s nss/lib/ckfw/builtins/certdata.txt
|
||||||
|
|
||||||
cat << EOF > blacklist.txt
|
cat << EOF > blacklist.txt
|
||||||
${concatStringsSep "\n" (map (c: ''"${c}"'') blacklist)}
|
${lib.concatStringsSep "\n" (map (c: ''"${c}"'') blacklist)}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# copy from the store, otherwise python will scan it for imports
|
# copy from the store, otherwise python will scan it for imports
|
||||||
cat "$certdata2pem" > certdata2pem.py
|
cat "${certdata2pem}" > certdata2pem.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
@ -63,22 +62,26 @@ stdenv.mkDerivation {
|
|||||||
# install individual certs in unbundled output
|
# install individual certs in unbundled output
|
||||||
mkdir -pv $unbundled/etc/ssl/certs
|
mkdir -pv $unbundled/etc/ssl/certs
|
||||||
cp -v *.crt $unbundled/etc/ssl/certs
|
cp -v *.crt $unbundled/etc/ssl/certs
|
||||||
rm -f $unbundled/etc/ssl/certs/ca-bundle.crt # not wanted in unbundled
|
rm $unbundled/etc/ssl/certs/ca-bundle.crt # not wanted in unbundled
|
||||||
'';
|
'';
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
passthru.updateScript = ./update.sh;
|
passthru = {
|
||||||
passthru.tests = {
|
updateScript = ./update.sh;
|
||||||
|
tests = {
|
||||||
# Test that building this derivation with a blacklist works, and that UTF-8 is supported.
|
# Test that building this derivation with a blacklist works, and that UTF-8 is supported.
|
||||||
blacklist-utf8 = let
|
blacklist-utf8 =
|
||||||
|
let
|
||||||
blacklistCAToFingerprint = {
|
blacklistCAToFingerprint = {
|
||||||
# "blacklist" uses the CA name from the NSS bundle, but we check for presence using the SHA256 fingerprint.
|
# "blacklist" uses the CA name from the NSS bundle, but we check for presence using the SHA256 fingerprint.
|
||||||
"CFCA EV ROOT" = "5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD";
|
"CFCA EV ROOT" = "5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD";
|
||||||
"NetLock Arany (Class Gold) Főtanúsítvány" = "6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98";
|
"NetLock Arany (Class Gold) Főtanúsítvány" = "6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98";
|
||||||
};
|
};
|
||||||
mapBlacklist = f: concatStringsSep "\n" (mapAttrsToList f blacklistCAToFingerprint);
|
mapBlacklist = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f blacklistCAToFingerprint);
|
||||||
in runCommand "verify-the-cacert-filter-output" {
|
in
|
||||||
|
runCommand "verify-the-cacert-filter-output"
|
||||||
|
{
|
||||||
cacert = cacert.unbundled;
|
cacert = cacert.unbundled;
|
||||||
cacertWithExcludes = (cacert.override {
|
cacertWithExcludes = (cacert.override {
|
||||||
blacklist = builtins.attrNames blacklistCAToFingerprint;
|
blacklist = builtins.attrNames blacklistCAToFingerprint;
|
||||||
@ -116,8 +119,9 @@ stdenv.mkDerivation {
|
|||||||
touch $out
|
touch $out
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
homepage = "https://curl.haxx.se/docs/caextract.html";
|
homepage = "https://curl.haxx.se/docs/caextract.html";
|
||||||
description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
|
description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mobile-broadband-provider-info";
|
pname = "mobile-broadband-provider-info";
|
||||||
version = "20201225";
|
version = "20210805";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1g9x2i4xjm2sagaha07n9psacbylrwfrmfqkp17gjwhpyi6w0zqd";
|
sha256 = "sha256-a/ihVY6lVBr7xve0QV50zJ9aqYKbE07Ks+8ch0ElaLw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "yelp-xsl";
|
pname = "yelp-xsl";
|
||||||
version = "40.0";
|
version = "40.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-Nh7NTTP8zbO7CKaH9g5cPpCdLp47Ai2ETgSYINDPYrA=";
|
sha256 = "sha256-kZxVL4RqrsdB/lHVr0FrRpvNslx37/w7WhWktLf/gU4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-shell-extension-arcmenu";
|
pname = "gnome-shell-extension-arcmenu";
|
||||||
version = "12";
|
version = "14";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "arcmenu";
|
owner = "arcmenu";
|
||||||
repo = "ArcMenu";
|
repo = "ArcMenu";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-R1OUDf/YMyMlxwXM9rNsrasPumHEoYhJK0evnYGeIkA=";
|
sha256 = "sha256-Iobu5eNWSvAiTRe6wyx/0PgUtB9QIC9KdH0M1xhsM1I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -129,7 +129,8 @@ let
|
|||||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||||
# see #84670 and #49071 for more background.
|
# see #84670 and #49071 for more background.
|
||||||
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl && !targetPlatform.isWindows);
|
useLdGold = targetPlatform.linker == "gold" ||
|
||||||
|
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||||
|
|
||||||
runtimeDeps = [
|
runtimeDeps = [
|
||||||
targetPackages.stdenv.cc.bintools
|
targetPackages.stdenv.cc.bintools
|
||||||
|
@ -137,7 +137,8 @@ let
|
|||||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||||
# see #84670 and #49071 for more background.
|
# see #84670 and #49071 for more background.
|
||||||
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl && !targetPlatform.isWindows);
|
useLdGold = targetPlatform.linker == "gold" ||
|
||||||
|
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||||
|
|
||||||
runtimeDeps = [
|
runtimeDeps = [
|
||||||
targetPackages.stdenv.cc.bintools
|
targetPackages.stdenv.cc.bintools
|
||||||
|
@ -123,7 +123,8 @@ let
|
|||||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||||
# see #84670 and #49071 for more background.
|
# see #84670 and #49071 for more background.
|
||||||
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
|
useLdGold = targetPlatform.linker == "gold" ||
|
||||||
|
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||||
|
|
||||||
runtimeDeps = [
|
runtimeDeps = [
|
||||||
targetPackages.stdenv.cc.bintools
|
targetPackages.stdenv.cc.bintools
|
||||||
|
@ -133,7 +133,8 @@ let
|
|||||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||||
# see #84670 and #49071 for more background.
|
# see #84670 and #49071 for more background.
|
||||||
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
|
useLdGold = targetPlatform.linker == "gold" ||
|
||||||
|
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||||
|
|
||||||
runtimeDeps = [
|
runtimeDeps = [
|
||||||
targetPackages.stdenv.cc.bintools
|
targetPackages.stdenv.cc.bintools
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp
|
|
||||||
--- a/lib/sanitizer_common/sanitizer_mac.cpp
|
|
||||||
+++ b/lib/sanitizer_common/sanitizer_mac.cpp
|
|
||||||
@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) {
|
|
||||||
// Offset example:
|
|
||||||
// XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4
|
|
||||||
constexpr u16 GetOSMajorKernelOffset() {
|
|
||||||
- if (TARGET_OS_OSX) return 4;
|
|
||||||
- if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
|
|
||||||
- if (TARGET_OS_WATCH) return 13;
|
|
||||||
+#if TARGET_OS_OSX
|
|
||||||
+ return 4;
|
|
||||||
+#endif
|
|
||||||
+#if TARGET_OS_IOS || TARGET_OS_TV
|
|
||||||
+ return 6;
|
|
||||||
+#endif
|
|
||||||
+#if TARGET_OS_WATCH
|
|
||||||
+ return 13;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
using VersStr = char[64];
|
|
||||||
@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) {
|
|
||||||
u16 os_major = kernel_major - offset;
|
|
||||||
|
|
||||||
const char *format = "%d.0";
|
|
||||||
- if (TARGET_OS_OSX) {
|
|
||||||
- if (os_major >= 16) { // macOS 11+
|
|
||||||
- os_major -= 5;
|
|
||||||
- } else { // macOS 10.15 and below
|
|
||||||
- format = "10.%d";
|
|
||||||
- }
|
|
||||||
+#if TARGET_OS_OSX
|
|
||||||
+ if (os_major >= 16) { // macOS 11+
|
|
||||||
+ os_major -= 5;
|
|
||||||
+ } else { // macOS 10.15 and below
|
|
||||||
+ format = "10.%d";
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
return internal_snprintf(vers, sizeof(VersStr), format, os_major);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) {
|
|
||||||
// Aligned versions example:
|
|
||||||
// macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6
|
|
||||||
static void MapToMacos(u16 *major, u16 *minor) {
|
|
||||||
- if (TARGET_OS_OSX)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- if (TARGET_OS_IOS || TARGET_OS_TV)
|
|
||||||
+#if !TARGET_OS_OSX
|
|
||||||
+#if TARGET_OS_IOS || TARGET_OS_TV
|
|
||||||
*major += 2;
|
|
||||||
- else if (TARGET_OS_WATCH)
|
|
||||||
+#elif TARGET_OS_WATCH
|
|
||||||
*major += 9;
|
|
||||||
- else
|
|
||||||
+#else
|
|
||||||
UNREACHABLE("unsupported platform");
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (*major >= 16) { // macOS 11+
|
|
||||||
*major -= 5;
|
|
||||||
@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) {
|
|
||||||
*minor = *major;
|
|
||||||
*major = 10;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static MacosVersion GetMacosAlignedVersionInternal() {
|
|
@ -59,8 +59,6 @@ stdenv.mkDerivation {
|
|||||||
# extra `/`.
|
# extra `/`.
|
||||||
./normalize-var.patch
|
./normalize-var.patch
|
||||||
]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
|
]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
|
||||||
# Prevent a compilation error on darwin
|
|
||||||
++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch
|
|
||||||
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
|
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
|
||||||
|
|
||||||
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
let
|
let
|
||||||
versionNoPatch = "${toString major_version}.${toString minor_version}";
|
versionNoPatch = "${toString major_version}.${toString minor_version}";
|
||||||
version = "${versionNoPatch}.${toString patch_version}";
|
version = "${versionNoPatch}.${toString patch_version}";
|
||||||
safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips);
|
safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips || stdenv.hostPlatform.isStatic);
|
||||||
in
|
in
|
||||||
|
|
||||||
{ lib, stdenv, fetchurl, ncurses, buildEnv, libunwind
|
{ lib, stdenv, fetchurl, ncurses, buildEnv, libunwind
|
||||||
@ -13,7 +13,7 @@ in
|
|||||||
, spaceTimeSupport ? false
|
, spaceTimeSupport ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
|
assert useX11 -> safeX11 stdenv;
|
||||||
assert aflSupport -> lib.versionAtLeast version "4.05";
|
assert aflSupport -> lib.versionAtLeast version "4.05";
|
||||||
assert flambdaSupport -> lib.versionAtLeast version "4.03";
|
assert flambdaSupport -> lib.versionAtLeast version "4.03";
|
||||||
assert spaceTimeSupport -> lib.versionAtLeast version "4.04";
|
assert spaceTimeSupport -> lib.versionAtLeast version "4.04";
|
||||||
@ -44,6 +44,8 @@ stdenv.mkDerivation (args // {
|
|||||||
|
|
||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
prefixKey = "-prefix ";
|
prefixKey = "-prefix ";
|
||||||
configureFlags =
|
configureFlags =
|
||||||
let flags = new: old:
|
let flags = new: old:
|
||||||
@ -56,7 +58,15 @@ stdenv.mkDerivation (args // {
|
|||||||
++ optional aflSupport (flags "--with-afl" "-afl-instrument")
|
++ optional aflSupport (flags "--with-afl" "-afl-instrument")
|
||||||
++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
|
++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
|
||||||
++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime")
|
++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime")
|
||||||
;
|
++ optional (stdenv.hostPlatform.isStatic && (lib.versionOlder version "4.08")) "-no-shared-libs"
|
||||||
|
++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && lib.versionOlder version "4.08") [
|
||||||
|
"-host ${stdenv.hostPlatform.config}"
|
||||||
|
"-target ${stdenv.targetPlatform.config}"
|
||||||
|
];
|
||||||
|
dontAddStaticConfigureFlags = lib.versionOlder version "4.08";
|
||||||
|
configurePlatforms = lib.optionals (lib.versionAtLeast version "4.08") [ "host" "target" ];
|
||||||
|
# x86_64-unknown-linux-musl-ld: -r and -pie may not be used together
|
||||||
|
hardeningDisable = lib.optional (lib.versionAtLeast version "4.09" && stdenv.hostPlatform.isMusl) "pie";
|
||||||
|
|
||||||
buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
|
buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
|
||||||
buildInputs = optional (!lib.versionAtLeast version "4.07") ncurses
|
buildInputs = optional (!lib.versionAtLeast version "4.07") ncurses
|
||||||
@ -70,6 +80,8 @@ stdenv.mkDerivation (args // {
|
|||||||
# Do what upstream does by default now: https://github.com/ocaml/ocaml/pull/10176
|
# Do what upstream does by default now: https://github.com/ocaml/ocaml/pull/10176
|
||||||
# This is required for aarch64-darwin, everything else works as is.
|
# This is required for aarch64-darwin, everything else works as is.
|
||||||
AS="${stdenv.cc}/bin/cc -c" ASPP="${stdenv.cc}/bin/cc -c"
|
AS="${stdenv.cc}/bin/cc -c" ASPP="${stdenv.cc}/bin/cc -c"
|
||||||
|
'' + optionalString (lib.versionOlder version "4.08" && stdenv.hostPlatform.isStatic) ''
|
||||||
|
configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r")
|
||||||
'';
|
'';
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
mkdir -p $out/include
|
mkdir -p $out/include
|
||||||
|
@ -24,6 +24,11 @@ let
|
|||||||
|
|
||||||
dontUseCmakeConfigure = true;
|
dontUseCmakeConfigure = true;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace buildSrc/linux.gradle \
|
||||||
|
--replace ', "-Werror=implicit-function-declaration"' ""
|
||||||
|
'';
|
||||||
|
|
||||||
config = writeText "gradle.properties" (''
|
config = writeText "gradle.properties" (''
|
||||||
CONF = Release
|
CONF = Release
|
||||||
JDK_HOME = ${openjdk11-bootstrap.home}
|
JDK_HOME = ${openjdk11-bootstrap.home}
|
||||||
|
@ -12,6 +12,11 @@ in stdenv.mkDerivation rec {
|
|||||||
sha256 = "1w0qmyj3v9sb2g7ff39pp38b9850y9hyy0bag26ifrby5f7ksvm6";
|
sha256 = "1w0qmyj3v9sb2g7ff39pp38b9850y9hyy0bag26ifrby5f7ksvm6";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postPatch = lib.optionalString stdenv.isAarch32 ''
|
||||||
|
# https://gitlab.freedesktop.org/gstreamer/orc/-/issues/20
|
||||||
|
sed -i '/exec_opcodes_sys/d' testsuite/meson.build
|
||||||
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "dev" ]
|
outputs = [ "out" "dev" ]
|
||||||
++ optional buildDevDoc "devdoc"
|
++ optional buildDevDoc "devdoc"
|
||||||
;
|
;
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
} @ args:
|
} @ args:
|
||||||
|
|
||||||
import ./default.nix {
|
import ./default.nix {
|
||||||
rustcVersion = "1.53.0";
|
rustcVersion = "1.54.0";
|
||||||
rustcSha256 = "1f95p259dfp5ca118bg107rj3rqwlswy65dxn3hg8sqgl4wwmxsw";
|
rustcSha256 = "0xk9dhfff16caambmwij67zgshd8v9djw6ha0fnnanlv7rii31dc";
|
||||||
|
|
||||||
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
|
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
|
||||||
llvmSharedForHost = pkgsBuildHost.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
|
llvmSharedForHost = pkgsBuildHost.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
|
||||||
@ -34,24 +34,24 @@ import ./default.nix {
|
|||||||
|
|
||||||
# Note: the version MUST be one version prior to the version we're
|
# Note: the version MUST be one version prior to the version we're
|
||||||
# building
|
# building
|
||||||
bootstrapVersion = "1.52.1";
|
bootstrapVersion = "1.53.0";
|
||||||
|
|
||||||
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
|
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
|
||||||
bootstrapHashes = {
|
bootstrapHashes = {
|
||||||
i686-unknown-linux-gnu = "c91f0431c8137a4e98e097ab47b49846820531aafb6e9c249b71b770771832e9";
|
i686-unknown-linux-gnu = "4ebeeba05448b9484bb2845dba2ff4c0e2b7208fa8b08bef2b2ca3b171d0db99";
|
||||||
x86_64-unknown-linux-gnu = "617ae06e212cb65bc4abbf52b158b0328b9f1a6c2f822c27c95b274d6fbc0627";
|
x86_64-unknown-linux-gnu = "5e9e556d2ccce27aa8f01a528f1348bf8cdd34496c35ec2abf131660b9792fed";
|
||||||
x86_64-unknown-linux-musl = "c3eae6e78ee29e03416897f89b54448b2a03d063f07a78cde41757ad2e02c2f0";
|
x86_64-unknown-linux-musl = "908b6163b62660f289bcd1eda1a0eb6d849b4b29da12546d24a033e5718e93ff";
|
||||||
arm-unknown-linux-gnueabihf = "ef412d923a0c5a9fa54422f40cde62f2e85a62339057cb8b986a545b108d3347";
|
arm-unknown-linux-gnueabihf = "6ae3108f4a0b0478c76f5dbaf1827c9e4a983fa78a9f973b24d501e693cfdcab";
|
||||||
armv7-unknown-linux-gnueabihf = "ec47b3f5c801f8a4df7180e088dcc1817ee160df34ef64ddac4fa50f714f119f";
|
armv7-unknown-linux-gnueabihf = "886e78f7c5bd92e16322ca3af70d1899c064837343cdfeb9a216b76edfd18157";
|
||||||
aarch64-unknown-linux-gnu = "17d9aa7bb73b819ef70d81013498727b7218533ee6cf3bd802c4eac29137fbcb";
|
aarch64-unknown-linux-gnu = "cba81d5c3d16deee04098ea18af8636bc7415315a44c9e44734fd669aa778040";
|
||||||
aarch64-unknown-linux-musl = "f2bae2b32f05a90eec041352d9329deb3e907f5560b9fda525788df3b8008b6b";
|
aarch64-unknown-linux-musl = "a0065a6313bf370f2844af6f3b47fe292360e9cca3da31b5f6cb32db311ba686";
|
||||||
x86_64-apple-darwin = "cfa73228ea54e2c94f75d1b142ea41444c463f4ee8562a3eca1b11b2fe8af95a";
|
x86_64-apple-darwin = "940a4488f907b871f9fb1be309086509e4a48efb19303f8b5fe115c6f12abf43";
|
||||||
aarch64-apple-darwin = "217e9723f828c5359467d69b363a342d702bdcbbcc4107be907e6bc4531f4912";
|
aarch64-apple-darwin = "c519da905514c05240a8fe39e459de2c4ef5943535e3655502e8fb756070aee1";
|
||||||
powerpc64le-unknown-linux-gnu = "f258c5d7d6d9022108672b7383412d930a5f59d7644d148e413c3ab0ae45604f";
|
powerpc64le-unknown-linux-gnu = "9f6c17427d1023b10694e4ba60d6d9deec0aeb07d051f99763789ed18e07e2e6";
|
||||||
riscv64gc-unknown-linux-gnu = "c1c98ccc8bb4147a819411a10162c8f8ce1aaa5c65cf2c74802dce4dacd6e64b";
|
riscv64gc-unknown-linux-gnu = "6ae23ac00269df72b0790f10f2d9a98d03acf542c6090f4d30a87365fafd14ed";
|
||||||
};
|
};
|
||||||
|
|
||||||
selectRustPackage = pkgs: pkgs.rust_1_53;
|
selectRustPackage = pkgs: pkgs.rust_1_54;
|
||||||
|
|
||||||
rustcPatches = [
|
rustcPatches = [
|
||||||
];
|
];
|
@ -1,10 +1,11 @@
|
|||||||
{lib, stdenv, fetchurl}:
|
{lib, stdenv, fetchurl}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "yasm-1.3.0";
|
pname = "yasm";
|
||||||
|
version = "1.3.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.tortall.net/projects/yasm/releases/${name}.tar.gz";
|
url = "https://www.tortall.net/projects/yasm/releases/yasm-${version}.tar.gz";
|
||||||
sha256 = "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix";
|
sha256 = "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -23,7 +23,8 @@ in buildFHSUserEnv {
|
|||||||
name = "platformio";
|
name = "platformio";
|
||||||
|
|
||||||
targetPkgs = pio-pkgs;
|
targetPkgs = pio-pkgs;
|
||||||
multiPkgs = pio-pkgs;
|
# disabled temporarily because fastdiff no longer support 32bit
|
||||||
|
# multiPkgs = pio-pkgs;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "An open source ecosystem for IoT development";
|
description = "An open source ecosystem for IoT development";
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ stdenv, lib, python3
|
{ stdenv, lib, python3
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchPypi
|
||||||
, git
|
, git
|
||||||
, spdx-license-list-data
|
, spdx-license-list-data
|
||||||
, version, src
|
, version, src
|
||||||
@ -20,6 +21,15 @@ let
|
|||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ajsonrpc = super.ajsonrpc.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
pname = "ajsonrpc";
|
||||||
|
version = "1.1.0";
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-CgHCtW0gxZho7ZavvEaODNc+KbFW4sAsHtM2Xk5Cuaw=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
click = super.click.overridePythonAttrs (oldAttrs: rec {
|
click = super.click.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "7.1.2";
|
version = "7.1.2";
|
||||||
src = oldAttrs.src.override {
|
src = oldAttrs.src.override {
|
||||||
@ -28,6 +38,18 @@ let
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
starlette = super.starlette.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
pname = "starlette";
|
||||||
|
version = "0.14.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "encode";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-Ki5jTEr5w6CrGK6F60E9uvdUlGx8pxdHMpxHvj9D4js=";
|
||||||
|
};
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
|
|
||||||
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: rec {
|
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "0.13.2";
|
version = "0.13.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
@ -86,6 +86,8 @@ let
|
|||||||
|
|
||||||
configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
|
configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
|
||||||
|
|
||||||
|
dontAddStaticConfigureFlags = true;
|
||||||
|
|
||||||
dontAddPrefix = !crossCompiling;
|
dontAddPrefix = !crossCompiling;
|
||||||
|
|
||||||
enableParallelBuilding = !crossCompiling;
|
enableParallelBuilding = !crossCompiling;
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
, sourceVersion
|
, sourceVersion
|
||||||
, sha256
|
, sha256
|
||||||
, passthruFun
|
, passthruFun
|
||||||
, static ? false
|
, static ? stdenv.hostPlatform.isStatic
|
||||||
, stripBytecode ? reproducibleBuild
|
, stripBytecode ? reproducibleBuild
|
||||||
, rebuildBytecode ? true
|
, rebuildBytecode ? true
|
||||||
, reproducibleBuild ? true
|
, reproducibleBuild ? false
|
||||||
, enableOptimizations ? false
|
, enableOptimizations ? false
|
||||||
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
|
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
|
||||||
}:
|
}:
|
||||||
@ -48,6 +48,8 @@ assert lib.assertMsg (reproducibleBuild -> stripBytecode)
|
|||||||
assert lib.assertMsg (reproducibleBuild -> (!enableOptimizations))
|
assert lib.assertMsg (reproducibleBuild -> (!enableOptimizations))
|
||||||
"Deterministic builds are not achieved when optimizations are enabled.";
|
"Deterministic builds are not achieved when optimizations are enabled.";
|
||||||
|
|
||||||
|
assert lib.assertMsg (reproducibleBuild -> (!rebuildBytecode))
|
||||||
|
"Deterministic builds are not achieved when (default unoptimized) bytecode is created.";
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@ -185,8 +187,9 @@ let
|
|||||||
|
|
||||||
configureFlags = optionals enableOptimizations [
|
configureFlags = optionals enableOptimizations [
|
||||||
"--enable-optimizations"
|
"--enable-optimizations"
|
||||||
] ++ [
|
] ++ optionals (!static) [
|
||||||
"--enable-shared"
|
"--enable-shared"
|
||||||
|
] ++ [
|
||||||
"--with-threads"
|
"--with-threads"
|
||||||
"--enable-unicode=ucs${toString ucsEncoding}"
|
"--enable-unicode=ucs${toString ucsEncoding}"
|
||||||
] ++ optionals (stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isAarch64) [
|
] ++ optionals (stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isAarch64) [
|
||||||
@ -224,6 +227,7 @@ let
|
|||||||
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no"
|
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no"
|
||||||
++ optional static "LDFLAGS=-static";
|
++ optional static "LDFLAGS=-static";
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
buildInputs =
|
buildInputs =
|
||||||
optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
|
optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
|
||||||
[ bzip2 openssl zlib ]
|
[ bzip2 openssl zlib ]
|
||||||
@ -296,8 +300,10 @@ in with passthru; stdenv.mkDerivation ({
|
|||||||
# First we delete all old bytecode.
|
# First we delete all old bytecode.
|
||||||
find $out -name "*.pyc" -delete
|
find $out -name "*.pyc" -delete
|
||||||
'' + optionalString rebuildBytecode ''
|
'' + optionalString rebuildBytecode ''
|
||||||
# Then, we build for the two optimization levels.
|
# We build 3 levels of optimized bytecode. Note the default level, without optimizations,
|
||||||
# We do not build unoptimized bytecode, because its not entirely deterministic yet.
|
# is not reproducible yet. https://bugs.python.org/issue29708
|
||||||
|
# Not creating bytecode will result in a large performance loss however, so we do build it.
|
||||||
|
find $out -name "*.py" | ${pythonForBuildInterpreter} -m compileall -q -f -x "lib2to3" -i -
|
||||||
find $out -name "*.py" | ${pythonForBuildInterpreter} -O -m compileall -q -f -x "lib2to3" -i -
|
find $out -name "*.py" | ${pythonForBuildInterpreter} -O -m compileall -q -f -x "lib2to3" -i -
|
||||||
find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
|
find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
|
||||||
'' + optionalString stdenv.hostPlatform.isCygwin ''
|
'' + optionalString stdenv.hostPlatform.isCygwin ''
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 04eb6b2..2e1160d 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -1981,8 +1981,8 @@ class PyBuildExt(build_ext):
|
||||||
|
# Rather than complicate the code below, detecting and building
|
||||||
|
# AquaTk is a separate method. Only one Tkinter will be built on
|
||||||
|
# Darwin - either AquaTk, if it is found, or X11 based Tk.
|
||||||
|
- if (MACOS and self.detect_tkinter_darwin()):
|
||||||
|
- return True
|
||||||
|
+ # if (MACOS and self.detect_tkinter_darwin()):
|
||||||
|
+ # return True
|
||||||
|
|
||||||
|
# Assume we haven't found any of the libraries or include files
|
||||||
|
# The versions with dots are used on Unix, and the versions without
|
@ -35,7 +35,7 @@
|
|||||||
, stripTests ? false
|
, stripTests ? false
|
||||||
, stripTkinter ? false
|
, stripTkinter ? false
|
||||||
, rebuildBytecode ? true
|
, rebuildBytecode ? true
|
||||||
, stripBytecode ? reproducibleBuild
|
, stripBytecode ? true
|
||||||
, includeSiteCustomize ? true
|
, includeSiteCustomize ? true
|
||||||
, static ? stdenv.hostPlatform.isStatic
|
, static ? stdenv.hostPlatform.isStatic
|
||||||
, enableOptimizations ? false
|
, enableOptimizations ? false
|
||||||
@ -48,7 +48,7 @@
|
|||||||
# enabling LTO with musl and dynamic linking fails with a linker error although it should
|
# enabling LTO with musl and dynamic linking fails with a linker error although it should
|
||||||
# be possible as alpine is doing it: https://github.com/alpinelinux/aports/blob/a8ccb04668c7729e0f0db6c6ff5f25d7519e779b/main/python3/APKBUILD#L82
|
# be possible as alpine is doing it: https://github.com/alpinelinux/aports/blob/a8ccb04668c7729e0f0db6c6ff5f25d7519e779b/main/python3/APKBUILD#L82
|
||||||
, enableLTO ? stdenv.is64bit && stdenv.isLinux && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isStatic)
|
, enableLTO ? stdenv.is64bit && stdenv.isLinux && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isStatic)
|
||||||
, reproducibleBuild ? true
|
, reproducibleBuild ? false
|
||||||
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
|
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -75,6 +75,9 @@ assert lib.assertMsg (reproducibleBuild -> stripBytecode)
|
|||||||
assert lib.assertMsg (reproducibleBuild -> (!enableOptimizations))
|
assert lib.assertMsg (reproducibleBuild -> (!enableOptimizations))
|
||||||
"Deterministic builds are not achieved when optimizations are enabled.";
|
"Deterministic builds are not achieved when optimizations are enabled.";
|
||||||
|
|
||||||
|
assert lib.assertMsg (reproducibleBuild -> (!rebuildBytecode))
|
||||||
|
"Deterministic builds are not achieved when (default unoptimized) bytecode is created.";
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -100,6 +103,8 @@ let
|
|||||||
|
|
||||||
version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";
|
version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
nativeBuildInputs = optionals (!stdenv.isDarwin) [
|
nativeBuildInputs = optionals (!stdenv.isDarwin) [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
] ++ optionals (!stdenv.isDarwin && passthru.pythonAtLeast "3.10") [
|
] ++ optionals (!stdenv.isDarwin && passthru.pythonAtLeast "3.10") [
|
||||||
@ -234,6 +239,9 @@ in with passthru; stdenv.mkDerivation {
|
|||||||
else
|
else
|
||||||
./3.5/profile-task.patch
|
./3.5/profile-task.patch
|
||||||
)
|
)
|
||||||
|
] ++ optionals (pythonAtLeast "3.9" && stdenv.isDarwin) [
|
||||||
|
# Stop checking for TCL/TK in global macOS locations
|
||||||
|
./3.9/darwin-tcl-tk.patch
|
||||||
] ++ optionals (isPy3k && hasDistutilsCxxPatch) [
|
] ++ optionals (isPy3k && hasDistutilsCxxPatch) [
|
||||||
# Fix for http://bugs.python.org/issue1222585
|
# Fix for http://bugs.python.org/issue1222585
|
||||||
# Upstream distutils is calling C compiler to compile C++ code, which
|
# Upstream distutils is calling C compiler to compile C++ code, which
|
||||||
@ -283,10 +291,11 @@ in with passthru; stdenv.mkDerivation {
|
|||||||
PYTHONHASHSEED=0;
|
PYTHONHASHSEED=0;
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-shared"
|
|
||||||
"--without-ensurepip"
|
"--without-ensurepip"
|
||||||
"--with-system-expat"
|
"--with-system-expat"
|
||||||
"--with-system-ffi"
|
"--with-system-ffi"
|
||||||
|
] ++ optionals (!static) [
|
||||||
|
"--enable-shared"
|
||||||
] ++ optionals enableOptimizations [
|
] ++ optionals enableOptimizations [
|
||||||
"--enable-optimizations"
|
"--enable-optimizations"
|
||||||
] ++ optionals enableLTO [
|
] ++ optionals enableLTO [
|
||||||
@ -334,6 +343,8 @@ in with passthru; stdenv.mkDerivation {
|
|||||||
'' + optionalString stdenv.isDarwin ''
|
'' + optionalString stdenv.isDarwin ''
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
|
||||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||||
|
# Override the auto-detection in setup.py, which assumes a universal build
|
||||||
|
export PYTHON_DECIMAL_WITH_MACHINE=${if stdenv.isAarch64 then "uint128" else "x64"}
|
||||||
'' + optionalString (isPy3k && pythonOlder "3.7") ''
|
'' + optionalString (isPy3k && pythonOlder "3.7") ''
|
||||||
# Determinism: The interpreter is patched to write null timestamps when compiling Python files
|
# Determinism: The interpreter is patched to write null timestamps when compiling Python files
|
||||||
# so Python doesn't try to update the bytecode when seeing frozen timestamps in Nix's store.
|
# so Python doesn't try to update the bytecode when seeing frozen timestamps in Nix's store.
|
||||||
@ -424,11 +435,14 @@ in with passthru; stdenv.mkDerivation {
|
|||||||
# First we delete all old bytecode.
|
# First we delete all old bytecode.
|
||||||
find $out -type d -name __pycache__ -print0 | xargs -0 -I {} rm -rf "{}"
|
find $out -type d -name __pycache__ -print0 | xargs -0 -I {} rm -rf "{}"
|
||||||
'' + optionalString rebuildBytecode ''
|
'' + optionalString rebuildBytecode ''
|
||||||
# Then, we build for the two optimization levels.
|
|
||||||
# We do not build unoptimized bytecode, because its not entirely deterministic yet.
|
|
||||||
# Python 3.7 implements PEP 552, introducing support for deterministic bytecode.
|
# Python 3.7 implements PEP 552, introducing support for deterministic bytecode.
|
||||||
# compileall uses this checked-hash method by default when `SOURCE_DATE_EPOCH` is set.
|
# compileall uses the therein introduced checked-hash method by default when
|
||||||
|
# `SOURCE_DATE_EPOCH` is set.
|
||||||
# We exclude lib2to3 because that's Python 2 code which fails
|
# We exclude lib2to3 because that's Python 2 code which fails
|
||||||
|
# We build 3 levels of optimized bytecode. Note the default level, without optimizations,
|
||||||
|
# is not reproducible yet. https://bugs.python.org/issue29708
|
||||||
|
# Not creating bytecode will result in a large performance loss however, so we do build it.
|
||||||
|
find $out -name "*.py" | ${pythonForBuildInterpreter} -m compileall -q -f -x "lib2to3" -i -
|
||||||
find $out -name "*.py" | ${pythonForBuildInterpreter} -O -m compileall -q -f -x "lib2to3" -i -
|
find $out -name "*.py" | ${pythonForBuildInterpreter} -O -m compileall -q -f -x "lib2to3" -i -
|
||||||
find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
|
find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
|
||||||
'';
|
'';
|
||||||
|
@ -64,10 +64,10 @@ stdenv.mkDerivation rec {
|
|||||||
# fix build with gcc9, can be removed after bumping to current version
|
# fix build with gcc9, can be removed after bumping to current version
|
||||||
NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
|
NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
|
||||||
|
|
||||||
preConfigure =
|
# aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
|
||||||
''
|
# aws-cpp-sdk-core-tests/aws/client/AWSClientTest.cpp
|
||||||
rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
|
# seem to have a datarace
|
||||||
'';
|
enableParallelChecking = false;
|
||||||
|
|
||||||
postFixupHooks = [
|
postFixupHooks = [
|
||||||
# This bodge is necessary so that the file that the generated -config.cmake file
|
# This bodge is necessary so that the file that the generated -config.cmake file
|
||||||
|
47
pkgs/development/libraries/boost/default.nix
Normal file
47
pkgs/development/libraries/boost/default.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ lib
|
||||||
|
, callPackage
|
||||||
|
, boost-build
|
||||||
|
, fetchurl
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
# for boost 1.55 we need to use 1.56's b2
|
||||||
|
# since 1.55's build system is not working
|
||||||
|
# with our derivation
|
||||||
|
useBoost156 = rec {
|
||||||
|
version = "1.56.0";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/boost/boost_${lib.replaceStrings ["."] ["_"] version}.tar.bz2";
|
||||||
|
sha256 = "07gz62nj767qzwqm3xjh11znpyph8gcii0cqhnx7wvismyn34iqk";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
makeBoost = file:
|
||||||
|
lib.fix (self:
|
||||||
|
callPackage file {
|
||||||
|
boost-build = boost-build.override {
|
||||||
|
# useBoost allows us passing in src and version from
|
||||||
|
# the derivation we are building to get a matching b2 version.
|
||||||
|
useBoost =
|
||||||
|
if lib.versionAtLeast self.version "1.56"
|
||||||
|
then self
|
||||||
|
else useBoost156; # see above
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
in {
|
||||||
|
boost155 = makeBoost ./1.55.nix;
|
||||||
|
boost159 = makeBoost ./1.59.nix;
|
||||||
|
boost160 = makeBoost ./1.60.nix;
|
||||||
|
boost165 = makeBoost ./1.65.nix;
|
||||||
|
boost166 = makeBoost ./1.66.nix;
|
||||||
|
boost167 = makeBoost ./1.67.nix;
|
||||||
|
boost168 = makeBoost ./1.68.nix;
|
||||||
|
boost169 = makeBoost ./1.69.nix;
|
||||||
|
boost170 = makeBoost ./1.70.nix;
|
||||||
|
boost171 = makeBoost ./1.71.nix;
|
||||||
|
boost172 = makeBoost ./1.72.nix;
|
||||||
|
boost173 = makeBoost ./1.73.nix;
|
||||||
|
boost174 = makeBoost ./1.74.nix;
|
||||||
|
boost175 = makeBoost ./1.75.nix;
|
||||||
|
}
|
@ -1,8 +1,9 @@
|
|||||||
{ lib, stdenv, icu, expat, zlib, bzip2, python ? null, fixDarwinDylibNames, libiconv
|
{ lib, stdenv, icu, expat, zlib, bzip2, python ? null, fixDarwinDylibNames, libiconv
|
||||||
|
, boost-build
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, which
|
, which
|
||||||
, buildPackages
|
|
||||||
, toolset ? /**/ if stdenv.cc.isClang then "clang"
|
, toolset ? /**/ if stdenv.cc.isClang then "clang"
|
||||||
|
else if stdenv.cc.isGNU then "gcc"
|
||||||
else null
|
else null
|
||||||
, enableRelease ? true
|
, enableRelease ? true
|
||||||
, enableDebug ? false
|
, enableDebug ? false
|
||||||
@ -67,6 +68,8 @@ let
|
|||||||
else
|
else
|
||||||
"$NIX_BUILD_CORES";
|
"$NIX_BUILD_CORES";
|
||||||
|
|
||||||
|
needUserConfig = stdenv.hostPlatform != stdenv.buildPlatform || useMpi || stdenv.isDarwin;
|
||||||
|
|
||||||
b2Args = concatStringsSep " " ([
|
b2Args = concatStringsSep " " ([
|
||||||
"--includedir=$dev/include"
|
"--includedir=$dev/include"
|
||||||
"--libdir=$out/lib"
|
"--libdir=$out/lib"
|
||||||
@ -95,7 +98,7 @@ let
|
|||||||
++ optional (variant == "release") "debug-symbols=off"
|
++ optional (variant == "release") "debug-symbols=off"
|
||||||
++ optional (toolset != null) "toolset=${toolset}"
|
++ optional (toolset != null) "toolset=${toolset}"
|
||||||
++ optional (!enablePython) "--without-python"
|
++ optional (!enablePython) "--without-python"
|
||||||
++ optional (useMpi || stdenv.hostPlatform != stdenv.buildPlatform) "--user-config=user-config.jam"
|
++ optional needUserConfig "--user-config=user-config.jam"
|
||||||
++ optionals (stdenv.hostPlatform.libc == "msvcrt") [
|
++ optionals (stdenv.hostPlatform.libc == "msvcrt") [
|
||||||
"threadapi=win32"
|
"threadapi=win32"
|
||||||
] ++ extraB2Args
|
] ++ extraB2Args
|
||||||
@ -137,22 +140,39 @@ stdenv.mkDerivation {
|
|||||||
maintainers = with maintainers; [ peti ];
|
maintainers = with maintainers; [ peti ];
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = optionalString useMpi ''
|
||||||
if test -f tools/build/src/tools/clang-darwin.jam ; then
|
|
||||||
substituteInPlace tools/build/src/tools/clang-darwin.jam \
|
|
||||||
--replace '@rpath/$(<[1]:D=)' "$out/lib/\$(<[1]:D=)";
|
|
||||||
fi;
|
|
||||||
'' + optionalString useMpi ''
|
|
||||||
cat << EOF >> user-config.jam
|
cat << EOF >> user-config.jam
|
||||||
using mpi : ${mpi}/bin/mpiCC ;
|
using mpi : ${mpi}/bin/mpiCC ;
|
||||||
EOF
|
EOF
|
||||||
'' + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
''
|
||||||
|
# On darwin we need to add the `$out/lib` to the libraries' rpath explicitly,
|
||||||
|
# otherwise the dynamic linker is unable to resolve the reference to @rpath
|
||||||
|
# when the boost libraries want to load each other at runtime.
|
||||||
|
+ optionalString (stdenv.isDarwin && enableShared) ''
|
||||||
cat << EOF >> user-config.jam
|
cat << EOF >> user-config.jam
|
||||||
using gcc : cross : ${stdenv.cc.targetPrefix}c++ ;
|
using clang-darwin : : ${stdenv.cc.targetPrefix}c++
|
||||||
|
: <linkflags>"-rpath $out/lib/"
|
||||||
|
;
|
||||||
|
EOF
|
||||||
|
''
|
||||||
|
# b2 has trouble finding the correct compiler and tools for cross compilation
|
||||||
|
# since it apparently ignores $CC, $AR etc. Thus we need to set everything
|
||||||
|
# in user-config.jam. To keep things simple we just set everything in an
|
||||||
|
# uniform way for clang and gcc (which works thanks to our cc-wrapper).
|
||||||
|
# We pass toolset later which will make b2 invoke everything in the right
|
||||||
|
# way -- the other toolset in user-config.jam will be ignored.
|
||||||
|
+ optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||||
|
cat << EOF >> user-config.jam
|
||||||
|
using gcc : cross : ${stdenv.cc.targetPrefix}c++
|
||||||
|
: <archiver>$AR
|
||||||
|
<ranlib>$RANLIB
|
||||||
|
;
|
||||||
|
|
||||||
|
using clang : cross : ${stdenv.cc.targetPrefix}c++
|
||||||
|
: <archiver>$AR
|
||||||
|
<ranlib>$RANLIB
|
||||||
|
;
|
||||||
EOF
|
EOF
|
||||||
# Build b2 with buildPlatform CC/CXX.
|
|
||||||
sed '2i export CC=$CC_FOR_BUILD; export CXX=$CXX_FOR_BUILD' \
|
|
||||||
-i ./tools/build/src/engine/build.sh
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
NIX_CFLAGS_LINK = lib.optionalString stdenv.isDarwin
|
NIX_CFLAGS_LINK = lib.optionalString stdenv.isDarwin
|
||||||
@ -160,9 +180,8 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ which ]
|
nativeBuildInputs = [ which boost-build ]
|
||||||
++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
|
||||||
buildInputs = [ expat zlib bzip2 libiconv ]
|
buildInputs = [ expat zlib bzip2 libiconv ]
|
||||||
++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu
|
++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu
|
||||||
++ optional enablePython python
|
++ optional enablePython python
|
||||||
@ -170,16 +189,19 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
configureScript = "./bootstrap.sh";
|
configureScript = "./bootstrap.sh";
|
||||||
configurePlatforms = [];
|
configurePlatforms = [];
|
||||||
|
dontDisableStatic = true;
|
||||||
|
dontAddStaticConfigureFlags = true;
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--includedir=$(dev)/include"
|
"--includedir=$(dev)/include"
|
||||||
"--libdir=$(out)/lib"
|
"--libdir=$(out)/lib"
|
||||||
|
"--with-bjam=b2" # prevent bootstrapping b2 in configurePhase
|
||||||
] ++ optional enablePython "--with-python=${python.interpreter}"
|
] ++ optional enablePython "--with-python=${python.interpreter}"
|
||||||
++ [ (if stdenv.hostPlatform == stdenv.buildPlatform then "--with-icu=${icu.dev}" else "--without-icu") ]
|
++ optional (toolset != null) "--with-toolset=${toolset}"
|
||||||
++ optional (toolset != null) "--with-toolset=${toolset}";
|
++ [ (if stdenv.hostPlatform == stdenv.buildPlatform then "--with-icu=${icu.dev}" else "--without-icu") ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
./b2 ${b2Args}
|
b2 ${b2Args}
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -191,7 +213,7 @@ stdenv.mkDerivation {
|
|||||||
cp -a tools/boostbook/{xsl,dtd} $dev/share/boostbook/
|
cp -a tools/boostbook/{xsl,dtd} $dev/share/boostbook/
|
||||||
|
|
||||||
# Let boost install everything else
|
# Let boost install everything else
|
||||||
./b2 ${b2Args} install
|
b2 ${b2Args} install
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, meson, ninja, python37Packages }:
|
{ lib, stdenv, fetchFromGitHub, meson, ninja, python3Packages }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "unstable-2019-10-09";
|
version = "unstable-2019-10-09";
|
||||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
patchShebangs ci/isdir.py
|
patchShebangs ci/isdir.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
checkInputs = with python37Packages; [ cram ];
|
checkInputs = with python3Packages; [ cram ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
@ -8,13 +8,15 @@
|
|||||||
let self =
|
let self =
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "c-ares";
|
pname = "c-ares";
|
||||||
version = "1.17.1";
|
version = "1.17.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
|
url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0h7wjfnk2092glqcp9mqaax7xx0s13m501z1gi0gsjl2vvvd0gfp";
|
sha256 = "sha256-SAPIRM4gzlEO8OuD+OpB+iTsqunSgMRoxYLSuyWzkT0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A C library for asynchronous DNS requests";
|
description = "A C library for asynchronous DNS requests";
|
||||||
homepage = "https://c-ares.haxx.se";
|
homepage = "https://c-ares.haxx.se";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, boxfort, cmake, libcsptr, pkg-config, gettext
|
{ lib, stdenv, fetchFromGitHub, boxfort, cmake, libcsptr, pkg-config, gettext
|
||||||
, dyncall , nanomsg, python37Packages }:
|
, dyncall , nanomsg, python3Packages }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.3.3";
|
version = "2.3.3";
|
||||||
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
|||||||
nanomsg
|
nanomsg
|
||||||
];
|
];
|
||||||
|
|
||||||
checkInputs = with python37Packages; [ cram ];
|
checkInputs = with python3Packages; [ cram ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DCTESTS=ON" ];
|
cmakeFlags = [ "-DCTESTS=ON" ];
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
@ -10,14 +10,14 @@ assert useVulkan -> withExamples;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dav1d";
|
pname = "dav1d";
|
||||||
version = "0.9.0";
|
version = "0.9.1";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "code.videolan.org";
|
domain = "code.videolan.org";
|
||||||
owner = "videolan";
|
owner = "videolan";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0ki3wlyaqr80gl1srbbd18dd5bs1sl9icxym8ar62abpvgzxl5yk";
|
sha256 = "15ngaqyjbwkj0rd9mvxaqf3i9vzsnlrqgr50cnxxjqnpf7xdmslj";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja nasm pkg-config ];
|
nativeBuildInputs = [ meson ninja nasm pkg-config ];
|
||||||
|
@ -11,13 +11,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "enchant";
|
pname = "enchant";
|
||||||
version = "2.3.0";
|
version = "2.3.1";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
|
url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "sha256-32gGO2wTskX6ckaw4JigPnT3qRxtiUe8XE9CzlXi5B0=";
|
sha256 = "sha256-e0sa/PLNi/ppHe6mGIQE0zfyMXS7w5ucKt0r80Bzbpw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -244,7 +244,7 @@ assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ffmpeg-full";
|
pname = "ffmpeg-full";
|
||||||
inherit (ffmpeg) src version;
|
inherit (ffmpeg) src version patches;
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
@ -447,6 +447,14 @@ stdenv.mkDerivation rec {
|
|||||||
buildFlags = [ "all" ]
|
buildFlags = [ "all" ]
|
||||||
++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable
|
++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkPhase = let
|
||||||
|
ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||||
|
in ''
|
||||||
|
${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
|
||||||
|
make check -j$NIX_BUILD_CORES
|
||||||
|
'';
|
||||||
|
|
||||||
# Hacky framework patching technique borrowed from the phantomjs2 package
|
# Hacky framework patching technique borrowed from the phantomjs2 package
|
||||||
postInstall = optionalString qtFaststartProgram ''
|
postInstall = optionalString qtFaststartProgram ''
|
||||||
cp -a tools/qt-faststart $out/bin/
|
cp -a tools/qt-faststart $out/bin/
|
||||||
|
@ -7,4 +7,5 @@ callPackage ./generic.nix (rec {
|
|||||||
knownVulnerabilities = [
|
knownVulnerabilities = [
|
||||||
"CVE-2021-30123"
|
"CVE-2021-30123"
|
||||||
];
|
];
|
||||||
|
doCheck = false;
|
||||||
} // args)
|
} // args)
|
||||||
|
@ -13,6 +13,16 @@ callPackage ./generic.nix (rec {
|
|||||||
darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
|
darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2021-33815.patch";
|
||||||
|
url = "https://github.com/FFmpeg/FFmpeg/commit/26d3c81bc5ef2f8c3f09d45eaeacfb4b1139a777.patch";
|
||||||
|
sha256 = "0l8dqga5845f7d3wdbvd05i23saldq4pm2cyfdgszbr0c18sxagf";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2021-38114.patch";
|
||||||
|
url = "https://github.com/FFmpeg/FFmpeg/commit/7150f9575671f898382c370acae35f9087a30ba1.patch";
|
||||||
|
sha256 = "0gwkc7v1wsh4j0am2nnskhsca1b5aqzhcfd41sd9mh2swsdyf27i";
|
||||||
|
})
|
||||||
# Fix incorrect segment length in HLS child playlist with fmp4 segment format
|
# Fix incorrect segment length in HLS child playlist with fmp4 segment format
|
||||||
# FIXME remove in version 4.5
|
# FIXME remove in version 4.5
|
||||||
# https://trac.ffmpeg.org/ticket/9193
|
# https://trac.ffmpeg.org/ticket/9193
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, alsa-lib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
|
, alsa-lib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
|
||||||
, libssh, libtheora, libva, libdrm, libvorbis, libvpx, xz, libpulseaudio, soxr
|
, libssh, libtheora, libva, libdrm, libvorbis, libvpx, xz, libpulseaudio, soxr
|
||||||
, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
|
, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
|
||||||
|
, srt ? null
|
||||||
, openglSupport ? false, libGLU ? null, libGL ? null
|
, openglSupport ? false, libGLU ? null, libGL ? null
|
||||||
, libmfxSupport ? false, intel-media-sdk ? null
|
, libmfxSupport ? false, intel-media-sdk ? null
|
||||||
, libaomSupport ? false, libaom ? null
|
, libaomSupport ? false, libaom ? null
|
||||||
@ -17,7 +18,8 @@
|
|||||||
# Darwin frameworks
|
# Darwin frameworks
|
||||||
, Cocoa, darwinFrameworks ? [ Cocoa ]
|
, Cocoa, darwinFrameworks ? [ Cocoa ]
|
||||||
# Inherit generics
|
# Inherit generics
|
||||||
, branch, sha256, version, patches ? [], knownVulnerabilities ? [], ...
|
, branch, sha256, version, patches ? [], knownVulnerabilities ? []
|
||||||
|
, doCheck ? true, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
/* Maintainer notes:
|
/* Maintainer notes:
|
||||||
@ -94,6 +96,7 @@ stdenv.mkDerivation rec {
|
|||||||
# Build flags
|
# Build flags
|
||||||
"--enable-shared"
|
"--enable-shared"
|
||||||
(ifMinVer "0.6" "--enable-pic")
|
(ifMinVer "0.6" "--enable-pic")
|
||||||
|
(ifMinVer "4.0" (enableFeature (srt != null) "libsrt"))
|
||||||
(enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
|
(enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
|
||||||
"--enable-hardcoded-tables"
|
"--enable-hardcoded-tables"
|
||||||
] ++
|
] ++
|
||||||
@ -171,7 +174,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
|
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
|
||||||
libvorbis xz soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
|
libvorbis xz soxr x264 x265 xvidcore zlib libopus speex srt nv-codec-headers
|
||||||
] ++ optionals openglSupport [ libGL libGLU ]
|
] ++ optionals openglSupport [ libGL libGLU ]
|
||||||
++ optional libmfxSupport intel-media-sdk
|
++ optional libmfxSupport intel-media-sdk
|
||||||
++ optional libaomSupport libaom
|
++ optional libaomSupport libaom
|
||||||
@ -187,7 +190,13 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
doCheck = false; # fails
|
inherit doCheck;
|
||||||
|
checkPhase = let
|
||||||
|
ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||||
|
in ''
|
||||||
|
${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
|
||||||
|
make check -j$NIX_BUILD_CORES
|
||||||
|
'';
|
||||||
|
|
||||||
# ffmpeg 3+ generates pkg-config (.pc) files that don't have the
|
# ffmpeg 3+ generates pkg-config (.pc) files that don't have the
|
||||||
# form automatically handled by the multiple-outputs hooks.
|
# form automatically handled by the multiple-outputs hooks.
|
||||||
|
@ -43,6 +43,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}"
|
"SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}"
|
||||||
|
"CC=${stdenv.cc.targetPrefix}cc"
|
||||||
|
"LD=${stdenv.cc.targetPrefix}cc"
|
||||||
|
"AR=${stdenv.cc.targetPrefix}ar"
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "glib-networking";
|
pname = "glib-networking";
|
||||||
version = "2.68.1";
|
version = "2.68.2";
|
||||||
|
|
||||||
outputs = [ "out" "installedTests" ];
|
outputs = [ "out" "installedTests" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0c1vylxly8k7g454g02spi44ybjidlwg461vp713zxd94k8qnpfh";
|
sha256 = "U168BU72l9tWpP/+2RvA4RyO4cmstIqtKMjh1cPVmU8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
Binary file not shown.
@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
version = "2.33";
|
version = "2.33";
|
||||||
patchSuffix = "-47";
|
patchSuffix = "-49";
|
||||||
sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
|
sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ stdenv.mkDerivation ({
|
|||||||
[
|
[
|
||||||
/* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
|
/* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
|
||||||
$ git fetch --all -p && git checkout origin/release/2.33/master && git describe
|
$ git fetch --all -p && git checkout origin/release/2.33/master && git describe
|
||||||
glibc-2.33-47-gb5711025bc
|
glibc-2.33-49-g22d37364ae
|
||||||
$ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
|
$ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
|
||||||
|
|
||||||
To compare the archive contents zdiff can be used.
|
To compare the archive contents zdiff can be used.
|
||||||
|
@ -21,22 +21,10 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(fetchpatch { # probably included in > 1.16.0
|
# probably included in > 1.16.0
|
||||||
name = "test_t-edit-sign.diff"; # we experienced segmentation fault in this test
|
./test_t-edit-sign.diff
|
||||||
urls = [
|
# https://dev.gnupg.org/rMc4cf527ea227edb468a84bf9b8ce996807bd6992
|
||||||
"https://files.gnupg.net/file/data/w43xz2zf73pnyqk5mm5l/PHID-FILE-hm2x5mjntsdyxrxve5tb/file"
|
./fix_gpg_list_keys.diff
|
||||||
"https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969"
|
|
||||||
];
|
|
||||||
sha256 = "1xxvv0kc9wdj5hzpddzs3cn8dhmm2cb29224a7h9vairraq5272h";
|
|
||||||
})
|
|
||||||
(fetchpatch { # gpg: Send --with-keygrip when listing keys
|
|
||||||
name = "c4cf527ea227edb468a84bf9b8ce996807bd6992.patch";
|
|
||||||
urls = [
|
|
||||||
"https://files.gnupg.net/file/data/2ufcg7ny5jdnv7hmewb4/PHID-FILE-7iwvryn2btti6txr3bsz/file"
|
|
||||||
"http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992"
|
|
||||||
];
|
|
||||||
sha256 = "0y0b0lb2nq5p9kx13b59b2jaz157mvflliw1qdvg1v1hynvgb8m4";
|
|
||||||
})
|
|
||||||
# https://lists.gnupg.org/pipermail/gnupg-devel/2020-April/034591.html
|
# https://lists.gnupg.org/pipermail/gnupg-devel/2020-April/034591.html
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "0001-Fix-python-tests-on-non-Linux.patch";
|
name = "0001-Fix-python-tests-on-non-Linux.patch";
|
||||||
|
12
pkgs/development/libraries/gpgme/fix_gpg_list_keys.diff
Normal file
12
pkgs/development/libraries/gpgme/fix_gpg_list_keys.diff
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff --git a/src/engine-gpg.c b/src/engine-gpg.c
|
||||||
|
index b51ea173..4e74665e 100644
|
||||||
|
--- a/src/engine-gpg.c
|
||||||
|
+++ b/src/engine-gpg.c
|
||||||
|
@@ -3005,6 +3005,7 @@ gpg_keylist_build_options (engine_gpg_t gpg, int secret_only,
|
||||||
|
gpg_error_t err;
|
||||||
|
|
||||||
|
err = add_arg (gpg, "--with-colons");
|
||||||
|
+ err = add_arg (gpg, "--with-keygrip");
|
||||||
|
|
||||||
|
/* Since gpg 2.1.15 fingerprints are always printed, thus there is
|
||||||
|
* no more need to explicitly request them. */
|
125
pkgs/development/libraries/gpgme/test_t-edit-sign.diff
Normal file
125
pkgs/development/libraries/gpgme/test_t-edit-sign.diff
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
From 81a33ea5e1b86d586b956e893a5b25c4cd41c969 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de>
|
||||||
|
Date: Sat, 26 Jun 2021 18:02:47 +0200
|
||||||
|
Subject: [PATCH] core: Fix use-after-free issue in test
|
||||||
|
|
||||||
|
* tests/gpg/t-edit-sign.c (sign_key, verify_key_signature): New.
|
||||||
|
(main): Factored out signing and verifying the result.
|
||||||
|
--
|
||||||
|
|
||||||
|
Factoring the two steps of the test into different functions fixes the
|
||||||
|
use-after-free issue that was caused by accidentaly using a variable
|
||||||
|
of the first step in the second step.
|
||||||
|
|
||||||
|
GnuPG-bug-id: 5509
|
||||||
|
---
|
||||||
|
tests/gpg/t-edit-sign.c | 54 ++++++++++++++++++++++++++++-------------
|
||||||
|
1 file changed, 37 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/gpg/t-edit-sign.c b/tests/gpg/t-edit-sign.c
|
||||||
|
index 2f983622..e0494c54 100644
|
||||||
|
--- a/tests/gpg/t-edit-sign.c
|
||||||
|
+++ b/tests/gpg/t-edit-sign.c
|
||||||
|
@@ -107,31 +107,19 @@ interact_fnc (void *opaque, const char *status, const char *args, int fd)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-int
|
||||||
|
-main (int argc, char **argv)
|
||||||
|
+void
|
||||||
|
+sign_key (const char *key_fpr, const char *signer_fpr)
|
||||||
|
{
|
||||||
|
gpgme_ctx_t ctx;
|
||||||
|
gpgme_error_t err;
|
||||||
|
gpgme_data_t out = NULL;
|
||||||
|
- const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
|
||||||
|
gpgme_key_t signing_key = NULL;
|
||||||
|
- const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
|
||||||
|
gpgme_key_t key = NULL;
|
||||||
|
- gpgme_key_t signed_key = NULL;
|
||||||
|
- gpgme_user_id_t signed_uid = NULL;
|
||||||
|
- gpgme_key_sig_t key_sig = NULL;
|
||||||
|
char *agent_info;
|
||||||
|
- int mode;
|
||||||
|
-
|
||||||
|
- (void)argc;
|
||||||
|
- (void)argv;
|
||||||
|
-
|
||||||
|
- init_gpgme (GPGME_PROTOCOL_OpenPGP);
|
||||||
|
|
||||||
|
err = gpgme_new (&ctx);
|
||||||
|
fail_if_err (err);
|
||||||
|
|
||||||
|
- /* Sign the key */
|
||||||
|
agent_info = getenv("GPG_AGENT_INFO");
|
||||||
|
if (!(agent_info && strchr (agent_info, ':')))
|
||||||
|
gpgme_set_passphrase_cb (ctx, passphrase_cb, 0);
|
||||||
|
@@ -159,8 +147,23 @@ main (int argc, char **argv)
|
||||||
|
gpgme_data_release (out);
|
||||||
|
gpgme_key_unref (key);
|
||||||
|
gpgme_key_unref (signing_key);
|
||||||
|
+ gpgme_release (ctx);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+verify_key_signature (const char *key_fpr, const char *signer_keyid)
|
||||||
|
+{
|
||||||
|
+ gpgme_ctx_t ctx;
|
||||||
|
+ gpgme_error_t err;
|
||||||
|
+ gpgme_key_t signed_key = NULL;
|
||||||
|
+ gpgme_user_id_t signed_uid = NULL;
|
||||||
|
+ gpgme_key_sig_t key_sig = NULL;
|
||||||
|
+ int mode;
|
||||||
|
+
|
||||||
|
+ err = gpgme_new (&ctx);
|
||||||
|
+ fail_if_err (err);
|
||||||
|
|
||||||
|
- /* Verify the key signature */
|
||||||
|
mode = gpgme_get_keylist_mode (ctx);
|
||||||
|
mode |= GPGME_KEYLIST_MODE_SIGS;
|
||||||
|
err = gpgme_set_keylist_mode (ctx, mode);
|
||||||
|
@@ -168,7 +171,7 @@ main (int argc, char **argv)
|
||||||
|
err = gpgme_get_key (ctx, key_fpr, &signed_key, 0);
|
||||||
|
fail_if_err (err);
|
||||||
|
|
||||||
|
- signed_uid = key->uids;
|
||||||
|
+ signed_uid = signed_key->uids;
|
||||||
|
if (!signed_uid)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "Signed key has no user IDs\n");
|
||||||
|
@@ -180,7 +183,7 @@ main (int argc, char **argv)
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
key_sig = signed_uid->signatures->next;
|
||||||
|
- if (strcmp ("2D727CC768697734", key_sig->keyid))
|
||||||
|
+ if (strcmp (signer_keyid, key_sig->keyid))
|
||||||
|
{
|
||||||
|
fprintf (stderr, "Unexpected key ID in second user ID sig: %s\n",
|
||||||
|
key_sig->keyid);
|
||||||
|
@@ -196,6 +199,23 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
|
gpgme_key_unref (signed_key);
|
||||||
|
gpgme_release (ctx);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+main (int argc, char **argv)
|
||||||
|
+{
|
||||||
|
+ const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
|
||||||
|
+ const char *signer_keyid = signer_fpr + strlen(signer_fpr) - 16;
|
||||||
|
+ const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
|
||||||
|
+
|
||||||
|
+ (void)argc;
|
||||||
|
+ (void)argv;
|
||||||
|
+
|
||||||
|
+ init_gpgme (GPGME_PROTOCOL_OpenPGP);
|
||||||
|
+
|
||||||
|
+ sign_key (key_fpr, signer_fpr);
|
||||||
|
+ verify_key_signature (key_fpr, signer_keyid);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.32.0
|
@ -107,6 +107,7 @@ stdenv.mkDerivation rec {
|
|||||||
"-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}"
|
"-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}"
|
||||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
"-Dintrospection=disabled"
|
"-Dintrospection=disabled"
|
||||||
|
"-Dtests=disabled"
|
||||||
]
|
]
|
||||||
++ lib.optional (!enableX11) "-Dx11=disabled"
|
++ lib.optional (!enableX11) "-Dx11=disabled"
|
||||||
# TODO How to disable Wayland?
|
# TODO How to disable Wayland?
|
||||||
|
@ -76,12 +76,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./patches/3.0-immodules.cache.patch
|
./patches/3.0-immodules.cache.patch
|
||||||
|
./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch
|
||||||
(fetchpatch {
|
|
||||||
name = "Xft-setting-fallback-compute-DPI-properly.patch";
|
|
||||||
url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123";
|
|
||||||
sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p";
|
|
||||||
})
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
# X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
|
# X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
|
||||||
# let’s drop that dependency in similar way to how other parts of the library do it
|
# let’s drop that dependency in similar way to how other parts of the library do it
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
From 269f2d80ea41cde17612600841fbdc32e99010f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
||||||
|
Date: Tue, 24 Jan 2017 12:30:08 +0100
|
||||||
|
Subject: [PATCH] Xft setting fallback: compute DPI properly
|
||||||
|
|
||||||
|
This is a partial revert of bdf0820c501437a2150d8ff0d5340246e713f73f. If
|
||||||
|
the Xft DPI settings are not explicitly set, use the values provided by
|
||||||
|
the X server rather than hard-coding the fallback value of 96.
|
||||||
|
|
||||||
|
While an auto-configured Xorg already reports 96, this value can be
|
||||||
|
overriden by the user, and we should respect the user choice in this
|
||||||
|
case. There is no need to require them to set the same value in
|
||||||
|
different places (the Xorg DPI settings and Xft.dpi).
|
||||||
|
---
|
||||||
|
gdk/x11/gdkxftdefaults.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c
|
||||||
|
index fa1cfde2ec..c462b78c4b 100644
|
||||||
|
--- a/gdk/x11/gdkxftdefaults.c
|
||||||
|
+++ b/gdk/x11/gdkxftdefaults.c
|
||||||
|
@@ -174,7 +174,8 @@ init_xft_settings (GdkScreen *screen)
|
||||||
|
x11_screen->xft_rgba = FC_RGBA_UNKNOWN;
|
||||||
|
|
||||||
|
if (!get_double_default (xdisplay, "dpi", &dpi_double))
|
||||||
|
- dpi_double = 96.0;
|
||||||
|
+ dpi_double = (DisplayHeight(xdisplay, x11_screen->screen_num)*25.4)/
|
||||||
|
+ DisplayHeightMM(xdisplay, x11_screen->screen_num);
|
||||||
|
|
||||||
|
x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.11.0.616.gd72966cf44.dirty
|
||||||
|
|
@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
|
|||||||
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||||
# CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
|
# CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
|
||||||
"-DCONFIG_RUNTIME_CPU_DETECT=0"
|
"-DCONFIG_RUNTIME_CPU_DETECT=0"
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
"-DAS_EXECUTABLE=${stdenv.cc.targetPrefix}as"
|
||||||
] ++ lib.optionals stdenv.isAarch32 [
|
] ++ lib.optionals stdenv.isAarch32 [
|
||||||
# armv7l-hf-multiplatform does not support NEON
|
# armv7l-hf-multiplatform does not support NEON
|
||||||
# see lib/systems/platform.nix
|
# see lib/systems/platform.nix
|
||||||
|
@ -30,6 +30,7 @@ stdenv.mkDerivation {
|
|||||||
# We update these ourselves
|
# We update these ourselves
|
||||||
dontUpdateAutotoolsGnuConfigScripts = true;
|
dontUpdateAutotoolsGnuConfigScripts = true;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
nativeBuildInputs = [ autoreconfHook bison ];
|
nativeBuildInputs = [ autoreconfHook bison ];
|
||||||
buildInputs = [ libiberty zlib.dev ];
|
buildInputs = [ libiberty zlib.dev ];
|
||||||
|
|
||||||
@ -37,9 +38,8 @@ stdenv.mkDerivation {
|
|||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-targets=all" "--enable-64-bit-bfd"
|
"--enable-targets=all" "--enable-64-bit-bfd"
|
||||||
"--enable-install-libbfd"
|
"--enable-install-libbfd"
|
||||||
"--enable-shared"
|
|
||||||
"--with-system-zlib"
|
"--with-system-zlib"
|
||||||
];
|
] ++ lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared";
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja
|
{ lib, stdenv, fetchurl, pkg-config, meson, ninja
|
||||||
, libevdev, mtdev, udev, libwacom
|
, libevdev, mtdev, udev, libwacom
|
||||||
, documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation
|
, documentationSupport ? false, doxygen, graphviz # Documentation
|
||||||
, eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support
|
, eventGUISupport ? false, cairo, glib, gtk3 # GUI event viewer support
|
||||||
, testsSupport ? false, check ? null, valgrind ? null, python3 ? null
|
, testsSupport ? false, check, valgrind, python3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert documentationSupport -> doxygen != null && graphviz != null && python3 != null;
|
|
||||||
assert eventGUISupport -> cairo != null && glib != null && gtk3 != null;
|
|
||||||
assert testsSupport -> check != null && valgrind != null && python3 != null;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
mkFlag = optSet: flag: "-D${flag}=${lib.boolToString optSet}";
|
mkFlag = optSet: flag: "-D${flag}=${lib.boolToString optSet}";
|
||||||
|
|
||||||
@ -24,17 +20,13 @@ let
|
|||||||
else null;
|
else null;
|
||||||
in
|
in
|
||||||
|
|
||||||
with lib;
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libinput";
|
pname = "libinput";
|
||||||
version = "1.16.4";
|
version = "1.18.1";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchurl {
|
||||||
domain = "gitlab.freedesktop.org";
|
url = "https://www.freedesktop.org/software/libinput/libinput-${version}.tar.xz";
|
||||||
owner = pname;
|
sha256 = "1jx7y48ym89grjz67jmn80h5j8c36qgwb0h5c703nln2zchl18cw";
|
||||||
repo = pname;
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1c81429kh9av9fanxmnjw5rvsjbzcyi7d0dx0gkyq5yysmpmrppi";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" ];
|
outputs = [ "bin" "out" "dev" ];
|
||||||
@ -48,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config meson ninja ]
|
nativeBuildInputs = [ pkg-config meson ninja ]
|
||||||
++ optionals documentationSupport [ doxygen graphviz sphinx-build ];
|
++ lib.optionals documentationSupport [ doxygen graphviz sphinx-build ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libevdev
|
libevdev
|
||||||
@ -60,8 +52,7 @@ stdenv.mkDerivation rec {
|
|||||||
pyyaml
|
pyyaml
|
||||||
setuptools
|
setuptools
|
||||||
]))
|
]))
|
||||||
]
|
] ++ lib.optionals eventGUISupport [ cairo glib gtk3 ];
|
||||||
++ optionals eventGUISupport [ cairo glib gtk3 ];
|
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
check
|
check
|
||||||
@ -73,15 +64,19 @@ stdenv.mkDerivation rec {
|
|||||||
patches = [ ./udev-absolute-path.patch ];
|
patches = [ ./udev-absolute-path.patch ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs tools/helper-copy-and-exec-from-tmp.sh
|
patchShebangs \
|
||||||
patchShebangs test/symbols-leak-test
|
tools/helper-copy-and-exec-from-tmp.sh \
|
||||||
patchShebangs test/check-leftover-udev-rules.sh
|
test/symbols-leak-test \
|
||||||
patchShebangs test/helper-copy-and-exec-from-tmp.sh
|
test/check-leftover-udev-rules.sh \
|
||||||
|
test/helper-copy-and-exec-from-tmp.sh
|
||||||
|
|
||||||
|
# Don't create an empty /etc directory.
|
||||||
|
sed -i "/install_subdir('libinput', install_dir : dir_etc)/d" meson.build
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
|
doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
|
description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
|
||||||
homepage = "https://www.freedesktop.org/wiki/Software/libinput/";
|
homepage = "https://www.freedesktop.org/wiki/Software/libinput/";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, pkg-config, glib }:
|
{ lib, stdenv, fetchFromGitHub, pkg-config, glib, Carbon }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "liblqr-1";
|
pname = "liblqr-1";
|
||||||
@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [ Carbon ];
|
||||||
propagatedBuildInputs = [ glib ];
|
propagatedBuildInputs = [ glib ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
{ lib, stdenv
|
{ lib
|
||||||
|
, stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, glib
|
, glib
|
||||||
, python3
|
, python3
|
||||||
, systemd
|
, systemd
|
||||||
, libgudev
|
|
||||||
, withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
|
, withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
, gobject-introspection
|
, gobject-introspection
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libmbim";
|
pname = "libmbim";
|
||||||
version = "1.24.8";
|
version = "1.26.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
|
url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-AlkHNhY//xDlcyGR/MwbmSCWlhbdxZYToAMFKhFqPCU=";
|
sha256 = "1kqkx139z62w391bz6lwmcjg7v12jxlcm7hj88222xrcn8k0j7qy";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "man" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
glib
|
glib
|
||||||
libgudev
|
|
||||||
systemd
|
systemd
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -43,6 +42,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = "https://www.freedesktop.org/wiki/Software/libmbim/";
|
homepage = "https://www.freedesktop.org/wiki/Software/libmbim/";
|
||||||
description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol";
|
description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2Plus;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libqmi";
|
pname = "libqmi";
|
||||||
version = "1.28.6";
|
version = "1.28.8";
|
||||||
|
|
||||||
outputs = [ "out" "dev" "devdoc" ];
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
|
url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1zg5k8f6l87iy9hmzwckdx532s845z9c5npblmpf1pp17n4r1f6b";
|
sha256 = "sha256-bju70gC8G2SyP2JU/vkhLyaZ7HfPsyB10rpQecc6n3g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
|
|||||||
# Tools
|
# Tools
|
||||||
gpl2Plus
|
gpl2Plus
|
||||||
];
|
];
|
||||||
|
changelog = "https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/blob/${version}/NEWS";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libsndfile";
|
pname = "libsndfile";
|
||||||
version = "1.0.30";
|
version = "1.0.31";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = version;
|
||||||
sha256 = "1rh79y4s4m2wcm2kahmzs2kijpdpayif2gyca6m71f3k7jbhgcwa";
|
sha256 = "1alba3iv8i7i2jb5fd6q5s7j9bcj48sf28nfjd3qigz2n2is5jl2";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook autogen pkg-config python3 ];
|
nativeBuildInputs = [ autoreconfHook autogen pkg-config python3 ];
|
||||||
|
10
pkgs/development/libraries/libssh2/1_10.nix
Normal file
10
pkgs/development/libraries/libssh2/1_10.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{ libssh2, fetchurl }:
|
||||||
|
|
||||||
|
libssh2.overrideAttrs (attrs: rec {
|
||||||
|
version = "1.10.0";
|
||||||
|
src = fetchurl {
|
||||||
|
url = with attrs; "${meta.homepage}/download/${pname}-${version}.tar.gz";
|
||||||
|
sha256 = "sha256-LWTpDz3tOUuR06LndMogOkF59prr7gMAPlpvpiHkHVE=";
|
||||||
|
};
|
||||||
|
patches = [];
|
||||||
|
})
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libwacom";
|
pname = "libwacom";
|
||||||
version = "1.10";
|
version = "1.11";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
owner = "linuxwacom";
|
owner = "linuxwacom";
|
||||||
repo = "libwacom";
|
repo = "libwacom";
|
||||||
rev = "libwacom-${version}";
|
rev = "libwacom-${version}";
|
||||||
sha256 = "sha256-Q7b54AMAxdIzN7TUuhIdlrXaVtj2szV4n3y9bAE0LsU=";
|
sha256 = "sha256-HDBWycdZf/pUL7ZzCuF55tfby3GW0WW6Vq3htPWT1v4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config meson ninja doxygen python3 ];
|
nativeBuildInputs = [ pkg-config meson ninja doxygen python3 ];
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
, zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs
|
, zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs
|
||||||
, pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform
|
, pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform
|
||||||
, icuSupport ? false, icu ? null
|
, icuSupport ? false, icu ? null
|
||||||
, enableShared ? stdenv.hostPlatform.libc != "msvcrt"
|
, enableShared ? stdenv.hostPlatform.libc != "msvcrt" && !stdenv.hostPlatform.isStatic
|
||||||
, enableStatic ? !enableShared
|
, enableStatic ? !enableShared
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
|
|||||||
++ lib.optional pythonSupport "py"
|
++ lib.optional pythonSupport "py"
|
||||||
++ lib.optional (enableStatic && enableShared) "static";
|
++ lib.optional (enableStatic && enableShared) "static";
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
buildInputs = lib.optional pythonSupport python
|
buildInputs = lib.optional pythonSupport python
|
||||||
++ lib.optional (pythonSupport && python?isPy2 && python.isPy2) gettext
|
++ lib.optional (pythonSupport && python?isPy2 && python.isPy2) gettext
|
||||||
++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
|
++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
|
||||||
|
@ -9,12 +9,14 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0wm04519pd3g8hqpjqhfr72q8qmbiwqaxcs3cndny9h86aa95y60";
|
sha256 = "0wm04519pd3g8hqpjqhfr72q8qmbiwqaxcs3cndny9h86aa95y60";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = [ "--enable-shared" ];
|
configureFlags = lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared" ;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
doCheck = true; # not cross;
|
doCheck = true; # not cross;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Real-time data (de)compression library";
|
description = "Real-time data (de)compression library";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -31,7 +31,7 @@ with lib;
|
|||||||
let
|
let
|
||||||
# Release calendar: https://www.mesa3d.org/release-calendar.html
|
# Release calendar: https://www.mesa3d.org/release-calendar.html
|
||||||
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
|
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
|
||||||
version = "21.1.7";
|
version = "21.2.1";
|
||||||
branch = versions.major version;
|
branch = versions.major version;
|
||||||
|
|
||||||
self = stdenv.mkDerivation {
|
self = stdenv.mkDerivation {
|
||||||
@ -45,11 +45,9 @@ self = stdenv.mkDerivation {
|
|||||||
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
|
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
|
||||||
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
|
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
|
||||||
];
|
];
|
||||||
sha256 = "1fx7nfvh1drfa6vv34j7ma944qbs014b0jwlbgqlnbjgcl87rrp9";
|
sha256 = "11qpq16xbxymcgiy0wk787dk4yw2pv8fzgj8d92ng6s11dqycr9c";
|
||||||
};
|
};
|
||||||
|
|
||||||
prePatch = "patchShebangs .";
|
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
|
# revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
|
||||||
# ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
|
# ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
|
||||||
@ -64,12 +62,6 @@ self = stdenv.mkDerivation {
|
|||||||
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch";
|
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch";
|
||||||
sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q";
|
sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q";
|
||||||
})
|
})
|
||||||
# For RISC-V support:
|
|
||||||
(fetchpatch {
|
|
||||||
name = "add-riscv-default-selections.patch";
|
|
||||||
url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/9908da1b7a5eaf0156d458e0e24b694c070ba345.patch";
|
|
||||||
sha256 = "036gv95m5gzzs6qpgkydf5fwgdlm7kpbdfalg8vmayghd260rw1w";
|
|
||||||
})
|
|
||||||
] ++ optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
] ++ optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||||
# Fix aarch64-darwin build, remove when upstreaam supports it out of the box.
|
# Fix aarch64-darwin build, remove when upstreaam supports it out of the box.
|
||||||
# See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020
|
# See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020
|
||||||
@ -77,6 +69,8 @@ self = stdenv.mkDerivation {
|
|||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
patchShebangs .
|
||||||
|
|
||||||
substituteInPlace meson.build --replace \
|
substituteInPlace meson.build --replace \
|
||||||
"find_program('pkg-config')" \
|
"find_program('pkg-config')" \
|
||||||
"find_program('${buildPackages.pkg-config.targetPrefix}pkg-config')"
|
"find_program('${buildPackages.pkg-config.targetPrefix}pkg-config')"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
, SDL
|
, SDL
|
||||||
, ffmpeg
|
, ffmpeg
|
||||||
, frei0r
|
, frei0r
|
||||||
@ -26,13 +27,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "mlt";
|
pname = "mlt";
|
||||||
version = "6.24.0";
|
version = "7.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mltframework";
|
owner = "mltframework";
|
||||||
repo = "mlt";
|
repo = "mlt";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1my43ica2qax2622307dv4gn3w8hkchy643i9pq8r9yh2hd4pvs9";
|
sha256 = "13c5miph9jjbz69dhy0zvbkk5zbb05dr3vraaci0d5fdbrlhyscf";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -56,42 +57,15 @@ mkDerivation rec {
|
|||||||
ladspaPlugins
|
ladspaPlugins
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ which ];
|
nativeBuildInputs = [ cmake which ];
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
# Mostly taken from:
|
|
||||||
# http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
|
|
||||||
configureFlags = [
|
|
||||||
"--avformat-swscale"
|
|
||||||
"--enable-gpl"
|
|
||||||
"--enable-gpl3"
|
|
||||||
"--enable-opengl"
|
|
||||||
];
|
|
||||||
|
|
||||||
# mlt is unable to cope with our multi-prefix Qt build
|
|
||||||
# because it does not use CMake or qmake.
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${lib.getDev qtsvg}/include/QtSvg";
|
|
||||||
|
|
||||||
CXXFLAGS = "-std=c++11";
|
|
||||||
|
|
||||||
qtWrapperArgs = [
|
qtWrapperArgs = [
|
||||||
"--prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1"
|
"--prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1"
|
||||||
"--prefix LADSPA_PATH : ${ladspaPlugins}/lib/ladspa"
|
"--prefix LADSPA_PATH : ${ladspaPlugins}/lib/ladspa"
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# Remove an unnecessary reference to movit.dev.
|
|
||||||
s=${movit.dev}/include
|
|
||||||
t=$(for ((i = 0; i < ''${#s}; i++)); do echo -n X; done)
|
|
||||||
sed -i $out/lib/mlt/libmltopengl.so -e "s|$s|$t|g"
|
|
||||||
|
|
||||||
# Remove an unnecessary reference to movit.dev.
|
|
||||||
s=${qtbase.dev}/include
|
|
||||||
t=$(for ((i = 0; i < ''${#s}; i++)); do echo -n X; done)
|
|
||||||
sed -i $out/lib/mlt/libmltqt.so -e "s|$s|$t|g"
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit ffmpeg;
|
inherit ffmpeg;
|
||||||
};
|
};
|
||||||
|
@ -12,16 +12,21 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0cdvbancr7y4nrj8257y5n45hmhizr8isynagy4fpsnpammv8pi6";
|
sha256 = "0cdvbancr7y4nrj8257y5n45hmhizr8isynagy4fpsnpammv8pi6";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
postPatch = ''
|
||||||
sed -i -e s,/usr/bin/install,install, -e s,-I/usr/include/slang,, Makefile.in po/Makefile
|
sed -i -e s,/usr/bin/install,install, -e s,-I/usr/include/slang,, Makefile.in po/Makefile
|
||||||
|
|
||||||
substituteInPlace configure \
|
substituteInPlace configure \
|
||||||
--replace "/usr/include/python" "${pythonIncludePath}"
|
--replace "/usr/include/python" "${pythonIncludePath}"
|
||||||
substituteInPlace configure.ac \
|
substituteInPlace configure.ac \
|
||||||
--replace "/usr/include/python" "${pythonIncludePath}"
|
--replace "/usr/include/python" "${pythonIncludePath}"
|
||||||
|
|
||||||
|
substituteInPlace Makefile.in \
|
||||||
|
--replace "ar rv" "${stdenv.cc.targetPrefix}ar rv"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ slang popt python ];
|
strictDeps = true;
|
||||||
|
nativeBuildInputs = [ python ];
|
||||||
|
buildInputs = [ slang popt ];
|
||||||
|
|
||||||
NIX_LDFLAGS = "-lncurses";
|
NIX_LDFLAGS = "-lncurses";
|
||||||
|
|
||||||
|
@ -1,45 +1,39 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, cmake
|
{ lib, stdenv, fetchFromGitHub, cmake
|
||||||
, alsaSupport ? !stdenv.isDarwin, alsa-lib ? null
|
, alsaSupport ? !stdenv.isDarwin, alsa-lib
|
||||||
, pulseSupport ? !stdenv.isDarwin, libpulseaudio ? null
|
, pulseSupport ? !stdenv.isDarwin, libpulseaudio
|
||||||
, CoreServices, AudioUnit, AudioToolbox
|
, CoreServices, AudioUnit, AudioToolbox
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
assert alsaSupport -> alsa-lib != null;
|
|
||||||
assert pulseSupport -> libpulseaudio != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.19.1";
|
|
||||||
pname = "openal-soft";
|
pname = "openal-soft";
|
||||||
|
version = "1.21.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kcat";
|
owner = "kcat";
|
||||||
repo = "openal-soft";
|
repo = "openal-soft";
|
||||||
rev = "${pname}-${version}";
|
rev = version;
|
||||||
sha256 = "0b0g0q1c36nfb289xcaaj3cmyfpiswvvgky3qyalsf9n4dj7vnzi";
|
sha256 = "sha256-rgc6kjXaZb6sCR+e9Gu7BEEHIiCHMygpLIeSqgWkuAg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# this will make it find its own data files (e.g. HRTF profiles)
|
# this will make it find its own data files (e.g. HRTF profiles)
|
||||||
# without any other configuration
|
# without any other configuration
|
||||||
patches = [ ./search-out.patch ];
|
patches = [ ./search-out.patch ];
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace Alc/helpers.c \
|
substituteInPlace alc/helpers.cpp \
|
||||||
--replace "@OUT@" $out
|
--replace "@OUT@" $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = []
|
buildInputs = lib.optional alsaSupport alsa-lib
|
||||||
++ optional alsaSupport alsa-lib
|
++ lib.optional pulseSupport libpulseaudio
|
||||||
++ optional pulseSupport libpulseaudio
|
++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
|
||||||
++ optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
|
|
||||||
|
|
||||||
NIX_LDFLAGS = toString ([]
|
NIX_LDFLAGS = toString (
|
||||||
++ optional alsaSupport "-lasound"
|
lib.optional alsaSupport "-lasound"
|
||||||
++ optional pulseSupport "-lpulse");
|
++ lib.optional pulseSupport "-lpulse");
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
description = "OpenAL alternative";
|
description = "OpenAL alternative";
|
||||||
homepage = "https://kcat.strangesoft.net/openal.html";
|
homepage = "https://kcat.strangesoft.net/openal.html";
|
||||||
license = licenses.lgpl2;
|
license = licenses.lgpl2;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
diff -Nuar a/Alc/helpers.c b/Alc/helpers.c
|
diff --git a/alc/helpers.cpp b/alc/helpers.cpp
|
||||||
--- a/Alc/helpers.c 1970-01-01 00:00:01.000000000 +0000
|
index 8c1c856..19bbc0f 100644
|
||||||
+++ b/Alc/helpers.c 1970-01-01 00:00:02.000000000 +0000
|
--- a/alc/helpers.cpp
|
||||||
@@ -951,6 +951,8 @@
|
+++ b/alc/helpers.cpp
|
||||||
}
|
@@ -402,6 +402,7 @@ al::vector<std::string> SearchDataFiles(const char *ext, const char *subdir)
|
||||||
}
|
|
||||||
|
|
||||||
+ DirectorySearch("@OUT@/share", ext, &results);
|
DirectorySearch(path.c_str(), ext, &results);
|
||||||
+
|
|
||||||
alstr_reset(&path);
|
|
||||||
}
|
}
|
||||||
|
+ DirectorySearch("@OUT@/share/", ext, &results);
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
@ -139,5 +139,9 @@ stdenv.mkDerivation rec {
|
|||||||
platforms = with lib.platforms; linux;
|
platforms = with lib.platforms; linux;
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
maintainers = with lib.maintainers; [ yuriaisaka ];
|
maintainers = with lib.maintainers; [ yuriaisaka ];
|
||||||
|
# fails to compile with
|
||||||
|
# error: invalid conversion from 'const char*' to 'char*'
|
||||||
|
# TODO: Remove usage of python2, protobuf overwrite
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, which
|
{ lib, stdenv, fetchFromGitHub, perl, which
|
||||||
# Most packages depending on openblas expect integer width to match
|
# Most packages depending on openblas expect integer width to match
|
||||||
# pointer width, but some expect to use 32-bit integers always
|
# pointer width, but some expect to use 32-bit integers always
|
||||||
# (for compatibility with reference BLAS).
|
# (for compatibility with reference BLAS).
|
||||||
@ -129,7 +129,7 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "openblas";
|
pname = "openblas";
|
||||||
version = "0.3.15";
|
version = "0.3.17";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
@ -137,23 +137,9 @@ stdenv.mkDerivation rec {
|
|||||||
owner = "xianyi";
|
owner = "xianyi";
|
||||||
repo = "OpenBLAS";
|
repo = "OpenBLAS";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1qjr02cqncv20abdp1yzr55n7smhx6h9chqvb0xbp18byynvj87w";
|
sha256 = "11j103s851mml6kns781kha0asxjz6b6s1vbv80aq3b6g7p05pms";
|
||||||
};
|
};
|
||||||
|
|
||||||
# remove both patches when updating to 0.3.16
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
name = "riscv64-imin-fix-wrong-comparison.patch";
|
|
||||||
url = "https://github.com/xianyi/OpenBLAS/commit/1e0192a5ccac28fc0c749f49d36ec7eda9757428.patch";
|
|
||||||
sha256 = "0kjkmrj8023vcjxhgin5dqs5w3gf93hzhwdhg0vsjhdra2ghkwzj";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "riscv64-generic-use-generic-kernel-for-dsdot.patch";
|
|
||||||
url = "https://github.com/xianyi/OpenBLAS/commit/3521cd48cbfb3d50f6ae9a10377382d37075c696.patch";
|
|
||||||
sha256 = "0ljwbldff4db377s8rzmqxrszilqdivy656yqvfq46x5338v3gi0";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
inherit blas64;
|
inherit blas64;
|
||||||
|
|
||||||
# Some hardening features are disabled due to sporadic failures in
|
# Some hardening features are disabled due to sporadic failures in
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
, freetype
|
, freetype
|
||||||
, cmake
|
, cmake
|
||||||
, static ? stdenv.hostPlatform.isStatic
|
, static ? stdenv.hostPlatform.isStatic
|
||||||
|
, libgcc
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -18,7 +19,9 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config cmake ];
|
nativeBuildInputs = [ pkg-config cmake ];
|
||||||
buildInputs = [ freetype ];
|
buildInputs = [ freetype ]
|
||||||
|
# On aarch64-darwin libgcc won't even build currently, and it doesn't seem needed.
|
||||||
|
++ lib.optionals (with stdenv; !cc.isGNU && !(isDarwin && isAarch64)) [ libgcc ];
|
||||||
|
|
||||||
patches = lib.optionals stdenv.isDarwin [ ./macosx.patch ];
|
patches = lib.optionals stdenv.isDarwin [ ./macosx.patch ];
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user