diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 487b394baa1..a4d4b146168 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4067,6 +4067,12 @@ githubId = 12491746; name = "Masato Yonekawa"; }; + hzeller = { + email = "h.zeller@acm.org"; + github = "hzeller"; + githubId = 140937; + name = "Henner Zeller"; + }; i077 = { email = "nixpkgs@imranhossa.in"; github = "i077"; diff --git a/nixos/modules/services/security/fprintd.nix b/nixos/modules/services/security/fprintd.nix index 48f8a9616c3..fe0fba5b45d 100644 --- a/nixos/modules/services/security/fprintd.nix +++ b/nixos/modules/services/security/fprintd.nix @@ -5,6 +5,7 @@ with lib; let cfg = config.services.fprintd; + fprintdPkg = if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd; in @@ -17,25 +18,30 @@ in services.fprintd = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable fprintd daemon and PAM module for fingerprint readers handling. - ''; - }; + enable = mkEnableOption "fprintd daemon and PAM module for fingerprint readers handling"; package = mkOption { type = types.package; - default = pkgs.fprintd; - defaultText = "pkgs.fprintd"; + default = fprintdPkg; + defaultText = "if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd"; description = '' fprintd package to use. ''; }; - }; + tod = { + enable = mkEnableOption "Touch OEM Drivers library support"; + + driver = mkOption { + type = types.package; + example = literalExample "pkgs.libfprint-2-tod1-goodix"; + description = '' + Touch OEM Drivers (TOD) package to use. + ''; + }; + }; + }; }; @@ -49,6 +55,10 @@ in systemd.packages = [ cfg.package ]; + systemd.services.fprintd.environment = mkIf cfg.tod.enable { + FP_TOD_DRIVERS_DIR = "${cfg.tod.driver}${cfg.tod.driver.driverPath}"; + }; + }; } diff --git a/pkgs/applications/audio/sayonara/default.nix b/pkgs/applications/audio/sayonara/default.nix index 722333134d9..651ac20db22 100644 --- a/pkgs/applications/audio/sayonara/default.nix +++ b/pkgs/applications/audio/sayonara/default.nix @@ -1,6 +1,7 @@ { mkDerivation , cmake , fetchFromGitLab +, nix-update-script , gst_all_1 , lib , libpulseaudio @@ -11,17 +12,23 @@ , qttools , taglib , zlib +, python3 }: +let + py = python3.withPackages (ps: with ps; [ + pydbus + ]); +in mkDerivation rec { - pname = "sayonara-player"; - version = "1.6.0-beta6"; + pname = "sayonara"; + version = "1.6.0-beta7"; src = fetchFromGitLab { owner = "luciocarreras"; repo = "sayonara-player"; rev = version; - sha256 = "sha256-SbJS0DQvbW++CNXbuDHQxFlLRb1kTtDdIdHOqu0YxeQ="; + sha256 = "14svszfldx32vn937rszd21rgl31vb5kzs0hnrg41ygx0br61rvd"; }; nativeBuildInputs = [ cmake ninja pkg-config qttools ]; @@ -32,6 +39,7 @@ mkDerivation rec { qtbase taglib zlib + py ] ++ (with gst_all_1; [ gstreamer @@ -54,6 +62,12 @@ mkDerivation rec { qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") ''; + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + meta = with lib; { description = "Sayonara music player"; homepage = "https://sayonara-player.com/"; diff --git a/pkgs/applications/blockchains/electrs.nix b/pkgs/applications/blockchains/electrs.nix index b43a6edc5e5..30742f8d719 100644 --- a/pkgs/applications/blockchains/electrs.nix +++ b/pkgs/applications/blockchains/electrs.nix @@ -6,20 +6,20 @@ rustPlatform.buildRustPackage rec { pname = "electrs"; - version = "0.8.7"; + version = "0.8.9"; src = fetchFromGitHub { owner = "romanz"; repo = pname; rev = "v${version}"; - sha256 = "101prhxg7dr701gwm4s15maxb7cf65hf85hc7ai53b404v39vm71"; + sha256 = "01fli2k5yh4iwlds97p5c36q19s3zxrqhkzp9dsjbgsf7sv35r3y"; }; # needed for librocksdb-sys nativeBuildInputs = [ llvmPackages.clang ]; LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; - cargoSha256 = "12ypx0rkpbjl4awzx8ga30qhiqqd56a24q4jwlxxnfpw9ks1z252"; + cargoSha256 = "1rqpadlr9r4z2z825li6vi5a21hivc3bsn5ibxshrdrwiycyyxz8"; meta = with lib; { description = "An efficient re-implementation of Electrum Server in Rust"; diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix index 6f395640f50..49c442ee6d2 100644 --- a/pkgs/applications/gis/qgis/unwrapped.nix +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -1,25 +1,38 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl -, qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql -, txt2tags, openssl, libzip, hdf5, netcdf, exiv2 -, qtbase, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns -, withGrass ? true, grass -, withWebKit ? true, qtwebkit -}: +{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos +, xlibsWrapper, sqlite, gsl, qwt, fcgi, python3Packages, libspatialindex +, libspatialite, postgresql, txt2tags, openssl, libzip, hdf5, netcdf, exiv2 +, protobuf, qtbase, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport +, qtxmlpatterns, withGrass ? true, grass, withWebKit ? true, qtwebkit }: with lib; let - pythonBuildInputs = with python3Packages; - [ qscintilla-qt5 gdal jinja2 numpy psycopg2 - chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ]; + pythonBuildInputs = with python3Packages; [ + qscintilla-qt5 + gdal + jinja2 + numpy + psycopg2 + chardet + dateutil + pyyaml + pytz + requests + urllib3 + pygments + pyqt5 + sip + owslib + six + ]; in mkDerivation rec { - version = "3.10.13"; + version = "3.16.5"; pname = "qgis"; name = "${pname}-unwrapped-${version}"; src = fetchFromGitHub { owner = "qgis"; repo = "QGIS"; - rev = "final-${lib.replaceStrings ["."] ["_"] version}"; - sha256 = "0za77znk1phrxzy2cgxpwrld3d0pi0xvhsg78rg4wkb23vaqv6zb"; + rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; + sha256 = "1xkvgj1v2jgp107jyh9xmk1dzbbqxwkqy69z56vsaa8lf9gwgn5h"; }; passthru = { @@ -27,10 +40,32 @@ in mkDerivation rec { inherit python3Packages; }; - buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2 - fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf - qtbase qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns ] - ++ lib.optional withGrass grass + buildInputs = [ + openssl + proj + geos + xlibsWrapper + sqlite + gsl + qwt + exiv2 + protobuf + fcgi + libspatialindex + libspatialite + postgresql + txt2tags + libzip + hdf5 + netcdf + qtbase + qtsensors + qca-qt5 + qtkeychain + qscintilla + qtserialport + qtxmlpatterns + ] ++ lib.optional withGrass grass ++ lib.optional withWebKit qtwebkit ++ pythonBuildInputs; @@ -41,15 +76,16 @@ in mkDerivation rec { # TODO: Correct PyQt5 to provide the expected directory and fix # build to use PYQT5_SIP_DIR consistently. postPatch = '' - substituteInPlace cmake/FindPyQt5.py \ - --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/share/sip/PyQt5"' - ''; + substituteInPlace cmake/FindPyQt5.py \ + --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/share/sip/PyQt5"' + ''; - cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" - "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" - "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" ] - ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" - ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; + cmakeFlags = [ + "-DCMAKE_SKIP_BUILD_RPATH=OFF" + "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" + "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" + ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" + ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; meta = { description = "A Free and Open Source Geographic Information System"; diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix index a39e8267cf7..6fd68779f4f 100644 --- a/pkgs/applications/misc/nnn/default.nix +++ b/pkgs/applications/misc/nnn/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, ncurses, readline +{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper, ncurses, readline +, archivemount, atool, fzf, libarchive, rclone, sshfs, unzip, vlock , conf ? null, withIcons ? false, withNerdIcons ? false }: # Mutually exclusive options @@ -7,19 +8,19 @@ assert withNerdIcons -> withIcons == false; stdenv.mkDerivation rec { pname = "nnn"; - version = "3.6"; + version = "4.0"; src = fetchFromGitHub { owner = "jarun"; repo = pname; rev = "v${version}"; - sha256 = "1hwv7ncp8pmzdir30877ni4qlmczmb3yjdkbfd1pssr08y1srsc7"; + sha256 = "0cbxgss9j0bvsp3czjx1kpm9id7c5xxmjfnvjyk3pfd69ygif2kl"; }; configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf); preBuild = lib.optionalString (conf != null) "cp ${configFile} src/nnn.h"; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config makeWrapper ]; buildInputs = [ readline ncurses ]; makeFlags = [ "PREFIX=$(out)" ] @@ -31,6 +32,9 @@ stdenv.mkDerivation rec { install -Dm555 misc/auto-completion/bash/nnn-completion.bash $out/share/bash-completion/completions/nnn.bash install -Dm555 misc/auto-completion/zsh/_nnn -t $out/share/zsh/site-functions install -Dm555 misc/auto-completion/fish/nnn.fish -t $out/share/fish/vendor_completions.d + + wrapProgram $out/bin/nnn \ + --prefix PATH : ${lib.makeBinPath [ archivemount atool fzf libarchive rclone sshfs unzip vlock ]} ''; meta = with lib; { diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix index ef025dfc6a7..357424cdddf 100644 --- a/pkgs/applications/networking/cluster/nerdctl/default.nix +++ b/pkgs/applications/networking/cluster/nerdctl/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "nerdctl"; - version = "0.7.3"; + version = "0.8.0"; src = fetchFromGitHub { owner = "containerd"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4NIyit2HnDXWnHALGzz5KWxe4PU8CwMRwCoIlN/WX78="; + sha256 = "sha256-It/p2Hk4/fkYgHTPynf7p7zs4ajjo0Fv3yTzhrWUusE="; }; - vendorSha256 = "sha256-qwUAC8LURsn6C3zKzcsuFsOTurjPV9V8Z/1Y9G0eohk="; + vendorSha256 = "sha256-Vg6SHyQkeUvd2hT0JV32y+F0t/qb81MrgOFcr785a8M="; nativeBuildInputs = [ makeWrapper installShellFiles ]; diff --git a/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix b/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix index 988b2d02df9..ff9ce970227 100644 --- a/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix +++ b/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "starboard-octant-plugin"; - version = "0.9.2"; + version = "0.10.0"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "sha256-wis2ECCVXQeD7GiCMJQai+wDM8QJ1j5dPnE5O/I3wpM="; + sha256 = "sha256-3BifigdAFuOCrhJRv/w4k7pT4BTHfINuEkeG6zaI0v8="; }; - vendorSha256 = "sha256-T0wDbAl5GXphZIBrM36OwRCojnJ/cbXNqsjtCzUDZ6s="; + vendorSha256 = "sha256-1NTneOGU4R1xzR9hAI9MJWYuYTPgYtLa5vH1H5wyHcM="; buildFlagsArray = [ "-ldflags=" "-s" "-w" ]; diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 6cd2cf52efc..be331156eed 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -164,6 +164,14 @@ in rec { passthru = { inherit plugins; }; }); + terraform_0_15 = pluggable (generic { + version = "0.15.0"; + sha256 = "0d7hai57x6qczacdnzzvs3766180n6grmq0a7rlw5jp3zgzp8bmr"; + vendorSha256 = "1l67kkrk8jw7v1rqpwj6n0l7lvmfgf1ir430j1n96459s1dzf0cn"; + patches = [ ./provider-path-0_15.patch ]; + passthru = { inherit plugins; }; + }); + # Tests that the plugins are being used. Terraform looks at the specific # file pattern and if the plugin is not found it will try to download it # from the Internet. With sandboxing enable this test will fail if that is diff --git a/pkgs/applications/networking/cluster/terraform/provider-path-0_15.patch b/pkgs/applications/networking/cluster/terraform/provider-path-0_15.patch new file mode 100644 index 00000000000..1896d6018f0 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform/provider-path-0_15.patch @@ -0,0 +1,23 @@ +diff -Naur terraform.old/command/init.go terraform.new/command/init.go +--- terraform.old/command/init.go ++++ terraform.new/command/init.go +@@ -3,6 +3,7 @@ + import ( + "context" + "fmt" ++ "os" + "log" + "strings" + +@@ -55,6 +56,11 @@ + + var diags tfdiags.Diagnostics + ++ val, ok := os.LookupEnv("NIX_TERRAFORM_PLUGIN_DIR") ++ if ok { ++ flagPluginPath = append(flagPluginPath, val) ++ } ++ + if len(flagPluginPath) > 0 { + c.pluginPath = flagPluginPath + } diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix index 718b0680ebc..a95ea55666b 100644 --- a/pkgs/applications/networking/cluster/terragrunt/default.nix +++ b/pkgs/applications/networking/cluster/terragrunt/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "terragrunt"; - version = "0.28.20"; + version = "0.28.22"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Hg4eeLFNm2cXUjp3T2VK6q+mgawqkHju9P3Vq9wnB9c="; + sha256 = "sha256-tFM9kRdr98Jm2n6i5QDUKlLsI96RZ+e7MeYc7Y+ryUE="; }; - vendorSha256 = "sha256-kcRM76xfajtQist1aJTmaRludxRlfvHQ9ucB3LOgnBk="; + vendorSha256 = "sha256-qlSCQtiGHmlk3DyETMoQbbSYhuUSZTsvAnBKuDJI8x8="; doCheck = false; diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix index 65826683d5f..b38787e2968 100644 --- a/pkgs/applications/networking/cluster/velero/default.nix +++ b/pkgs/applications/networking/cluster/velero/default.nix @@ -2,24 +2,27 @@ buildGoModule rec { pname = "velero"; - version = "1.5.4"; + # When updating, change the commit underneath + version = "1.6.0"; + commit = "5bd70fd8eef316d220317245e46dc6016c348dce"; + src = fetchFromGitHub { rev = "v${version}"; owner = "vmware-tanzu"; repo = "velero"; - sha256 = "sha256-YHBqIM3NV2L13w9WCzldUWmdBMec7ZndzYgGHblS8Dg="; + sha256 = "sha256-2d4xsffh5DpxGahmzXpgUBRFAt5CsDnHCm8xU1ksqyQ="; }; buildFlagsArray = '' -ldflags= -s -w -X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=${version} - -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=456eb19668f8da603756353d9179b59b5a7bfa04 + -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=${commit} -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean ''; - vendorSha256 = "sha256-m/zShJeclZ1k8Fr9faK2x1Mpwbwun674iMPJhMw/9Mc="; + vendorSha256 = "sha256-aQjtebIyV69nRwc/zvK/9v0mX3pAPKfOunSL/FpFZJU="; excludedPackages = [ "issue-template-gen" ]; diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix index bfd4f28d0c0..2f6594c1765 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix @@ -1,39 +1,62 @@ -{ mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja -, qtbase, qtimageformats, libdbusmenu, hunspell, xdg-utils, ffmpeg_3, openalSoft -, xz, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected -, range-v3 +{ mkDerivation, lib, fetchFromGitHub, callPackage +, pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook +, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash +, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 +, tl-expected, hunspell, glibmm +# Transitive dependencies: +, pcre, xorg, util-linux, libselinux, libsepol, epoxy +, at-spi2-core, libXtst, libthai, libdatrie }: with lib; -mkDerivation rec { +let + tg_owt = callPackage ../tdesktop/tg_owt.nix {}; +in mkDerivation rec { pname = "kotatogram-desktop"; - version = "1.2"; + version = "1.4"; src = fetchFromGitHub { owner = "kotatogram"; repo = "kotatogram-desktop"; rev = "k${version}"; - sha256 = "00pdx3cjhrihf7ihhmszcf159jrzn1bcx20vwiiizs5r1qk8l210"; + sha256 = "0nhyjqxrbqiik4sgzplmpgx8msf8rykjiik0c2zr61rjm4fngkb3"; fetchSubmodules = true; }; - nativeBuildInputs = [ pkg-config python3 cmake ninja ]; + postPatch = '' + substituteInPlace Telegram/CMakeLists.txt \ + --replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"' + ''; + + # We want to run wrapProgram manually (with additional parameters) + dontWrapGApps = true; + dontWrapQtApps = true; + + nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook ]; buildInputs = [ - qtbase qtimageformats ffmpeg_3 openalSoft xz lz4 xxHash libdbusmenu - zlib minizip openssl hunspell libtgvoip microsoft_gsl tl-expected range-v3 + qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash + ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3 + tl-expected hunspell glibmm + tg_owt + # Transitive dependencies: + pcre xorg.libXdmcp util-linux libselinux libsepol epoxy + at-spi2-core libXtst libthai libdatrie ]; - qtWrapperArgs = [ - "--prefix PATH : ${xdg-utils}/bin" - ]; + cmakeFlags = [ "-DTDESKTOP_API_TEST=ON" ]; - cmakeFlags = [ - "-DTDESKTOP_API_TEST=ON" - "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF" - "-DDESKTOP_APP_USE_PACKAGED_VARIANT=OFF" - ]; + postFixup = '' + # We also use gappsWrapperArgs from wrapGAppsHook. + wrapProgram $out/bin/kotatogram-desktop \ + "''${gappsWrapperArgs[@]}" \ + "''${qtWrapperArgs[@]}" + ''; + + passthru = { + inherit tg_owt; + }; meta = { description = "Kotatogram – experimental Telegram Desktop fork"; @@ -45,6 +68,7 @@ mkDerivation rec { license = licenses.gpl3; platforms = platforms.linux; homepage = "https://kotatogram.github.io"; + changelog = "https://github.com/kotatogram/kotatogram-desktop/releases/tag/k{ver}"; maintainers = with maintainers; [ ilya-fedin ]; }; } diff --git a/pkgs/data/documentation/man-pages-posix/default.nix b/pkgs/data/documentation/man-pages-posix/default.nix index a65b176f88f..ca7fdf1d4be 100644 --- a/pkgs/data/documentation/man-pages-posix/default.nix +++ b/pkgs/data/documentation/man-pages-posix/default.nix @@ -1,21 +1,22 @@ {lib, stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "man-pages-posix-2013-a"; + pname = "man-pages-posix"; + version = "2017-a"; src = fetchurl { - url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/${name}.tar.xz"; - sha256 = "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr"; + url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/${pname}-${version}.tar.xz"; + sha256 = "ce67bb25b5048b20dad772e405a83f4bc70faf051afa289361c81f9660318bc3"; }; - preBuild = - '' - makeFlagsArray=(MANDIR=$out/share/man) - ''; + makeFlags = [ + "MANDIR=${placeholder "out"}/share/man" + ]; meta = { description = "POSIX man-pages (0p, 1p, 3p)"; homepage = "https://www.kernel.org/doc/man-pages/"; platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.sternenseemann ]; }; } diff --git a/pkgs/development/compilers/llvm/12/clang/default.nix b/pkgs/development/compilers/llvm/12/clang/default.nix index d90d019e6d5..ab329e3d85d 100644 --- a/pkgs/development/compilers/llvm/12/clang/default.nix +++ b/pkgs/development/compilers/llvm/12/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld +{ lib, stdenv, llvm_meta, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld , fixDarwinDylibNames , enableManpages ? false }: @@ -8,7 +8,7 @@ let pname = "clang"; inherit version; - src = fetch "clang" "185r9rr254v75ja33nmm53j85lcnkj7bzsl18wvnd37jmz2nfxa5"; + src = fetch "clang" "1vd9rhhrd8ghdg111lac7w8by71y9l14yh5zxfijsm6lj4p4avp2"; inherit clang-tools-extra_src; unpackPhase = '' @@ -82,11 +82,20 @@ let inherit llvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -105,6 +114,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/12/compiler-rt-X86-support-extension.patch b/pkgs/development/compilers/llvm/12/compiler-rt/compiler-rt-X86-support-extension.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/compiler-rt-X86-support-extension.patch rename to pkgs/development/compilers/llvm/12/compiler-rt/compiler-rt-X86-support-extension.patch diff --git a/pkgs/development/compilers/llvm/12/compiler-rt-armv7l.patch b/pkgs/development/compilers/llvm/12/compiler-rt/compiler-rt-armv7l.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/compiler-rt-armv7l.patch rename to pkgs/development/compilers/llvm/12/compiler-rt/compiler-rt-armv7l.patch diff --git a/pkgs/development/compilers/llvm/12/compiler-rt-codesign.patch b/pkgs/development/compilers/llvm/12/compiler-rt/compiler-rt-codesign.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/compiler-rt-codesign.patch rename to pkgs/development/compilers/llvm/12/compiler-rt/compiler-rt-codesign.patch diff --git a/pkgs/development/compilers/llvm/12/compiler-rt.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix similarity index 79% rename from pkgs/development/compilers/llvm/12/compiler-rt.nix rename to pkgs/development/compilers/llvm/12/compiler-rt/default.nix index e6ac77b7d26..bf7f4bc4312 100644 --- a/pkgs/development/compilers/llvm/12/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { pname = "compiler-rt"; inherit version; - src = fetch pname "1x0z875nbdpzhr4qb7linm6r9swvdf6dvwqy1s22pbn4wdcw0cvf"; + src = fetch pname "0d444qihq9jhqnfv003cr704v363va72zl6qaw2algj1c85cva45"; nativeBuildInputs = [ cmake python3 llvm ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; @@ -87,4 +87,19 @@ stdenv.mkDerivation rec { ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/12/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/12/compiler-rt/sanitizers-nongnu.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/sanitizers-nongnu.patch rename to pkgs/development/compilers/llvm/12/compiler-rt/sanitizers-nongnu.patch diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix index 593db716ac6..00922ed96e2 100644 --- a/pkgs/development/compilers/llvm/12/default.nix +++ b/pkgs/development/compilers/llvm/12/default.nix @@ -8,7 +8,7 @@ let release_version = "12.0.0"; - candidate = "rc5"; # empty or "rcN" + candidate = ""; # empty or "rcN" dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs targetConfig = stdenv.targetPlatform.config; @@ -18,7 +18,13 @@ let inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "1hga9k5m60ywmr7m69jf1v6vj1ra1n6ybv1abzlz94f5q22i1a02"; + clang-tools-extra_src = fetch "clang-tools-extra" "0p3dzr0qa7mar83y66xa5m5apynf6ia0lsdsq6axwnm64ysy0hdd"; + + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); @@ -30,13 +36,16 @@ let ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags ''; + in { - llvm = callPackage ./llvm.nix { }; + llvm = callPackage ./llvm { + inherit llvm_meta; + }; clang-unwrapped = callPackage ./clang { inherit (tools) lld; - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; # disabled until recommonmark supports sphinx 3 @@ -80,11 +89,13 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld.nix { + lld = callPackage ./lld { + inherit llvm_meta; libunwind = libraries.libunwind; }; - lldb = callPackage ./lldb.nix { + lldb = callPackage ./lldb { + inherit llvm_meta; inherit (darwin) libobjc bootstrap_cmds; inherit (darwin.apple_sdk.libs) xpc; inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa; @@ -172,7 +183,7 @@ let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { - compiler-rt = callPackage ./compiler-rt.nix ({} // + compiler-rt = callPackage ./compiler-rt ({ inherit llvm_meta; } // (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; })); @@ -181,20 +192,20 @@ let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ ({} // + libcxx = callPackage ./libc++ ({ inherit llvm_meta; } // (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); - libcxxabi = callPackage ./libc++abi.nix ({} // + libcxxabi = callPackage ./libc++abi ({ inherit llvm_meta; } // (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; libunwind = libraries.libunwind; })); - openmp = callPackage ./openmp.nix {}; + openmp = callPackage ./openmp.nix { inherit llvm_meta; }; - libunwind = callPackage ./libunwind.nix ({} // + libunwind = callPackage ./libunwind ({ inherit llvm_meta; } // (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); diff --git a/pkgs/development/compilers/llvm/12/libc++/default.nix b/pkgs/development/compilers/llvm/12/libc++/default.nix index 757651c0f4c..d85d890879e 100644 --- a/pkgs/development/compilers/llvm/12/libc++/default.nix +++ b/pkgs/development/compilers/llvm/12/libc++/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, fetchpatch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version +{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -6,7 +6,7 @@ stdenv.mkDerivation { pname = "libc++"; inherit version; - src = fetch "libcxx" "01abh553dvjgk5cjzzp0ghmg00laqbr4ar4frdhyhpbwhhmwc880"; + src = fetch "libcxx" "1wf3ww29xkx7prs7pdwicy5qqfapib26110jgmkjrbka9z57bjvx"; postUnpack = '' unpackFile ${libcxxabi.src} @@ -40,10 +40,15 @@ stdenv.mkDerivation { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.all; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/12/libc++abi.nix b/pkgs/development/compilers/llvm/12/libc++abi/default.nix similarity index 73% rename from pkgs/development/compilers/llvm/12/libc++abi.nix rename to pkgs/development/compilers/llvm/12/libc++abi/default.nix index e35480c7bf2..22ec211a3b0 100644 --- a/pkgs/development/compilers/llvm/12/libc++abi.nix +++ b/pkgs/development/compilers/llvm/12/libc++abi/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, cmake, python3, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, llvm_meta, cmake, python3, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -6,7 +6,7 @@ stdenv.mkDerivation { pname = "libc++abi"; inherit version; - src = fetch "libcxxabi" "0mjj4f63ix4j1b72bgzpcki7mzf3qszrq7snqhiq0c5s73skkwx0"; + src = fetch "libcxxabi" "1cbmzspwjlr8f6sp73pw6ivf4dpg6rpc61by0q1m2zca2k6yif3a"; nativeBuildInputs = [ cmake python3 ]; buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; @@ -29,7 +29,7 @@ stdenv.mkDerivation { '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin '' + lib.optionalString stdenv.hostPlatform.isMusl '' - patch -p1 -d libcxx -i ${../libcxx-0001-musl-hacks.patch} + patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch} '' + lib.optionalString stdenv.hostPlatform.isWasm '' patch -p1 -d llvm -i ${./libcxxabi-wasm.patch} ''; @@ -57,11 +57,15 @@ stdenv.mkDerivation { ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.all; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/12/libcxxabi-wasm.patch b/pkgs/development/compilers/llvm/12/libc++abi/libcxxabi-wasm.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/libcxxabi-wasm.patch rename to pkgs/development/compilers/llvm/12/libc++abi/libcxxabi-wasm.patch diff --git a/pkgs/development/compilers/llvm/12/libunwind.nix b/pkgs/development/compilers/llvm/12/libunwind.nix deleted file mode 100644 index 83e76c0c56c..00000000000 --- a/pkgs/development/compilers/llvm/12/libunwind.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, stdenv, version, fetch, libcxx, llvm, cmake -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -stdenv.mkDerivation rec { - pname = "libunwind"; - inherit version; - - src = fetch pname "0kaq75ygzv9dqfsx27pi5a0clipdjq6a9vghhb89d8k1rf20lslh"; - - postUnpack = '' - unpackFile ${libcxx.src} - mv libcxx-* libcxx - unpackFile ${llvm.src} - mv llvm-* llvm - ''; - - nativeBuildInputs = [ cmake ]; - - cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; -} diff --git a/pkgs/development/compilers/llvm/12/libunwind/default.nix b/pkgs/development/compilers/llvm/12/libunwind/default.nix new file mode 100644 index 00000000000..8b75146d7b2 --- /dev/null +++ b/pkgs/development/compilers/llvm/12/libunwind/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, llvm_meta, version, fetch, libcxx, llvm, cmake +, enableShared ? !stdenv.hostPlatform.isStatic +}: + +stdenv.mkDerivation rec { + pname = "libunwind"; + inherit version; + + src = fetch pname "1x8wpmsrsgnwj2v5ih52ylni7r6n8gzkcj6hx65zbxski2rablly"; + + postUnpack = '' + unpackFile ${libcxx.src} + mv libcxx-* libcxx + unpackFile ${llvm.src} + mv llvm-* llvm + ''; + + nativeBuildInputs = [ cmake ]; + + cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; +} diff --git a/pkgs/development/compilers/llvm/12/lld.nix b/pkgs/development/compilers/llvm/12/lld.nix deleted file mode 100644 index a5e4ab834ec..00000000000 --- a/pkgs/development/compilers/llvm/12/lld.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv -, fetch -, libunwind -, cmake -, libxml2 -, llvm -, version -}: - -stdenv.mkDerivation rec { - pname = "lld"; - inherit version; - - src = fetch pname "044lv1d9am2xmbc3pvssxkkiyxyv72n2xkgk8z3p9k72h3ay00q3"; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ llvm libxml2 ]; - - postPatch = '' - substituteInPlace MachO/CMakeLists.txt --replace \ - '(''${LLVM_MAIN_SRC_DIR}/' '(' - mkdir -p libunwind/include - tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/" - ''; - - outputs = [ "out" "dev" ]; - - postInstall = '' - moveToOutput include "$dev" - moveToOutput lib "$dev" - ''; - - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/12/lld/default.nix b/pkgs/development/compilers/llvm/12/lld/default.nix new file mode 100644 index 00000000000..18b72a90407 --- /dev/null +++ b/pkgs/development/compilers/llvm/12/lld/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, llvm_meta +, fetch +, libunwind +, cmake +, libxml2 +, llvm +, version +}: + +stdenv.mkDerivation rec { + pname = "lld"; + inherit version; + + src = fetch pname "1zakyxk5bwnh7jarckcd4rbmzi58jgn2dbah5j5cwcyfyfbx9drc"; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ llvm libxml2 ]; + + postPatch = '' + substituteInPlace MachO/CMakeLists.txt --replace \ + '(''${LLVM_MAIN_SRC_DIR}/' '(' + mkdir -p libunwind/include + tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/" + ''; + + outputs = [ "out" "dev" ]; + + postInstall = '' + moveToOutput include "$dev" + moveToOutput lib "$dev" + ''; + + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and + WebAssembly in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; + }; +} diff --git a/pkgs/development/compilers/llvm/12/lldb.nix b/pkgs/development/compilers/llvm/12/lldb/default.nix similarity index 78% rename from pkgs/development/compilers/llvm/12/lldb.nix rename to pkgs/development/compilers/llvm/12/lldb/default.nix index 67de0c18741..1fce82d7990 100644 --- a/pkgs/development/compilers/llvm/12/lldb.nix +++ b/pkgs/development/compilers/llvm/12/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , cmake , zlib @@ -25,7 +25,7 @@ stdenv.mkDerivation (rec { pname = "lldb"; inherit version; - src = fetch pname "0q4p4s5ws1zszs3i4da5w5fnxkpny0q3fr1s1sh7jp9wcwxbxiqq"; + src = fetch pname "1v85qyq3snk81vjmwq5q7xikyyqsfpqy2c4qmr81mps4avsw1g0l"; patches = [ ./lldb-procfs.patch ]; @@ -72,11 +72,15 @@ stdenv.mkDerivation (rec { ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://lldb.llvm.org"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } // lib.optionalAttrs enableManpages { pname = "lldb-manpages"; @@ -99,5 +103,7 @@ stdenv.mkDerivation (rec { doCheck = false; - meta.description = "man pages for LLDB ${version}"; + meta = llvm_meta // { + description = "man pages for LLDB ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/12/lldb-procfs.patch b/pkgs/development/compilers/llvm/12/lldb/lldb-procfs.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/lldb-procfs.patch rename to pkgs/development/compilers/llvm/12/lldb/lldb-procfs.patch diff --git a/pkgs/development/compilers/llvm/12/llvm.nix b/pkgs/development/compilers/llvm/12/llvm/default.nix similarity index 80% rename from pkgs/development/compilers/llvm/12/llvm.nix rename to pkgs/development/compilers/llvm/12/llvm/default.nix index 6e6127ba949..0d0075fddc7 100644 --- a/pkgs/development/compilers/llvm/12/llvm.nix +++ b/pkgs/development/compilers/llvm/12/llvm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , cmake , python3 @@ -32,8 +32,8 @@ in stdenv.mkDerivation (rec { pname = "llvm"; inherit version; - src = fetch pname "088dyv7hppidl3rqfsjdibvn4d3a74896fg2sz4dwaxlg19way93"; - polly_src = fetch "polly" "1qj7gkfr1yrsrz6j086l9p6d2kyyln15fmfiab4isn96g1dhsfb5"; + src = fetch pname "0l4b79gwfvxild974aigcq1yigypjsk2j5p59syhl6ksd744gp29"; + polly_src = fetch "polly" "1ixl9yj526n8iqh9ckyiah2vzravs9d1akybqq7rvy32n9vgr6hd"; unpackPhase = '' unpackFile $src @@ -73,7 +73,7 @@ in stdenv.mkDerivation (rec { --replace "PassBuilderCallbacksTest.cpp" "" rm unittests/IR/PassBuilderCallbacksTest.cpp '' + optionalString stdenv.hostPlatform.isMusl '' - patch -p1 -i ${../TLI-musl.patch} + patch -p1 -i ${../../TLI-musl.patch} substituteInPlace unittests/Support/CMakeLists.txt \ --replace "add_subdirectory(DynamicLibrary)" "" rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp @@ -160,12 +160,23 @@ in stdenv.mkDerivation (rec { checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -185,5 +196,7 @@ in stdenv.mkDerivation (rec { doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/12/llvm-outputs.patch b/pkgs/development/compilers/llvm/12/llvm/llvm-outputs.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/llvm-outputs.patch rename to pkgs/development/compilers/llvm/12/llvm/llvm-outputs.patch diff --git a/pkgs/development/compilers/llvm/12/openmp.nix b/pkgs/development/compilers/llvm/12/openmp.nix index 1e4618e4a1b..c107258dd18 100644 --- a/pkgs/development/compilers/llvm/12/openmp.nix +++ b/pkgs/development/compilers/llvm/12/openmp.nix @@ -1,5 +1,6 @@ { lib , stdenv +, llvm_meta , fetch , cmake , llvm @@ -11,15 +12,23 @@ stdenv.mkDerivation rec { pname = "openmp"; inherit version; - src = fetch pname "1d16r5whjb2n4n28rg8wn2g9krlc92q6nb0qmnnbzhqhx0rbkjfb"; + src = fetch pname "0z8n1wanby6aq3i7d91mgk72hb33zfl5blayk0a22cs7l8i706zb"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix b/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix index 3fa68353969..e4121bc9e90 100644 --- a/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix +++ b/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { src = fetchgit { url = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix"; - rev = "882735c6366fbe30149eea5cfd6d0ddff880f0e4"; # droped-lp1880058 on 20202-11-25 + rev = "882735c6366fbe30149eea5cfd6d0ddff880f0e4"; # droped-lp1880058 on 2020-11-25 sha256 = "sha256-Uv+Rr4V31DyaZFOj79Lpyfl3G6zVWShh20roI0AvMPU="; }; @@ -18,13 +18,15 @@ stdenv.mkDerivation { ''; installPhase = '' - mkdir -p "$out/usr/lib/libfprint-2/tod-1/" - mkdir -p "$out/usr/lib/udev/rules.d/" + mkdir -p "$out/lib/libfprint-2/tod-1/" + mkdir -p "$out/lib/udev/rules.d/" - cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-$version.so "$out/usr/lib/libfprint-2/tod-1/" - cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/usr/lib/udev/rules.d/" + cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-$version.so "$out/lib/libfprint-2/tod-1/" + cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/lib/udev/rules.d/" ''; + passthru.driverPath = "/lib/libfprint-2/tod-1"; + meta = with lib; { description = "Goodix driver module for libfprint-2-tod Touch OEM Driver"; homepage = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix/"; diff --git a/pkgs/development/php-packages/couchbase/default.nix b/pkgs/development/php-packages/couchbase/default.nix index 3566c7916e5..24d4e02a328 100644 --- a/pkgs/development/php-packages/couchbase/default.nix +++ b/pkgs/development/php-packages/couchbase/default.nix @@ -17,7 +17,7 @@ buildPecl { broken = lib.versionAtLeast php.version "8.0"; buildInputs = [ libcouchbase zlib ]; - internalDeps = [] ++ lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ]; + internalDeps = lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ]; peclDeps = [ php.extensions.igbinary ]; patches = [ diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix index c97df9288d3..afeefbdf55b 100644 --- a/pkgs/development/python-modules/boto3/default.nix +++ b/pkgs/development/python-modules/boto3/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "boto3"; - version = "1.17.49"; # N.B: if you change this, change botocore and awscli to a matching version + version = "1.17.52"; # N.B: if you change this, change botocore and awscli to a matching version src = fetchPypi { inherit pname version; - sha256 = "sha256-pIITXDD6B+r0NwMU3Q+0kRciKiZtBCOyB1rtODXtHwQ="; + sha256 = "sha256-7WQMF8l68om+RpN0DBy/laRW6cSV45c6Htb1GjloRtI="; }; propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ]; diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix index 391a4a8b539..f34cc34334d 100644 --- a/pkgs/development/python-modules/botocore/default.nix +++ b/pkgs/development/python-modules/botocore/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "botocore"; - version = "1.20.49"; # N.B: if you change this, change boto3 and awscli to a matching version + version = "1.20.52"; # N.B: if you change this, change boto3 and awscli to a matching version src = fetchPypi { inherit pname version; - sha256 = "sha256-9/ED+gZRxp3TYMfQ7Nh0hUMD3lzAhp4MvCgYpSuqzGk="; + sha256 = "sha256-3V9YCOxIqZm5Y0s4etarehojuh+XEqh1Bm0jSAj4qmI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix index 7b173e7a9c2..f0e7b6233dd 100644 --- a/pkgs/development/python-modules/sagemaker/default.nix +++ b/pkgs/development/python-modules/sagemaker/default.nix @@ -15,11 +15,11 @@ buildPythonPackage rec { pname = "sagemaker"; - version = "2.34.0"; + version = "2.35.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-j0YlFh5SG1PlBN5vWZ9bLuOKcO03pDwoOB44CMyvXPk="; + sha256 = "sha256-12YYUZbctM6oRaC7Sr/hOghAM+s/Cdm5XWHaVU5Gg6Q="; }; pythonImportsCheck = [ diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 99c535fa338..6a374ad246a 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -394,6 +394,10 @@ in ''; }; + mimemagic = attrs: { + FREEDESKTOP_MIME_TYPES_PATH="${shared-mime-info}/share/mime/packages/freedesktop.org.xml"; + }; + msgpack = attrs: { buildInputs = [ msgpack ]; }; diff --git a/pkgs/development/tools/rust/cargo-raze/default.nix b/pkgs/development/tools/rust/cargo-raze/default.nix index 11a52e6ea08..2e75c08b42b 100644 --- a/pkgs/development/tools/rust/cargo-raze/default.nix +++ b/pkgs/development/tools/rust/cargo-raze/default.nix @@ -3,17 +3,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-raze"; - version = "0.2.10"; + version = "0.12.0"; src = fetchFromGitHub { owner = "google"; repo = pname; rev = "v${version}"; - sha256 = "1fznh8jygzyzphw7762qc2jv0370z7qjqk1vkql0g246iqby8pq9"; + sha256 = "161m4y6i4sgqi9mg3f3348f5cr0m45vhix4a4bcw54wnmhiklnnl"; }; sourceRoot = "source/impl"; - cargoSha256 = "1z20xc508a3slc1ii3hy09swvlyib14zwf9akxc0h24d5m48as1c"; + cargoSha256 = "1vlywdq0bx6b1k3w1grisca0hvv2s4s88yxq7bil8nhm5ghjgxdr"; nativeBuildInputs = [ pkg-config ]; buildInputs = [ curl libgit2 openssl ] diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index b86891352f0..2aed04c41bd 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -664,7 +664,7 @@ let path = "share/man"; noCC = true; version = "8.0"; - sha256 = "0d34b3irjbqsqfk8v8aaj36fjyvwyx410igl26jcx2ryh3ispch0"; + sha256 = "0yp48syf3y5psm0mymxp6va6spym5izjym0ybr628iqwji21cqdz"; makeFlags = [ "FILESDIR=$(out)/share" ]; }; # diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 505aff66678..3d0cbcf5ace 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { pname = "timescaledb"; - version = "2.1.1"; + version = "2.2.0"; nativeBuildInputs = [ cmake ]; buildInputs = [ postgresql openssl ]; @@ -17,15 +17,15 @@ stdenv.mkDerivation rec { owner = "timescale"; repo = "timescaledb"; rev = "refs/tags/${version}"; - sha256 = "0mjqy0d60l62vqqbrayj6270173501i6aqgnkczywrqyzqw8522l"; + sha256 = "0gl2jjk9k0s5h7s4yq1qb60lvcqvhp88rh1fhlpyx1vm1hifhhik"; }; - # -DWARNINGS_AS_ERRORS=OFF to be removed once https://github.com/timescale/timescaledb/issues/2770 is fixed in upstream - cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" "-DWARNINGS_AS_ERRORS=OFF" ]; + cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ] + ++ lib.optionals stdenv.isDarwin [ "-DLINTER=OFF" ]; # Fix the install phase which tries to install into the pgsql extension dir, # and cannot be manually overridden. This is rather fragile but works OK. - patchPhase = '' + postPatch = '' for x in CMakeLists.txt sql/CMakeLists.txt; do substituteInPlace "$x" \ --replace 'DESTINATION "''${PG_SHAREDIR}/extension"' "DESTINATION \"$out/share/postgresql/extension\"" @@ -40,6 +40,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space"; homepage = "https://www.timescale.com/"; + changelog = "https://github.com/timescale/timescaledb/raw/${version}/CHANGELOG.md"; maintainers = with maintainers; [ volth marsam ]; platforms = postgresql.meta.platforms; license = licenses.asl20; diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix index 7eb5dc6a8a7..c5b426e463b 100644 --- a/pkgs/tools/admin/awscli/default.nix +++ b/pkgs/tools/admin/awscli/default.nix @@ -21,11 +21,11 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli"; - version = "1.19.49"; # N.B: if you change this, change botocore and boto3 to a matching version too + version = "1.19.52"; # N.B: if you change this, change botocore and boto3 to a matching version too src = fetchPypi { inherit pname version; - sha256 = "sha256-SiE3t26giRwNMJHGpeSzEO0nFjXS+bms4pRydOGWQyI="; + sha256 = "sha256-keKyuNeDC/90pn89KjoDTO8AGsmI8nqfDNSeGyM6iHQ="; }; # https://github.com/aws/aws-cli/issues/4837 diff --git a/pkgs/tools/graphics/timg/default.nix b/pkgs/tools/graphics/timg/default.nix new file mode 100644 index 00000000000..5acbaa7ffd2 --- /dev/null +++ b/pkgs/tools/graphics/timg/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, graphicsmagick, libjpeg +, ffmpeg, zlib, libexif }: + +stdenv.mkDerivation rec { + pname = "timg"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "hzeller"; + repo = "timg"; + rev = "v${version}"; + sha256 = "10qhjfkbazncmj07y0a6cpmi7ki0l10qzpvi2zh8369yycqqxr8y"; + }; + + buildInputs = [ graphicsmagick ffmpeg libexif libjpeg zlib ]; + + nativeBuildInputs = [ cmake pkg-config ]; + + cmakeFlags = [ + "-DTIMG_VERSION_FROM_GIT=Off" + "-DWITH_VIDEO_DECODING=On" + "-DWITH_VIDEO_DEVICE=On" + "-DWITH_OPENSLIDE_SUPPORT=Off" # https://openslide.org/ lib not yet in nix + ]; + + meta = with lib; { + homepage = "https://timg.sh/"; + description = "A terminal image and video viewer"; + license = licenses.gpl2Only; + platforms = platforms.unix; + maintainers = with maintainers; [ hzeller ]; + }; +} diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix index 5cad350f498..a454a73384b 100644 --- a/pkgs/tools/misc/zoxide/default.nix +++ b/pkgs/tools/misc/zoxide/default.nix @@ -5,13 +5,6 @@ , withFzf ? true , fzf , libiconv - # checkInputs -, fish -, powershell -, shellcheck -, shfmt -, xonsh -, zsh }: rustPlatform.buildRustPackage rec { @@ -27,23 +20,6 @@ rustPlatform.buildRustPackage rec { buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; - # tests are broken on darwin - doCheck = !stdenv.isDarwin; - - # fish needs a writable HOME for whatever reason - preCheck = '' - export HOME=$(mktemp -d) - ''; - - checkInputs = [ - fish - powershell - shellcheck - shfmt - xonsh - zsh - ]; - postPatch = lib.optionalString withFzf '' substituteInPlace src/fzf.rs \ --replace '"fzf"' '"${fzf}/bin/fzf"' diff --git a/pkgs/tools/networking/boundary/default.nix b/pkgs/tools/networking/boundary/default.nix index 50b3fa07782..1eb445cfd3e 100644 --- a/pkgs/tools/networking/boundary/default.nix +++ b/pkgs/tools/networking/boundary/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "boundary"; - version = "0.1.8"; + version = "0.2.0"; src = let @@ -18,9 +18,9 @@ stdenv.mkDerivation rec { }; in fetchsrc version { - x86_64-linux = "sha256-CZueZqN1XoSmqOsocGwUoIZ5878uSHFYW2KDURWRHhM="; - aarch64-linux = "sha256-/pl9MzR4GFjiefc7Sde+jTGi/QaY3U/An8J5+KQR/68="; - x86_64-darwin = "sha256-kkqROFXvEpxRySByGtmGtFJPBr5Dw3BOPQ+bArqLxAA="; + x86_64-linux = "sha256-4h1Lx+Et1AfX75Cn0YUhV4MkEtzP6ICqAHVKex3PBpg="; + aarch64-linux = "sha256-i7gzv8GdDgikPT1tMia4xltEYiIZ/VNRbAiGF2o8oKA="; + x86_64-darwin = "sha256-tleIY1loPE61n59Qc9CJeropRUvTBbcIA8xmB1SaMt8="; }; dontConfigure = true; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index fe162e3723f..7cc648b1a9f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -946,6 +946,8 @@ mapAliases ({ zplugin = zinit; # Added 2021-01-30 + posix_man_pages = man-pages-posix; # Added 2021-04-15 + /* If these are in the scope of all-packages.nix, they cause collisions between mixed versions of qt. See: https://github.com/NixOS/nixpkgs/pull/101369 */ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 909cd99e7eb..397338eb824 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21295,6 +21295,8 @@ in man-pages = callPackage ../data/documentation/man-pages { }; + man-pages-posix = callPackage ../data/documentation/man-pages-posix { }; + manrope = callPackage ../data/fonts/manrope { }; marwaita = callPackage ../data/themes/marwaita { }; @@ -21468,8 +21470,6 @@ in inherit (plasma5Packages) breeze-icons; }; - posix_man_pages = callPackage ../data/documentation/man-pages-posix { }; - powerline-fonts = callPackage ../data/fonts/powerline-fonts { }; powerline-symbols = callPackage ../data/fonts/powerline-symbols { }; @@ -23973,7 +23973,7 @@ in kooha = callPackage ../applications/video/kooha { }; - kotatogram-desktop = libsForQt514.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { }; + kotatogram-desktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { }; kpt = callPackage ../applications/networking/cluster/kpt { }; @@ -26114,6 +26114,8 @@ in timewarrior = callPackage ../applications/misc/timewarrior { }; + timg = callPackage ../tools/graphics/timg { }; + timidity = callPackage ../tools/misc/timidity { }; tint2 = callPackage ../applications/misc/tint2 { }; @@ -30325,6 +30327,7 @@ in terraform_0_12 terraform_0_13 terraform_0_14 + terraform_0_15 terraform_plugins_test ;