Merge master into staging-next

authored by github-actions[bot] and committed by GitHub 9e8540af dd4afc7c

+218 -84
+1
.github/CODEOWNERS
··· 48 /pkgs/build-support/writers @lassulus @Profpatsch 49 50 # Nixpkgs documentation 51 /maintainers/scripts/db-to-md.sh @jtojnar @ryantm 52 /maintainers/scripts/doc @jtojnar @ryantm 53 /doc/build-aux/pandoc-filters @jtojnar
··· 48 /pkgs/build-support/writers @lassulus @Profpatsch 49 50 # Nixpkgs documentation 51 + /doc @fricklerhandwerk 52 /maintainers/scripts/db-to-md.sh @jtojnar @ryantm 53 /maintainers/scripts/doc @jtojnar @ryantm 54 /doc/build-aux/pandoc-filters @jtojnar
+70 -7
doc/stdenv/stdenv.chapter.md
··· 77 source $stdenv/setup 78 ``` 79 80 - to let `stdenv` set up the environment (e.g., process the `buildInputs`). If you want, you can still use `stdenv`’s generic builder: 81 82 ```bash 83 source $stdenv/setup ··· 698 699 ### The fixup phase {#ssec-fixup-phase} 700 701 - The fixup phase performs some (Nix-specific) post-processing actions on the files installed under `$out` by the install phase. The default `fixupPhase` does the following: 702 703 - It moves the `man/`, `doc/` and `info/` subdirectories of `$out` to `share/`. 704 - It strips libraries and executables of debug information. 705 - On Linux, it applies the `patchelf` command to ELF executables and libraries to remove unused directories from the `RPATH` in order to prevent unnecessary runtime dependencies. 706 - - It rewrites the interpreter paths of shell scripts to paths found in `PATH`. E.g., `/usr/bin/perl` will be rewritten to `/nix/store/some-perl/bin/perl` found in `PATH`. 707 708 #### Variables controlling the fixup phase {#variables-controlling-the-fixup-phase} 709 ··· 749 750 ##### `dontPatchShebangs` {#var-stdenv-dontPatchShebangs} 751 752 - If set, scripts starting with `#!` do not have their interpreter paths rewritten to paths in the Nix store. 753 754 ##### `dontPruneLibtoolFiles` {#var-stdenv-dontPruneLibtoolFiles} 755 ··· 983 984 The *existence* of setups hooks has long been documented and packages inside Nixpkgs are free to use this mechanism. Other packages, however, should not rely on these mechanisms not changing between Nixpkgs versions. Because of the existing issues with this system, there’s little benefit from mandating it be stable for any period of time. 985 986 - First, let’s cover some setup hooks that are part of Nixpkgs default stdenv. This means that they are run for every package built using `stdenv.mkDerivation`. Some of these are platform specific, so they may run on Linux but not Darwin or vice-versa. 987 988 ### `move-docs.sh` {#move-docs.sh} 989 ··· 999 1000 ### `patch-shebangs.sh` {#patch-shebangs.sh} 1001 1002 - This setup hook patches installed scripts to use the full path to the shebang interpreter. A shebang interpreter is the first commented line of a script telling the operating system which program will run the script (e.g `#!/bin/bash`). In Nix, we want an exact path to that interpreter to be used. This often replaces `/bin/sh` with a path in the Nix store. 1003 1004 ### `audit-tmpdir.sh` {#audit-tmpdir.sh} 1005 ··· 1316 1317 [^footnote-stdenv-ignored-build-platform]: The build platform is ignored because it is a mere implementation detail of the package satisfying the dependency: As a general programming principle, dependencies are always *specified* as interfaces, not concrete implementation. 1318 [^footnote-stdenv-native-dependencies-in-path]: Currently, this means for native builds all dependencies are put on the `PATH`. But in the future that may not be the case for sake of matching cross: the platforms would be assumed to be unique for native and cross builds alike, so only the `depsBuild*` and `nativeBuildInputs` would be added to the `PATH`. 1319 - [^footnote-stdenv-propagated-dependencies]: Nix itself already takes a package’s transitive dependencies into account, but this propagation ensures nixpkgs-specific infrastructure like setup hooks (mentioned above) also are run as if the propagated dependency. 1320 [^footnote-stdenv-find-inputs-location]: The `findInputs` function, currently residing in `pkgs/stdenv/generic/setup.sh`, implements the propagation logic. 1321 [^footnote-stdenv-sys-lib-search-path]: It clears the `sys_lib_*search_path` variables in the Libtool script to prevent Libtool from using libraries in `/usr/lib` and such. 1322 [^footnote-stdenv-build-time-guessing-impurity]: Eventually these will be passed building natively as well, to improve determinism: build-time guessing, as is done today, is a risk of impurity.
··· 77 source $stdenv/setup 78 ``` 79 80 + to let `stdenv` set up the environment (e.g. by resetting `PATH` and populating it from build inputs). If you want, you can still use `stdenv`’s generic builder: 81 82 ```bash 83 source $stdenv/setup ··· 698 699 ### The fixup phase {#ssec-fixup-phase} 700 701 + The fixup phase performs (Nix-specific) post-processing actions on the files installed under `$out` by the install phase. The default `fixupPhase` does the following: 702 703 - It moves the `man/`, `doc/` and `info/` subdirectories of `$out` to `share/`. 704 - It strips libraries and executables of debug information. 705 - On Linux, it applies the `patchelf` command to ELF executables and libraries to remove unused directories from the `RPATH` in order to prevent unnecessary runtime dependencies. 706 + - It rewrites the interpreter paths of shell scripts to paths found in `PATH`. E.g., `/usr/bin/perl` will be rewritten to `/nix/store/some-perl/bin/perl` found in `PATH`. See [](#patch-shebangs.sh) for details. 707 708 #### Variables controlling the fixup phase {#variables-controlling-the-fixup-phase} 709 ··· 749 750 ##### `dontPatchShebangs` {#var-stdenv-dontPatchShebangs} 751 752 + If set, scripts starting with `#!` do not have their interpreter paths rewritten to paths in the Nix store. See [](#patch-shebangs.sh) on how patching shebangs works. 753 754 ##### `dontPruneLibtoolFiles` {#var-stdenv-dontPruneLibtoolFiles} 755 ··· 983 984 The *existence* of setups hooks has long been documented and packages inside Nixpkgs are free to use this mechanism. Other packages, however, should not rely on these mechanisms not changing between Nixpkgs versions. Because of the existing issues with this system, there’s little benefit from mandating it be stable for any period of time. 985 986 + First, let’s cover some setup hooks that are part of Nixpkgs default `stdenv`. This means that they are run for every package built using `stdenv.mkDerivation` or when using a custom builder that has `source $stdenv/setup`. Some of these are platform specific, so they may run on Linux but not Darwin or vice-versa. 987 988 ### `move-docs.sh` {#move-docs.sh} 989 ··· 999 1000 ### `patch-shebangs.sh` {#patch-shebangs.sh} 1001 1002 + This setup hook patches installed scripts to add Nix store paths to their shebang interpreter as found in the build environment. The [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) line tells a Unix-like operating system which interpreter to use to execute the script's contents. 1003 + 1004 + ::: note 1005 + The [generic builder][generic-builder] populates `PATH` from inputs of the derivation. 1006 + ::: 1007 + 1008 + [generic-builder]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/pkgs/stdenv/generic/builder.sh 1009 + 1010 + #### Invocation {#patch-shebangs.sh-invocation} 1011 + 1012 + Multiple paths can be specified. 1013 + 1014 + ``` 1015 + patchShebangs [--build | --host] PATH... 1016 + ``` 1017 + 1018 + ##### Flags 1019 + 1020 + `--build` 1021 + : Look up commands available at build time 1022 + 1023 + `--host` 1024 + : Look up commands available at run time 1025 + 1026 + ##### Examples 1027 + 1028 + ```sh 1029 + patchShebangs --host /nix/store/<hash>-hello-1.0/bin 1030 + ``` 1031 + 1032 + ```sh 1033 + patchShebangs --build configure 1034 + ``` 1035 + 1036 + `#!/bin/sh` will be rewritten to `#!/nix/store/<hash>-some-bash/bin/sh`. 1037 + 1038 + `#!/usr/bin/env` gets special treatment: `#!/usr/bin/env python` is rewritten to `/nix/store/<hash>/bin/python`. 1039 + 1040 + Interpreter paths that point to a valid Nix store location are not changed. 1041 + 1042 + ::: note 1043 + A script file must be marked as executable, otherwise it will not be 1044 + considered. 1045 + ::: 1046 + 1047 + This mechanism ensures that the interpreter for a given script is always found and is exactly the one specified by the build. 1048 + 1049 + It can be disabled by setting [`dontPatchShebangs`](#var-stdenv-dontPatchShebangs): 1050 + 1051 + ```nix 1052 + stdenv.mkDerivation { 1053 + # ... 1054 + dontPatchShebangs = true; 1055 + # ... 1056 + } 1057 + ``` 1058 + 1059 + The file [`patch-shebangs.sh`][patch-shebangs.sh] defines the [`patchShebangs`][patchShebangs] function. It is used to implement [`patchShebangsAuto`][patchShebangsAuto], the [setup hook](#ssec-setup-hooks) that is registered to run during the [fixup phase](#ssec-fixup-phase) by default. 1060 + 1061 + If you need to run `patchShebangs` at build time, it must be called explicitly within [one of the build phases](#sec-stdenv-phases). 1062 + 1063 + [patch-shebangs.sh]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/pkgs/build-support/setup-hooks/patch-shebangs.sh 1064 + [patchShebangs]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/pkgs/build-support/setup-hooks/patch-shebangs.sh#L24-L105 1065 + [patchShebangsAuto]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/pkgs/build-support/setup-hooks/patch-shebangs.sh#L107-L119 1066 1067 ### `audit-tmpdir.sh` {#audit-tmpdir.sh} 1068 ··· 1379 1380 [^footnote-stdenv-ignored-build-platform]: The build platform is ignored because it is a mere implementation detail of the package satisfying the dependency: As a general programming principle, dependencies are always *specified* as interfaces, not concrete implementation. 1381 [^footnote-stdenv-native-dependencies-in-path]: Currently, this means for native builds all dependencies are put on the `PATH`. But in the future that may not be the case for sake of matching cross: the platforms would be assumed to be unique for native and cross builds alike, so only the `depsBuild*` and `nativeBuildInputs` would be added to the `PATH`. 1382 + [^footnote-stdenv-propagated-dependencies]: Nix itself already takes a package’s transitive dependencies into account, but this propagation ensures nixpkgs-specific infrastructure like [setup hooks](#ssec-setup-hooks) also are run as if it were a propagated dependency. 1383 [^footnote-stdenv-find-inputs-location]: The `findInputs` function, currently residing in `pkgs/stdenv/generic/setup.sh`, implements the propagation logic. 1384 [^footnote-stdenv-sys-lib-search-path]: It clears the `sys_lib_*search_path` variables in the Libtool script to prevent Libtool from using libraries in `/usr/lib` and such. 1385 [^footnote-stdenv-build-time-guessing-impurity]: Eventually these will be passed building natively as well, to improve determinism: build-time guessing, as is done today, is a risk of impurity.
+16 -6
nixos/modules/virtualisation/proxmox-image.nix
··· 127 name = "proxmox-${cfg.filenameSuffix}"; 128 postVM = let 129 # Build qemu with PVE's patch that adds support for the VMA format 130 - vma = pkgs.qemu_kvm.overrideAttrs ( super: { 131 patches = let 132 - rev = "cc707c362ea5c8d832aac270d1ffa7ac66a8908f"; 133 - path = "debian/patches/pve/0025-PVE-Backup-add-vma-backup-format-code.patch"; 134 vma-patch = pkgs.fetchpatch { 135 - url = "https://git.proxmox.com/?p=pve-qemu.git;a=blob_plain;hb=${rev};f=${path}"; 136 - sha256 = "1z467xnmfmry3pjy7p34psd5xdil9x0apnbvfz8qbj0bf9fgc8zf"; 137 }; 138 - in super.patches ++ [ vma-patch ]; 139 buildInputs = super.buildInputs ++ [ pkgs.libuuid ]; 140 }); 141 in 142 ''
··· 127 name = "proxmox-${cfg.filenameSuffix}"; 128 postVM = let 129 # Build qemu with PVE's patch that adds support for the VMA format 130 + vma = pkgs.qemu_kvm.overrideAttrs ( super: rec { 131 + 132 + # proxmox's VMA patch doesn't work with qemu 7.0 yet 133 + version = "6.2.0"; 134 + src = pkgs.fetchurl { 135 + url= "https://download.qemu.org/qemu-${version}.tar.xz"; 136 + hash = "sha256-aOFdjkWsVjJuC5pK+otJo9/oq6NIgiHQmMhGmLymW0U="; 137 + }; 138 + 139 patches = let 140 + rev = "b37b17c286da3d32945fbee8ee4fd97a418a50db"; 141 + path = "debian/patches/pve/0026-PVE-Backup-add-vma-backup-format-code.patch"; 142 vma-patch = pkgs.fetchpatch { 143 + url = "https://git.proxmox.com/?p=pve-qemu.git;a=blob_plain;h=${rev};f=${path}"; 144 + hash = "sha256-siuDWDUnM9Zq0/L2Faww3ELAOUHhVIHu5RAQn6L4Atc="; 145 }; 146 + in [ vma-patch ]; 147 + 148 buildInputs = super.buildInputs ++ [ pkgs.libuuid ]; 149 + 150 }); 151 in 152 ''
+23
nixos/release.nix
··· 221 222 ); 223 224 225 # A disk image that can be imported to Amazon EC2 and registered as an AMI 226 amazonImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
··· 221 222 ); 223 224 + # KVM image for proxmox in VMA format 225 + proxmoxImage = forMatchingSystems [ "x86_64-linux" ] (system: 226 + with import ./.. { inherit system; }; 227 + 228 + hydraJob ((import lib/eval-config.nix { 229 + inherit system; 230 + modules = [ 231 + ./modules/virtualisation/proxmox-image.nix 232 + ]; 233 + }).config.system.build.VMA) 234 + ); 235 + 236 + # LXC tarball for proxmox 237 + proxmoxLXC = forMatchingSystems [ "x86_64-linux" ] (system: 238 + with import ./.. { inherit system; }; 239 + 240 + hydraJob ((import lib/eval-config.nix { 241 + inherit system; 242 + modules = [ 243 + ./modules/virtualisation/proxmox-lxc.nix 244 + ]; 245 + }).config.system.build.tarball) 246 + ); 247 248 # A disk image that can be imported to Amazon EC2 and registered as an AMI 249 amazonImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
+2 -2
pkgs/applications/blockchains/exodus/default.nix
··· 4 5 stdenv.mkDerivation rec { 6 pname = "exodus"; 7 - version = "22.2.25"; 8 9 src = fetchurl { 10 url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip"; 11 - sha256 = "sha256-YbApI9rIk1653Hp3hsXJrxBMpaGn6Wv3WhZiQWAfPQM="; 12 }; 13 14 sourceRoot = ".";
··· 4 5 stdenv.mkDerivation rec { 6 pname = "exodus"; 7 + version = "22.6.17"; 8 9 src = fetchurl { 10 url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip"; 11 + sha256 = "1gllmrmc1gylw54yrgy1ggpn3kvkyxf7ydjvd5n5kvd8d9xh78ng"; 12 }; 13 14 sourceRoot = ".";
+2
pkgs/applications/editors/neovim/neovim-remote.nix
··· 33 "test_escape_double_quotes_in_filenames" 34 ]; 35 36 meta = with lib; { 37 description = "A tool that helps controlling nvim processes from a terminal"; 38 homepage = "https://github.com/mhinz/neovim-remote/";
··· 33 "test_escape_double_quotes_in_filenames" 34 ]; 35 36 + doCheck = !stdenv.isDarwin; 37 + 38 meta = with lib; { 39 description = "A tool that helps controlling nvim processes from a terminal"; 40 homepage = "https://github.com/mhinz/neovim-remote/";
+56 -26
pkgs/applications/misc/albert/default.nix
··· 1 - { mkDerivation, lib, fetchFromGitHub, makeWrapper, qtbase, 2 - qtdeclarative, qtsvg, qtx11extras, muparser, cmake, python3, 3 - qtcharts }: 4 5 - mkDerivation rec { 6 pname = "albert"; 7 - version = "0.17.2"; 8 9 src = fetchFromGitHub { 10 - owner = "albertlauncher"; 11 - repo = "albert"; 12 - rev = "v${version}"; 13 - sha256 = "0lpp8rqx5b6rwdpcdldfdlw5327harr378wnfbc6rp3ajmlb4p7w"; 14 fetchSubmodules = true; 15 }; 16 17 - nativeBuildInputs = [ cmake makeWrapper ]; 18 - 19 - buildInputs = [ qtbase qtdeclarative qtsvg qtx11extras muparser python3 qtcharts ]; 20 21 - # We don't have virtualbox sdk so disable plugin 22 - cmakeFlags = [ "-DBUILD_VIRTUALBOX=OFF" "-DCMAKE_INSTALL_LIBDIR=libs" ]; 23 24 postPatch = '' 25 - sed -i "/QStringList dirs = {/a \"$out/libs\"," \ 26 - src/app/main.cpp 27 ''; 28 29 - preBuild = '' 30 - mkdir -p "$out/" 31 - ln -s "$PWD/lib" "$out/lib" 32 ''; 33 34 - postBuild = '' 35 - rm "$out/lib" 36 - ''; 37 38 meta = with lib; { 39 - homepage = "https://albertlauncher.github.io/"; 40 - description = "Desktop agnostic launcher"; 41 - license = licenses.gpl3Plus; 42 maintainers = with maintainers; [ ericsagnes synthetica ]; 43 - platforms = platforms.linux; 44 }; 45 }
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , cmake 5 + , muparser 6 + , python3 7 + , qtbase 8 + , qtcharts 9 + , qtdeclarative 10 + , qtgraphicaleffects 11 + , qtsvg 12 + , qtx11extras 13 + , wrapQtAppsHook 14 + , nix-update-script 15 + }: 16 17 + stdenv.mkDerivation rec { 18 pname = "albert"; 19 + version = "0.17.3"; 20 21 src = fetchFromGitHub { 22 + owner = "albertlauncher"; 23 + repo = "albert"; 24 + rev = "v${version}"; 25 + sha256 = "sha256-UIG6yLkIcdf5IszhNPwkBcSfZe4/CyI5shK/QPOmpPE="; 26 fetchSubmodules = true; 27 }; 28 29 + nativeBuildInputs = [ 30 + cmake 31 + wrapQtAppsHook 32 + ]; 33 34 + buildInputs = [ 35 + muparser 36 + python3 37 + qtbase 38 + qtcharts 39 + qtdeclarative 40 + qtgraphicaleffects 41 + qtsvg 42 + qtx11extras 43 + ]; 44 45 postPatch = '' 46 + find -type f -name CMakeLists.txt -exec sed -i {} -e '/INSTALL_RPATH/d' \; 47 + 48 + sed -i src/app/main.cpp \ 49 + -e "/QStringList dirs = {/a QFileInfo(\"$out/lib\").canonicalFilePath()," 50 ''; 51 52 + postFixup = '' 53 + for i in $out/{bin/.albert-wrapped,lib/albert/plugins/*.so}; do 54 + patchelf $i --add-rpath $out/lib/albert 55 + done 56 ''; 57 58 + passthru.updateScript = nix-update-script { 59 + attrPath = pname; 60 + }; 61 62 meta = with lib; { 63 + description = "A fast and flexible keyboard launcher"; 64 + longDescription = '' 65 + Albert is a desktop agnostic launcher. Its goals are usability and beauty, 66 + performance and extensibility. It is written in C++ and based on the Qt 67 + framework. 68 + ''; 69 + homepage = "https://albertlauncher.github.io"; 70 + changelog = "https://github.com/albertlauncher/albert/blob/${src.rev}/CHANGELOG.md"; 71 + license = licenses.gpl3Plus; 72 maintainers = with maintainers; [ ericsagnes synthetica ]; 73 + platforms = platforms.linux; 74 }; 75 }
+1 -1
pkgs/applications/networking/cluster/velero/default.nix
··· 14 15 ldflags = [ 16 "-s" "-w" 17 - "-X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=${version}" 18 "-X github.com/vmware-tanzu/velero/pkg/buildinfo.ImageRegistry=velero" 19 "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean" 20 "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=none"
··· 14 15 ldflags = [ 16 "-s" "-w" 17 + "-X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=v${version}" 18 "-X github.com/vmware-tanzu/velero/pkg/buildinfo.ImageRegistry=velero" 19 "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean" 20 "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=none"
+2 -2
pkgs/applications/office/qownnotes/default.nix
··· 5 6 mkDerivation rec { 7 pname = "qownnotes"; 8 - version = "22.6.1"; 9 10 src = fetchurl { 11 url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; 12 # Fetch the checksum of current version with curl: 13 # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256 14 - sha256 = "c5b2075d42298d28f901ad2df8eb65f5a61aa59727fae9eeb1f92dac1b63d8ba"; 15 }; 16 17 nativeBuildInputs = [ qmake qttools ];
··· 5 6 mkDerivation rec { 7 pname = "qownnotes"; 8 + version = "22.7.1"; 9 10 src = fetchurl { 11 url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; 12 # Fetch the checksum of current version with curl: 13 # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256 14 + sha256 = "9431a3315a533799525217e5ba03757b3c39e8259bf307c81330304f043b8b77"; 15 }; 16 17 nativeBuildInputs = [ qmake qttools ];
+2 -2
pkgs/applications/terminal-emulators/gnome-console/default.nix
··· 22 23 stdenv.mkDerivation rec { 24 pname = "gnome-console"; 25 - version = "42.beta"; 26 27 src = fetchurl { 28 url = "mirror://gnome/sources/gnome-console/${lib.versions.major version}/${pname}-${version}.tar.xz"; 29 - sha256 = "Lq/shyAhDcwB5HqpihvGx2+xwVU2Xax7/NerFwR36DQ="; 30 }; 31 32 buildInputs = [
··· 22 23 stdenv.mkDerivation rec { 24 pname = "gnome-console"; 25 + version = "42.0"; 26 27 src = fetchurl { 28 url = "mirror://gnome/sources/gnome-console/${lib.versions.major version}/${pname}-${version}.tar.xz"; 29 + sha256 = "Fae8i72047ZZ//DFK2GdxilxkPhnRp2D4wOvSzibuaM="; 30 }; 31 32 buildInputs = [
+5 -5
pkgs/development/compilers/terra/default.nix
··· 2 , symlinkJoin, breakpointHook, cudaPackages, enableCUDA ? false }: 3 4 let 5 - luajitRev = "9143e86498436892cb4316550be4d45b68a61224"; 6 luajitBase = "LuaJIT-${luajitRev}"; 7 luajitArchive = "${luajitBase}.tar.gz"; 8 luajitSrc = fetchFromGitHub { 9 owner = "LuaJIT"; 10 repo = "LuaJIT"; 11 rev = luajitRev; 12 - sha256 = "1zw1yr0375d6jr5x20zvkvk76hkaqamjynbswpl604w6r6id070b"; 13 }; 14 15 llvmMerged = symlinkJoin { ··· 30 31 in stdenv.mkDerivation rec { 32 pname = "terra"; 33 - version = "1.0.0-beta5"; 34 35 src = fetchFromGitHub { 36 owner = "terralang"; 37 repo = "terra"; 38 - rev = "bcc5a81649cb91aaaff33790b39c87feb5f7a4c2"; 39 - sha256 = "0jb147vbvix3zvrq6ln321jdxjgr6z68pdrirjp4zqmx78yqlcx3"; 40 }; 41 42 nativeBuildInputs = [ cmake ];
··· 2 , symlinkJoin, breakpointHook, cudaPackages, enableCUDA ? false }: 3 4 let 5 + luajitRev = "6053b04815ecbc8eec1e361ceb64e68fb8fac1b3"; 6 luajitBase = "LuaJIT-${luajitRev}"; 7 luajitArchive = "${luajitBase}.tar.gz"; 8 luajitSrc = fetchFromGitHub { 9 owner = "LuaJIT"; 10 repo = "LuaJIT"; 11 rev = luajitRev; 12 + sha256 = "1caxm1js877mky8hci1km3ycz2hbwpm6xbyjha72gfc7lr6pc429"; 13 }; 14 15 llvmMerged = symlinkJoin { ··· 30 31 in stdenv.mkDerivation rec { 32 pname = "terra"; 33 + version = "1.0.4"; 34 35 src = fetchFromGitHub { 36 owner = "terralang"; 37 repo = "terra"; 38 + rev = "release-${version}"; 39 + sha256 = "07715qsc316h0mmsjifr1ja5fbp216ji70hpq665r0v5ikiqjfsv"; 40 }; 41 42 nativeBuildInputs = [ cmake ];
+2 -2
pkgs/development/libraries/gjs/default.nix
··· 31 ]; 32 in stdenv.mkDerivation rec { 33 pname = "gjs"; 34 - version = "1.72.0"; 35 36 outputs = [ "out" "dev" "installedTests" ]; 37 38 src = fetchurl { 39 url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 40 - sha256 = "sha256-PvDK9xbjkg3WH3dI9tVuR2zA/Bg1GtBUjn3xoKub3K0="; 41 }; 42 43 patches = [
··· 31 ]; 32 in stdenv.mkDerivation rec { 33 pname = "gjs"; 34 + version = "1.72.1"; 35 36 outputs = [ "out" "dev" "installedTests" ]; 37 38 src = fetchurl { 39 url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 40 + sha256 = "sha256-F8Cx7D8JZnH/i/q6bku/FBmMcBPGBL/Wd6mFjaB5wKs="; 41 }; 42 43 patches = [
+2 -2
pkgs/development/libraries/gnome-desktop/default.nix
··· 27 28 stdenv.mkDerivation rec { 29 pname = "gnome-desktop"; 30 - version = "42.2"; 31 32 outputs = [ "out" "dev" "devdoc" ]; 33 34 src = fetchurl { 35 url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz"; 36 - sha256 = "sha256-9CsU6sjRRWwr/B+8l+9q/knI3W9XeW6P1f6zkzHtVb0="; 37 }; 38 39 patches = [
··· 27 28 stdenv.mkDerivation rec { 29 pname = "gnome-desktop"; 30 + version = "42.3"; 31 32 outputs = [ "out" "dev" "devdoc" ]; 33 34 src = fetchurl { 35 url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz"; 36 + sha256 = "sha256-2lBBC48Z/X53WwDR/g26Z/xeEVHe0pkVjcJd2tw/qKk="; 37 }; 38 39 patches = [
+6 -4
pkgs/development/libraries/librest/1.0.nix
··· 7 , gi-docgen 8 , glib 9 , json-glib 10 - , libsoup 11 , gobject-introspection 12 , gnome 13 }: 14 15 stdenv.mkDerivation rec { 16 pname = "rest"; 17 - version = "0.9.0"; 18 19 outputs = [ "out" "dev" "devdoc" ]; 20 21 src = fetchurl { 22 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 23 - sha256 = "hbK8k0ESgTlTm1PuU/BTMxC8ljkv1kWGOgQEELgevmY="; 24 }; 25 26 nativeBuildInputs = [ ··· 34 buildInputs = [ 35 glib 36 json-glib 37 - libsoup 38 ]; 39 40 mesonFlags = [
··· 7 , gi-docgen 8 , glib 9 , json-glib 10 + , libsoup_3 11 + , libxml2 12 , gobject-introspection 13 , gnome 14 }: 15 16 stdenv.mkDerivation rec { 17 pname = "rest"; 18 + version = "0.9.1"; 19 20 outputs = [ "out" "dev" "devdoc" ]; 21 22 src = fetchurl { 23 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 24 + sha256 = "kmalwQ7OOD4ZPft/+we1CcwfUVIauNrXavlu0UISwuM="; 25 }; 26 27 nativeBuildInputs = [ ··· 35 buildInputs = [ 36 glib 37 json-glib 38 + libsoup_3 39 + libxml2 40 ]; 41 42 mesonFlags = [
+2 -2
pkgs/development/python-modules/google-cloud-iot/default.nix
··· 12 13 buildPythonPackage rec { 14 pname = "google-cloud-iot"; 15 - version = "2.5.1"; 16 17 src = fetchPypi { 18 inherit pname version; 19 - sha256 = "sha256-Y71v505bwXEV1u28WFAHs12Qx0tKY7BDjFCc+oBgZcw="; 20 }; 21 22 propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
··· 12 13 buildPythonPackage rec { 14 pname = "google-cloud-iot"; 15 + version = "2.6.0"; 16 17 src = fetchPypi { 18 inherit pname version; 19 + sha256 = "sha256-XfF4+F4+LmRyxn8Zs3gI2RegFb3Y+uoAinEqcLeWCGM="; 20 }; 21 22 propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
+2 -2
pkgs/development/python-modules/google-cloud-logging/default.nix
··· 17 18 buildPythonPackage rec { 19 pname = "google-cloud-logging"; 20 - version = "3.1.2"; 21 format = "setuptools"; 22 23 disabled = pythonOlder "3.6"; 24 25 src = fetchPypi { 26 inherit pname version; 27 - hash = "sha256-PtAKi9IHb+56HcBTiA/LPJcxhIB+JA+MPAkp3XSOr38="; 28 }; 29 30 propagatedBuildInputs = [
··· 17 18 buildPythonPackage rec { 19 pname = "google-cloud-logging"; 20 + version = "3.2.0"; 21 format = "setuptools"; 22 23 disabled = pythonOlder "3.6"; 24 25 src = fetchPypi { 26 inherit pname version; 27 + hash = "sha256-DHFg4s1saEVhTk+IDqrmLaIM4nwjmBj72osp16YnruY="; 28 }; 29 30 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
··· 9 10 buildPythonPackage rec { 11 pname = "google-cloud-runtimeconfig"; 12 - version = "0.33.1"; 13 14 src = fetchPypi { 15 inherit pname version; 16 - sha256 = "sha256-SKinB6fiBh+oe+lb2IGMD6248DDOrG7g3kiFpMGX4BU="; 17 }; 18 19 propagatedBuildInputs = [ google-api-core google-cloud-core ];
··· 9 10 buildPythonPackage rec { 11 pname = "google-cloud-runtimeconfig"; 12 + version = "0.33.2"; 13 14 src = fetchPypi { 15 inherit pname version; 16 + sha256 = "sha256-MPmyvm2FSrUzb1y5i4xl5Cqea6sxixLoZ7V1hxNi7hw="; 17 }; 18 19 propagatedBuildInputs = [ google-api-core google-cloud-core ];
+5 -12
pkgs/development/tools/misc/d-spy/default.nix
··· 1 { stdenv 2 , lib 3 , desktop-file-utils 4 - , fetchpatch 5 , fetchurl 6 , glib 7 , gtk4 8 , libadwaita 9 , meson ··· 15 16 stdenv.mkDerivation rec { 17 pname = "d-spy"; 18 - version = "1.2.0"; 19 20 outputs = [ "out" "lib" "dev" ]; 21 22 src = fetchurl { 23 url = "mirror://gnome/sources/dspy/${lib.versions.majorMinor version}/dspy-${version}.tar.xz"; 24 - sha256 = "XKL0z00w0va9m1OfuVq5YJyE1jzeynBxb50jc+O99tQ="; 25 }; 26 27 - patches = [ 28 - # Remove pointless dependencies 29 - # https://gitlab.gnome.org/GNOME/d-spy/-/merge_requests/6 30 - (fetchpatch { 31 - url = "https://gitlab.gnome.org/GNOME/d-spy/-/commit/5a0ec8d53d006e95e93c6d6e32a381eb248b12a1.patch"; 32 - sha256 = "jalfdAXcH8GZ50qb2peG+2841cGan4EhwN88z5Ewf+k="; 33 - }) 34 - ]; 35 - 36 nativeBuildInputs = [ 37 meson 38 ninja 39 pkg-config 40 desktop-file-utils 41 wrapGAppsHook4 42 ]; 43 44 buildInputs = [
··· 1 { stdenv 2 , lib 3 , desktop-file-utils 4 , fetchurl 5 , glib 6 + , gettext 7 , gtk4 8 , libadwaita 9 , meson ··· 15 16 stdenv.mkDerivation rec { 17 pname = "d-spy"; 18 + version = "1.2.1"; 19 20 outputs = [ "out" "lib" "dev" ]; 21 22 src = fetchurl { 23 url = "mirror://gnome/sources/dspy/${lib.versions.majorMinor version}/dspy-${version}.tar.xz"; 24 + sha256 = "TjnA1to687eJASJd0VEjOFe+Ihtfs62CwdsVhyNrZlI="; 25 }; 26 27 nativeBuildInputs = [ 28 meson 29 ninja 30 pkg-config 31 desktop-file-utils 32 wrapGAppsHook4 33 + gettext 34 + glib 35 ]; 36 37 buildInputs = [
+14 -4
pkgs/tools/graphics/wkhtmltopdf/default.nix
··· 1 - { mkDerivation, lib, fetchFromGitHub, qtwebkit, qtsvg, qtxmlpatterns 2 - , fontconfig, freetype, libpng, zlib, libjpeg 3 , openssl, libX11, libXext, libXrender }: 4 5 - mkDerivation rec { 6 version = "0.12.6"; 7 pname = "wkhtmltopdf"; 8 ··· 13 sha256 = "0m2zy986kzcpg0g3bvvm815ap9n5ann5f6bdy7pfj6jv482bm5mg"; 14 }; 15 16 buildInputs = [ 17 fontconfig freetype libpng zlib libjpeg openssl 18 libX11 libXext libXrender ··· 23 for f in src/image/image.pro src/pdf/pdf.pro ; do 24 substituteInPlace $f --replace '$(INSTALL_ROOT)' "" 25 done 26 ''; 27 28 configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out"; ··· 42 ''; 43 license = licenses.gpl3Plus; 44 maintainers = with maintainers; [ jb55 ]; 45 - platforms = with platforms; linux; 46 }; 47 }
··· 1 + { stdenv, lib, fetchFromGitHub, qtwebkit, qtsvg, qtxmlpatterns 2 + , fontconfig, freetype, libpng, zlib, libjpeg, wrapQtAppsHook 3 , openssl, libX11, libXext, libXrender }: 4 5 + stdenv.mkDerivation rec { 6 version = "0.12.6"; 7 pname = "wkhtmltopdf"; 8 ··· 13 sha256 = "0m2zy986kzcpg0g3bvvm815ap9n5ann5f6bdy7pfj6jv482bm5mg"; 14 }; 15 16 + nativeBuildInputs = [ 17 + wrapQtAppsHook 18 + ]; 19 + 20 buildInputs = [ 21 fontconfig freetype libpng zlib libjpeg openssl 22 libX11 libXext libXrender ··· 27 for f in src/image/image.pro src/pdf/pdf.pro ; do 28 substituteInPlace $f --replace '$(INSTALL_ROOT)' "" 29 done 30 + ''; 31 + 32 + # rewrite library path 33 + postInstall = lib.optionalString stdenv.isDarwin '' 34 + install_name_tool -change libwkhtmltox.0.dylib $out/lib/libwkhtmltox.0.dylib $out/bin/wkhtmltopdf 35 + install_name_tool -change libwkhtmltox.0.dylib $out/lib/libwkhtmltox.0.dylib $out/bin/wkhtmltoimage 36 ''; 37 38 configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out"; ··· 52 ''; 53 license = licenses.gpl3Plus; 54 maintainers = with maintainers; [ jb55 ]; 55 + platforms = platforms.unix; 56 }; 57 }
+3 -3
pkgs/tools/inputmethods/remote-touchpad/default.nix
··· 9 10 buildGoModule rec { 11 pname = "remote-touchpad"; 12 - version = "1.2.0"; 13 14 src = fetchFromGitHub { 15 owner = "unrud"; 16 repo = pname; 17 rev = "v${version}"; 18 - sha256 = "sha256-GjXcQyv55yJSAFeNNB+YeCVWav7vMGo/d1FCPoujYjA="; 19 }; 20 21 buildInputs = [ libX11 libXi libXt libXtst ]; 22 tags = [ "portal,x11" ]; 23 24 - vendorSha256 = "sha256-WG8OjtfVemtmHkrMg4O0oofsjtFKmIvcmCn9AYAGIrc="; 25 26 meta = with lib; { 27 description = "Control mouse and keyboard from the webbrowser of a smartphone.";
··· 9 10 buildGoModule rec { 11 pname = "remote-touchpad"; 12 + version = "1.2.1"; 13 14 src = fetchFromGitHub { 15 owner = "unrud"; 16 repo = pname; 17 rev = "v${version}"; 18 + sha256 = "sha256-A7/NLopJkIXwS5rAsf7J6tDL10kNOKCoyAj0tCTW6jQ="; 19 }; 20 21 buildInputs = [ libX11 libXi libXt libXtst ]; 22 tags = [ "portal,x11" ]; 23 24 + vendorSha256 = "sha256-UbDbUjC8R6LcYUPVWZID5dtu5tCV4NB268K6qTXYmZY="; 25 26 meta = with lib; { 27 description = "Control mouse and keyboard from the webbrowser of a smartphone.";