Merge master into staging-next
This commit is contained in:
commit
b61ad0afc2
5
.github/workflows/pending-clear.yml
vendored
5
.github/workflows/pending-clear.yml
vendored
@ -13,10 +13,15 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GSU_VERSION: "0.5.0"
|
GSU_VERSION: "0.5.0"
|
||||||
|
GSU_HASH: "49df54dc0ed5eaa037400b66be8114bd62fa0af51ed36565f6203dc312711cc6"
|
||||||
GSU_URL: "https://github.com/cloudposse/github-status-updater/releases/download"
|
GSU_URL: "https://github.com/cloudposse/github-status-updater/releases/download"
|
||||||
run: |
|
run: |
|
||||||
curl -sSf -O -L -C - \
|
curl -sSf -O -L -C - \
|
||||||
"$GSU_URL/$GSU_VERSION/github-status-updater_linux_amd64" && \
|
"$GSU_URL/$GSU_VERSION/github-status-updater_linux_amd64" && \
|
||||||
|
if [ "$(shasum -a 256 github-status-updater_linux_amd64 | cut -c1-64)" != "$GSU_HASH" ]; then
|
||||||
|
echo "checksum mismatch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
chmod +x github-status-updater_linux_amd64 && \
|
chmod +x github-status-updater_linux_amd64 && \
|
||||||
./github-status-updater_linux_amd64 \
|
./github-status-updater_linux_amd64 \
|
||||||
-action update_state \
|
-action update_state \
|
||||||
|
5
.github/workflows/pending-set.yml
vendored
5
.github/workflows/pending-set.yml
vendored
@ -12,10 +12,15 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GSU_VERSION: "0.5.0"
|
GSU_VERSION: "0.5.0"
|
||||||
|
GSU_HASH: "49df54dc0ed5eaa037400b66be8114bd62fa0af51ed36565f6203dc312711cc6"
|
||||||
GSU_URL: "https://github.com/cloudposse/github-status-updater/releases/download"
|
GSU_URL: "https://github.com/cloudposse/github-status-updater/releases/download"
|
||||||
run: |
|
run: |
|
||||||
curl -sSf -O -L -C - \
|
curl -sSf -O -L -C - \
|
||||||
"$GSU_URL/$GSU_VERSION/github-status-updater_linux_amd64" && \
|
"$GSU_URL/$GSU_VERSION/github-status-updater_linux_amd64" && \
|
||||||
|
if [ "$(shasum -a 256 github-status-updater_linux_amd64 | cut -c1-64)" != "$GSU_HASH" ]; then
|
||||||
|
echo "checksum mismatch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
chmod +x github-status-updater_linux_amd64 && \
|
chmod +x github-status-updater_linux_amd64 && \
|
||||||
./github-status-updater_linux_amd64 \
|
./github-status-updater_linux_amd64 \
|
||||||
-action update_state \
|
-action update_state \
|
||||||
|
@ -6749,6 +6749,12 @@
|
|||||||
githubId = 37715;
|
githubId = 37715;
|
||||||
name = "Brian McKenna";
|
name = "Brian McKenna";
|
||||||
};
|
};
|
||||||
|
purcell = {
|
||||||
|
email = "steve@sanityinc.com";
|
||||||
|
github = "purcell";
|
||||||
|
githubId = 5636;
|
||||||
|
name = "Steve Purcell";
|
||||||
|
};
|
||||||
puzzlewolf = {
|
puzzlewolf = {
|
||||||
email = "nixos@nora.pink";
|
email = "nixos@nora.pink";
|
||||||
github = "puzzlewolf";
|
github = "puzzlewolf";
|
||||||
|
@ -127,7 +127,7 @@ in {
|
|||||||
{ LOCATE_PATH = cfg.output;
|
{ LOCATE_PATH = cfg.output;
|
||||||
};
|
};
|
||||||
|
|
||||||
warnings = optional (isMLocate && cfg.localuser != null) "mlocate does not support searching as user other than root"
|
warnings = optional (isMLocate && cfg.localuser != null) "mlocate does not support the services.locate.localuser option; updatedb will run as root. (Silence with services.locate.localuser = null.)"
|
||||||
++ optional (isFindutils && cfg.pruneNames != []) "findutils locate does not support pruning by directory component"
|
++ optional (isFindutils && cfg.pruneNames != []) "findutils locate does not support pruning by directory component"
|
||||||
++ optional (isFindutils && cfg.pruneBindMounts) "findutils locate does not support skipping bind mounts";
|
++ optional (isFindutils && cfg.pruneBindMounts) "findutils locate does not support skipping bind mounts";
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ in {
|
|||||||
mode = "0400";
|
mode = "0400";
|
||||||
};
|
};
|
||||||
|
|
||||||
system.nssModules = pkgs.sssd;
|
system.nssModules = [ pkgs.sssd ];
|
||||||
system.nssDatabases = {
|
system.nssDatabases = {
|
||||||
group = [ "sss" ];
|
group = [ "sss" ];
|
||||||
passwd = [ "sss" ];
|
passwd = [ "sss" ];
|
||||||
@ -92,4 +92,6 @@ in {
|
|||||||
services.openssh.authorizedKeysCommand = "/etc/ssh/authorized_keys_command";
|
services.openssh.authorizedKeysCommand = "/etc/ssh/authorized_keys_command";
|
||||||
services.openssh.authorizedKeysCommandUser = "nobody";
|
services.openssh.authorizedKeysCommandUser = "nobody";
|
||||||
})];
|
})];
|
||||||
|
|
||||||
|
meta.maintainers = with maintainers; [ bbigras ];
|
||||||
}
|
}
|
||||||
|
@ -233,6 +233,9 @@ in {
|
|||||||
path = [ pkgs.wpa_supplicant ];
|
path = [ pkgs.wpa_supplicant ];
|
||||||
|
|
||||||
script = ''
|
script = ''
|
||||||
|
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]
|
||||||
|
then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||||
|
fi
|
||||||
iface_args="-s -u -D${cfg.driver} -c ${configFile}"
|
iface_args="-s -u -D${cfg.driver} -c ${configFile}"
|
||||||
${if ifaces == [] then ''
|
${if ifaces == [] then ''
|
||||||
for i in $(cd /sys/class/net && echo *); do
|
for i in $(cd /sys/class/net && echo *); do
|
||||||
|
@ -77,7 +77,6 @@ in {
|
|||||||
// Paths
|
// Paths
|
||||||
WOSendMail = "/run/wrappers/bin/sendmail";
|
WOSendMail = "/run/wrappers/bin/sendmail";
|
||||||
SOGoMailSpoolPath = "/var/lib/sogo/spool";
|
SOGoMailSpoolPath = "/var/lib/sogo/spool";
|
||||||
SOGoZipPath = "${pkgs.zip}/bin/zip";
|
|
||||||
// Enable CSRF protection
|
// Enable CSRF protection
|
||||||
SOGoXSRFValidationEnabled = YES;
|
SOGoXSRFValidationEnabled = YES;
|
||||||
// Remove dates from log (jornald does that)
|
// Remove dates from log (jornald does that)
|
||||||
|
@ -87,7 +87,9 @@ let
|
|||||||
# copy what we need. Instead of using statically linked binaries,
|
# copy what we need. Instead of using statically linked binaries,
|
||||||
# we just copy what we need from Glibc and use patchelf to make it
|
# we just copy what we need from Glibc and use patchelf to make it
|
||||||
# work.
|
# work.
|
||||||
extraUtils = pkgs.runCommandCC "extra-utils"
|
extraUtils = let
|
||||||
|
# Use lvm2 without udev support, which is the same lvm2 we already have in the closure anyways
|
||||||
|
lvm2 = pkgs.lvm2.override { udev = null; }; in pkgs.runCommandCC "extra-utils"
|
||||||
{ nativeBuildInputs = [pkgs.buildPackages.nukeReferences];
|
{ nativeBuildInputs = [pkgs.buildPackages.nukeReferences];
|
||||||
allowedReferences = [ "out" ]; # prevent accidents like glibc being included in the initrd
|
allowedReferences = [ "out" ]; # prevent accidents like glibc being included in the initrd
|
||||||
}
|
}
|
||||||
@ -111,8 +113,8 @@ let
|
|||||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid
|
copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid
|
||||||
|
|
||||||
# Copy dmsetup and lvm.
|
# Copy dmsetup and lvm.
|
||||||
copy_bin_and_libs ${getBin pkgs.lvm2}/bin/dmsetup
|
copy_bin_and_libs ${getBin lvm2}/bin/dmsetup
|
||||||
copy_bin_and_libs ${getBin pkgs.lvm2}/bin/lvm
|
copy_bin_and_libs ${getBin lvm2}/bin/lvm
|
||||||
|
|
||||||
# Add RAID mdadm tool.
|
# Add RAID mdadm tool.
|
||||||
copy_bin_and_libs ${pkgs.mdadm}/sbin/mdadm
|
copy_bin_and_libs ${pkgs.mdadm}/sbin/mdadm
|
||||||
|
@ -321,6 +321,7 @@ in
|
|||||||
spike = handleTest ./spike.nix {};
|
spike = handleTest ./spike.nix {};
|
||||||
sonarr = handleTest ./sonarr.nix {};
|
sonarr = handleTest ./sonarr.nix {};
|
||||||
sslh = handleTest ./sslh.nix {};
|
sslh = handleTest ./sslh.nix {};
|
||||||
|
sssd = handleTestOn ["x86_64-linux"] ./sssd.nix {};
|
||||||
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
|
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
|
||||||
sudo = handleTest ./sudo.nix {};
|
sudo = handleTest ./sudo.nix {};
|
||||||
switchTest = handleTest ./switch-test.nix {};
|
switchTest = handleTest ./switch-test.nix {};
|
||||||
|
17
nixos/tests/sssd.nix
Normal file
17
nixos/tests/sssd.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "sssd";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ bbigras ];
|
||||||
|
};
|
||||||
|
machine = { pkgs, ... }: {
|
||||||
|
services.sssd.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
machine.wait_for_unit("multi-user.target")
|
||||||
|
machine.wait_for_unit("sssd.service")
|
||||||
|
'';
|
||||||
|
})
|
@ -31,7 +31,7 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
|||||||
firewall.enable = false;
|
firewall.enable = false;
|
||||||
interfaces.eth1.ipv4.addresses = lib.mkForce []; # no need for legacy IP
|
interfaces.eth1.ipv4.addresses = lib.mkForce []; # no need for legacy IP
|
||||||
interfaces.eth1.ipv6.addresses = lib.mkForce [
|
interfaces.eth1.ipv6.addresses = lib.mkForce [
|
||||||
{ address = "2001:DB8::"; prefixLength = 64; }
|
{ address = "2001:DB8::1"; prefixLength = 64; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
|||||||
client.wait_until_succeeds("ping -6 -c 1 FD42::1")
|
client.wait_until_succeeds("ping -6 -c 1 FD42::1")
|
||||||
|
|
||||||
# the global IP of the ISP router should still not be a reachable
|
# the global IP of the ISP router should still not be a reachable
|
||||||
router.fail("ping -6 -c 1 2001:DB8::")
|
router.fail("ping -6 -c 1 2001:DB8::1")
|
||||||
|
|
||||||
# Once we have internal connectivity boot up the ISP
|
# Once we have internal connectivity boot up the ISP
|
||||||
isp.start()
|
isp.start()
|
||||||
@ -273,11 +273,11 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
|||||||
|
|
||||||
# wait until the uplink interface has a good status
|
# wait until the uplink interface has a good status
|
||||||
router.wait_for_unit("network-online.target")
|
router.wait_for_unit("network-online.target")
|
||||||
router.wait_until_succeeds("ping -6 -c1 2001:DB8::")
|
router.wait_until_succeeds("ping -6 -c1 2001:DB8::1")
|
||||||
|
|
||||||
# shortly after that the client should have received it's global IPv6
|
# shortly after that the client should have received it's global IPv6
|
||||||
# address and thus be able to ping the ISP
|
# address and thus be able to ping the ISP
|
||||||
client.wait_until_succeeds("ping -6 -c1 2001:DB8::")
|
client.wait_until_succeeds("ping -6 -c1 2001:DB8::1")
|
||||||
|
|
||||||
# verify that we got a globally scoped address in eth1 from the
|
# verify that we got a globally scoped address in eth1 from the
|
||||||
# documentation prefix
|
# documentation prefix
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
{ stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
|
{ stdenv
|
||||||
, lv2, pkgconfig, libGLU, libGL }:
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
, xorg
|
||||||
|
, freetype
|
||||||
|
, alsaLib
|
||||||
|
, curl
|
||||||
|
, libjack2
|
||||||
|
, lv2
|
||||||
|
, pkgconfig
|
||||||
|
, libGLU
|
||||||
|
, libGL
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
version = "0.9.0";
|
version = "0.9.0";
|
||||||
@ -20,7 +31,15 @@
|
|||||||
|
|
||||||
CXXFLAGS = "-DHAVE_LROUND";
|
CXXFLAGS = "-DHAVE_LROUND";
|
||||||
|
|
||||||
patchPhase = ''
|
patches = [
|
||||||
|
# gcc9 compatibility https://github.com/mtytel/helm/pull/233
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/mtytel/helm/commit/cb611a80bd5a36d31bfc31212ebbf79aa86c6f08.patch";
|
||||||
|
sha256 = "1i2289srcfz17c3zzab6f51aznzdj62kk53l4afr32bkjh9s4ixk";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
sed -i 's|usr/||g' Makefile
|
sed -i 's|usr/||g' Makefile
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
30
pkgs/applications/editors/viw/default.nix
Normal file
30
pkgs/applications/editors/viw/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, ncurses }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "viw";
|
||||||
|
version = "unstable-20171029";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "lpan";
|
||||||
|
repo = pname;
|
||||||
|
rev = "2cf317f6d82a6fa58f284074400297b6dc0f44c2";
|
||||||
|
sha256 = "0bnkh57v01zay6ggk0rbddaf75i48h8z06xsv33wfbjldclaljp1";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ ncurses ];
|
||||||
|
|
||||||
|
makeFlags = [ "CC=cc" ];
|
||||||
|
checkFlags = [ "test-command" "test-buffer" "test-state" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm 755 -t $out/bin viw
|
||||||
|
install -Dm 644 -t $out/share/doc/${pname} README.md
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "VI Worsened, a fun and light clone of VI";
|
||||||
|
homepage = "https://github.com/lpan/viw";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ AndersonTorres ];
|
||||||
|
};
|
||||||
|
}
|
51
pkgs/applications/graphics/opentoonz/default.nix
Normal file
51
pkgs/applications/graphics/opentoonz/default.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ boost, cmake, fetchFromGitHub, freeglut, freetype, glew, libjpeg, libmypaint
|
||||||
|
, libpng, libtiff, libusb1, lz4, lzma, lzo, openblas, pkgconfig, qtbase
|
||||||
|
, qtmultimedia, qtscript, stdenv, superlu, wrapQtAppsHook, }:
|
||||||
|
let source = import ./source.nix { inherit fetchFromGitHub; };
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
inherit (source) src;
|
||||||
|
|
||||||
|
pname = "opentoonz";
|
||||||
|
version = source.versions.opentoonz;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
boost
|
||||||
|
freeglut
|
||||||
|
freetype
|
||||||
|
glew
|
||||||
|
libjpeg
|
||||||
|
libmypaint
|
||||||
|
libpng
|
||||||
|
libtiff
|
||||||
|
libusb1
|
||||||
|
lz4
|
||||||
|
lzma
|
||||||
|
lzo
|
||||||
|
openblas
|
||||||
|
qtbase
|
||||||
|
qtmultimedia
|
||||||
|
qtscript
|
||||||
|
superlu
|
||||||
|
];
|
||||||
|
|
||||||
|
postUnpack = "sourceRoot=$sourceRoot/toonz";
|
||||||
|
|
||||||
|
cmakeDir = "../sources";
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DTIFF_INCLUDE_DIR=${libtiff.dev}/include"
|
||||||
|
"-DTIFF_LIBRARY=${libtiff.out}/lib/libtiff.so"
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
sed -i '/cp -r .*stuff/a\ chmod -R u+w $HOME/.config/OpenToonz/stuff' $out/bin/opentoonz
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Full-featured 2D animation creation software";
|
||||||
|
homepage = "https://opentoonz.github.io/";
|
||||||
|
license = stdenv.lib.licenses.bsd3;
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ chkno ];
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/applications/graphics/opentoonz/libtiff.nix
Normal file
21
pkgs/applications/graphics/opentoonz/libtiff.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Per https://github.com/opentoonz/opentoonz/blob/master/doc/how_to_build_linux.md ,
|
||||||
|
# opentoonz requires its own modified version of libtiff. We still build it as
|
||||||
|
# a separate package
|
||||||
|
# 1. For visibility for tools like vulnix, and
|
||||||
|
# 2. To avoid a diamond-dependency problem with qt linking the normal libtiff
|
||||||
|
# and opentoonz linking qt and this modified libtiff, we build a qt against
|
||||||
|
# this modified libtiff as well.
|
||||||
|
|
||||||
|
{ fetchFromGitHub, libtiff }:
|
||||||
|
let source = import ./source.nix { inherit fetchFromGitHub; };
|
||||||
|
in libtiff.overrideAttrs (old: {
|
||||||
|
inherit (source) src;
|
||||||
|
version = source.versions.libtiff + "-opentoonz";
|
||||||
|
postUnpack = (old.postUnpack or "") + ''
|
||||||
|
sourceRoot="$sourceRoot/thirdparty/tiff-${source.versions.libtiff}"
|
||||||
|
'';
|
||||||
|
# opentoonz uses internal libtiff headers
|
||||||
|
postInstall = (old.postInstall or "") + ''
|
||||||
|
cp libtiff/{tif_config,tif_dir,tiffiop}.h $dev/include
|
||||||
|
'';
|
||||||
|
})
|
16
pkgs/applications/graphics/opentoonz/source.nix
Normal file
16
pkgs/applications/graphics/opentoonz/source.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# opentoonz's source archive contains both opentoonz's source and a modified
|
||||||
|
# version of libtiff that opentoonz requires.
|
||||||
|
|
||||||
|
{ fetchFromGitHub, }: rec {
|
||||||
|
versions = {
|
||||||
|
opentoonz = "1.4.0";
|
||||||
|
libtiff = "4.0.3";
|
||||||
|
};
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "opentoonz";
|
||||||
|
repo = "opentoonz";
|
||||||
|
rev = "v${versions.opentoonz}";
|
||||||
|
sha256 = "0vgclx2yydsm5i2smff3fj8m750nhf35wfhva37kywgws01s189b";
|
||||||
|
};
|
||||||
|
}
|
@ -97,7 +97,7 @@ in buildFHSUserEnv {
|
|||||||
libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib
|
libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib
|
||||||
alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
|
alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
|
||||||
readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
|
readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
|
||||||
vulkan-loader xdg_utils sqlite gnutls p11-kit libbsd
|
vulkan-loader xdg_utils sqlite gnutls p11-kit libbsd harfbuzz
|
||||||
|
|
||||||
# PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
|
# PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
|
||||||
|
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "navi";
|
pname = "navi";
|
||||||
version = "2.7.1";
|
version = "2.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "denisidoro";
|
owner = "denisidoro";
|
||||||
repo = "navi";
|
repo = "navi";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "12p9l41k7isaapr0xbsm7brkjrv7i8826y029i12psz92nsynk29";
|
sha256 = "0w63yx4c60r05nfswv61jw3l3zbl5n1s396a6f4ayn52fb6rxwg1";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "11dc3gc7fyikbbgacmljhysr2sl7lmq6w3bsfcf2cqny39r25yp0";
|
cargoSha256 = "06xpk04nxkm7h4nn235x8a4gi0qhscj8kkl2f9gqphlfmm56kjfn";
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
@ -54,11 +54,6 @@ mkDerivation rec {
|
|||||||
qtquickcontrols2
|
qtquickcontrols2
|
||||||
qtgraphicaleffects
|
qtgraphicaleffects
|
||||||
] ++ lib.optional stdenv.isDarwin qtmacextras;
|
] ++ lib.optional stdenv.isDarwin qtmacextras;
|
||||||
# Quick and dirty fix to https://github.com/NixOS/nixpkgs/issues/94952
|
|
||||||
# and/or: https://github.com/NixOS/nixpkgs/issues/94905
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DCMAKE_OSX_ARCHITECTURES="
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Desktop client for the Matrix protocol";
|
description = "Desktop client for the Matrix protocol";
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
, gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
|
, gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
|
||||||
, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
|
, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
|
||||||
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
|
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
|
||||||
, cups, expat, systemd, libnotify, libuuid, at-spi2-core, libappindicator-gtk3
|
, cups, expat, libuuid, at-spi2-core, libappindicator-gtk3
|
||||||
|
# Runtime dependencies:
|
||||||
|
, systemd, libnotify, libdbusmenu
|
||||||
# Unfortunately this also overwrites the UI language (not just the spell
|
# Unfortunately this also overwrites the UI language (not just the spell
|
||||||
# checking language!):
|
# checking language!):
|
||||||
, hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
|
, hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
|
||||||
@ -81,6 +83,7 @@ in stdenv.mkDerivation rec {
|
|||||||
runtimeDependencies = [
|
runtimeDependencies = [
|
||||||
systemd.lib
|
systemd.lib
|
||||||
libnotify
|
libnotify
|
||||||
|
libdbusmenu
|
||||||
];
|
];
|
||||||
|
|
||||||
unpackPhase = "dpkg-deb -x $src .";
|
unpackPhase = "dpkg-deb -x $src .";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ mkDerivation, lib, fetchurl, fetchsvn, stdenv
|
{ mkDerivation, lib, fetchurl, fetchsvn
|
||||||
, pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook
|
, pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook
|
||||||
, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
|
, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
|
||||||
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
||||||
@ -63,8 +63,6 @@ mkDerivation rec {
|
|||||||
"-DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION=ON"
|
"-DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION=ON"
|
||||||
#"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""'
|
#"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""'
|
||||||
"-DTDESKTOP_LAUNCHER_BASENAME=telegramdesktop" # Note: This is the default
|
"-DTDESKTOP_LAUNCHER_BASENAME=telegramdesktop" # Note: This is the default
|
||||||
] ++ optionals stdenv.isLinux [ # TODO: Remove workaround once #94905 is resolved:
|
|
||||||
"-DCMAKE_OSX_ARCHITECTURES="
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Note: The following packages could be packaged system-wide, but it's
|
# Note: The following packages could be packaged system-wide, but it's
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fossil";
|
pname = "fossil";
|
||||||
version = "2.11.1";
|
version = "2.12.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls =
|
urls =
|
||||||
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
"https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
|
"https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
|
||||||
];
|
];
|
||||||
name = "${pname}-${version}.tar.gz";
|
name = "${pname}-${version}.tar.gz";
|
||||||
sha256 = "1sxq1hn87fdikhbg9y3v4sjy4gxaifnx4dig8nx6xwd5mm7z74dk";
|
sha256 = "00v6gmn2wpfms5jzf103hkm5s8i3bfs5mzacmznlhdzdrzzjc8w2";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ zlib openssl readline sqlite which ed ]
|
buildInputs = [ zlib openssl readline sqlite which ed ]
|
||||||
|
@ -16,13 +16,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "podman";
|
pname = "podman";
|
||||||
version = "2.0.4";
|
version = "2.0.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containers";
|
owner = "containers";
|
||||||
repo = "podman";
|
repo = "podman";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0rnli16nh5m3a8jjkkm1k4f896yk1k1rg48rjiajqhfrr98qwr0f";
|
sha256 = "0db0q52va9w8aprzx08xnv6y84l4x4lc113sd97hjgjnhknp8d3m";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchzip }:
|
{ stdenv, fetchzip }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.4.1";
|
version = "3.4.6";
|
||||||
in fetchzip {
|
in fetchzip {
|
||||||
name = "iosevka-bin-${version}";
|
name = "iosevka-bin-${version}";
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ in fetchzip {
|
|||||||
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/truetype
|
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/truetype
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sha256 = "0qqzgfplib6jdn1fra7fwx25jkzlw21brj45q8gn3gxvndvqabvd";
|
sha256 = "1nab49gkpxahwvvw39xcc32q425qkccr7ffmz87jbcdv71qy7pp9";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = "https://be5invis.github.io/Iosevka/";
|
homepage = "https://be5invis.github.io/Iosevka/";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ lib, fetchzip }:
|
{ lib, fetchzip }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.057";
|
version = "1.059";
|
||||||
in
|
in
|
||||||
fetchzip {
|
fetchzip {
|
||||||
name = "recursive-${version}";
|
name = "recursive-${version}";
|
||||||
@ -15,7 +15,7 @@ fetchzip {
|
|||||||
unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
|
unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sha256 = "0qsqldnhgl93h1izminjajjymvyxsw91ngdbxlhgbqvadg77325y";
|
sha256 = "0dlv8nrcqdn5vn3s918in5ph6kx6rg607kgp66p6ibpbg2s8ljy7";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://recursive.design/";
|
homepage = "https://recursive.design/";
|
||||||
|
29
pkgs/development/compilers/llvm/11/bintools.nix
Normal file
29
pkgs/development/compilers/llvm/11/bintools.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ runCommand, stdenv, llvm, lld, version }:
|
||||||
|
|
||||||
|
let
|
||||||
|
prefix =
|
||||||
|
if stdenv.hostPlatform != stdenv.targetPlatform
|
||||||
|
then "${stdenv.targetPlatform.config}-"
|
||||||
|
else "";
|
||||||
|
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
for prog in ${lld}/bin/*; do
|
||||||
|
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
||||||
|
done
|
||||||
|
for prog in ${llvm}/bin/*; do
|
||||||
|
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
||||||
|
done
|
||||||
|
|
||||||
|
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
||||||
|
ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
|
||||||
|
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
||||||
|
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
||||||
|
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
||||||
|
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
||||||
|
ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
|
||||||
|
ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
|
||||||
|
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
||||||
|
ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
|
||||||
|
|
||||||
|
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
||||||
|
''
|
117
pkgs/development/compilers/llvm/11/clang/default.nix
Normal file
117
pkgs/development/compilers/llvm/11/clang/default.nix
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld
|
||||||
|
, fixDarwinDylibNames
|
||||||
|
, enableManpages ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
self = stdenv.mkDerivation ({
|
||||||
|
pname = "clang";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch "clang" "18rv5nxk04fgk4ziix7z4s2cargdpqgvqrk3lnp3wvd6yb5g5p98";
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
unpackFile $src
|
||||||
|
mv clang-${version}* clang
|
||||||
|
sourceRoot=$PWD/clang
|
||||||
|
unpackFile ${clang-tools-extra_src}
|
||||||
|
mv clang-tools-extra-* $sourceRoot/tools/extra
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake python3 lld ]
|
||||||
|
++ stdenv.lib.optional enableManpages python3.pkgs.sphinx;
|
||||||
|
|
||||||
|
buildInputs = [ libxml2 llvm ]
|
||||||
|
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_CXX_FLAGS=-std=c++14"
|
||||||
|
"-DCLANGD_BUILD_XPC=OFF"
|
||||||
|
] ++ stdenv.lib.optionals enableManpages [
|
||||||
|
"-DCLANG_INCLUDE_DOCS=ON"
|
||||||
|
"-DLLVM_ENABLE_SPHINX=ON"
|
||||||
|
"-DSPHINX_OUTPUT_MAN=ON"
|
||||||
|
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||||
|
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./purity.patch
|
||||||
|
# https://reviews.llvm.org/D51899
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||||
|
-e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||||
|
lib/Driver/ToolChains/*.cpp
|
||||||
|
|
||||||
|
# Patch for standalone doc building
|
||||||
|
sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
|
||||||
|
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
|
sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
|
||||||
|
'' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
|
substituteInPlace tools/extra/clangd/CMakeLists.txt \
|
||||||
|
--replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputs = [ "out" "lib" "python" ];
|
||||||
|
|
||||||
|
# Clang expects to find LLVMgold in its own prefix
|
||||||
|
postInstall = ''
|
||||||
|
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||||
|
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -sv $out/bin/clang $out/bin/cpp
|
||||||
|
|
||||||
|
# Move libclang to 'lib' output
|
||||||
|
moveToOutput "lib/libclang.*" "$lib"
|
||||||
|
moveToOutput "lib/libclang-cpp.*" "$lib"
|
||||||
|
substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
|
||||||
|
--replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \
|
||||||
|
--replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp."
|
||||||
|
|
||||||
|
mkdir -p $python/bin $python/share/clang/
|
||||||
|
mv $out/bin/{git-clang-format,scan-view} $python/bin
|
||||||
|
if [ -e $out/bin/set-xcode-analyzer ]; then
|
||||||
|
mv $out/bin/set-xcode-analyzer $python/bin
|
||||||
|
fi
|
||||||
|
mv $out/share/clang/*.py $python/share/clang
|
||||||
|
rm $out/bin/c-index-test
|
||||||
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
isClang = true;
|
||||||
|
inherit llvm;
|
||||||
|
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
|
||||||
|
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
|
||||||
|
homepage = "https://llvm.org/";
|
||||||
|
license = stdenv.lib.licenses.ncsa;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
} // stdenv.lib.optionalAttrs enableManpages {
|
||||||
|
pname = "clang-manpages";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
make docs-clang-man
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/man/man1
|
||||||
|
# Manually install clang manpage
|
||||||
|
cp docs/man/*.1 $out/share/man/man1/
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputs = [ "out" ];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta.description = "man page for Clang ${version}";
|
||||||
|
});
|
||||||
|
in self
|
28
pkgs/development/compilers/llvm/11/clang/purity.patch
Normal file
28
pkgs/development/compilers/llvm/11/clang/purity.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Will Dietz <w@wdtz.org>
|
||||||
|
Date: Thu, 18 May 2017 11:56:12 -0500
|
||||||
|
Subject: [PATCH] "purity" patch for 5.0
|
||||||
|
|
||||||
|
---
|
||||||
|
lib/Driver/ToolChains/Gnu.cpp | 7 -------
|
||||||
|
1 file changed, 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||||
|
index fe3c0191bb..c6a482bece 100644
|
||||||
|
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||||
|
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||||
|
@@ -487,12 +487,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||||
|
if (!IsStatic) {
|
||||||
|
if (Args.hasArg(options::OPT_rdynamic))
|
||||||
|
CmdArgs.push_back("-export-dynamic");
|
||||||
|
-
|
||||||
|
- if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) {
|
||||||
|
- CmdArgs.push_back("-dynamic-linker");
|
||||||
|
- CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) +
|
||||||
|
- ToolChain.getDynamicLinker(Args)));
|
||||||
|
- }
|
||||||
|
}
|
||||||
|
|
||||||
|
CmdArgs.push_back("-o");
|
||||||
|
--
|
||||||
|
2.11.0
|
32
pkgs/development/compilers/llvm/11/compiler-rt-armv7l.patch
Normal file
32
pkgs/development/compilers/llvm/11/compiler-rt-armv7l.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
diff -ur compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake
|
||||||
|
--- compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake 2020-03-24 00:01:02.000000000 +0900
|
||||||
|
+++ compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:42:00.883450706 +0900
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
set(ARM64 aarch64)
|
||||||
|
-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k)
|
||||||
|
+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l)
|
||||||
|
set(HEXAGON hexagon)
|
||||||
|
set(X86 i386)
|
||||||
|
set(X86_64 x86_64)
|
||||||
|
diff -ur compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt
|
||||||
|
--- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt 2020-03-24 00:01:02.000000000 +0900
|
||||||
|
+++ compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:44:49.468579650 +0900
|
||||||
|
@@ -474,6 +474,7 @@
|
||||||
|
set(armv7_SOURCES ${arm_SOURCES})
|
||||||
|
set(armv7s_SOURCES ${arm_SOURCES})
|
||||||
|
set(armv7k_SOURCES ${arm_SOURCES})
|
||||||
|
+set(armv7l_SOURCES ${arm_SOURCES})
|
||||||
|
set(arm64_SOURCES ${aarch64_SOURCES})
|
||||||
|
|
||||||
|
# macho_embedded archs
|
||||||
|
@@ -595,7 +596,7 @@
|
||||||
|
foreach (arch ${BUILTIN_SUPPORTED_ARCH})
|
||||||
|
if (CAN_TARGET_${arch})
|
||||||
|
# For ARM archs, exclude any VFP builtins if VFP is not supported
|
||||||
|
- if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
|
||||||
|
+ if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$")
|
||||||
|
string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}")
|
||||||
|
check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP)
|
||||||
|
if(NOT COMPILER_RT_HAS_${arch}_VFP)
|
@ -0,0 +1,33 @@
|
|||||||
|
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Will Dietz <w@wdtz.org>
|
||||||
|
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
||||||
|
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
||||||
|
needs it
|
||||||
|
|
||||||
|
---
|
||||||
|
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
||||||
|
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
||||||
|
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
||||||
|
3 files changed, 107 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
||||||
|
index bc5fb9ff7..b64eb4246 100644
|
||||||
|
--- a/cmake/Modules/AddCompilerRT.cmake
|
||||||
|
+++ b/cmake/Modules/AddCompilerRT.cmake
|
||||||
|
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
||||||
|
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
||||||
|
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
||||||
|
endif()
|
||||||
|
- if(APPLE)
|
||||||
|
- # Ad-hoc sign the dylibs
|
||||||
|
- add_custom_command(TARGET ${libname}
|
||||||
|
- POST_BUILD
|
||||||
|
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
||||||
|
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
||||||
|
- )
|
||||||
|
- endif()
|
||||||
|
endif()
|
||||||
|
install(TARGETS ${libname}
|
||||||
|
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
||||||
|
2.14.1
|
||||||
|
|
85
pkgs/development/compilers/llvm/11/compiler-rt.nix
Normal file
85
pkgs/development/compilers/llvm/11/compiler-rt.nix
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
useLLVM = stdenv.hostPlatform.useLLVM or false;
|
||||||
|
bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
|
||||||
|
inherit (stdenv.hostPlatform) isMusl;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "compiler-rt";
|
||||||
|
inherit version;
|
||||||
|
src = fetch pname "0qfgap6acxffm01hzk38pmzq8ac3isk90531dz0qf7fd5015jvvg";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake python3 llvm ];
|
||||||
|
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = [
|
||||||
|
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||||
|
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [
|
||||||
|
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal) [
|
||||||
|
"-DCMAKE_C_COMPILER_WORKS=ON"
|
||||||
|
"-DCMAKE_CXX_COMPILER_WORKS=ON"
|
||||||
|
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
|
||||||
|
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM) [
|
||||||
|
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
|
||||||
|
"-DCMAKE_C_FLAGS=-nodefaultlibs"
|
||||||
|
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
|
||||||
|
"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
|
||||||
|
] ++ stdenv.lib.optionals (bareMetal) [
|
||||||
|
"-DCOMPILER_RT_OS_DIR=baremetal"
|
||||||
|
];
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
|
]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
|
||||||
|
++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch;
|
||||||
|
|
||||||
|
|
||||||
|
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
||||||
|
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
|
||||||
|
# can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
|
||||||
|
# get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
|
||||||
|
# a flag and turn the flag off during the stdenv build.
|
||||||
|
postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||||
|
substituteInPlace cmake/builtin-config-ix.cmake \
|
||||||
|
--replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)'
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
substituteInPlace cmake/config-ix.cmake \
|
||||||
|
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
||||||
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
|
substituteInPlace lib/builtins/int_util.c \
|
||||||
|
--replace "#include <stdlib.h>" ""
|
||||||
|
substituteInPlace lib/builtins/clear_cache.c \
|
||||||
|
--replace "#include <assert.h>" ""
|
||||||
|
substituteInPlace lib/builtins/cpu_model.c \
|
||||||
|
--replace "#include <assert.h>" ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Hack around weird upsream RPATH bug
|
||||||
|
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
|
||||||
|
ln -s "$out/lib"/*/* "$out/lib"
|
||||||
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
|
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
|
||||||
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
}
|
195
pkgs/development/compilers/llvm/11/default.nix
Normal file
195
pkgs/development/compilers/llvm/11/default.nix
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
{ lowPrio, newScope, pkgs, stdenv, cmake
|
||||||
|
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||||
|
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||||
|
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
release_version = "11.0.0";
|
||||||
|
candidate = "rc2";
|
||||||
|
version = "${release_version}${candidate}"; # differentiating these (variables) is important for RCs
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|
||||||
|
fetch = name: sha256: fetchurl {
|
||||||
|
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}-${candidate}/${name}-${version}.src.tar.xz";
|
||||||
|
inherit sha256;
|
||||||
|
};
|
||||||
|
|
||||||
|
clang-tools-extra_src = fetch "clang-tools-extra" "0bg2a9nmkdbj5qfd0vvqj8bgchcx1yzmylxxgvh8y5hhj4fz13fs";
|
||||||
|
|
||||||
|
tools = stdenv.lib.makeExtensible (tools: let
|
||||||
|
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
|
||||||
|
mkExtraBuildCommands = cc: ''
|
||||||
|
rsrc="$out/resource-root"
|
||||||
|
mkdir "$rsrc"
|
||||||
|
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
|
||||||
|
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
|
||||||
|
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
|
||||||
|
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
|
||||||
|
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
|
||||||
|
llvm = callPackage ./llvm.nix { };
|
||||||
|
|
||||||
|
clang-unwrapped = callPackage ./clang {
|
||||||
|
inherit (tools) lld;
|
||||||
|
inherit clang-tools-extra_src;
|
||||||
|
};
|
||||||
|
|
||||||
|
# disabled until recommonmark supports sphinx 3
|
||||||
|
#Llvm-manpages = lowPrio (tools.llvm.override {
|
||||||
|
# enableManpages = true;
|
||||||
|
# python3 = pkgs.python3; # don't use python-boot
|
||||||
|
#});
|
||||||
|
|
||||||
|
clang-manpages = lowPrio (tools.clang-unwrapped.override {
|
||||||
|
enableManpages = true;
|
||||||
|
python3 = pkgs.python3; # don't use python-boot
|
||||||
|
});
|
||||||
|
|
||||||
|
# disabled until recommonmark supports sphinx 3
|
||||||
|
# lldb-manpages = lowPrio (tools.lldb.override {
|
||||||
|
# enableManpages = true;
|
||||||
|
# python3 = pkgs.python3; # don't use python-boot
|
||||||
|
# });
|
||||||
|
|
||||||
|
libclang = tools.clang-unwrapped.lib;
|
||||||
|
|
||||||
|
clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
|
||||||
|
|
||||||
|
libstdcxxClang = wrapCCWith rec {
|
||||||
|
cc = tools.clang-unwrapped;
|
||||||
|
libcxx = null; # libstdcxx is smuggled in with clang.gcc
|
||||||
|
extraPackages = [
|
||||||
|
targetLlvmLibraries.compiler-rt
|
||||||
|
];
|
||||||
|
extraBuildCommands = mkExtraBuildCommands cc;
|
||||||
|
};
|
||||||
|
|
||||||
|
libcxxClang = wrapCCWith rec {
|
||||||
|
cc = tools.clang-unwrapped;
|
||||||
|
libcxx = targetLlvmLibraries.libcxx;
|
||||||
|
extraPackages = [
|
||||||
|
targetLlvmLibraries.libcxxabi
|
||||||
|
targetLlvmLibraries.compiler-rt
|
||||||
|
];
|
||||||
|
extraBuildCommands = mkExtraBuildCommands cc;
|
||||||
|
};
|
||||||
|
|
||||||
|
lld = callPackage ./lld.nix {};
|
||||||
|
|
||||||
|
lldb = callPackage ./lldb.nix {};
|
||||||
|
|
||||||
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
|
# fully LLVM toolchain from scratch. No GCC toolchain should be
|
||||||
|
# pulled in. As a consequence, it is very quick to build different
|
||||||
|
# targets provided by LLVM and we can also build for what GCC
|
||||||
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
|
# file.
|
||||||
|
|
||||||
|
bintools = callPackage ./bintools.nix {};
|
||||||
|
|
||||||
|
lldClang = wrapCCWith rec {
|
||||||
|
cc = tools.clang-unwrapped;
|
||||||
|
libcxx = targetLlvmLibraries.libcxx;
|
||||||
|
bintools = wrapBintoolsWith {
|
||||||
|
inherit (tools) bintools;
|
||||||
|
};
|
||||||
|
extraPackages = [
|
||||||
|
targetLlvmLibraries.libcxxabi
|
||||||
|
targetLlvmLibraries.compiler-rt
|
||||||
|
] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [
|
||||||
|
targetLlvmLibraries.libunwind
|
||||||
|
];
|
||||||
|
extraBuildCommands = ''
|
||||||
|
echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
|
||||||
|
'' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) ''
|
||||||
|
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
|
||||||
|
'' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm ''
|
||||||
|
echo "-fno-exceptions" >> $out/nix-support/cc-cflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
|
};
|
||||||
|
|
||||||
|
lldClangNoLibcxx = wrapCCWith rec {
|
||||||
|
cc = tools.clang-unwrapped;
|
||||||
|
libcxx = null;
|
||||||
|
bintools = wrapBintoolsWith {
|
||||||
|
inherit (tools) bintools;
|
||||||
|
};
|
||||||
|
extraPackages = [
|
||||||
|
targetLlvmLibraries.compiler-rt
|
||||||
|
];
|
||||||
|
extraBuildCommands = ''
|
||||||
|
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-nostdlib++" >> $out/nix-support/cc-cflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
|
};
|
||||||
|
|
||||||
|
lldClangNoLibc = wrapCCWith rec {
|
||||||
|
cc = tools.clang-unwrapped;
|
||||||
|
libcxx = null;
|
||||||
|
bintools = wrapBintoolsWith {
|
||||||
|
inherit (tools) bintools;
|
||||||
|
libc = null;
|
||||||
|
};
|
||||||
|
extraPackages = [
|
||||||
|
targetLlvmLibraries.compiler-rt
|
||||||
|
];
|
||||||
|
extraBuildCommands = ''
|
||||||
|
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
|
};
|
||||||
|
|
||||||
|
lldClangNoCompilerRt = wrapCCWith {
|
||||||
|
cc = tools.clang-unwrapped;
|
||||||
|
libcxx = null;
|
||||||
|
bintools = wrapBintoolsWith {
|
||||||
|
inherit (tools) bintools;
|
||||||
|
libc = null;
|
||||||
|
};
|
||||||
|
extraPackages = [ ];
|
||||||
|
extraBuildCommands = ''
|
||||||
|
echo "-nostartfiles" >> $out/nix-support/cc-cflags
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||||
|
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
|
||||||
|
in {
|
||||||
|
|
||||||
|
compiler-rt = callPackage ./compiler-rt.nix ({} //
|
||||||
|
(stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
|
||||||
|
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt;
|
||||||
|
}));
|
||||||
|
|
||||||
|
stdenv = overrideCC stdenv buildLlvmTools.clang;
|
||||||
|
|
||||||
|
libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
|
||||||
|
|
||||||
|
libcxx = callPackage ./libc++ ({} //
|
||||||
|
(stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
|
||||||
|
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
|
||||||
|
}));
|
||||||
|
|
||||||
|
libcxxabi = callPackage ./libc++abi.nix ({} //
|
||||||
|
(stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
|
||||||
|
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
|
||||||
|
libunwind = libraries.libunwind;
|
||||||
|
}));
|
||||||
|
|
||||||
|
openmp = callPackage ./openmp.nix {};
|
||||||
|
|
||||||
|
libunwind = callPackage ./libunwind.nix ({} //
|
||||||
|
(stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
|
||||||
|
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
in { inherit tools libraries; } // libraries // tools
|
52
pkgs/development/compilers/llvm/11/libc++/default.nix
Normal file
52
pkgs/development/compilers/llvm/11/libc++/default.nix
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
{ lib, stdenv, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version
|
||||||
|
, enableShared ? true }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "libc++";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch "libcxx" "0aaci7iblfczv1jb22zjrwzxcrcx6x7klvjivmxm2zni0n2x3bd4";
|
||||||
|
|
||||||
|
postUnpack = ''
|
||||||
|
unpackFile ${libcxxabi.src}
|
||||||
|
export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
# Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
|
||||||
|
cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
|
||||||
|
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
|
patchShebangs utils/cat_files.py
|
||||||
|
'';
|
||||||
|
nativeBuildInputs = [ cmake ]
|
||||||
|
++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3;
|
||||||
|
|
||||||
|
buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
|
||||||
|
"-DLIBCXX_LIBCPPABI_VERSION=2"
|
||||||
|
"-DLIBCXX_CXX_ABI=libcxxabi"
|
||||||
|
] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
|
||||||
|
++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
|
||||||
|
++ stdenv.lib.optional stdenv.hostPlatform.isWasm [
|
||||||
|
"-DLIBCXX_ENABLE_THREADS=OFF"
|
||||||
|
"-DLIBCXX_ENABLE_FILESYSTEM=OFF"
|
||||||
|
"-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
|
||||||
|
] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
isLLVM = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://libcxx.llvm.org/";
|
||||||
|
description = "A new implementation of the C++ standard library, targeting C++11";
|
||||||
|
license = with stdenv.lib.licenses; [ ncsa mit ];
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
67
pkgs/development/compilers/llvm/11/libc++abi.nix
Normal file
67
pkgs/development/compilers/llvm/11/libc++abi.nix
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version
|
||||||
|
, enableShared ? true }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "libc++abi";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch "libcxxabi" "04gqdzs13sw7f7a06h5zm5917d9f1k79l4rcm096grgvf0r7lnqx";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
|
||||||
|
|
||||||
|
cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
|
||||||
|
"-DLLVM_ENABLE_LIBCXX=ON"
|
||||||
|
"-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
|
||||||
|
] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [
|
||||||
|
"-DLIBCXXABI_ENABLE_THREADS=OFF"
|
||||||
|
"-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
|
||||||
|
] ++ stdenv.lib.optionals (!enableShared) [
|
||||||
|
"-DLIBCXXABI_ENABLE_SHARED=OFF"
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [ ./libcxxabi-no-threads.patch ];
|
||||||
|
|
||||||
|
postUnpack = ''
|
||||||
|
unpackFile ${libcxx.src}
|
||||||
|
unpackFile ${llvm.src}
|
||||||
|
cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
export TRIPLE=x86_64-apple-darwin
|
||||||
|
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
|
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
|
||||||
|
'' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
|
patch -p1 -d $(ls -d llvm-*) -i ${./libcxxabi-wasm.patch}
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = if stdenv.isDarwin
|
||||||
|
then ''
|
||||||
|
for file in lib/*.dylib; do
|
||||||
|
# this should be done in CMake, but having trouble figuring out
|
||||||
|
# the magic combination of necessary CMake variables
|
||||||
|
# if you fancy a try, take a look at
|
||||||
|
# https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
|
||||||
|
install_name_tool -id $out/$file $file
|
||||||
|
done
|
||||||
|
make install
|
||||||
|
install -d 755 $out/include
|
||||||
|
install -m 644 ../include/*.h $out/include
|
||||||
|
''
|
||||||
|
else ''
|
||||||
|
install -d -m 755 $out/include $out/lib
|
||||||
|
install -m 644 lib/libc++abi.a $out/lib
|
||||||
|
install -m 644 ../include/cxxabi.h $out/include
|
||||||
|
'' + stdenv.lib.optionalString enableShared ''
|
||||||
|
install -m 644 lib/libc++abi.so.1.0 $out/lib
|
||||||
|
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
|
||||||
|
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://libcxxabi.llvm.org/";
|
||||||
|
description = "A new implementation of low level support for a standard C++ library";
|
||||||
|
license = with stdenv.lib.licenses; [ ncsa mit ];
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ vlstill ];
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 4138acf..41b4763 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS)
|
||||||
|
" is also set to ON.")
|
||||||
|
endif()
|
||||||
|
add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
|
||||||
|
+ add_definitions(-D_LIBCPP_HAS_NO_THREADS)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
|
16
pkgs/development/compilers/llvm/11/libcxxabi-wasm.patch
Normal file
16
pkgs/development/compilers/llvm/11/libcxxabi-wasm.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
||||||
|
index 15497d405e0..33f7f18193a 100644
|
||||||
|
--- a/cmake/modules/HandleLLVMOptions.cmake
|
||||||
|
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
||||||
|
@@ -127,7 +127,10 @@ else(WIN32)
|
||||||
|
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
||||||
|
endif()
|
||||||
|
else(FUCHSIA OR UNIX)
|
||||||
|
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
||||||
|
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
||||||
|
+ else()
|
||||||
|
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
||||||
|
+ endif()
|
||||||
|
endif(FUCHSIA OR UNIX)
|
||||||
|
endif(WIN32)
|
||||||
|
|
14
pkgs/development/compilers/llvm/11/libunwind.nix
Normal file
14
pkgs/development/compilers/llvm/11/libunwind.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{ stdenv, version, fetch, cmake, fetchpatch, enableShared ? true }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libunwind";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch pname "1ch4a2yp821lgzxh9898f7nw2fnkrn3wh25sqg05hlks45znv30y";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||||
|
}
|
33
pkgs/development/compilers/llvm/11/lld.nix
Normal file
33
pkgs/development/compilers/llvm/11/lld.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetch
|
||||||
|
, cmake
|
||||||
|
, libxml2
|
||||||
|
, llvm
|
||||||
|
, version
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "lld";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch pname "0lqz5cfids0rrl02p0qq5s18p8ikaa9r5gwa2yvj3bismdhvmar8";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ llvm libxml2 ];
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
moveToOutput include "$dev"
|
||||||
|
moveToOutput lib "$dev"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "The LLVM Linker";
|
||||||
|
homepage = "https://lld.llvm.org/";
|
||||||
|
license = stdenv.lib.licenses.ncsa;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
31
pkgs/development/compilers/llvm/11/lldb-procfs.patch
Normal file
31
pkgs/development/compilers/llvm/11/lldb-procfs.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
--- a/source/Plugins/Process/Linux/Procfs.h
|
||||||
|
+++ b/source/Plugins/Process/Linux/Procfs.h
|
||||||
|
@@ -11,21 +11,12 @@
|
||||||
|
// sys/procfs.h on Android/Linux for all supported architectures.
|
||||||
|
|
||||||
|
#include <sys/ptrace.h>
|
||||||
|
+#include <asm/ptrace.h>
|
||||||
|
|
||||||
|
-#ifdef __ANDROID__
|
||||||
|
-#if defined(__arm64__) || defined(__aarch64__)
|
||||||
|
-typedef unsigned long elf_greg_t;
|
||||||
|
-typedef elf_greg_t
|
||||||
|
- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
|
||||||
|
-typedef struct user_fpsimd_state elf_fpregset_t;
|
||||||
|
-#ifndef NT_FPREGSET
|
||||||
|
-#define NT_FPREGSET NT_PRFPREG
|
||||||
|
-#endif // NT_FPREGSET
|
||||||
|
-#elif defined(__mips__)
|
||||||
|
-#ifndef NT_FPREGSET
|
||||||
|
-#define NT_FPREGSET NT_PRFPREG
|
||||||
|
-#endif // NT_FPREGSET
|
||||||
|
-#endif
|
||||||
|
-#else // __ANDROID__
|
||||||
|
+#if !defined(__GLIBC__) && defined(__powerpc__)
|
||||||
|
+#define pt_regs musl_pt_regs
|
||||||
|
+#include <sys/procfs.h>
|
||||||
|
+#undef pt_regs
|
||||||
|
+#else
|
||||||
|
#include <sys/procfs.h>
|
||||||
|
-#endif // __ANDROID__
|
||||||
|
+#endif
|
101
pkgs/development/compilers/llvm/11/lldb.nix
Normal file
101
pkgs/development/compilers/llvm/11/lldb.nix
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetch
|
||||||
|
, cmake
|
||||||
|
, zlib
|
||||||
|
, ncurses
|
||||||
|
, swig
|
||||||
|
, which
|
||||||
|
, libedit
|
||||||
|
, libxml2
|
||||||
|
, llvm
|
||||||
|
, clang-unwrapped
|
||||||
|
, python3
|
||||||
|
, version
|
||||||
|
, darwin
|
||||||
|
, lit
|
||||||
|
, enableManpages ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (rec {
|
||||||
|
pname = "lldb";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch pname "0hb582kvhxp3kcckz7imrihs0kszdaz09z22xfymyi4vgmcy62q3";
|
||||||
|
|
||||||
|
patches = [ ./lldb-procfs.patch ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake python3 which swig lit ]
|
||||||
|
++ stdenv.lib.optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
ncurses
|
||||||
|
zlib
|
||||||
|
libedit
|
||||||
|
libxml2
|
||||||
|
llvm
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optionals stdenv.isDarwin [
|
||||||
|
darwin.libobjc
|
||||||
|
darwin.apple_sdk.libs.xpc
|
||||||
|
darwin.apple_sdk.frameworks.Foundation
|
||||||
|
darwin.bootstrap_cmds
|
||||||
|
darwin.apple_sdk.frameworks.Carbon
|
||||||
|
darwin.apple_sdk.frameworks.Cocoa
|
||||||
|
];
|
||||||
|
|
||||||
|
CXXFLAGS = "-fno-rtti";
|
||||||
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
|
||||||
|
"-DClang_DIR=${clang-unwrapped}/lib/cmake"
|
||||||
|
"-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
|
||||||
|
] ++ stdenv.lib.optionals stdenv.isDarwin [
|
||||||
|
"-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
|
||||||
|
] ++ stdenv.lib.optionals enableManpages [
|
||||||
|
"-DLLVM_ENABLE_SPHINX=ON"
|
||||||
|
"-DSPHINX_OUTPUT_MAN=ON"
|
||||||
|
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||||
|
]
|
||||||
|
;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Editor support
|
||||||
|
# vscode:
|
||||||
|
install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
|
||||||
|
mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
||||||
|
ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A next-generation high-performance debugger";
|
||||||
|
homepage = "https://lldb.llvm.org";
|
||||||
|
license = licenses.ncsa;
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
} // stdenv.lib.optionalAttrs enableManpages {
|
||||||
|
pname = "lldb-manpages";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
make docs-lldb-man
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
# manually install lldb man page
|
||||||
|
mkdir -p $out/share/man/man1
|
||||||
|
install docs/man/lldb.1 -t $out/share/man/man1/
|
||||||
|
'';
|
||||||
|
|
||||||
|
postPatch = null;
|
||||||
|
postInstall = null;
|
||||||
|
|
||||||
|
outputs = [ "out" ];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta.description = "man pages for LLDB ${version}";
|
||||||
|
})
|
26
pkgs/development/compilers/llvm/11/llvm-outputs.patch
Normal file
26
pkgs/development/compilers/llvm/11/llvm-outputs.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
|
||||||
|
index 94d426b..37f7794 100644
|
||||||
|
--- a/tools/llvm-config/llvm-config.cpp
|
||||||
|
+++ b/tools/llvm-config/llvm-config.cpp
|
||||||
|
@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
|
||||||
|
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
|
||||||
|
+ if (!IsInDevelopmentTree) {
|
||||||
|
+ bool WantShared = true;
|
||||||
|
+ for (int i = 1; i < argc; ++i) {
|
||||||
|
+ StringRef Arg = argv[i];
|
||||||
|
+ if (Arg == "--link-shared")
|
||||||
|
+ WantShared = true;
|
||||||
|
+ else if (Arg == "--link-static")
|
||||||
|
+ WantShared = false; // the last one wins
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (WantShared)
|
||||||
|
+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/// We only use `shared library` mode in cases where the static library form
|
||||||
|
/// of the components provided are not available; note however that this is
|
||||||
|
/// skipped if we're run from within the build dir. However, once installed,
|
187
pkgs/development/compilers/llvm/11/llvm.nix
Normal file
187
pkgs/development/compilers/llvm/11/llvm.nix
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetch
|
||||||
|
, cmake
|
||||||
|
, python3
|
||||||
|
, libffi
|
||||||
|
, libbfd
|
||||||
|
, libpfm
|
||||||
|
, libxml2
|
||||||
|
, ncurses
|
||||||
|
, version
|
||||||
|
, release_version
|
||||||
|
, zlib
|
||||||
|
, buildPackages
|
||||||
|
, debugVersion ? false
|
||||||
|
, enableManpages ? false
|
||||||
|
, enableSharedLibraries ? true
|
||||||
|
, enablePFM ? !(stdenv.isDarwin
|
||||||
|
|| stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
|
||||||
|
|| stdenv.isAarch32 # broken for the armv7l builder
|
||||||
|
)
|
||||||
|
, enablePolly ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (stdenv.lib) optional optionals optionalString;
|
||||||
|
|
||||||
|
# Used when creating a version-suffixed symlink of libLLVM.dylib
|
||||||
|
shortVersion = with stdenv.lib;
|
||||||
|
concatStringsSep "." (take 1 (splitString "." release_version));
|
||||||
|
|
||||||
|
in stdenv.mkDerivation (rec {
|
||||||
|
pname = "llvm";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch pname "151c7nphn18dcw04yxyp6qdj8w19psb8nigf26djf7rhpi1fn0sh";
|
||||||
|
polly_src = fetch "polly" "0caxfpaxhf38nam4gkb9xqlrw20v29cm8jf95ykkbngqw64rmgij";
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
unpackFile $src
|
||||||
|
mv llvm-${version}* llvm
|
||||||
|
sourceRoot=$PWD/llvm
|
||||||
|
'' + optionalString enablePolly ''
|
||||||
|
unpackFile $polly_src
|
||||||
|
mv polly-* $sourceRoot/tools/polly
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputs = [ "out" "python" ]
|
||||||
|
++ optional enableSharedLibraries "lib";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake python3 ]
|
||||||
|
++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];
|
||||||
|
|
||||||
|
buildInputs = [ libxml2 libffi ]
|
||||||
|
++ optional enablePFM libpfm; # exegesis
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ ncurses zlib ];
|
||||||
|
|
||||||
|
postPatch = optionalString stdenv.isDarwin ''
|
||||||
|
substituteInPlace cmake/modules/AddLLVM.cmake \
|
||||||
|
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
|
||||||
|
--replace 'set(_install_rpath "@loader_path/../lib''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
|
||||||
|
''
|
||||||
|
# Patch llvm-config to return correct library path based on --link-{shared,static}.
|
||||||
|
+ optionalString (enableSharedLibraries) ''
|
||||||
|
substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
|
||||||
|
patch -p1 < ./llvm-outputs.patch
|
||||||
|
'' + ''
|
||||||
|
# FileSystem permissions tests fail with various special bits
|
||||||
|
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||||
|
--replace "Path.cpp" ""
|
||||||
|
rm unittests/Support/Path.cpp
|
||||||
|
'' + optionalString stdenv.hostPlatform.isMusl ''
|
||||||
|
patch -p1 -i ${../TLI-musl.patch}
|
||||||
|
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||||
|
--replace "add_subdirectory(DynamicLibrary)" ""
|
||||||
|
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
|
||||||
|
# valgrind unhappy with musl or glibc, but fails w/musl only
|
||||||
|
rm test/CodeGen/AArch64/wineh4.mir
|
||||||
|
'' + optionalString stdenv.hostPlatform.isAarch32 ''
|
||||||
|
# skip failing X86 test cases on 32-bit ARM
|
||||||
|
rm test/DebugInfo/X86/convert-debugloc.ll
|
||||||
|
rm test/DebugInfo/X86/convert-inlined.ll
|
||||||
|
rm test/DebugInfo/X86/convert-linked.ll
|
||||||
|
rm test/tools/dsymutil/X86/op-convert.test
|
||||||
|
'' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
|
||||||
|
# Seems to require certain floating point hardware (NEON?)
|
||||||
|
rm test/ExecutionEngine/frem.ll
|
||||||
|
'' + ''
|
||||||
|
patchShebangs test/BugPoint/compile-custom.ll.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
# hacky fix: created binaries need to be run before installation
|
||||||
|
preBuild = ''
|
||||||
|
mkdir -p $out/
|
||||||
|
ln -sv $PWD/lib $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = with stdenv; [
|
||||||
|
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
|
||||||
|
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
|
||||||
|
"-DLLVM_BUILD_TESTS=ON"
|
||||||
|
"-DLLVM_ENABLE_FFI=ON"
|
||||||
|
"-DLLVM_ENABLE_RTTI=ON"
|
||||||
|
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||||
|
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||||
|
"-DLLVM_ENABLE_DUMP=ON"
|
||||||
|
] ++ optionals enableSharedLibraries [
|
||||||
|
"-DLLVM_LINK_LLVM_DYLIB=ON"
|
||||||
|
] ++ optionals enableManpages [
|
||||||
|
"-DLLVM_BUILD_DOCS=ON"
|
||||||
|
"-DLLVM_ENABLE_SPHINX=ON"
|
||||||
|
"-DSPHINX_OUTPUT_MAN=ON"
|
||||||
|
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||||
|
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||||
|
] ++ optionals (!isDarwin) [
|
||||||
|
"-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
|
||||||
|
] ++ optionals isDarwin [
|
||||||
|
"-DLLVM_ENABLE_LIBCXX=ON"
|
||||||
|
"-DCAN_TARGET_i386=false"
|
||||||
|
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
|
"-DCMAKE_CROSSCOMPILING=True"
|
||||||
|
"-DLLVM_TABLEGEN=${buildPackages.llvm_10}/bin/llvm-tblgen"
|
||||||
|
];
|
||||||
|
|
||||||
|
postBuild = ''
|
||||||
|
rm -fR $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $python/share
|
||||||
|
mv $out/share/opt-viewer $python/share/opt-viewer
|
||||||
|
''
|
||||||
|
+ optionalString enableSharedLibraries ''
|
||||||
|
moveToOutput "lib/libLLVM-*" "$lib"
|
||||||
|
moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
|
||||||
|
''
|
||||||
|
+ optionalString (enableSharedLibraries && (!stdenv.isDarwin)) ''
|
||||||
|
substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
|
||||||
|
--replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-"
|
||||||
|
''
|
||||||
|
+ optionalString (stdenv.isDarwin && enableSharedLibraries) ''
|
||||||
|
substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
|
||||||
|
--replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
|
||||||
|
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||||
|
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = stdenv.isLinux && (!stdenv.isx86_32);
|
||||||
|
|
||||||
|
checkTarget = "check-all";
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
requiredSystemFeatures = [ "big-parallel" ];
|
||||||
|
meta = {
|
||||||
|
description = "Collection of modular and reusable compiler and toolchain technologies";
|
||||||
|
homepage = "https://llvm.org/";
|
||||||
|
license = stdenv.lib.licenses.ncsa;
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ];
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
} // stdenv.lib.optionalAttrs enableManpages {
|
||||||
|
pname = "llvm-manpages";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
make docs-llvm-man
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make -C docs install
|
||||||
|
'';
|
||||||
|
|
||||||
|
postPatch = null;
|
||||||
|
postInstall = null;
|
||||||
|
|
||||||
|
outputs = [ "out" ];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta.description = "man pages for LLVM ${version}";
|
||||||
|
})
|
26
pkgs/development/compilers/llvm/11/openmp.nix
Normal file
26
pkgs/development/compilers/llvm/11/openmp.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetch
|
||||||
|
, cmake
|
||||||
|
, llvm
|
||||||
|
, perl
|
||||||
|
, version
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "openmp";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetch pname "1025dwn68iw664df831zbkxy8bxilvjkbc6mw4nhv6p5ff7dcw7f";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake perl ];
|
||||||
|
buildInputs = [ llvm ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Components required to build an executable OpenMP program";
|
||||||
|
homepage = "https://openmp.llvm.org/";
|
||||||
|
license = stdenv.lib.licenses.mit;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
412
pkgs/development/compilers/llvm/11/sanitizers-nongnu.patch
Normal file
412
pkgs/development/compilers/llvm/11/sanitizers-nongnu.patch
Normal file
@ -0,0 +1,412 @@
|
|||||||
|
From f7a253f8f85d0f49df6b73996737a3e84ac64236 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Will Dietz <w@wdtz.org>
|
||||||
|
Date: Mon, 24 Sep 2018 11:17:25 -0500
|
||||||
|
Subject: [PATCH] Ported to 7.0, taken from gentoo-musl project.
|
||||||
|
|
||||||
|
------
|
||||||
|
Ported to compiler-rt-sanitizers-5.0.0. Taken from
|
||||||
|
|
||||||
|
https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
|
||||||
|
Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
|
||||||
|
|
||||||
|
Taken from gentoo-musl project, with a few additional minor fixes.
|
||||||
|
---
|
||||||
|
lib/asan/asan_linux.cc | 4 +-
|
||||||
|
lib/interception/interception_linux.cc | 2 +-
|
||||||
|
lib/interception/interception_linux.h | 2 +-
|
||||||
|
lib/msan/msan_linux.cc | 2 +-
|
||||||
|
lib/sanitizer_common/sanitizer_allocator.cc | 2 +-
|
||||||
|
.../sanitizer_common_interceptors_ioctl.inc | 4 +-
|
||||||
|
.../sanitizer_common_syscalls.inc | 2 +-
|
||||||
|
lib/sanitizer_common/sanitizer_linux.cc | 8 +++-
|
||||||
|
.../sanitizer_linux_libcdep.cc | 10 ++---
|
||||||
|
lib/sanitizer_common/sanitizer_platform.h | 6 +++
|
||||||
|
.../sanitizer_platform_interceptors.h | 4 +-
|
||||||
|
.../sanitizer_platform_limits_posix.cc | 37 +++++++++++--------
|
||||||
|
lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
|
||||||
|
13 files changed, 51 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
|
||||||
|
index 625f32d40..73cf77aca 100644
|
||||||
|
--- a/lib/asan/asan_linux.cc
|
||||||
|
+++ b/lib/asan/asan_linux.cc
|
||||||
|
@@ -46,7 +46,7 @@
|
||||||
|
#include <link.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
|
||||||
|
+#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||||
|
#include <ucontext.h>
|
||||||
|
extern "C" void* _DYNAMIC;
|
||||||
|
#elif SANITIZER_NETBSD
|
||||||
|
@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
|
||||||
|
UNIMPLEMENTED();
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||||
|
// FIXME: should we do anything for Android?
|
||||||
|
void AsanCheckDynamicRTPrereqs() {}
|
||||||
|
void AsanCheckIncompatibleRT() {}
|
||||||
|
diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
|
||||||
|
index 26bfcd8f6..529b234f7 100644
|
||||||
|
--- a/lib/interception/interception_linux.cc
|
||||||
|
+++ b/lib/interception/interception_linux.cc
|
||||||
|
@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Android and Solaris do not have dlvsym
|
||||||
|
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
|
||||||
|
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
|
||||||
|
void *GetFuncAddrVer(const char *func_name, const char *ver) {
|
||||||
|
return dlvsym(RTLD_NEXT, func_name, ver);
|
||||||
|
}
|
||||||
|
diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
|
||||||
|
index 942c25609..24a4d5080 100644
|
||||||
|
--- a/lib/interception/interception_linux.h
|
||||||
|
+++ b/lib/interception/interception_linux.h
|
||||||
|
@@ -36,7 +36,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
|
||||||
|
(::__interception::uptr) & WRAP(func))
|
||||||
|
|
||||||
|
// Android, Solaris and OpenBSD do not have dlvsym
|
||||||
|
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
|
||||||
|
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
|
||||||
|
#define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
|
||||||
|
(::__interception::real_##func = (func##_f)( \
|
||||||
|
unsigned long)::__interception::GetFuncAddrVer(#func, symver))
|
||||||
|
diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
|
||||||
|
index 385a650c4..6e30a8ce9 100644
|
||||||
|
--- a/lib/msan/msan_linux.cc
|
||||||
|
+++ b/lib/msan/msan_linux.cc
|
||||||
|
@@ -13,7 +13,7 @@
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "sanitizer_common/sanitizer_platform.h"
|
||||||
|
-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
|
||||||
|
+#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
|
||||||
|
|
||||||
|
#include "msan.h"
|
||||||
|
#include "msan_report.h"
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
|
||||||
|
index 6bfd5e5ee..048f6154f 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_allocator.cc
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_allocator.cc
|
||||||
|
@@ -27,7 +27,7 @@ const char *SecondaryAllocatorName = "LargeMmapAllocator";
|
||||||
|
|
||||||
|
// ThreadSanitizer for Go uses libc malloc/free.
|
||||||
|
#if SANITIZER_GO || defined(SANITIZER_USE_MALLOC)
|
||||||
|
-# if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
extern "C" void *__libc_malloc(uptr size);
|
||||||
|
# if !SANITIZER_GO
|
||||||
|
extern "C" void *__libc_memalign(uptr alignment, uptr size);
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||||
|
index 2d633c173..b6eb23116 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||||
|
@@ -104,7 +104,7 @@ static void ioctl_table_fill() {
|
||||||
|
_(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||||
|
// Conflicting request ids.
|
||||||
|
// _(CDROMAUDIOBUFSIZ, NONE, 0);
|
||||||
|
// _(SNDCTL_TMR_CONTINUE, NONE, 0);
|
||||||
|
@@ -365,7 +365,7 @@ static void ioctl_table_fill() {
|
||||||
|
_(VT_WAITACTIVE, NONE, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
|
||||||
|
_(CYGETDEFTHRESH, WRITE, sizeof(int));
|
||||||
|
_(CYGETDEFTIMEOUT, WRITE, sizeof(int));
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||||
|
index 469c8eb7e..24f87867d 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||||
|
@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !SANITIZER_ANDROID
|
||||||
|
+#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
|
||||||
|
void *old_rlim) {
|
||||||
|
if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
|
||||||
|
index 96d6c1eff..9e2b7fb9d 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_linux.cc
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_linux.cc
|
||||||
|
@@ -541,13 +541,13 @@ const char *GetEnv(const char *name) {
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD
|
||||||
|
+#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
|
||||||
|
extern "C" {
|
||||||
|
SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \
|
||||||
|
+#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \
|
||||||
|
!SANITIZER_OPENBSD
|
||||||
|
static void ReadNullSepFileToArray(const char *path, char ***arr,
|
||||||
|
int arr_size) {
|
||||||
|
@@ -590,6 +590,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
|
||||||
|
#elif SANITIZER_NETBSD
|
||||||
|
*argv = __ps_strings->ps_argvstr;
|
||||||
|
*envp = __ps_strings->ps_envstr;
|
||||||
|
+#elif SANITIZER_NONGNU
|
||||||
|
+ static const int kMaxArgv = 2000, kMaxEnvp = 2000;
|
||||||
|
+ ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv);
|
||||||
|
+ ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp);
|
||||||
|
#else // SANITIZER_FREEBSD
|
||||||
|
#if !SANITIZER_GO
|
||||||
|
if (&__libc_stack_end) {
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||||
|
index 4962ff832..438f94dbe 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||||
|
@@ -179,7 +179,7 @@ __attribute__((unused)) static bool GetLibcVersion(int *major, int *minor,
|
||||||
|
}
|
||||||
|
|
||||||
|
#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
|
||||||
|
- !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS
|
||||||
|
+ !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||||
|
static uptr g_tls_size;
|
||||||
|
|
||||||
|
#ifdef __i386__
|
||||||
|
@@ -261,7 +261,7 @@ void InitTlsSize() { }
|
||||||
|
#if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) || \
|
||||||
|
defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) || \
|
||||||
|
defined(__arm__)) && \
|
||||||
|
- SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+ SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
// sizeof(struct pthread) from glibc.
|
||||||
|
static atomic_uintptr_t thread_descriptor_size;
|
||||||
|
|
||||||
|
@@ -426,7 +426,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
|
||||||
|
|
||||||
|
#if !SANITIZER_GO
|
||||||
|
static void GetTls(uptr *addr, uptr *size) {
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
# if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
|
||||||
|
*addr = ThreadSelf();
|
||||||
|
*size = GetTlsSize();
|
||||||
|
@@ -470,7 +470,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||||
|
#elif SANITIZER_OPENBSD
|
||||||
|
*addr = 0;
|
||||||
|
*size = 0;
|
||||||
|
-#elif SANITIZER_ANDROID
|
||||||
|
+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||||
|
*addr = 0;
|
||||||
|
*size = 0;
|
||||||
|
#elif SANITIZER_SOLARIS
|
||||||
|
@@ -486,7 +486,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||||
|
#if !SANITIZER_GO
|
||||||
|
uptr GetTlsSize() {
|
||||||
|
#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
|
||||||
|
- SANITIZER_OPENBSD || SANITIZER_SOLARIS
|
||||||
|
+ SANITIZER_OPENBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||||
|
uptr addr, size;
|
||||||
|
GetTls(&addr, &size);
|
||||||
|
return size;
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
|
||||||
|
index d81e25580..e10680ac8 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_platform.h
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_platform.h
|
||||||
|
@@ -208,6 +208,12 @@
|
||||||
|
# define SANITIZER_SOLARIS32 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||||
|
+# define SANITIZER_NONGNU 1
|
||||||
|
+#else
|
||||||
|
+# define SANITIZER_NONGNU 0
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#if defined(__myriad2__)
|
||||||
|
# define SANITIZER_MYRIAD2 1
|
||||||
|
#else
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||||
|
index f95539a73..6c53b3415 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||||
|
@@ -39,7 +39,7 @@
|
||||||
|
# include "sanitizer_platform_limits_solaris.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
# define SI_LINUX_NOT_ANDROID 1
|
||||||
|
#else
|
||||||
|
# define SI_LINUX_NOT_ANDROID 0
|
||||||
|
@@ -322,7 +322,7 @@
|
||||||
|
#define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
|
||||||
|
#define SANITIZER_INTERCEPT_SHMCTL \
|
||||||
|
(SI_NETBSD || SI_OPENBSD || SI_SOLARIS || \
|
||||||
|
- ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
|
||||||
|
+ ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
|
||||||
|
SANITIZER_WORDSIZE == 64)) // NOLINT
|
||||||
|
#define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
|
||||||
|
#define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
|
||||||
|
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||||
|
index 54da635d7..2f6ff69c3 100644
|
||||||
|
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||||
|
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||||
|
@@ -14,6 +14,9 @@
|
||||||
|
|
||||||
|
#include "sanitizer_platform.h"
|
||||||
|
|
||||||
|
+// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
|
||||||
|
+#define _LINUX_SYSINFO_H
|
||||||
|
+
|
||||||
|
#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
|
||||||
|
// Tests in this file assume that off_t-dependent data structures match the
|
||||||
|
// libc ABI. For example, struct dirent here is what readdir() function (as
|
||||||
|
@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||||
|
|
||||||
|
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
#include <glob.h>
|
||||||
|
-#include <obstack.h>
|
||||||
|
+# if !SANITIZER_NONGNU
|
||||||
|
+# include <obstack.h>
|
||||||
|
+# endif
|
||||||
|
#include <mqueue.h>
|
||||||
|
-#include <net/if_ppp.h>
|
||||||
|
-#include <netax25/ax25.h>
|
||||||
|
-#include <netipx/ipx.h>
|
||||||
|
-#include <netrom/netrom.h>
|
||||||
|
+#include <linux/if_ppp.h>
|
||||||
|
+#include <linux/ax25.h>
|
||||||
|
+#include <linux/ipx.h>
|
||||||
|
+#include <linux/netrom.h>
|
||||||
|
#if HAVE_RPC_XDR_H
|
||||||
|
# include <rpc/xdr.h>
|
||||||
|
#elif HAVE_TIRPC_RPC_XDR_H
|
||||||
|
@@ -251,7 +256,7 @@ namespace __sanitizer {
|
||||||
|
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||||
|
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
// Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
|
||||||
|
// has been removed from glibc 2.28.
|
||||||
|
#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
|
||||||
|
@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
|
||||||
|
unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||||
|
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
int glob_nomatch = GLOB_NOMATCH;
|
||||||
|
int glob_altdirfunc = GLOB_ALTDIRFUNC;
|
||||||
|
#endif
|
||||||
|
@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||||
|
unsigned struct_termios_sz = sizeof(struct termios);
|
||||||
|
unsigned struct_winsize_sz = sizeof(struct winsize);
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||||
|
unsigned struct_arpreq_sz = sizeof(struct arpreq);
|
||||||
|
unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
|
||||||
|
unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
|
||||||
|
@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||||
|
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||||
|
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
|
||||||
|
unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
|
||||||
|
#if EV_VERSION > (0x010000)
|
||||||
|
@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||||
|
unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
|
||||||
|
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
|
||||||
|
unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
|
||||||
|
unsigned IOCTL_CYGETMON = CYGETMON;
|
||||||
|
@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
|
||||||
|
CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
|
||||||
|
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||||
|
|
||||||
|
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||||
|
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
CHECK_TYPE_SIZE(glob_t);
|
||||||
|
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
|
||||||
|
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
|
||||||
|
@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec);
|
||||||
|
CHECK_SIZE_AND_OFFSET(iovec, iov_base);
|
||||||
|
CHECK_SIZE_AND_OFFSET(iovec, iov_len);
|
||||||
|
|
||||||
|
+#if !SANITIZER_NONGNU
|
||||||
|
CHECK_TYPE_SIZE(msghdr);
|
||||||
|
CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
|
||||||
|
CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
|
||||||
|
@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr);
|
||||||
|
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
|
||||||
|
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
|
||||||
|
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#ifndef __GLIBC_PREREQ
|
||||||
|
#define __GLIBC_PREREQ(x, y) 0
|
||||||
|
@@ -1145,7 +1152,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
|
||||||
|
|
||||||
|
CHECK_TYPE_SIZE(ether_addr);
|
||||||
|
|
||||||
|
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||||
|
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
CHECK_TYPE_SIZE(ipc_perm);
|
||||||
|
# if SANITIZER_FREEBSD
|
||||||
|
CHECK_SIZE_AND_OFFSET(ipc_perm, key);
|
||||||
|
@@ -1206,7 +1213,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
|
||||||
|
CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||||
|
COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -1256,7 +1263,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
|
||||||
|
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
|
||||||
|
CHECK_SIZE_AND_OFFSET(FILE, _flags);
|
||||||
|
CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
|
||||||
|
@@ -1275,7 +1282,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
|
||||||
|
CHECK_SIZE_AND_OFFSET(FILE, _fileno);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
|
||||||
|
CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
|
||||||
|
CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
|
||||||
|
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||||
|
index de989b780..51a97b554 100644
|
||||||
|
--- a/lib/tsan/rtl/tsan_platform_linux.cc
|
||||||
|
+++ b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||||
|
@@ -294,7 +294,7 @@ void InitializePlatform() {
|
||||||
|
// This is required to properly "close" the fds, because we do not see internal
|
||||||
|
// closes within glibc. The code is a pure hack.
|
||||||
|
int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
||||||
|
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
|
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||||
|
int cnt = 0;
|
||||||
|
struct __res_state *statp = (struct __res_state*)state;
|
||||||
|
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
|
||||||
|
--
|
||||||
|
2.19.0
|
||||||
|
|
@ -1,11 +1,11 @@
|
|||||||
# TODO: Resolve the issues with the Mono bindings.
|
# TODO: Resolve the issues with the Mono bindings.
|
||||||
|
|
||||||
{ stdenv, fetchurl, fetchpatch, lib
|
{ stdenv, fetchgit, lib
|
||||||
, pkgconfig, autoreconfHook
|
, pkgconfig, autoreconfHook
|
||||||
, glib, dbus-glib, gtkVersion ? "3"
|
, glib, dbus-glib, gtkVersion ? "3"
|
||||||
, gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
|
, gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
|
||||||
, gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
|
, gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
|
||||||
, vala, gobject-introspection
|
, gtk-doc, vala, gobject-introspection
|
||||||
, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
|
, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -15,18 +15,17 @@ with lib;
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
|
name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
|
||||||
in "libappindicator-${postfix}-${version}";
|
in "libappindicator-${postfix}-${version}";
|
||||||
version = "${versionMajor}.${versionMinor}";
|
version = "12.10.1+20.10.20200706.1";
|
||||||
versionMajor = "12.10";
|
|
||||||
versionMinor = "0";
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchgit {
|
||||||
url = "${meta.homepage}/${versionMajor}/${version}/+download/libappindicator-${version}.tar.gz";
|
url = "https://git.launchpad.net/ubuntu/+source/libappindicator";
|
||||||
sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
|
rev = "fe25e53bc7e39cd59ad6b3270cd7a6a9c78c4f44";
|
||||||
|
sha256 = "0xjvbl4gn7ra2fs6gn2g9s787kzb5cg9hv79iqsz949rxh4iw32d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig autoreconfHook vala gobject-introspection ];
|
nativeBuildInputs = [ pkgconfig autoreconfHook vala gobject-introspection gtk-doc ];
|
||||||
|
|
||||||
propagatedBuildInputs =
|
propagatedBuildInputs =
|
||||||
if gtkVersion == "2"
|
if gtkVersion == "2"
|
||||||
@ -39,14 +38,9 @@ stdenv.mkDerivation rec {
|
|||||||
then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
|
then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
|
||||||
else [ libindicator-gtk3 ]);
|
else [ libindicator-gtk3 ]);
|
||||||
|
|
||||||
patches = [
|
preAutoreconf = ''
|
||||||
# Remove python2 from libappindicator.
|
gtkdocize
|
||||||
(fetchpatch {
|
'';
|
||||||
name = "no-python.patch";
|
|
||||||
url = "https://src.fedoraproject.org/rpms/libappindicator/raw/8508f7a52437679fd95a79b4630373f08315f189/f/nopython.patch";
|
|
||||||
sha256 = "18b1xzvwsbhhfpbzf5zragij4g79pa04y1dk6v5ci1wsjvii725s";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"CFLAGS=-Wno-error"
|
"CFLAGS=-Wno-error"
|
||||||
|
42
pkgs/development/libraries/muparserx/default.nix
Normal file
42
pkgs/development/libraries/muparserx/default.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "muparserx";
|
||||||
|
version = "4.0.8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "beltoforion";
|
||||||
|
repo = "muparserx";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "097pkdffv0phr0345hy06mjm5pfy259z13plsvbxvcmds80wl48v";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkPhase = ''
|
||||||
|
echo "***Muparserx self-test***"
|
||||||
|
echo "quit" | ./example > test_result.log
|
||||||
|
cat test_result.log
|
||||||
|
if grep -Fqi "failed" test_result.log; then
|
||||||
|
echo ">=1 muparserx tests failed"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo -e "\nmuparserx tests succeeded"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more.";
|
||||||
|
homepage = "https://beltoforion.de/en/muparserx/";
|
||||||
|
license = licenses.bsd2;
|
||||||
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
|
};
|
||||||
|
}
|
@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-pcre2-16"
|
"--enable-pcre2-16"
|
||||||
"--enable-pcre2-32"
|
"--enable-pcre2-32"
|
||||||
"--enable-jit"
|
] ++ stdenv.lib.optional (!stdenv.hostPlatform.isRiscV) "--enable-jit";
|
||||||
];
|
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
|
outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
, gn
|
, gn
|
||||||
, cups, darwin, openbsm, runCommand, xcbuild, writeScriptBin
|
, cups, darwin, openbsm, runCommand, xcbuild, writeScriptBin
|
||||||
, ffmpeg_3 ? null
|
, ffmpeg_3 ? null
|
||||||
, lib, stdenv
|
, lib, stdenv, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -38,6 +38,17 @@ qtModule {
|
|||||||
# which cannot be set at the same time as -Wformat-security
|
# which cannot be set at the same time as -Wformat-security
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599
|
||||||
|
(fetchpatch {
|
||||||
|
name = "qtwebengine-bison-3.7-build.patch";
|
||||||
|
url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599";
|
||||||
|
sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy";
|
||||||
|
stripLen = 1;
|
||||||
|
extraPrefix = "src/3rdparty/";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
# Patch Chromium build tools
|
# Patch Chromium build tools
|
||||||
''
|
''
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{ gnustep, lib, fetchFromGitHub , libxml2, openssl_1_1
|
{ gnustep, lib, fetchFromGitHub , libxml2, openssl_1_1
|
||||||
, openldap, mysql, libmysqlclient, postgresql }: with lib; gnustep.stdenv.mkDerivation rec {
|
, openldap, mysql, libmysqlclient, postgresql }: with lib; gnustep.stdenv.mkDerivation rec {
|
||||||
pname = "sope";
|
pname = "sope";
|
||||||
version = "4.3.2";
|
version = "5.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "inverse-inc";
|
owner = "inverse-inc";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "SOPE-${version}";
|
rev = "SOPE-${version}";
|
||||||
sha256 = "0ny1ihx38gd25w8f3dfybyswvyjfljvb2fhfmkajgg6hhjrkfar2";
|
sha256 = "sha256-7NM9wcyHDSVmjjqu489Ff3iJgl9VM+UBF3XYWoiHHTg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gnustep.make ];
|
nativeBuildInputs = [ gnustep.make ];
|
||||||
|
@ -1,22 +1,25 @@
|
|||||||
{ stdenv, fetchurl, cmake }:
|
{ stdenv, fetchFromGitHub, cmake, openmp }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vid-stab";
|
pname = "vid.stab";
|
||||||
version = "0.98b";
|
version = "1.1.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/georgmartius/vid.stab/archive/release-${version}.tar.gz";
|
owner = "georgmartius";
|
||||||
sha256 = "09fh6xbd1f5xp3il3dpvr87skmnp2mm2hfmg4s9rvj4y8zvhn3sk";
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0a3frpm2kdbx7vszhg64p3alisag73bcspl7fp3a2f1kgq7rbh38";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
buildInputs = stdenv.lib.optionals stdenv.cc.isClang [ openmp ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Video stabilization library";
|
description = "Video stabilization library";
|
||||||
homepage = "http://public.hronopik.de/vid.stab/";
|
homepage = "http://public.hronopik.de/vid.stab/";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ codyopel ];
|
maintainers = with maintainers; [ codyopel ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
25
pkgs/development/python-modules/multitasking/default.nix
Normal file
25
pkgs/development/python-modules/multitasking/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "multitasking";
|
||||||
|
version = "0.0.9";
|
||||||
|
|
||||||
|
# GitHub source releases aren't tagged
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "b59d99f709d2e17d60ccaa2be09771b6e9ed9391c63f083c0701e724f624d2e0";
|
||||||
|
};
|
||||||
|
|
||||||
|
doCheck = false; # No tests included
|
||||||
|
pythonImportsCheck = [ "multitasking" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Non-blocking Python methods using decorators";
|
||||||
|
homepage = "https://github.com/ranaroussi/multitasking";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
|
};
|
||||||
|
}
|
@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pylatexenc";
|
pname = "pylatexenc";
|
||||||
version = "2.4";
|
version = "2.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "phfaist";
|
owner = "phfaist";
|
||||||
repo = "pylatexenc";
|
repo = "pylatexenc";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0i4frypbv90mjir8bkp03cwkvwhgvc9p3fw6q2jz1dn7fw94v2rv";
|
sha256 = "1hpcwbknfah3mky2m4asw15b9qdvv4k5ni0js764n1jpi83m1zgk";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonImportsCheck = [ "pylatexenc" ];
|
pythonImportsCheck = [ "pylatexenc" ];
|
||||||
@ -26,4 +26,4 @@ buildPythonPackage rec {
|
|||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ drewrisinger ];
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,9 @@
|
|||||||
, cmake
|
, cmake
|
||||||
, cvxpy
|
, cvxpy
|
||||||
, cython
|
, cython
|
||||||
|
, muparserx
|
||||||
|
, ninja
|
||||||
|
, nlohmann_json
|
||||||
, numpy
|
, numpy
|
||||||
, openblas
|
, openblas
|
||||||
, pybind11
|
, pybind11
|
||||||
@ -19,7 +22,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "qiskit-aer";
|
pname = "qiskit-aer";
|
||||||
version = "0.5.2";
|
version = "0.6.1";
|
||||||
|
|
||||||
disabled = pythonOlder "3.5";
|
disabled = pythonOlder "3.5";
|
||||||
|
|
||||||
@ -27,18 +30,20 @@ buildPythonPackage rec {
|
|||||||
owner = "Qiskit";
|
owner = "Qiskit";
|
||||||
repo = "qiskit-aer";
|
repo = "qiskit-aer";
|
||||||
rev = version;
|
rev = version;
|
||||||
fetchSubmodules = true; # fetch muparserx and other required libraries
|
sha256 = "1fnv11diis0as8zcc57mamz0gbjd6vj7nw3arxzvwa77ja803sr4";
|
||||||
sha256 = "0vw6b69h8pvzxhaz3k8sg9ac792gz3kklfv0izs6ra83y1dfwhjz";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
|
ninja
|
||||||
scikit-build
|
scikit-build
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
openblas
|
openblas
|
||||||
spdlog
|
spdlog
|
||||||
|
nlohmann_json
|
||||||
|
muparserx
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -48,10 +53,10 @@ buildPythonPackage rec {
|
|||||||
pybind11
|
pybind11
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
patches = [
|
||||||
# remove dependency on PyPi cmake package, which isn't in Nixpkgs
|
# TODO: remove in favor of qiskit-aer PR #877 patch once accepted/stable
|
||||||
substituteInPlace setup.py --replace "'cmake!=3.17,!=3.17.0'" ""
|
./remove-conan-install.patch
|
||||||
'';
|
];
|
||||||
|
|
||||||
dontUseCmakeConfigure = true;
|
dontUseCmakeConfigure = true;
|
||||||
|
|
||||||
@ -60,11 +65,6 @@ buildPythonPackage rec {
|
|||||||
"-DAER_THRUST_BACKEND=OMP"
|
"-DAER_THRUST_BACKEND=OMP"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Needed to find qiskit.providers.aer modules in cython. This exists in GitHub, don't know why it isn't copied by default
|
|
||||||
postFixup = ''
|
|
||||||
touch $out/${python.sitePackages}/qiskit/__init__.pxd
|
|
||||||
'';
|
|
||||||
|
|
||||||
# *** Testing ***
|
# *** Testing ***
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
@ -77,11 +77,6 @@ buildPythonPackage rec {
|
|||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
dontUseSetuptoolsCheck = true; # Otherwise runs tests twice
|
dontUseSetuptoolsCheck = true; # Otherwise runs tests twice
|
||||||
disabledTests = [
|
|
||||||
# broken with cvxpy >= 1.1.0, see https://github.com/Qiskit/qiskit-aer/issues/779.
|
|
||||||
# TODO: Remove once resolved, probably next qiskit-aer version
|
|
||||||
"test_clifford"
|
|
||||||
];
|
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
# Tests include a compiled "circuit" which is auto-built in $HOME
|
# Tests include a compiled "circuit" which is auto-built in $HOME
|
||||||
@ -100,11 +95,8 @@ buildPythonPackage rec {
|
|||||||
description = "High performance simulators for Qiskit";
|
description = "High performance simulators for Qiskit";
|
||||||
homepage = "https://qiskit.org/aer";
|
homepage = "https://qiskit.org/aer";
|
||||||
downloadPage = "https://github.com/QISKit/qiskit-aer/releases";
|
downloadPage = "https://github.com/QISKit/qiskit-aer/releases";
|
||||||
|
changelog = "https://qiskit.org/documentation/release_notes.html";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ drewrisinger ];
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
# Doesn't build on aarch64 (libmuparserx issue).
|
|
||||||
# Can fix by building muparserx from source (https://github.com/beltoforion/muparserx)
|
|
||||||
# or in future updates (e.g. Raspberry Pi enabled via https://github.com/Qiskit/qiskit-aer/pull/651 & https://github.com/Qiskit/qiskit-aer/pull/660)
|
|
||||||
platforms = platforms.x86_64;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index efeacfc..77bd6bd 100755
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -121,7 +121,11 @@ endif()
|
||||||
|
# Looking for external libraries
|
||||||
|
#
|
||||||
|
|
||||||
|
-setup_conan()
|
||||||
|
+find_package(muparserx REQUIRED)
|
||||||
|
+find_package(nlohmann_json REQUIRED)
|
||||||
|
+find_package(spdlog REQUIRED)
|
||||||
|
+# for tests only
|
||||||
|
+find_package(catch2)
|
||||||
|
|
||||||
|
# If we do not set them with a space CMake fails afterwards if nothing is set for this vars!
|
||||||
|
set(AER_LINKER_FLAGS " ")
|
||||||
|
@@ -269,16 +273,16 @@ endif()
|
||||||
|
set(AER_LIBRARIES
|
||||||
|
${AER_LIBRARIES}
|
||||||
|
${BLAS_LIBRARIES}
|
||||||
|
- CONAN_PKG::nlohmann_json
|
||||||
|
+ nlohmann_json
|
||||||
|
Threads::Threads
|
||||||
|
- CONAN_PKG::spdlog
|
||||||
|
+ spdlog
|
||||||
|
${DL_LIB}
|
||||||
|
${THRUST_DEPENDANT_LIBS})
|
||||||
|
|
||||||
|
set(AER_COMPILER_DEFINITIONS ${AER_COMPILER_DEFINITIONS} ${CONAN_DEFINES})
|
||||||
|
# Cython build is only enabled if building through scikit-build.
|
||||||
|
if(SKBUILD) # Terra Addon build
|
||||||
|
- set(AER_LIBRARIES ${AER_LIBRARIES} CONAN_PKG::muparserx)
|
||||||
|
+ set(AER_LIBRARIES ${AER_LIBRARIES} muparserx)
|
||||||
|
add_subdirectory(qiskit/providers/aer/pulse/qutip_extra_lite/cy)
|
||||||
|
add_subdirectory(qiskit/providers/aer/backends/wrappers)
|
||||||
|
add_subdirectory(src/open_pulse)
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index fd71e9f..1561cc4 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -11,12 +11,6 @@ import inspect
|
||||||
|
|
||||||
|
PACKAGE_NAME = os.getenv('QISKIT_AER_PACKAGE_NAME', 'qiskit-aer')
|
||||||
|
|
||||||
|
-try:
|
||||||
|
- from conans import client
|
||||||
|
-except ImportError:
|
||||||
|
- subprocess.call([sys.executable, '-m', 'pip', 'install', 'conan'])
|
||||||
|
- from conans import client
|
||||||
|
-
|
||||||
|
try:
|
||||||
|
from skbuild import setup
|
||||||
|
except ImportError:
|
||||||
|
@@ -46,8 +40,6 @@ common_requirements = [
|
||||||
|
|
||||||
|
setup_requirements = common_requirements + [
|
||||||
|
'scikit-build',
|
||||||
|
- 'cmake!=3.17,!=3.17.0',
|
||||||
|
- 'conan>=1.22.2'
|
||||||
|
]
|
||||||
|
|
||||||
|
requirements = common_requirements + ['qiskit-terra>=0.12.0']
|
@ -2,6 +2,7 @@
|
|||||||
, pythonOlder
|
, pythonOlder
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
# , cplex
|
# , cplex
|
||||||
, cvxpy
|
, cvxpy
|
||||||
, dlx
|
, dlx
|
||||||
@ -16,6 +17,7 @@
|
|||||||
, qiskit-terra
|
, qiskit-terra
|
||||||
, quandl
|
, quandl
|
||||||
, scikitlearn
|
, scikitlearn
|
||||||
|
, yfinance
|
||||||
# Check Inputs
|
# Check Inputs
|
||||||
, ddt
|
, ddt
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
@ -24,7 +26,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "qiskit-aqua";
|
pname = "qiskit-aqua";
|
||||||
version = "0.7.3";
|
version = "0.7.5";
|
||||||
|
|
||||||
disabled = pythonOlder "3.5";
|
disabled = pythonOlder "3.5";
|
||||||
|
|
||||||
@ -33,9 +35,18 @@ buildPythonPackage rec {
|
|||||||
owner = "Qiskit";
|
owner = "Qiskit";
|
||||||
repo = "qiskit-aqua";
|
repo = "qiskit-aqua";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "04zcnrc0vi6dfjahp1019h2ngdgi7l7jvfs9aw0y306nd9g6qgjc";
|
sha256 = "19sdv7lnc4b1c86rd1dv7pjpi8cmrpzbv7nav0fb899ki8ldqdwq";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO: remove in next release
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "qiskit-aqua-fix-test-issue-1214.patch";
|
||||||
|
url = "https://github.com/Qiskit/qiskit-aqua/commit/284a4323192ac85787b22cbe5f344996fae16f7d.patch";
|
||||||
|
sha256 = "0zl8hqa2fq9ng793x4dhh0ny67nnbjcd8l1cdsaaab4ca1y0xcfr";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
# Optional packages: pyscf (see below NOTE) & pytorch. Can install via pip/nix if needed.
|
# Optional packages: pyscf (see below NOTE) & pytorch. Can install via pip/nix if needed.
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
# cplex
|
# cplex
|
||||||
@ -51,6 +62,7 @@ buildPythonPackage rec {
|
|||||||
qiskit-ignis
|
qiskit-ignis
|
||||||
quandl
|
quandl
|
||||||
scikitlearn
|
scikitlearn
|
||||||
|
yfinance
|
||||||
];
|
];
|
||||||
|
|
||||||
# *** NOTE ***
|
# *** NOTE ***
|
||||||
@ -105,8 +117,9 @@ buildPythonPackage rec {
|
|||||||
# Disabled due to missing pyscf
|
# Disabled due to missing pyscf
|
||||||
"test_validate" # test/chemistry/test_inputparser.py
|
"test_validate" # test/chemistry/test_inputparser.py
|
||||||
|
|
||||||
"test_binary" # in SklearnSVM, seems to have trouble with eigenvectors converging
|
# Online tests
|
||||||
"test_pauli_expect_single" # fails for unknown reason, 3e-3 out of tolerance
|
"test_exchangedata"
|
||||||
|
"test_yahoo"
|
||||||
|
|
||||||
# Disabling slow tests > 10 seconds
|
# Disabling slow tests > 10 seconds
|
||||||
"TestVQE"
|
"TestVQE"
|
||||||
@ -119,7 +132,6 @@ buildPythonPackage rec {
|
|||||||
"TestQGAN"
|
"TestQGAN"
|
||||||
"test_evaluate_qasm_mode"
|
"test_evaluate_qasm_mode"
|
||||||
"test_measurement_error_mitigation_auto_refresh"
|
"test_measurement_error_mitigation_auto_refresh"
|
||||||
"test_exchangedata"
|
|
||||||
"test_wikipedia"
|
"test_wikipedia"
|
||||||
"test_shor_factoring_1__15___qasm_simulator____3__5__"
|
"test_shor_factoring_1__15___qasm_simulator____3__5__"
|
||||||
"test_readme_sample"
|
"test_readme_sample"
|
||||||
@ -138,11 +150,13 @@ buildPythonPackage rec {
|
|||||||
"test_oh"
|
"test_oh"
|
||||||
"test_confidence_intervals_00001"
|
"test_confidence_intervals_00001"
|
||||||
"test_eoh"
|
"test_eoh"
|
||||||
|
"test_qasm_5"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "An extensible library of quantum computing algorithms";
|
description = "An extensible library of quantum computing algorithms";
|
||||||
homepage = "https://github.com/QISKit/qiskit-aqua";
|
homepage = "https://github.com/QISKit/qiskit-aqua";
|
||||||
|
changelog = "https://qiskit.org/documentation/release_notes.html";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ drewrisinger ];
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
};
|
};
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "qiskit-ibmq-provider";
|
pname = "qiskit-ibmq-provider";
|
||||||
version = "0.7.2";
|
version = "0.8.0";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ buildPythonPackage rec {
|
|||||||
owner = "Qiskit";
|
owner = "Qiskit";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "11h1ca4v11pajzn1cxqhim1hfziqzj27xzakwln13g8zmiqx3csp";
|
sha256 = "0rrpwr4a82j69j5ibl2g0nw8wbpg201cfz6f234k2v6pj500x9nl";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -85,6 +85,7 @@ buildPythonPackage rec {
|
|||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Qiskit provider for accessing the quantum devices and simulators at IBMQ";
|
description = "Qiskit provider for accessing the quantum devices and simulators at IBMQ";
|
||||||
homepage = "https://github.com/Qiskit/qiskit-ibmq-provider";
|
homepage = "https://github.com/Qiskit/qiskit-ibmq-provider";
|
||||||
|
changelog = "https://qiskit.org/documentation/release_notes.html";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ drewrisinger ];
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
};
|
};
|
||||||
|
@ -9,14 +9,15 @@
|
|||||||
, scikitlearn
|
, scikitlearn
|
||||||
, scipy
|
, scipy
|
||||||
# Check Inputs
|
# Check Inputs
|
||||||
, ddt
|
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
, ddt
|
||||||
|
, pyfakefs
|
||||||
, qiskit-aer
|
, qiskit-aer
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "qiskit-ignis";
|
pname = "qiskit-ignis";
|
||||||
version = "0.3.3";
|
version = "0.4.0";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
@ -25,7 +26,7 @@ buildPythonPackage rec {
|
|||||||
owner = "Qiskit";
|
owner = "Qiskit";
|
||||||
repo = "qiskit-ignis";
|
repo = "qiskit-ignis";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0sy9qpw0jqirsk9y61j5kr18jrw1wa812n7y98fjj6w668rrv560";
|
sha256 = "07mxhaknkp121xm6mgrpcrbj9qw6j924ra3k0s6vr8qgvfcxvh0y";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -41,18 +42,21 @@ buildPythonPackage rec {
|
|||||||
dontUseSetuptoolsCheck = true;
|
dontUseSetuptoolsCheck = true;
|
||||||
preCheck = "export HOME=$TMPDIR";
|
preCheck = "export HOME=$TMPDIR";
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
ddt
|
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
|
ddt
|
||||||
|
pyfakefs
|
||||||
qiskit-aer
|
qiskit-aer
|
||||||
];
|
];
|
||||||
# Test is in test/verification/test_entanglemet.py. test fails due to out-of-date calls & bad logic with this file since qiskit-ignis#328
|
disabledTests = [
|
||||||
# see qiskit-ignis#386 for all issues. Should be able to re-enable in future.
|
"test_tensored_meas_cal_on_circuit" # Flaky test, occasionally returns result outside bounds
|
||||||
disabledTests = [ "TestEntanglement" ];
|
"test_qv_fitter" # execution hangs, ran for several minutes
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Qiskit tools for quantum hardware verification, noise characterization, and error correction";
|
description = "Qiskit tools for quantum hardware verification, noise characterization, and error correction";
|
||||||
homepage = "https://qiskit.org/ignis";
|
homepage = "https://qiskit.org/ignis";
|
||||||
downloadPage = "https://github.com/QISKit/qiskit-ignis/releases";
|
downloadPage = "https://github.com/QISKit/qiskit-ignis/releases";
|
||||||
|
changelog = "https://qiskit.org/documentation/release_notes.html";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ drewrisinger ];
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
};
|
};
|
||||||
|
@ -8,12 +8,11 @@
|
|||||||
, fastjsonschema
|
, fastjsonschema
|
||||||
, jsonschema
|
, jsonschema
|
||||||
, numpy
|
, numpy
|
||||||
, marshmallow
|
|
||||||
, marshmallow-polyfield
|
|
||||||
, networkx
|
, networkx
|
||||||
, ply
|
, ply
|
||||||
, psutil
|
, psutil
|
||||||
, python-constraint
|
, python-constraint
|
||||||
|
, python-dateutil
|
||||||
, retworkx
|
, retworkx
|
||||||
, scipy
|
, scipy
|
||||||
, sympy
|
, sympy
|
||||||
@ -36,7 +35,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "qiskit-terra";
|
pname = "qiskit-terra";
|
||||||
version = "0.14.2";
|
version = "0.15.1";
|
||||||
|
|
||||||
disabled = pythonOlder "3.5";
|
disabled = pythonOlder "3.5";
|
||||||
|
|
||||||
@ -44,7 +43,7 @@ buildPythonPackage rec {
|
|||||||
owner = "Qiskit";
|
owner = "Qiskit";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0p5wapjvy81pnks100xbb23kbs2wyys9ykyc8z4968wl487lq4g5";
|
sha256 = "1p7y36gj3675dmp05nwi0m9nc7h0bwyimir3ncf9wbkx3crrh99c";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cython ];
|
nativeBuildInputs = [ cython ];
|
||||||
@ -54,13 +53,12 @@ buildPythonPackage rec {
|
|||||||
fastjsonschema
|
fastjsonschema
|
||||||
jsonschema
|
jsonschema
|
||||||
numpy
|
numpy
|
||||||
marshmallow
|
|
||||||
marshmallow-polyfield
|
|
||||||
matplotlib
|
matplotlib
|
||||||
networkx
|
networkx
|
||||||
ply
|
ply
|
||||||
psutil
|
psutil
|
||||||
python-constraint
|
python-constraint
|
||||||
|
python-dateutil
|
||||||
retworkx
|
retworkx
|
||||||
scipy
|
scipy
|
||||||
sympy
|
sympy
|
||||||
@ -74,10 +72,6 @@ buildPythonPackage rec {
|
|||||||
seaborn
|
seaborn
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# Fix relative imports in tests
|
|
||||||
touch test/python/dagcircuit/__init__.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
# *** Tests ***
|
# *** Tests ***
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
@ -94,9 +88,6 @@ buildPythonPackage rec {
|
|||||||
"qiskit.transpiler.passes.routing.cython.stochastic_swap.swap_trial"
|
"qiskit.transpiler.passes.routing.cython.stochastic_swap.swap_trial"
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = [
|
|
||||||
"test_random_clifford_valid" # random test, fails at least once when testing locally.
|
|
||||||
];
|
|
||||||
pytestFlagsArray = [
|
pytestFlagsArray = [
|
||||||
"--ignore=test/randomized/test_transpiler_equivalence.py" # collection requires qiskit-aer, which would cause circular dependency
|
"--ignore=test/randomized/test_transpiler_equivalence.py" # collection requires qiskit-aer, which would cause circular dependency
|
||||||
];
|
];
|
||||||
@ -106,9 +97,9 @@ buildPythonPackage rec {
|
|||||||
preCheck = ''
|
preCheck = ''
|
||||||
export PACKAGEDIR=$out/${python.sitePackages}
|
export PACKAGEDIR=$out/${python.sitePackages}
|
||||||
echo "Moving Qiskit test files to package directory"
|
echo "Moving Qiskit test files to package directory"
|
||||||
cp -r $TMP/source/test $PACKAGEDIR
|
cp -r $TMP/$sourceRoot/test $PACKAGEDIR
|
||||||
cp -r $TMP/source/examples $PACKAGEDIR
|
cp -r $TMP/$sourceRoot/examples $PACKAGEDIR
|
||||||
cp -r $TMP/source/qiskit/schemas/examples $PACKAGEDIR/qiskit/schemas/
|
cp -r $TMP/$sourceRoot/qiskit/schemas/examples $PACKAGEDIR/qiskit/schemas/
|
||||||
|
|
||||||
# run pytest from Nix's $out path
|
# run pytest from Nix's $out path
|
||||||
pushd $PACKAGEDIR
|
pushd $PACKAGEDIR
|
||||||
@ -127,6 +118,7 @@ buildPythonPackage rec {
|
|||||||
'';
|
'';
|
||||||
homepage = "https://qiskit.org/terra";
|
homepage = "https://qiskit.org/terra";
|
||||||
downloadPage = "https://github.com/QISKit/qiskit-terra/releases";
|
downloadPage = "https://github.com/QISKit/qiskit-terra/releases";
|
||||||
|
changelog = "https://qiskit.org/documentation/release_notes.html";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ drewrisinger ];
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "qiskit";
|
pname = "qiskit";
|
||||||
# NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
|
# NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
|
||||||
version = "0.19.6";
|
version = "0.20.0";
|
||||||
|
|
||||||
disabled = pythonOlder "3.5";
|
disabled = pythonOlder "3.5";
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
|||||||
owner = "Qiskit";
|
owner = "Qiskit";
|
||||||
repo = "qiskit";
|
repo = "qiskit";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0liby6ffgrla6wr4k742qkg8m80im372p6hmr4gkz47nmc76zy1i";
|
sha256 = "1r23pjnql49gczf4k4m6ir5rr95gqdxjrks60p8a93d243mxx3c9";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -36,14 +36,21 @@ buildPythonPackage rec {
|
|||||||
|
|
||||||
checkInputs = [ pytestCheckHook ];
|
checkInputs = [ pytestCheckHook ];
|
||||||
dontUseSetuptoolsCheck = true;
|
dontUseSetuptoolsCheck = true;
|
||||||
# following doesn't work b/c they are distributed across different nix sitePackages dirs. Tested with pytest though.
|
|
||||||
pythonImportsCheck = [ "qiskit" "qiskit.circuit" "qiskit.ignis" "qiskit.providers.aer" "qiskit.aqua" ];
|
|
||||||
|
|
||||||
meta = {
|
pythonImportsCheck = [
|
||||||
|
"qiskit"
|
||||||
|
"qiskit.aqua"
|
||||||
|
"qiskit.circuit"
|
||||||
|
"qiskit.ignis"
|
||||||
|
"qiskit.providers.aer"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
description = "Software for developing quantum computing programs";
|
description = "Software for developing quantum computing programs";
|
||||||
homepage = "https://qiskit.org";
|
homepage = "https://qiskit.org";
|
||||||
downloadPage = "https://github.com/QISKit/qiskit/releases";
|
downloadPage = "https://github.com/QISKit/qiskit/releases";
|
||||||
license = lib.licenses.asl20;
|
changelog = "https://qiskit.org/documentation/release_notes.html";
|
||||||
maintainers = with lib.maintainers; [ drewrisinger pandaman ];
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ drewrisinger pandaman ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,53 +1,60 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, rustPlatform
|
||||||
, pythonOlder
|
|
||||||
, pythonAtLeast
|
|
||||||
, python
|
, python
|
||||||
|
, fetchpatch
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchPypi
|
, pipInstallHook
|
||||||
|
, maturin
|
||||||
|
, pip
|
||||||
# Check inputs
|
# Check inputs
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
, numpy
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
rx-version = "0.3.4";
|
|
||||||
|
|
||||||
wheel-hashes = {
|
rustPlatform.buildRustPackage rec {
|
||||||
"3.7" = { python = "cp37"; sha256 = "1hfrdj8svkfdraa299gcj18a601l4zn646fkgq7m56brpagssf9l"; };
|
pname = "retworkx";
|
||||||
"3.8" = { python = "cp38"; sha256 = "0jm10ywaqr0b456pcp01pb7035nawlndfi998jv8p1a2f5xwjgiq"; };
|
version = "0.4.0";
|
||||||
};
|
|
||||||
lookup = set: key: default: if (builtins.hasAttr key set) then (builtins.getAttr key set) else default;
|
|
||||||
wheel-args = lookup
|
|
||||||
wheel-hashes
|
|
||||||
python.pythonVersion
|
|
||||||
(throw "retworkx python version & hash not included. Override attribute `wheel-args` with version & hash at https://pypi.org/project/retworkx");
|
|
||||||
|
|
||||||
github-source = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Qiskit";
|
owner = "Qiskit";
|
||||||
repo = "retworkx";
|
repo = "retworkx";
|
||||||
rev = rx-version;
|
rev = version;
|
||||||
sha256 = "0cd3x64y49q9a3jrkiknlfkiccxkxgl624x5pqk7gm34s1lnzl8h";
|
sha256 = "1xqp6d39apkjvd0ad9vw81cp2iqzhpagfa4p171xqm3bwfn2imdc";
|
||||||
};
|
|
||||||
in
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "retworkx";
|
|
||||||
version = rx-version;
|
|
||||||
format = "wheel";
|
|
||||||
|
|
||||||
disabled = pythonOlder "3.5" || pythonAtLeast "3.9"; # compiled versions only included for 3.5 <= py <= 3.8
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version format;
|
|
||||||
inherit (wheel-args) python sha256;
|
|
||||||
abi = if pythonOlder "3.8" then "${wheel-args.python}m" else wheel-args.python;
|
|
||||||
platform = "manylinux2010_x86_64"; # i686, aarch64, and ppc64 also available, restricting to x86 for simplicity
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonImportsCheck = [ "retworkx" ];
|
cargoSha256 = "0bma0l14jv5qhcsxck7vw3ak1w3c8v84cq4hii86i4iqk523zns5";
|
||||||
|
cargoPatches = [
|
||||||
|
( fetchpatch {
|
||||||
|
name = "retworkx-cargo-lock.patch";
|
||||||
|
url = "https://github.com/Qiskit/retworkx/commit/a02fd33d357a92dbe9530696a6d85aa59fe8a5b9.patch";
|
||||||
|
sha256 = "0gvxr1nqp9ll4skfks4p4d964pshal25kb1nbfzhpyipnzddizr5";
|
||||||
|
} )
|
||||||
|
];
|
||||||
|
|
||||||
checkInputs = [ pytestCheckHook ];
|
propagatedBuildInputs = [ python ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pipInstallHook maturin pip ];
|
||||||
|
|
||||||
|
# Need to check AFTER python wheel is installed (b/c using Rust Build, not buildPythonPackage)
|
||||||
|
doCheck = false;
|
||||||
|
doInstallCheck = true;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
maturin build --release --manylinux off --strip --interpreter ${python.interpreter}
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm644 -t dist target/wheels/*.whl
|
||||||
|
pipInstallPhase
|
||||||
|
'';
|
||||||
|
|
||||||
|
installCheckInputs = [ pytestCheckHook numpy ];
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
pushd $(mktemp -d)
|
export TESTDIR=$(mktemp -d)
|
||||||
cp -r ${github-source}/$sourceRoot/tests .
|
cp -r $TMP/$sourceRoot/tests $TESTDIR
|
||||||
|
pushd $TESTDIR
|
||||||
'';
|
'';
|
||||||
postCheck = "popd";
|
postCheck = "popd";
|
||||||
|
|
||||||
@ -55,8 +62,8 @@ buildPythonPackage rec {
|
|||||||
description = "A python graph library implemented in Rust.";
|
description = "A python graph library implemented in Rust.";
|
||||||
homepage = "https://retworkx.readthedocs.io/en/latest/index.html";
|
homepage = "https://retworkx.readthedocs.io/en/latest/index.html";
|
||||||
downloadPage = "https://github.com/Qiskit/retworkx/releases";
|
downloadPage = "https://github.com/Qiskit/retworkx/releases";
|
||||||
|
changelog = "https://github.com/Qiskit/retworkx/releases/tag/${version}";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ drewrisinger ];
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
platforms = platforms.x86_64;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
36
pkgs/development/python-modules/yfinance/default.nix
Normal file
36
pkgs/development/python-modules/yfinance/default.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, multitasking
|
||||||
|
, numpy
|
||||||
|
, pandas
|
||||||
|
, requests
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "yfinance";
|
||||||
|
version = "0.1.54";
|
||||||
|
|
||||||
|
# GitHub source releases aren't tagged
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "cee223cbd31e14955869f7978bcf83776d644345c7dea31ba5d41c309bfb0d3d";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
multitasking
|
||||||
|
numpy
|
||||||
|
pandas
|
||||||
|
requests
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false; # Tests require internet access
|
||||||
|
pythonImportsCheck = [ "yfinance" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Yahoo! Finance market data downloader (+faster Pandas Datareader)";
|
||||||
|
homepage = "https://aroussi.com/post/python-yahoo-finance";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ drewrisinger ];
|
||||||
|
};
|
||||||
|
}
|
@ -44,7 +44,7 @@ let generic = { major, version, src }:
|
|||||||
homepage = "http://alloytools.org/";
|
homepage = "http://alloytools.org/";
|
||||||
downloadPage = "http://alloytools.org/download.html";
|
downloadPage = "http://alloytools.org/download.html";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ notbandali ];
|
maintainers = with maintainers; [ notbandali ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "flow";
|
pname = "flow";
|
||||||
version = "0.131.0";
|
version = "0.132.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "facebook";
|
owner = "facebook";
|
||||||
repo = "flow";
|
repo = "flow";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "13a7gfsnfyssyi3b48s0d9k34rim493rarxd2rdyxyr4ir7jnb1p";
|
sha256 = "1080kf2zxhbgz1zhm54w3hqbbvwpfllapcq4pgwahfyvf6zb86d7";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -26,7 +26,7 @@ ghcide_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$ghcide_derivati
|
|||||||
# This is the revision of ghcide used by hls on GitHub.
|
# This is the revision of ghcide used by hls on GitHub.
|
||||||
ghcide_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/contents/ghcide" | jq '.sha' --raw-output)
|
ghcide_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/contents/ghcide" | jq '.sha' --raw-output)
|
||||||
|
|
||||||
echo "Updating haskell-language-server from old version $ghcide_old_version to new version $ghcide_new_version."
|
echo "Updating haskell-language-server's ghcide from old version $ghcide_old_version to new version $ghcide_new_version."
|
||||||
echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
|
echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
|
||||||
|
|
||||||
cabal2nix --revision "$ghcide_new_version" "https://github.com/wz1000/ghcide" > "$ghcide_derivation_file"
|
cabal2nix --revision "$ghcide_new_version" "https://github.com/wz1000/ghcide" > "$ghcide_derivation_file"
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "open-policy-agent";
|
pname = "open-policy-agent";
|
||||||
version = "0.22.0";
|
version = "0.23.2";
|
||||||
|
|
||||||
goPackagePath = "github.com/open-policy-agent/opa";
|
goPackagePath = "github.com/open-policy-agent/opa";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "open-policy-agent";
|
owner = "open-policy-agent";
|
||||||
repo = "opa";
|
repo = "opa";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1kndiiqf6b4j8zhv0ypjr9dfjgck25qiqa2bb0pmpm3j9460zzjs";
|
sha256 = "18hpanfrzg6xnq1g0yws6g0lw4y191pnrqphccv13j6kqk3k10ps";
|
||||||
};
|
};
|
||||||
goDeps = ./deps.nix;
|
goDeps = ./deps.nix;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From: Antonio Terceiro <terceiro@debian.org>
|
From: Antonio Terceiro <terceiro@debian.org>
|
||||||
Date: Wed, 27 May 2015 09:36:17 -0300
|
Date: Wed, 27 May 2015 09:36:17 -0300
|
||||||
Subject: Support system-installed plugins
|
Subject: Support system-installed plugins
|
||||||
Source: https://salsa.debian.org/ruby-team/vagrant/blob/cb672c6dc0c63f6552c5ec4d6d7d22929d353503/debian/patches/0004-Support-system-installed-plugins.patch
|
Source: https://salsa.debian.org/ruby-team/vagrant/-/blob/9d86f222/debian/patches/0004-Support-system-installed-plugins.patch
|
||||||
|
|
||||||
Plugins must be installed as regular Ruby libraries, and they must
|
Plugins must be installed as regular Ruby libraries, and they must
|
||||||
contain /usr/share/vagrant-plugins/plugins.d/$PLUGINNAME.json with the
|
contain /usr/share/vagrant-plugins/plugins.d/$PLUGINNAME.json with the
|
||||||
@ -22,7 +22,7 @@ following content:
|
|||||||
2 files changed, 23 insertions(+), 3 deletions(-)
|
2 files changed, 23 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/lib/vagrant/plugin/manager.rb b/lib/vagrant/plugin/manager.rb
|
diff --git a/lib/vagrant/plugin/manager.rb b/lib/vagrant/plugin/manager.rb
|
||||||
index 567347d..d9d76a0 100644
|
index 9058e68..2772131 100644
|
||||||
--- a/lib/vagrant/plugin/manager.rb
|
--- a/lib/vagrant/plugin/manager.rb
|
||||||
+++ b/lib/vagrant/plugin/manager.rb
|
+++ b/lib/vagrant/plugin/manager.rb
|
||||||
@@ -18,7 +18,7 @@ module Vagrant
|
@@ -18,7 +18,7 @@ module Vagrant
|
||||||
@ -80,17 +80,13 @@ index c6872d4..935d431 100644
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Add a plugin that is installed to the state file.
|
# Add a plugin that is installed to the state file.
|
||||||
@@ -107,6 +123,14 @@ module Vagrant
|
@@ -107,6 +123,10 @@ module Vagrant
|
||||||
f.close
|
f.close
|
||||||
FileUtils.mv(f.path, @path)
|
FileUtils.mv(f.path, @path)
|
||||||
end
|
end
|
||||||
+ rescue Errno::EACCES
|
+ rescue Errno::EACCES
|
||||||
+ # Ignore permission denied against system-installed plugins; regular
|
+ # Ignore permission denied against system-installed plugins; regular
|
||||||
+ # users are not supposed to write there.
|
+ # users are not supposed to write there.
|
||||||
+ raise unless @system
|
|
||||||
+ rescue Errno::EROFS
|
|
||||||
+ # Ignore read-only filesystem against system-installed plugins; regular
|
|
||||||
+ # users are not supposed to write there.
|
|
||||||
+ raise unless @system
|
+ raise unless @system
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
let
|
let
|
||||||
# NOTE: bumping the version and updating the hash is insufficient;
|
# NOTE: bumping the version and updating the hash is insufficient;
|
||||||
# you must use bundix to generate a new gemset.nix in the Vagrant source.
|
# you must use bundix to generate a new gemset.nix in the Vagrant source.
|
||||||
version = "2.2.9";
|
version = "2.2.10";
|
||||||
url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
|
url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
|
||||||
sha256 = "0fbickjjliaw3cpkh3pl9bp56b2gcqn87c5ag67amc450ah43rdq";
|
sha256 = "07wlj4m79m9li3za1jkk4imdhqwpca86qz3c0h706s0w8cmv4bbj";
|
||||||
|
|
||||||
deps = bundlerEnv rec {
|
deps = bundlerEnv rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
@ -54,13 +54,6 @@ in buildRubyGem rec {
|
|||||||
./unofficial-installation-nowarn.patch
|
./unofficial-installation-nowarn.patch
|
||||||
./use-system-bundler-version.patch
|
./use-system-bundler-version.patch
|
||||||
./0004-Support-system-installed-plugins.patch
|
./0004-Support-system-installed-plugins.patch
|
||||||
|
|
||||||
# fix deprecation warning on ruby 2.6.5.
|
|
||||||
# See also https://github.com/hashicorp/vagrant/pull/11307
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/hashicorp/vagrant/commit/d18ed567aaa5da23c9e91ab87f360e7bf6760f13.patch";
|
|
||||||
sha256 = "0f61qj41rc3fdggmnha4jrqg4pzmfiriwpsz4fcgf7c0bx6qha7q";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -24,20 +24,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
|
sha256 = "08hd3d2lfi19cns4d6wkq51scasn17l83fgbzbjjk3dqccz4rg3j";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.0.0";
|
version = "4.0.0";
|
||||||
};
|
};
|
||||||
concurrent-ruby = {
|
concurrent-ruby = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
|
sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.6";
|
version = "1.1.7";
|
||||||
};
|
};
|
||||||
domain_name = {
|
domain_name = {
|
||||||
dependencies = ["unf"];
|
dependencies = ["unf"];
|
||||||
@ -149,21 +149,21 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "10nq1xjqvkhngiygji831qx9bryjwws95r4vrnlq9142bzkg670s";
|
sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.8.3";
|
version = "1.8.5";
|
||||||
};
|
};
|
||||||
listen = {
|
listen = {
|
||||||
dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
|
dependencies = ["rb-fsevent" "rb-inotify"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
|
sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.1.5";
|
version = "3.2.1";
|
||||||
};
|
};
|
||||||
little-plugger = {
|
little-plugger = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -191,10 +191,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
|
sha256 = "0pkmhcxi8lp74bq5gz9lxrvaiv5w0745kk7s4bw2b1x07qqri0n9";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.2.2";
|
version = "2.3.0";
|
||||||
|
};
|
||||||
|
mime = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0nskys7brz2bylhxiknl0z9i19w3wb1knf0h93in6mjq70jdw5cr";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.4.4";
|
||||||
};
|
};
|
||||||
mime-types = {
|
mime-types = {
|
||||||
dependencies = ["mime-types-data"];
|
dependencies = ["mime-types-data"];
|
||||||
@ -222,10 +232,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
|
sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.14.1";
|
version = "1.15.0";
|
||||||
};
|
};
|
||||||
net-scp = {
|
net-scp = {
|
||||||
dependencies = ["net-ssh"];
|
dependencies = ["net-ssh"];
|
||||||
@ -244,20 +254,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y";
|
sha256 = "185vsybznqgqbb4i2qnxvf1gam8lb634nqcrq7r3i2zy1g6xd8mi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.1.2";
|
version = "3.0.0";
|
||||||
};
|
};
|
||||||
net-ssh = {
|
net-ssh = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40";
|
sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.2.0";
|
version = "6.1.0";
|
||||||
};
|
};
|
||||||
netrc = {
|
netrc = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git i/lib/vagrant/bundler.rb w/lib/vagrant/bundler.rb
|
diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb
|
||||||
index 301e40e37..e361ab510 100644
|
index 336ac1e05..1bfd84c0d 100644
|
||||||
--- i/lib/vagrant/bundler.rb
|
--- a/lib/vagrant/bundler.rb
|
||||||
+++ w/lib/vagrant/bundler.rb
|
+++ b/lib/vagrant/bundler.rb
|
||||||
@@ -217,7 +217,7 @@ module Vagrant
|
@@ -470,7 +470,7 @@ module Vagrant
|
||||||
source_list = {}
|
source_list = {}
|
||||||
system_plugins = plugins.map do |plugin_name, plugin_info|
|
system_plugins = plugins.map do |plugin_name, plugin_info|
|
||||||
plugin_name if plugin_info["system"]
|
plugin_name if plugin_info["system"]
|
||||||
|
@ -13,17 +13,25 @@
|
|||||||
, opencl-headers ? null
|
, opencl-headers ? null
|
||||||
, ocl-icd ? null
|
, ocl-icd ? null
|
||||||
, gperftools ? null
|
, gperftools ? null
|
||||||
|
, eigen ? null
|
||||||
|
, gpuEnabled ? true
|
||||||
|
, useAVX2 ? false
|
||||||
, cudaSupport ? false
|
, cudaSupport ? false
|
||||||
, useTcmalloc ? true}:
|
, useTcmalloc ? true}:
|
||||||
|
|
||||||
|
assert !gpuEnabled -> (
|
||||||
|
eigen != null &&
|
||||||
|
!cudaSupport);
|
||||||
|
|
||||||
assert cudaSupport -> (
|
assert cudaSupport -> (
|
||||||
libGL_driver != null &&
|
libGL_driver != null &&
|
||||||
cudatoolkit != null &&
|
cudatoolkit != null &&
|
||||||
cudnn != null);
|
cudnn != null);
|
||||||
|
|
||||||
assert !cudaSupport -> (
|
assert !cudaSupport -> (
|
||||||
opencl-headers != null &&
|
!gpuEnabled || (
|
||||||
ocl-icd != null);
|
opencl-headers != null &&
|
||||||
|
ocl-icd != null));
|
||||||
|
|
||||||
assert useTcmalloc -> (
|
assert useTcmalloc -> (
|
||||||
gperftools != null);
|
gperftools != null);
|
||||||
@ -35,13 +43,13 @@ let
|
|||||||
|
|
||||||
in env.mkDerivation rec {
|
in env.mkDerivation rec {
|
||||||
pname = "katago";
|
pname = "katago";
|
||||||
version = "1.5.0";
|
version = "1.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lightvector";
|
owner = "lightvector";
|
||||||
repo = "katago";
|
repo = "katago";
|
||||||
rev = "${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0ajdjdmlzwh7zwk5v0k9zzjawgkf7w30pzqp5bhcsdqz4svvyll2";
|
sha256 = "1r84ws2rj7j8085v1cqffy9rg65rzrhk6z8jbxivqxsmsgs2zs48";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -52,10 +60,12 @@ in env.mkDerivation rec {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
libzip
|
libzip
|
||||||
boost
|
boost
|
||||||
] ++ lib.optionals cudaSupport [
|
] ++ lib.optionals (!gpuEnabled) [
|
||||||
|
eigen
|
||||||
|
] ++ lib.optionals (gpuEnabled && cudaSupport) [
|
||||||
cudnn
|
cudnn
|
||||||
libGL_driver
|
libGL_driver
|
||||||
] ++ lib.optionals (!cudaSupport) [
|
] ++ lib.optionals (gpuEnabled && !cudaSupport) [
|
||||||
opencl-headers
|
opencl-headers
|
||||||
ocl-icd
|
ocl-icd
|
||||||
] ++ lib.optionals useTcmalloc [
|
] ++ lib.optionals useTcmalloc [
|
||||||
@ -64,9 +74,13 @@ in env.mkDerivation rec {
|
|||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DNO_GIT_REVISION=ON"
|
"-DNO_GIT_REVISION=ON"
|
||||||
] ++ lib.optionals cudaSupport [
|
] ++ lib.optionals (!gpuEnabled) [
|
||||||
|
"-DUSE_BACKEND=EIGEN"
|
||||||
|
] ++ lib.optionals useAVX2 [
|
||||||
|
"-DUSE_AVX2=ON"
|
||||||
|
] ++ lib.optionals (gpuEnabled && cudaSupport) [
|
||||||
"-DUSE_BACKEND=CUDA"
|
"-DUSE_BACKEND=CUDA"
|
||||||
] ++ lib.optionals (!cudaSupport) [
|
] ++ lib.optionals (gpuEnabled && !cudaSupport) [
|
||||||
"-DUSE_BACKEND=OPENCL"
|
"-DUSE_BACKEND=OPENCL"
|
||||||
] ++ lib.optionals useTcmalloc [
|
] ++ lib.optionals useTcmalloc [
|
||||||
"-DUSE_TCMALLOC=ON"
|
"-DUSE_TCMALLOC=ON"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, jre }:
|
{ stdenv, fetchurl, bash, jre }:
|
||||||
let
|
let
|
||||||
mcVersion = "1.16.2";
|
mcVersion = "1.16.2";
|
||||||
buildNum = "141";
|
buildNum = "141";
|
||||||
@ -13,22 +13,23 @@ in stdenv.mkDerivation {
|
|||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
installPhase = ''
|
dontConfigure = true;
|
||||||
mkdir -p $out/bin
|
|
||||||
cp ${jar} $out/papermc.jar
|
buildPhase = ''
|
||||||
cat > $out/bin/minecraft-server << EOF
|
cat > minecraft-server << EOF
|
||||||
#!/bin/sh
|
#!${bash}/bin/sh
|
||||||
exec ${jre}/bin/java \$@ -jar $out/papermc.jar nogui
|
exec ${jre}/bin/java \$@ -jar $out/share/papermc/papermc.jar nogui
|
||||||
EOF
|
|
||||||
chmod +x $out/bin/minecraft-server
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
phases = "installPhase";
|
installPhase = ''
|
||||||
|
install -Dm444 ${jar} $out/share/papermc/papermc.jar
|
||||||
|
install -Dm555 -t $out/bin minecraft-server
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "High-performance Minecraft Server";
|
description = "High-performance Minecraft Server";
|
||||||
homepage = "https://papermc.io/";
|
homepage = "https://papermc.io/";
|
||||||
license = stdenv.lib.licenses.gpl3;
|
license = stdenv.lib.licenses.gpl3Only;
|
||||||
platforms = stdenv.lib.platforms.unix;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
maintainers = with stdenv.lib.maintainers; [ aaronjanse ];
|
maintainers = with stdenv.lib.maintainers; [ aaronjanse ];
|
||||||
};
|
};
|
||||||
|
40
pkgs/games/xcowsay/default.nix
Normal file
40
pkgs/games/xcowsay/default.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ stdenv, fetchurl, makeWrapper, pkg-config
|
||||||
|
, dbus, dbus-glib, gtk3, gdk-pixbuf, librsvg
|
||||||
|
, fortune
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "xcowsay";
|
||||||
|
version = "1.5";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.nickg.me.uk/files/xcowsay-${version}.tar.gz";
|
||||||
|
sha256 = "0pyaa062z1ag26dhkm1yzp2hivnlmhlpqn5xg7mx9r1m652mm91y";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
dbus
|
||||||
|
dbus-glib
|
||||||
|
gtk3
|
||||||
|
gdk-pixbuf # loading cow images
|
||||||
|
librsvg # dreaming SVG images
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [ makeWrapper pkg-config ];
|
||||||
|
|
||||||
|
configureFlags = [ "--enable-dbus" ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
for tool in xcowdream xcowsay xcowthink xcowfortune; do
|
||||||
|
wrapProgram $out/bin/$tool \
|
||||||
|
--prefix PATH : $out/bin:${fortune}/bin
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "http://www.doof.me.uk/xcowsay";
|
||||||
|
description =
|
||||||
|
"A program based on cowsay that displays a cute cow and message on your desktop";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ das_j ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,46 +1,30 @@
|
|||||||
{ lib, stdenv, fetchurl, makeWrapper, curl, icu60, openssl, zlib }:
|
{ lib, stdenv, fetchurl, mono, makeWrapper, curl, icu60, openssl, zlib }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jackett";
|
pname = "jackett";
|
||||||
version = "0.16.175";
|
version = "0.16.998";
|
||||||
|
|
||||||
src = {
|
src = fetchurl {
|
||||||
x86_64-linux = fetchurl {
|
url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
|
||||||
url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.LinuxAMDx64.tar.gz";
|
sha256 = "16f8ipw4sbdxwv79zjhr5ihd3m6biyhj1gj7cqpjr34ad7zqna3c";
|
||||||
sha512 = "269n84qc8sfrmnidgrjywanbqr65mhkmk24dlqfi17pi0l27wi4fc4qmnjj683xwprz5hqjsmkqf963pbx4k3jaz0rp0jnizan91wij";
|
};
|
||||||
};
|
|
||||||
aarch64-linux = fetchurl {
|
|
||||||
url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.LinuxARM64.tar.gz";
|
|
||||||
sha512 = "0dmyhprd2vi2z9q5g79psqgsc3w0zdac4s6k20rngi8jxm5jgphzrzcic4rgdijyryap99my619k447w701a08vh9sfcfk0fjg9pgwb";
|
|
||||||
};
|
|
||||||
}."${stdenv.targetPlatform.system}" or (throw "Missing hash for host system: ${stdenv.targetPlatform.system}");
|
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/{bin,opt/${pname}-${version}}
|
mkdir -p $out/{bin,share/${pname}-${version}}
|
||||||
cp -r * $out/opt/${pname}-${version}
|
cp -r * $out/share/${pname}-${version}
|
||||||
|
|
||||||
makeWrapper "$out/opt/${pname}-${version}/jackett" $out/bin/Jackett \
|
makeWrapper "${mono}/bin/mono" $out/bin/Jackett \
|
||||||
--prefix LD_LIBRARY_PATH ':' "${curl.out}/lib:${icu60.out}/lib:${openssl.out}/lib:${zlib.out}/lib"
|
--add-flags "$out/share/${pname}-${version}/JackettConsole.exe" \
|
||||||
'';
|
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ curl icu60 openssl zlib ]}
|
||||||
|
|
||||||
preFixup = let
|
|
||||||
libPath = lib.makeLibraryPath [
|
|
||||||
stdenv.cc.cc.lib # libstdc++.so.6
|
|
||||||
];
|
|
||||||
in ''
|
|
||||||
patchelf \
|
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
|
||||||
--set-rpath "${libPath}" \
|
|
||||||
$out/opt/${pname}-${version}/jackett
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "API Support for your favorite torrent trackers.";
|
description = "API Support for your favorite torrent trackers.";
|
||||||
homepage = "https://github.com/Jackett/Jackett/";
|
homepage = "https://github.com/Jackett/Jackett/";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ edwtjo nyanloutre ];
|
maintainers = with maintainers; [ edwtjo nyanloutre purcell ];
|
||||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,6 @@ in stdenv.mkDerivation rec {
|
|||||||
description = "The Free Software Media System";
|
description = "The Free Software Media System";
|
||||||
homepage = "https://jellyfin.org/";
|
homepage = "https://jellyfin.org/";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ nyanloutre minijackson ];
|
maintainers = with maintainers; [ nyanloutre minijackson purcell ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "A Usenet/BitTorrent movie downloader";
|
description = "A Usenet/BitTorrent movie downloader";
|
||||||
homepage = "https://radarr.video/";
|
homepage = "https://radarr.video/";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
maintainers = with maintainers; [ edwtjo purcell ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Smart PVR for newsgroup and bittorrent users";
|
description = "Smart PVR for newsgroup and bittorrent users";
|
||||||
homepage = "https://sonarr.tv/";
|
homepage = "https://sonarr.tv/";
|
||||||
license = stdenv.lib.licenses.gpl3;
|
license = stdenv.lib.licenses.gpl3;
|
||||||
maintainers = [ stdenv.lib.maintainers.fadenb ];
|
maintainers = with stdenv.lib.maintainers; [ fadenb purcell ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,25 @@
|
|||||||
{ gnustep, lib, fetchFromGitHub, fetchpatch, makeWrapper, python2, lndir
|
{ gnustep, lib, fetchFromGitHub, fetchpatch, makeWrapper, python2, lndir
|
||||||
, openssl_1_1, openldap, sope, libmemcached, curl }: with lib; gnustep.stdenv.mkDerivation rec {
|
, openssl_1_1, openldap, sope, libmemcached, curl, libsodium, libzip, pkgconfig }:
|
||||||
|
with lib; gnustep.stdenv.mkDerivation rec {
|
||||||
pname = "SOGo";
|
pname = "SOGo";
|
||||||
version = "4.3.2";
|
version = "5.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "inverse-inc";
|
owner = "inverse-inc";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "SOGo-${version}";
|
rev = "SOGo-${version}";
|
||||||
sha256 = "1xxad23a8zy6w850x5nrrf54db0x73lc9drmc5kpfk870fk2lmr0";
|
sha256 = "sha256-SEyyHekUCSkb5rOh7Ty8AhtT4S9KicTRbo9iWhijdGE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gnustep.make makeWrapper python2 ];
|
nativeBuildInputs = [ gnustep.make makeWrapper python2 ];
|
||||||
buildInputs = [ gnustep.base sope openssl_1_1 libmemcached (curl.override { openssl = openssl_1_1; }) ]
|
buildInputs = [ gnustep.base sope openssl_1_1 libmemcached (curl.override { openssl = openssl_1_1; }) libsodium libzip pkgconfig ]
|
||||||
++ optional (openldap != null) openldap;
|
++ optional (openldap != null) openldap;
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# TODO: take a closer look at other patches in https://sources.debian.org/patches/sogo/ and https://github.com/Skrupellos/sogo-patches
|
# TODO: take a closer look at other patches in https://sources.debian.org/patches/sogo/ and https://github.com/Skrupellos/sogo-patches
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://sources.debian.org/data/main/s/sogo/4.3.0-1/debian/patches/0005-Remove-build-date.patch";
|
url = "https://salsa.debian.org/debian/sogo/-/raw/120ac6390602c811908c7fcb212a79acbc7f7f28/debian/patches/0005-Remove-build-date.patch";
|
||||||
sha256 = "0lrh3bkfj3r0brahfkyb0g7zx7r2jjd5cxzjl43nqla0fs09wsh8";
|
sha256 = "151i8504kwdlcirgd0pbif7cxnb1q6jsp5j7dbh9p6zw2xgwkp25";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "elvish";
|
pname = "elvish";
|
||||||
version = "0.14.0";
|
version = "0.14.1";
|
||||||
|
|
||||||
excludedPackages = [ "website" ];
|
excludedPackages = [ "website" ];
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ buildGoModule rec {
|
|||||||
owner = "elves";
|
owner = "elves";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1jsxhnm82pjzwvcjq7vrlldyjnv5j6c83a13dj6zphlqq99z68l4";
|
sha256 = "05wp3cx4s2cjf60yncdpmycs5h4z1dlin56dmljmfwz4z099079b";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1f971n17h9bc0qcgs9ipiaw0x9807mz761fqm605br4ch1kp0897";
|
vendorSha256 = "1f971n17h9bc0qcgs9ipiaw0x9807mz761fqm605br4ch1kp0897";
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "debianutils";
|
pname = "debianutils";
|
||||||
version = "4.11";
|
version = "4.11.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.xz";
|
url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.xz";
|
||||||
sha256 = "0lbizfnf3qwsiz2ggia6ff7sjjj8gwhys8bm6wixdc4n0qlycp5v";
|
sha256 = "0g4qmzb2ff0rqszzpsal465hcslnpdl4nhghv59qvhamkkqnks4b";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fluent-bit";
|
pname = "fluent-bit";
|
||||||
version = "1.5.3";
|
version = "1.5.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fluent";
|
owner = "fluent";
|
||||||
repo = "fluent-bit";
|
repo = "fluent-bit";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "153c7hafmzwxa24h923irfhzaqqd8wbr2aaab6l3hjhgx5q8s5bf";
|
sha256 = "0w96f86i2jlzjk2plf8jbdw4q748khbhhjkbzfb8dkq2lhc9i80h";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake flex bison ];
|
nativeBuildInputs = [ cmake flex bison ];
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "topgrade";
|
pname = "topgrade";
|
||||||
version = "5.4.0";
|
version = "5.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "r-darwish";
|
owner = "r-darwish";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1v57dqkrh67cmj1ish650z8yk737hm1qynqr5yv0vlna86gwhrhs";
|
sha256 = "1adx029cq30g0qnrvdq2di8bpadzdxrpbsqchxfsda8zg6cprh1j";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "00vxrv8lbdwwbdbaqb4rq0w3bc8n9qwk9zgb1j656lyswib7g1d3";
|
cargoSha256 = "0jpjn6sb8bkwnq7np487hb8bkm6rv84mihmqwy3ymgdzlqcng6sk";
|
||||||
|
|
||||||
buildInputs = lib.optional stdenv.isDarwin Foundation;
|
buildInputs = lib.optional stdenv.isDarwin Foundation;
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "vault";
|
pname = "vault";
|
||||||
version = "1.5.0";
|
version = "1.5.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hashicorp";
|
owner = "hashicorp";
|
||||||
repo = "vault";
|
repo = "vault";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1bdhcsx7hwz4kb68jrrrzlbr7k744g0pym996dq1p5rvz05j3pqc";
|
sha256 = "0a16slrg0kx7i1xwixc920lkgbbywvb6wpmkbqjvz1xx72nq9ap4";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "github.com/hashicorp/vault";
|
goPackagePath = "github.com/hashicorp/vault";
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
{ stdenv, fetchurl, unzip }:
|
{ stdenv, fetchurl, unzip }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.3.0";
|
version = "1.5.2";
|
||||||
|
|
||||||
sources = let
|
sources = let
|
||||||
base = "https://releases.hashicorp.com/vault/${version}";
|
base = "https://releases.hashicorp.com/vault/${version}";
|
||||||
in {
|
in {
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url = "${base}/vault_${version}_linux_amd64.zip";
|
url = "${base}/vault_${version}_linux_amd64.zip";
|
||||||
sha256 = "1crfj4gd1qwwa2xidd0pjffv0n6hf5hbhv6568m6zc1ig0qqm6yq";
|
sha256 = "1m9svs1ncgdwwh16xavwikq4ji9rzkb2wlr59sx61rlz0l18mknd";
|
||||||
};
|
};
|
||||||
i686-linux = fetchurl {
|
i686-linux = fetchurl {
|
||||||
url = "${base}/vault_${version}_linux_386.zip";
|
url = "${base}/vault_${version}_linux_386.zip";
|
||||||
sha256 = "0pyf0kyvxpmx3fwfvin1r0x30r9byx9lyi81894q06xrhiwbqc0l";
|
sha256 = "0hd6gsrmjfly3075kq0rsxhgy927g1462qih0iiwphrhik7l0pwr";
|
||||||
};
|
};
|
||||||
x86_64-darwin = fetchurl {
|
x86_64-darwin = fetchurl {
|
||||||
url = "${base}/vault_${version}_darwin_amd64.zip";
|
url = "${base}/vault_${version}_darwin_amd64.zip";
|
||||||
sha256 = "113vnpz9n6y7z2k9jqpfpxqxqbrmd9bhny79yaxqzkfdqw8vyv3g";
|
sha256 = "092xqjm69ljn70hn9f93qkc0ila0hgj2l14plhsza52d924qnq3l";
|
||||||
};
|
};
|
||||||
i686-darwin = fetchurl {
|
i686-darwin = fetchurl {
|
||||||
url = "${base}/vault_${version}_darwin_386.zip";
|
url = "${base}/vault_${version}_darwin_386.zip";
|
||||||
sha256 = "0d191qai0bpl7cyivca26wqgycsj2dz08809z147d1vnrz321v6w";
|
sha256 = "161j15n6kfd3m5hakc0qn824kp0nwdghcm81j9vqzpq900sbg6ak";
|
||||||
};
|
};
|
||||||
aarch64-linux = fetchurl {
|
aarch64-linux = fetchurl {
|
||||||
url = "${base}/vault_${version}_linux_arm64.zip";
|
url = "${base}/vault_${version}_linux_arm64.zip";
|
||||||
sha256 = "1bk5y3knc42mh07gnnn6p109qz908014620h1s0348wp4qfdy49w";
|
sha256 = "1f6ckfqqj9gsaizwxa7xrjgkkj3nd6m1md7smz0xnxgnc4f7g4z0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fio";
|
pname = "fio";
|
||||||
version = "3.21";
|
version = "3.22";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "axboe";
|
owner = "axboe";
|
||||||
repo = "fio";
|
repo = "fio";
|
||||||
rev = "fio-${version}";
|
rev = "fio-${version}";
|
||||||
sha256 = "0v8bq79n2nfnrs8pw2f3a93f8k691dnfzd5qxb5srwak4y2za7hn";
|
sha256 = "16p17l1xbqqkgppvwmfaywknhk4ybafnx8hm56ffd8bls9vaqw5m";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ python zlib ]
|
buildInputs = [ python zlib ]
|
||||||
|
@ -8414,6 +8414,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
clang_11 = llvmPackages_11.clang;
|
||||||
clang_10 = llvmPackages_10.clang;
|
clang_10 = llvmPackages_10.clang;
|
||||||
clang_9 = llvmPackages_9.clang;
|
clang_9 = llvmPackages_9.clang;
|
||||||
clang_8 = llvmPackages_8.clang;
|
clang_8 = llvmPackages_8.clang;
|
||||||
@ -9230,6 +9231,7 @@ in
|
|||||||
lld_8 = llvmPackages_8.lld;
|
lld_8 = llvmPackages_8.lld;
|
||||||
lld_9 = llvmPackages_9.lld;
|
lld_9 = llvmPackages_9.lld;
|
||||||
lld_10 = llvmPackages_10.lld;
|
lld_10 = llvmPackages_10.lld;
|
||||||
|
lld_11 = llvmPackages_11.lld;
|
||||||
|
|
||||||
lldb = llvmPackages.lldb;
|
lldb = llvmPackages.lldb;
|
||||||
lldb_5 = llvmPackages_5.lldb;
|
lldb_5 = llvmPackages_5.lldb;
|
||||||
@ -9238,10 +9240,12 @@ in
|
|||||||
lldb_8 = llvmPackages_8.lldb;
|
lldb_8 = llvmPackages_8.lldb;
|
||||||
lldb_9 = llvmPackages_9.lldb;
|
lldb_9 = llvmPackages_9.lldb;
|
||||||
lldb_10 = llvmPackages_10.lldb;
|
lldb_10 = llvmPackages_10.lldb;
|
||||||
|
lldb_11 = llvmPackages_11.lldb;
|
||||||
|
|
||||||
llvm = llvmPackages.llvm;
|
llvm = llvmPackages.llvm;
|
||||||
llvm-manpages = llvmPackages.llvm-manpages;
|
llvm-manpages = llvmPackages.llvm-manpages;
|
||||||
|
|
||||||
|
llvm_11 = llvmPackages_11.llvm;
|
||||||
llvm_10 = llvmPackages_10.llvm;
|
llvm_10 = llvmPackages_10.llvm;
|
||||||
llvm_9 = llvmPackages_9.llvm;
|
llvm_9 = llvmPackages_9.llvm;
|
||||||
llvm_8 = llvmPackages_8.llvm;
|
llvm_8 = llvmPackages_8.llvm;
|
||||||
@ -9287,6 +9291,14 @@ in
|
|||||||
targetLlvmLibraries = targetPackages.llvmPackages_10.libraries;
|
targetLlvmLibraries = targetPackages.llvmPackages_10.libraries;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
llvmPackages_11 = callPackage ../development/compilers/llvm/11 ({
|
||||||
|
inherit (stdenvAdapters) overrideCC;
|
||||||
|
buildLlvmTools = buildPackages.llvmPackages_11.tools;
|
||||||
|
targetLlvmLibraries = targetPackages.llvmPackages_11.libraries;
|
||||||
|
} // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
|
||||||
|
stdenv = gcc7Stdenv;
|
||||||
|
});
|
||||||
|
|
||||||
llvmPackages_latest = llvmPackages_10;
|
llvmPackages_latest = llvmPackages_10;
|
||||||
|
|
||||||
llvmPackages_rocm = callPackage ../development/compilers/llvm/rocm { };
|
llvmPackages_rocm = callPackage ../development/compilers/llvm/rocm { };
|
||||||
@ -14305,6 +14317,8 @@ in
|
|||||||
inherit (darwin.stubs) setfile;
|
inherit (darwin.stubs) setfile;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
muparserx = callPackage ../development/libraries/muparserx { };
|
||||||
|
|
||||||
mutest = callPackage ../development/libraries/mutest { };
|
mutest = callPackage ../development/libraries/mutest { };
|
||||||
|
|
||||||
mygpoclient = pythonPackages.mygpoclient;
|
mygpoclient = pythonPackages.mygpoclient;
|
||||||
@ -15520,7 +15534,9 @@ in
|
|||||||
|
|
||||||
vcg = callPackage ../development/libraries/vcg { };
|
vcg = callPackage ../development/libraries/vcg { };
|
||||||
|
|
||||||
vid-stab = callPackage ../development/libraries/vid-stab { };
|
vid-stab = callPackage ../development/libraries/vid-stab {
|
||||||
|
inherit (llvmPackages) openmp;
|
||||||
|
};
|
||||||
|
|
||||||
vigra = callPackage ../development/libraries/vigra { };
|
vigra = callPackage ../development/libraries/vigra { };
|
||||||
|
|
||||||
@ -22135,6 +22151,10 @@ in
|
|||||||
|
|
||||||
opentimestamps-client = python3Packages.callPackage ../tools/misc/opentimestamps-client {};
|
opentimestamps-client = python3Packages.callPackage ../tools/misc/opentimestamps-client {};
|
||||||
|
|
||||||
|
opentoonz = (qt5.overrideScope' (_: _: {
|
||||||
|
libtiff = callPackage ../applications/graphics/opentoonz/libtiff.nix { };
|
||||||
|
})).callPackage ../applications/graphics/opentoonz { };
|
||||||
|
|
||||||
opentx = libsForQt5.callPackage ../applications/misc/opentx { };
|
opentx = libsForQt5.callPackage ../applications/misc/opentx { };
|
||||||
|
|
||||||
opera = callPackage ../applications/networking/browsers/opera {};
|
opera = callPackage ../applications/networking/browsers/opera {};
|
||||||
@ -23409,6 +23429,8 @@ in
|
|||||||
inherit (lua52Packages) lpeg;
|
inherit (lua52Packages) lpeg;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
viw = callPackage ../applications/editors/viw { };
|
||||||
|
|
||||||
virt-viewer = callPackage ../applications/virtualization/virt-viewer { };
|
virt-viewer = callPackage ../applications/virtualization/virt-viewer { };
|
||||||
|
|
||||||
virt-top = callPackage ../applications/virtualization/virt-top { };
|
virt-top = callPackage ../applications/virtualization/virt-top { };
|
||||||
@ -24624,6 +24646,10 @@ in
|
|||||||
cudatoolkit = cudatoolkit_10_2;
|
cudatoolkit = cudatoolkit_10_2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
katagoCPU = katago.override {
|
||||||
|
gpuEnabled = false;
|
||||||
|
};
|
||||||
|
|
||||||
klavaro = callPackage ../games/klavaro {};
|
klavaro = callPackage ../games/klavaro {};
|
||||||
|
|
||||||
kobodeluxe = callPackage ../games/kobodeluxe { };
|
kobodeluxe = callPackage ../games/kobodeluxe { };
|
||||||
@ -25133,6 +25159,8 @@ in
|
|||||||
tk = tk-8_5;
|
tk = tk-8_5;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xcowsay = callPackage ../games/xcowsay { };
|
||||||
|
|
||||||
xjump = callPackage ../games/xjump { };
|
xjump = callPackage ../games/xjump { };
|
||||||
# TODO: the corresponding nix file is missing
|
# TODO: the corresponding nix file is missing
|
||||||
# xracer = callPackage ../games/xracer { };
|
# xracer = callPackage ../games/xracer { };
|
||||||
@ -26482,9 +26510,7 @@ in
|
|||||||
|
|
||||||
hatari = callPackage ../misc/emulators/hatari { };
|
hatari = callPackage ../misc/emulators/hatari { };
|
||||||
|
|
||||||
helm = callPackage ../applications/audio/helm {
|
helm = callPackage ../applications/audio/helm { };
|
||||||
stdenv = gcc8Stdenv;
|
|
||||||
};
|
|
||||||
|
|
||||||
helmfile = callPackage ../applications/networking/cluster/helmfile { };
|
helmfile = callPackage ../applications/networking/cluster/helmfile { };
|
||||||
|
|
||||||
|
@ -4917,6 +4917,8 @@ in {
|
|||||||
|
|
||||||
multiprocess = callPackage ../development/python-modules/multiprocess { };
|
multiprocess = callPackage ../development/python-modules/multiprocess { };
|
||||||
|
|
||||||
|
multitasking = callPackage ../development/python-modules/multitasking { };
|
||||||
|
|
||||||
munkres = callPackage ../development/python-modules/munkres { };
|
munkres = callPackage ../development/python-modules/munkres { };
|
||||||
|
|
||||||
musicbrainzngs = callPackage ../development/python-modules/musicbrainzngs { };
|
musicbrainzngs = callPackage ../development/python-modules/musicbrainzngs { };
|
||||||
@ -5950,7 +5952,8 @@ in {
|
|||||||
|
|
||||||
readchar = callPackage ../development/python-modules/readchar { };
|
readchar = callPackage ../development/python-modules/readchar { };
|
||||||
|
|
||||||
retworkx = callPackage ../development/python-modules/retworkx { };
|
retworkx = disabledIf (pythonOlder "3.5")
|
||||||
|
(toPythonModule (callPackage ../development/python-modules/retworkx { } ));
|
||||||
|
|
||||||
rivet = disabledIf (!isPy3k) (toPythonModule (pkgs.rivet.override {
|
rivet = disabledIf (!isPy3k) (toPythonModule (pkgs.rivet.override {
|
||||||
python3 = python;
|
python3 = python;
|
||||||
@ -7746,6 +7749,8 @@ in {
|
|||||||
|
|
||||||
yattag = callPackage ../development/python-modules/yattag { };
|
yattag = callPackage ../development/python-modules/yattag { };
|
||||||
|
|
||||||
|
yfinance = callPackage ../development/python-modules/yfinance { };
|
||||||
|
|
||||||
xenomapper = disabledIf (!isPy3k) (callPackage ../applications/science/biology/xenomapper { });
|
xenomapper = disabledIf (!isPy3k) (callPackage ../applications/science/biology/xenomapper { });
|
||||||
|
|
||||||
z3 = (toPythonModule (pkgs.z3.override {
|
z3 = (toPythonModule (pkgs.z3.override {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user