Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2023-01-16 00:02:48 +00:00
committed by GitHub
89 changed files with 952 additions and 421 deletions
+211 -109
View File
@@ -1,4 +1,4 @@
# Haskell {#sec-haskell}
# Haskell {#haskell}
The Haskell infrastructure in nixpkgs has two main purposes: The primary purpose
is to provide a Haskell compiler and build tools as well as infrastructure for
@@ -7,19 +7,10 @@ packaging Haskell-based packages.
The secondary purpose is to provide support for Haskell development environment
including prebuilt Haskell libraries. However, in this area sacrifices have been
made due to self-imposed restrictions in nixpkgs, to lessen the maintenance
effort and improve performance. Therefore, it may be advantageous to use an
alternative to the Haskell infrastructure in nixpkgs for development
environments in some cases. The main limitations are that we only provide
first-class support for the default compiler (currently GHC 9.2.4) and usually
only provide a default and (if different) the latest version of a haskell
package.
effort and improve performance. (More details in the subsection
[Limitations.](#haskell-limitations))
<!-- TODO(@sternensemann): Fix duplication w.r.t. package set generations
and package set rationale from a maintenance perspective. Probably just add
a dedicated section for this…
-->
## Available packages {#sec-haskell-available-packages}
## Available packages {#haskell-available-packages}
The compiler and most build tools are exposed at the top level:
@@ -30,11 +21,12 @@ Many “normal” user facing packages written in Haskell, like `niv` or `cachix
are also exposed at the top level, so there is nothing haskell specific to
installing and using them.
All of these packages originally lived in the `haskellPackages` package set and
are re-exposed with a reduced dependency closure for convenience.
All of these packages originally are defined in the `haskellPackages` package
set and are re-exposed with a reduced dependency closure for convenience.
(see `justStaticExecutables` below)
The `haskellPackages` set includes at least one version of every package from
hackage as well as some manually injected packages. This amounts to a lot of
Hackage as well as some manually injected packages. This amounts to a lot of
packages, so it is hidden from `nix-env -qa` by default for performance reasons.
You can still list all packages in the set like this, though:
@@ -47,24 +39,17 @@ haskellPackages.abacate abac
haskellPackages.abc-puzzle abc-puzzle-0.2.1
```
Also the default set `haskellPackages` is included on [search.nixos.org].
The attribute names in `haskellPackages` always correspond with their name on
hackage. Since hackage allows names that are not valid nix without extra
Hackage. Since Hackage allows names that are not valid Nix without extra
escaping, you sometimes need to extra care when handling attribute names like
`3dmodels`.
For packages that are part of [Stackage], we use the version prescribed by a
Stackage solver (usually the current LTS one) as the default version. For all
other packages we use the latest version from Hackage. Sometimes alternative
versions of packages are provided whose attribute names are their normal name
with their version appended after an underscore, e.g. `Cabal_3_8_1_0`.
<!--
TODO(@sternenseemann):
If you are interested in details how the package set is
populated, read the section [Package set
generation](#sec-haskell-package-set-generation).
-->
other packages we use the latest version from Hackage. See
[below](#haskell-available-versions) to learn which versions exactly are provided.
Roughly half of the 16K packages contained in `haskellPackages` don't actually
build and are marked as broken semi-automatically. Most of those packages are
@@ -74,7 +59,7 @@ Very often fixing them is not a lot of work.
<!--
TODO(@sternenseemann):
How you can help with that is
described in [Fixing a broken package](#sec-haskell-fixing-a-broken-package).
described in [Fixing a broken package](#haskell-fixing-a-broken-package).
-->
`haskellPackages` is built with our default compiler, but we also provide other
@@ -134,6 +119,91 @@ haskell.packages.ghc924.abc-puzzle
Every package set also re-exposes the GHC used to build its packages as `haskell.packages.*.ghc`.
### Available package versions {#haskell-available-versions}
We aim for a “blessed” package set which only contains one version of each
package, like Stackage (and based on it) but with more packages. Normally in
nixpkgs the number of building Haskell packages is roughly two to three times
the size of Stackage. For choosing the version to use for a certain package we
use the following rules:
1. By default, for every package `haskellPackages.foo` is the newest version
found on Hackage (at the time of the last update of our package set).
2. If the Stackage snapshot that we use (usually the newest LTS snapshot)
contains a package, we use the Stackage version as default version for that
package.
3. For some packages, which are not on Stackage, we have manual overrides to
set the default version to a version older than the newest on Hackage. We do
this to get them or their reverse dependencies to compile in our package set.
4. For all packages, for which the newest Hackage version is not the default
version, there will also be a `haskellPackages.foo_x_y_z` package with the
newest version.
5. For some packages, we also manually add other `haskellPackages.foo_x_y_z`
versions, if they are required for a certain build.
Relying on `haskellPackages.foo_x_y_z` attributes in derivations outside
nixpkgs is discouraged because they may change or disappear with every package
set update.
<!-- TODO(@maralorn) We should add a link to callHackage, etc. once we added
them to the docs. -->
All `haskell.packages.*` package sets use the same package descriptions and the same sets
of versions by default. There are however GHC version specific override `.nix`
files to loosen this a bit.
### Dependency resolution
Normally when you build Haskell packages with `cabal-install`, `cabal-install`
does dependency resolution. It will look at all Haskell package versions known
on Hackage and tries to pick for every (transitive) dependency of your build
exactly one version. Those versions need to satisfy all the version constraints
given in the `.cabal` file of your package and all its dependencies.
The [Haskell builder in nixpkgs](#haskell-mkderivation) does no such thing.
It will simply take as input packages with names off the desired dependencies
and just check whether they fulfill the version bounds and (by default, see
`jailbreak`) fail if they dont.
The package resolution is done by the `haskellPackages.callPackage` function
which will, e.g., use `haskellPackages.aeson` for a package input of name
`aeson`.
While this is the default behavior, it is possible to override the dependencies
for a specific package, see
[`override` and `overrideScope`](#haskell-overriding-haskell-packages).
### Limitations {#haskell-limitations}
Our main objective with `haskellPackages` is to package Haskell software in
nixpkgs. This entails some limitations, partially due to self-imposed
restrictions of nixpkgs, partially in the name of maintainability:
* Only the packages built with the default compiler see extensive testing of the
whole package set. For other GHC versions only a few essential packages are
tested and cached.
* As described above we only build one version of most packages.
The experience using an older or newer packaged compiler or using different
versions may be worse, because builds will not be cached on `cache.nixos.org`
or may fail.
Thus, to get the best experience, make sure that your project can be compiled
using the default compiler of nixpkgs and recent versions of its dependencies.
A result of this setup is, that getting a valid build plan for a given
package can sometimes be quite painful, and in fact this is where most of the
maintenance work for `haskellPackages` is required. Besides that, it is not
possible to get the dependencies of a legacy project from nixpkgs or to use a
specific stack solver for compiling a project.
Even though we couldnt use them directly in nixpkgs, it would be desirable
to have tooling to generate working Nix package sets from build plans generated
by `cabal-install` or a specific Stackage snapshot via import-from-derivation.
Sadly we currently dont have tooling for this. For this you might be
interested in the alternative [haskell.nix] framework, which, be warned, is
completely incompatible with packages from `haskellPackages`.
<!-- TODO(@maralorn) Link to package set generation docs in the contributers guide below. -->
## `haskellPackages.mkDerivation` {#haskell-mkderivation}
Every haskell package set has its own haskell-aware `mkDerivation` which is used
@@ -141,7 +211,7 @@ to build its packages. Generally you won't have to interact with this builder
since [cabal2nix][cabal2nix] can generate packages
using it for an arbitrary cabal package definition. Still it is useful to know
the parameters it takes when you need to
[override](#sec-haskell-overriding-haskell-packages) a generated nix expression.
[override](#haskell-overriding-haskell-packages) a generated Nix expression.
`haskellPackages.mkDerivation` is a wrapper around `stdenv.mkDerivation` which
re-defines the default phases to be haskell aware and handles dependency
@@ -152,20 +222,20 @@ but uses the underlying `Cabal` library instead.
### General arguments
`pname`
: Package name, assumed to be the same as on hackage (if applicable)
: Package name, assumed to be the same as on Hackage (if applicable)
`version`
: Packaged version, assumed to be the same as on hackage (if applicable)
: Packaged version, assumed to be the same as on Hackage (if applicable)
`src`
: Source of the package. If omitted, fetch package corresponding to `pname`
and `version` from hackage.
and `version` from Hackage.
`sha256`
: Hash to use for the default case of `src`.
`revision`
: Revision number of the updated cabal file to fetch from hackage.
: Revision number of the updated cabal file to fetch from Hackage.
If `null` (which is the default value), the one included in `src` is used.
`editedCabalFile`
@@ -221,7 +291,7 @@ package. Disabled by default.
Enabled by default if supported.
`enableHsc2hsViaAsm`
: Whether to pass `--via-asm` to `hsc2hs`.
: Whether to pass `--via-asm` to `hsc2hs`. Enabled by default only on Windows.
`hyperlinkSource`
: Whether to render the source as well as part of the haddock documentation
@@ -237,7 +307,7 @@ Defaults to `true`.
`jailbreak`
: Whether to execute [jailbreak-cabal][jailbreak-cabal] before `configurePhase`
to lift any version constraints in the cabal file. Note that this can't
lift version bounds if they are conditional, e.g. if a dependency is hidden
lift version bounds if they are conditional, i.e. if a dependency is hidden
behind a flag.
`enableParallelBuilding`
@@ -245,7 +315,7 @@ behind a flag.
`maxBuildCores`
: Upper limit of jobs to use in parallel for compilation regardless of
`$NIX_BUILD_CORES`. Defaults to 16 as haskell compilation with GHC currently
`$NIX_BUILD_CORES`. Defaults to 16 as Haskell compilation with GHC currently
sees a [performance regression](https://gitlab.haskell.org/ghc/ghc/-/issues/9221)
if too many parallel jobs are used.
@@ -254,7 +324,7 @@ if too many parallel jobs are used.
Defaults to `false`.
`doHaddock`
: Wether to build (HTML) documentation using [haddock][haddock].
: Whether to build (HTML) documentation using [haddock][haddock].
Defaults to `true` if supported.
`testTarget`
@@ -291,8 +361,9 @@ Defaults to `false`.
Is automatically enabled if `doHaddock` is `true`.
`allowInconsistentDependencies`
: If enabled, allow multiple versions of the same package at configure time.
Usually in such a situation compilation would later fail. Defaults to `false`.
: If enabled, allow multiple versions of the same Haskell package in the
dependency tree at configure time. Often in such a situation compilation would
later fail because of type mismatches. Defaults to `false`.
`enableLibraryForGhci`
: Build and install a special object file for GHCi. This improves performance
@@ -303,7 +374,7 @@ disk space. Defaults to `false`.
: Name of the executable or library to build and install.
If unset, all available targets are built and installed.
### Specifying dependencies
### Specifying dependencies {#haskell-derivation-deps}
Since `haskellPackages.mkDerivation` is intended to be generated from cabal
files, it reflects cabal's way of specifying dependencies. For one, dependencies
@@ -393,7 +464,7 @@ That only leaves the following extra ways for specifying dependencies:
: Deprecated, use either `benchmarkHaskellDepends` or `benchmarkSystemDepends`.
The dependency specification methods in this list which are unconditional
are especially useful when writing [overrides](#sec-haskell-overriding-haskell-packages)
are especially useful when writing [overrides](#haskell-overriding-haskell-packages)
when you want to make sure that they are definitely included. However, it is
recommended to use the more accurate ones listed above when possible.
@@ -404,7 +475,7 @@ arguments which are transparently set in `meta` of the resulting derivation. See
the [Meta-attributes section](#chap-meta) for their documentation.
* These attributes are populated with a default value if omitted:
* `homepage`: defaults to the hackage page for `pname`.
* `homepage`: defaults to the Hackage page for `pname`.
* `platforms`: defaults to `lib.platforms.all` (since GHC can cross-compile)
* These attributes are only set if given:
* `description`
@@ -414,41 +485,24 @@ the [Meta-attributes section](#chap-meta) for their documentation.
* `broken`
* `hydraPlatforms`
## Development environments {#sec-haskell-development-environments}
## Development environments {#haskell-development-environments}
In addition to building and installing Haskell software, nixpkgs can also
provide development environments for Haskell projects. This has the obvious
advantage that you benefit from `cache.nixos.org` and no longer need to compile
all project dependencies yourself.
all project dependencies yourself. While it is often very useful, this is not
the primary use case of our package set. Have a look at the section
[available package versions](#haskell-available-versions) to learn which
versions of packages we provide and the section
[limitations](#haskell-limitations), to judge whether a `haskellPackages`
based development environment for your project is feasible.
Our main objective with `haskellPackages` is to package Haskell software in
nixpkgs. This entails some limitations, partially due to self-imposed
restrictions of nixpkgs, partially in the name of maintainability:
* Only the packages built with the default compiler see extensive testing of the
whole package set. The experience using an older or newer packaged compiler
may be worse.
* We aim for a “blessed” package set which only contains one version of each
package.
Thus, to get the best experience, make sure that your project can be compiled
using the default compiler of nixpkgs and recent versions of its dependencies.
“Recent” can either mean the version contained in a certain [Stackage] snapshot
(usually the latest LTS or nightly one) <!-- TODO(@sternenseemann): document our use of solvers -->
or the latest version from Hackage. Similarly to Stackage, we sometimes
intervene and downgrade packages to ensure as many packages as possible can
be compiled together.
In particular, it is not possible to get the dependencies of a legacy project
from nixpkgs or to use a specific stack solver for compiling a project.
Now for the actual development environments: By default every derivation built
using [`haskellPackages.mkDerivation`](#haskell-mkderivation) exposes an
environment suitable for building it interactively as the `env` attribute. For
example, if you have a local checkout of `random`, you can enter a development
environment for it like this (if the dependencies in the development and
packaged version match):
By default, every derivation built using
[`haskellPackages.mkDerivation`](#haskell-mkderivation) exposes an environment
suitable for building it interactively as the `env` attribute. For example, if
you have a local checkout of `random`, you can enter a development environment
for it like this (if the dependencies in the development and packaged version
match):
```console
$ cd ~/src/random
@@ -469,27 +523,26 @@ dependencies of `random`. Note that this environment does not mirror
the environment used to build the package, but is intended as a convenient
tool for development and simple debugging. `env` relies on the `ghcWithPackages`
wrapper which automatically injects a pre-populated package-db into every
GHC invocation. When building the derivation, the appropriate flags would always
be passed explicitly.
GHC invocation. In contrast, using `nix-shell -A haskellPackages.random` will
not result in an environment in which the dependencies are in GHCs package
database. Instead, the Haskell builder will pass in all dependencies explicitly
via configure flags.
`env` mirrors the normal derivation environment in one aspect: It does not include
familiar development tools like `cabal-install`, since we rely on plain `Setup.hs`
to build all packages. However, `cabal-install` will work as expected if in
`PATH` (e.g. when installed globally and using a `nix-shell` without `--pure`).
A declarative and pure way of adding arbitrary development tools is provided
via [`shellFor`](#ssec-haskell-shellFor).
via [`shellFor`](#haskell-shellFor).
<!-- TODO(@sternenseemann): this doesn't work in practice (anymore?)
This topic needs to be investigated again; Deleting the local hackage db is
an easy workaround (ty @maralorn), but some useful features of cabal2nix
depend on it (i.e. cabal2nix cabal://pkg-version).
You can make sure that `cabal-install` doesn't download or build any packages
not provided using Nix by passing `--offline`. There is of course a better way
to add any number of development tools to your `nix-shell` which we'll discuss
later.
-->
When using `cabal-install` for dependency resolution you need to be a bit
careful to achieve build purity. `cabal-install` will find and use all
dependencies installed from the packages `env` via Nix, but it will also
consult Hackage to potentially download and compile dependencies if it cant
find a valid build plan locally. To prevent this you can either never run
`cabal update`, remove the cabal database from your `~/.cabal` folder or run
`cabal` with `--offline`. Note though, that for some usecases `cabal2nix` needs
the local Hackage db.
Often you won't work on a package that is already part of `haskellPackages` or
Hackage, so we first need to write a Nix expression to obtain the development
@@ -502,7 +555,7 @@ my-project.cabal src …
$ cabal2nix ./. > my-project.nix
```
The generated nix expression evaluates to a function ready to be
The generated Nix expression evaluates to a function ready to be
`callPackage`-ed. For now, we can add a minimal `default.nix` which does just
that:
@@ -519,7 +572,7 @@ enter a shell with all the package's dependencies available using `nix-shell
-A env default.nix`. If you have `cabal-install` installed globally, it'll work
inside the shell as expected.
### shellFor {#ssec-haskell-shellFor}
### shellFor {#haskell-shellFor}
Having to install tools globally is obviously not great, especially if you want
to provide a batteries-included `shell.nix` with your project. Luckily there's a
@@ -533,8 +586,8 @@ development environment inside `nix-shell`:
development environment. This should be a function which takes a haskell package
set and returns a list of packages. `shellFor` will pass the used package set to
this function and include all dependencies of the returned package in the build
environment. This means you can reuse nix expressions of packages included in
nixpkgs, but also use local nix expressions like this: `hpkgs: [
environment. This means you can reuse Nix expressions of packages included in
nixpkgs, but also use local Nix expressions like this: `hpkgs: [
(hpkgs.callPackage ./my-project.nix { }) ]`.
`nativeBuildInputs`
@@ -545,9 +598,8 @@ Defaults to `[]`.
`buildInputs`
: Expects a list of derivations to add as library dependencies, like `openssl`.
This is rarely necessary as the haskell package expressions usually track system
dependencies as well. Defaults to `[]`.
<!-- TODO link specifying deps section here -->
dependencies as well. Defaults to `[]`. (see also
[derivation dependencies](#haskell-derivation-deps))
`withHoogle`
: If this is true, `hoogle` will be added to `nativeBuildInputs`.
@@ -579,7 +631,7 @@ pkgs.haskellPackages.shellFor {
packages = hpkgs: [
# reuse the nixpkgs for this package
hpkgs.distribution-nixpkgs
# call our generated nix expression manually
# call our generated Nix expression manually
(hpkgs.callPackage ./my-project/my-project.nix { })
];
@@ -602,7 +654,54 @@ pkgs.haskellPackages.shellFor {
<!-- TODO(@sternenseemann): deps are not included if not selected -->
## Overriding haskell packages {#sec-haskell-overriding-haskell-packages}
### haskell-language-server {#haskell-language-server}
To use HLS in short: Install `pkgs.haskell-language-server` e.g. in
`nativeBuildInputs` in `shellFor` and use the `haskell-language-server-wrapper`
command to run it. See the [HLS user guide] on how to configure your text
editor to use HLS and how to test your setup.
HLS needs to be compiled with the GHC version of the project you use it
on.
``pkgs.haskell-language-server`` provides
``haskell-language-server-wrapper``, ``haskell-language-server``
and ``haskell-language-server-x.x.x``
binaries, where ``x.x.x`` is the GHC version for which it is compiled. By
default, it only includes binaries for the current GHC version, to reduce
closure size. The closure size is large, because HLS needs to be dynamically
linked to work reliably. You can override the list of supported GHC versions
with e.g.
```nix
pkgs.haskell-language-server.override { supportedGhcVersions = [ "90" "94" ]; }
```
Where all strings `version` are allowed such that
`haskell.packages.ghc${version}` is an existing package set.
When you run `haskell-language-server-wrapper` it will detect the GHC
version used by the project you are working on (by asking e.g. cabal or
stack) and pick the appropriate versioned binary from your path.
Be careful when installing HLS globally and using a pinned nixpkgs for a
Haskell project in a `nix-shell`. If the nixpkgs versions deviate to much
(e.g., use different `glibc` versions) the `haskell-language-server-?.?.?`
executable will try to detect these situations and refuse to start. It is
recommended to obtain HLS via `nix-shell` from the nixpkgs version pinned in
there instead.
The top level `pkgs.haskell-language-server` attribute is just a convenience
wrapper to make it possible to install HLS for multiple GHC versions at the
same time. If you know, that you only use one GHC version, e.g., in a project
specific `nix-shell` you can simply use
`pkgs.haskellPackages.haskell-language-server` or
`pkgs.haskell.packages.*.haskell-language-server` from the package set you use.
If you use `nix-shell` for your development environments remember to start your
editor in that environment. You may want to use something like `direnv` and/or an
editor plugin to achieve this.
## Overriding Haskell packages {#haskell-overriding-haskell-packages}
### Overriding a single package
@@ -644,7 +743,7 @@ haskellPackages.haskell-ci.overrideScope (self: super: {
The custom interface comes into play when you want to override the arguments
passed to `haskellPackages.mkDerivation`. For this, the function `overrideCabal`
from `haskell.lib.compose` is used. E.g. if you want to install a man page
from `haskell.lib.compose` is used. E.g., if you want to install a man page
that is distributed with the package, you can do something like this:
```nix
@@ -900,10 +999,10 @@ you are working with or even better from the `self`/`final` fix point of
Note: Some functions like `shellFor` that are not intended for overriding per se, are omitted
in this section. <!-- TODO(@sternenseemann): note about ifd section -->
`cabalSdist { src, name }`
`cabalSdist { src, name ? ... }`
: Generates the Cabal sdist tarball for `src`, suitable for uploading to Hackage.
Contrary to `haskell.lib.compose.sdistTarball`, it uses `cabal-install` over `Setup.hs`,
so it is usually faster: No build dependencies need to be downloaded and we can
so it is usually faster: No build dependencies need to be downloaded, and we can
skip compiling `Setup.hs`.
`buildFromCabalSdist drv`
@@ -929,15 +1028,15 @@ TODO(@NixOS/haskell): finish these planned sections
* `callHackage`, `callHackageDirect`
* `developPackage`
## Contributing {#sec-haskell-contributing}
## Contributing {#haskell-contributing}
### Fixing a broken package {#sec-haskell-fixing-a-broken-package}
### Fixing a broken package {#haskell-fixing-a-broken-package}
### Package set generation {#sec-haskell-package-set-generation}
### Package set generation {#haskell-package-set-generation}
### Packaging a Haskell project
### Backporting {#sec-haskell-backporting}
### Backporting {#haskell-backporting}
Backporting changes to a stable NixOS version in general is covered
in nixpkgs' `CONTRIBUTING.md` in general. In particular refer to the
@@ -950,7 +1049,7 @@ it does for the unstable branches.
-->
## F.A.Q. {#sec-haskell-faq}
## F.A.Q. {#haskell-faq}
### Why is topic X not covered in this section? Why is section Y missing?
@@ -963,15 +1062,18 @@ If you feel any important topic is not documented at all, feel free to comment
on the issue linked above.
[Stackage]: https://www.stackage.org
[cabal-project-files]: https://cabal.readthedocs.io/en/latest/cabal-project.html
[cabal2nix]: https://github.com/nixos/cabal2nix
[hoogle]: https://wiki.haskell.org/Hoogle
[haddock]: https://www.haskell.org/haddock/
[cpphs]: https://Hackage.haskell.org/package/cpphs
[haddock-hoogle-option]: https://haskell-haddock.readthedocs.io/en/latest/invoking.html#cmdoption-hoogle
[haddock-hyperlinked-source-option]: https://haskell-haddock.readthedocs.io/en/latest/invoking.html#cmdoption-hyperlinked-source
[profiling]: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html
[haddock]: https://www.haskell.org/haddock/
[haskell-program-coverage]: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html#observing-code-coverage
[profiling-detail]: https://cabal.readthedocs.io/en/latest/cabal-project.html#cfg-field-profiling-detail
[haskell.nix]: https://input-output-hk.github.io/haskell.nix/index.html
[HLS user guide]: https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor
[hoogle]: https://wiki.haskell.org/Hoogle
[jailbreak-cabal]: https://github.com/NixOS/jailbreak-cabal/
[cpphs]: https://hackage.haskell.org/package/cpphs
[cabal-project-files]: https://cabal.readthedocs.io/en/latest/cabal-project.html
[optparse-applicative-completions]: https://github.com/pcapriotti/optparse-applicative/blob/7726b63796aa5d0df82e926d467f039b78ca09e2/README.md#bash-zsh-and-fish-completions
[profiling-detail]: https://cabal.readthedocs.io/en/latest/cabal-project.html#cfg-field-profiling-detail
[profiling]: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html
[search.nixos.org]: https://search.nixos.org
+18 -6
View File
@@ -6876,6 +6876,12 @@
githubId = 310981;
name = "Joel Burget";
};
joelkoen = {
email = "mail@joelkoen.com";
github = "joelkoen";
githubId = 122502655;
name = "Joel Koen";
};
joelmo = {
email = "joel.moberg@gmail.com";
github = "joelmo";
@@ -7266,12 +7272,6 @@
githubId = 20658981;
name = "Jarosław Wygoda";
};
jyooru = {
email = "joel@joel.tokyo";
github = "jyooru";
githubId = 63786778;
name = "Joel";
};
jyp = {
email = "jeanphilippe.bernardy@gmail.com";
github = "jyp";
@@ -14414,6 +14414,12 @@
githubId = 52011418;
name = "Travis Davis";
};
traxys = {
email = "quentin+dev@familleboyer.net";
github = "traxys";
githubId = 5623227;
name = "Quentin Boyer";
};
TredwellGit = {
email = "tredwell@tutanota.com";
github = "TredwellGit";
@@ -16313,4 +16319,10 @@
github = "RossComputerGuy";
githubId = 19699320;
};
franzmondlichtmann = {
name = "Franz Schroepf";
email = "franz-schroepf@t-online.de";
github = "franzmondlichtmann";
githubId = 105480088;
};
}
+13 -1
View File
@@ -254,6 +254,12 @@ in {
'';
};
ignoreLid = mkOption {
default = false;
type = types.bool;
description = lib.mdDoc "Treat outputs as connected even if their lids are closed";
};
hooks = mkOption {
type = hooksModule;
description = lib.mdDoc "Global hook scripts";
@@ -340,7 +346,13 @@ in {
startLimitIntervalSec = 5;
startLimitBurst = 1;
serviceConfig = {
ExecStart = "${pkgs.autorandr}/bin/autorandr --batch --change --default ${cfg.defaultTarget}";
ExecStart = ''
${pkgs.autorandr}/bin/autorandr \
--batch \
--change \
--default ${cfg.defaultTarget} \
${optionalString cfg.ignoreLid "--ignore-lid"}
'';
Type = "oneshot";
RemainAfterExit = false;
KillMode = "process";
+2 -1
View File
@@ -468,12 +468,14 @@ in
"d '${cfg.stateDir}/conf' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom/conf' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/data' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/log' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/.ssh' 0700 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/conf' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/custom' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/custom/conf' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/data' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/log' 0750 ${cfg.user} gitea - -"
"Z '${cfg.stateDir}' - ${cfg.user} gitea - -"
@@ -633,7 +635,6 @@ in
systemd.services.gitea-dump = mkIf cfg.dump.enable {
description = "gitea dump";
after = [ "gitea.service" ];
wantedBy = [ "default.target" ];
path = [ gitea ];
environment = {
+1 -2
View File
@@ -234,8 +234,7 @@ done
mkdir -p /lib
ln -s @modulesClosure@/lib/modules /lib/modules
ln -s @modulesClosure@/lib/firmware /lib/firmware
# see comment in stage-1.nix for explanation
echo @extraUtils@/bin/modprobe-kernel > /proc/sys/kernel/modprobe
echo @extraUtils@/bin/modprobe > /proc/sys/kernel/modprobe
for i in @kernelModules@; do
info "loading module $(basename $i)..."
modprobe $i
-20
View File
@@ -150,26 +150,6 @@ let
copy_bin_and_libs ${pkgs.kmod}/bin/kmod
ln -sf kmod $out/bin/modprobe
# Dirty hack to make sure the kernel properly loads modules
# such as ext4 on demand (e.g. on a `mount(2)` syscall). This is necessary
# because `kmod` isn't linked against `libpthread.so.0` anymore (since
# it was merged into `libc.so.6` since version `2.34`), but still needs
# to access it for some reason. This is not an issue in stage-1 itself
# because of the `LD_LIBRARY_PATH`-variable and anytime later because the rpath of
# kmod/modprobe points to glibc's `$out/lib` where `libpthread.so.6` exists.
# However, this is a problem when the kernel calls `modprobe` inside
# the initial ramdisk because it doesn't know about the
# `LD_LIBRARY_PATH` and the rpath was nuked.
#
# Also, we can't use `makeWrapper` here because `kmod` only does
# `modprobe` functionality if `argv[0] == "modprobe"`.
cat >$out/bin/modprobe-kernel <<EOF
#!$out/bin/ash
export LD_LIBRARY_PATH=$out/lib
exec $out/bin/modprobe "\$@"
EOF
chmod +x $out/bin/modprobe-kernel
# Copy resize2fs if any ext* filesystems are to be resized
${optionalString (any (fs: fs.autoResize && (lib.hasPrefix "ext" fs.fsType)) fileSystems) ''
# We need mke2fs in the initrd.
+1 -1
View File
@@ -309,7 +309,7 @@ let
# builds stuff in the VM, needs more juice
virtualisation.diskSize = 8 * 1024;
virtualisation.cores = 8;
virtualisation.memorySize = 1536;
virtualisation.memorySize = 2047;
boot.initrd.systemd.enable = systemdStage1;
+1
View File
@@ -31,6 +31,7 @@ let
linux_5_10_hardened
linux_5_15_hardened
linux_6_0_hardened
linux_6_1_hardened
linux_testing;
};
+16 -2
View File
@@ -3,6 +3,7 @@
{ fetchurl, stdenv, lib, xorg, glib, libglvnd, glibcLocales, gtk3, cairo, pango, makeWrapper, wrapGAppsHook
, writeShellScript, common-updater-scripts, curl
, openssl_1_1, bzip2, bash, unzip, zip
, sqlite
}:
let
@@ -15,7 +16,19 @@ let
versionUrl = "https://download.sublimetext.com/latest/${if dev then "dev" else "stable"}";
versionFile = builtins.toString ./packages.nix;
libPath = lib.makeLibraryPath [ xorg.libX11 xorg.libXtst glib libglvnd openssl_1_1 gtk3 cairo pango curl ];
neededLibraries = [
xorg.libX11
xorg.libXtst
glib
libglvnd
openssl_1_1
gtk3
cairo
pango
curl
] ++ lib.optionals (lib.versionAtLeast buildVersion "4145") [
sqlite
];
in let
binaryPackage = stdenv.mkDerivation rec {
pname = "${pnameBase}-bin";
@@ -52,7 +65,7 @@ in let
for binary in ${ builtins.concatStringsSep " " binaries }; do
patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${libPath}:${stdenv.cc.cc.lib}/lib${lib.optionalString stdenv.is64bit "64"} \
--set-rpath ${lib.makeLibraryPath neededLibraries}:${stdenv.cc.cc.lib}/lib${lib.optionalString stdenv.is64bit "64"} \
$binary
done
@@ -67,6 +80,7 @@ in let
# No need to patch these libraries, it works well with our own
rm libcrypto.so.1.1 libssl.so.1.1
${lib.optionalString (lib.versionAtLeast buildVersion "4145") "rm libsqlite3.so"}
mkdir -p $out
cp -r * $out/
@@ -11,9 +11,9 @@ in
} {};
sublime4-dev = common {
buildVersion = "4141";
buildVersion = "4147";
dev = true;
x64sha256 = "eFo9v4hSrp1gV56adVyFB9sOApOXlKNvVBW0wbFYG4g=";
aarch64sha256 = "MmwSptvSH507+X9GT8GC4tzZFzEfT2pKc+/Qu5SbMkM=";
x64sha256 = "9zs+2cp+pid0y/v5tHJN4jp7sM1oGB5EgGzMASL3y4o=";
aarch64sha256 = "KyvHJPqBEfeQQJnuyWZA7vGhWkYFqMaTMx+uy+3cZ30=";
} {};
}
@@ -2229,8 +2229,8 @@ let
mktplcRef = {
name = "adwaita-theme";
publisher = "piousdeer";
version = "1.0.8";
sha256 = "XyzxiwKQGDUIXp6rnt1BmPzfpd1WrG8HnEqYEOJV6P8=";
version = "1.1.0";
sha256 = "sha256-tKpKLUcc33YrgDS95PJu22ngxhwjqeVMC1Mhhy+IPGE=";
};
meta = with lib; {
description = "Theme for the GNOME desktop";
+2 -2
View File
@@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
pname = "thedesk";
version = "23.0.3";
version = "23.0.5";
src = fetchurl {
url = "https://github.com/cutls/TheDesk/releases/download/v${version}/${pname}_${version}_amd64.deb";
sha256 = "sha256-X1WNfpsHRkk2UNTExn338r4pWhtC1osrCo6V8g7Pxcc=";
sha256 = "sha256-6pXbHkLdJw0+G9lep/tGkbSGAf8AobkQQgvw6gPYlro=";
};
nativeBuildInputs = [
@@ -19,22 +19,22 @@
}
},
"beta": {
"version": "109.0.5414.74",
"sha256": "0pcfaj3n3rjk4va9g0ajlsv1719kdhqcnjdd4piinqxb4qy27vgd",
"sha256bin64": "1ihjjf8x5080p9bizhqrrr0rcjf0l1nps9xq9naa2f48y5zfshkd",
"version": "110.0.5481.30",
"sha256": "03r2mpnrw9p188lajf69lpd94rcgj5a9hs2nlf01f0czl6nij0bx",
"sha256bin64": "0bpv4qgbbi8651x5mp8qyqxlxqm5x9csml1yi3789f7d40hs4vj9",
"deps": {
"gn": {
"version": "2022-11-10",
"version": "2022-12-12",
"url": "https://gn.googlesource.com/gn",
"rev": "1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41",
"sha256": "02621c9nqpr4pwcapy31x36l5kbyd0vdgd0wdaxj5p8hrxk67d6b"
"rev": "5e19d2fb166fbd4f6f32147fbb2f497091a54ad8",
"sha256": "1b5fwldfmkkbpp5x63n1dxv0nc965hphc8rm8ah7zg44zscm9z30"
}
}
},
"dev": {
"version": "110.0.5481.30",
"sha256": "03r2mpnrw9p188lajf69lpd94rcgj5a9hs2nlf01f0czl6nij0bx",
"sha256bin64": "0wdvqq9h5vzmlwysnlw7wk4bzkmra7qp9k4p1c0phl05863ykasv",
"version": "111.0.5532.2",
"sha256": "0aaxfi4f88s1cfzyhngmsmb84awy85xjy6a8pk3bfamssgxj0981",
"sha256bin64": "1jjmqi27qwbnmcfq043gxws31v47yfkzs7jk7mxzzxbaqj7v3wf6",
"deps": {
"gn": {
"version": "2022-12-12",
@@ -2,16 +2,16 @@
builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
inherit pname;
version = "3.24.5";
version = "3.25.0";
src = fetchFromGitHub {
owner = "projectcalico";
repo = "calico";
rev = "v${version}";
hash = "sha256-fB9FHiIqVieVkPfHmBvcaUmUqkT1ZbDT26+DUE9lbdc=";
hash = "sha256-sD79WiGKfwjtoiYlLow4h58skbHpuZyzMQ0VOyBKRnk=";
};
vendorHash = "sha256-ogQ/REf5cngoGAFIBN++txew6UqOw1hqCVsixyuGtug=";
vendorHash = "sha256-p4Ve6qWnYyHUUyKmLfbaZIGGfleLuzz+MZgGRSsBoWM=";
inherit doCheck subPackages;
@@ -4,11 +4,11 @@ let
configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
in stdenv.mkDerivation rec {
pname = "cinny";
version = "2.2.2";
version = "2.2.3";
src = fetchurl {
url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
sha256 = "sha256-MNmU6MvDwGbFNQt7qe08klXjy1n2LiABlPkARGvjVJU=";
hash = "sha256-Q6f24LRYCxdgAguUVl7jf7srkd2L1IptiBgHJQq2dHE=";
};
installPhase = ''
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
homepage = "https://stellarium.org/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ ma27 ];
maintainers = with maintainers; [ ];
};
}
@@ -15,15 +15,16 @@
, cups
, mesa
, systemd
, openssl
}:
stdenv.mkDerivation rec {
pname = "github-desktop";
version = "3.0.6";
version = "3.1.1";
src = fetchurl {
url = "https://github.com/shiftkey/desktop/releases/download/release-${version}-linux1/GitHubDesktop-linux-${version}-linux1.deb";
hash = "sha256-UQsMT4/D571xgrU8C4HBoRO+qf08GCGerA4Y5gHcjRc=";
hash = "sha256-R8t0y7b2upMOsWebIBr9+qT2GqQ/ahzWLcFIWwK4JTs=";
};
nativeBuildInputs = [
@@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
alsa-lib
cups
mesa
openssl
];
unpackPhase = ''
@@ -25,6 +25,7 @@
, pcre
, pkg-config
, which
, wrapGAppsHook
, wxGTK
, zlib
@@ -75,6 +76,7 @@ stdenv.mkDerivation rec {
pkg-config
which
cmake
wrapGAppsHook
];
buildInputs = [
+13 -6
View File
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
{ stdenv, lib, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, makeWrapper
, pkg-config, cmake, yasm, python3Packages
, libxcrypt, libgcrypt, libgpg-error, libunistring
, boost, avahi, lame
@@ -107,13 +107,20 @@ in stdenv.mkDerivation {
src = kodi_src;
# This is a backport of
# https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888
# to Kodi 19.4 Matrix.
# This can be removed once a new release of Kodi comes out and we upgrade
# to it.
patches = [
# This is a backport of
# https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888
# to Kodi 19.4 Matrix.
# This can be removed once a new major release of Kodi comes out and we upgrade
# to it.
./add-KODI_WEBSERVER_EXTRA_WHITELIST.patch
# A patch to fix build until the next major release of Kodi comes out and we upgrade
# https://github.com/xbmc/xbmc/pull/22291
(fetchpatch {
url = "https://github.com/xbmc/xbmc/commit/5449652abf0bb9dddd0d796de4120e60f19f89a5.patch";
sha256 = "sha256-vqX08dTSPhIur4aVu2BzXEpAxMOjaadwRNI43GSV9Og=";
})
];
buildInputs = [
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage rec {
description = "Very resource-friendly and feature-rich replacement for i3status";
homepage = "https://github.com/greshake/i3status-rust";
license = licenses.gpl3Only;
maintainers = with maintainers; [ backuitist globin ma27 ];
maintainers = with maintainers; [ backuitist globin ];
platforms = platforms.linux;
};
}
@@ -48,6 +48,6 @@ stdenv.mkDerivation rec {
inherit (src.meta) homepage;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ gnxlxnxx ma27 ];
maintainers = with maintainers; [ gnxlxnxx ];
};
}
+16 -14
View File
@@ -1,27 +1,28 @@
{ lib, fetchzip }:
{ lib, stdenvNoCC, fetchzip }:
let
stdenvNoCC.mkDerivation rec {
pname = "hannom";
version = "2005";
in fetchzip {
name = "hannom-${version}";
url = "mirror://sourceforge/vietunicode/hannom/hannom%20v${version}/hannomH.zip";
src = fetchzip {
url = "mirror://sourceforge/vietunicode/hannom/hannom%20v${version}/hannomH.zip";
stripRoot = false;
hash = "sha256-Oh8V72tYvVA6Sk0f9UTIkRQYjdUbEB/fmCSaRYfyoP8=";
};
stripRoot = false;
dontBuild = true;
installPhase = ''
runHook preInstall
postFetch = ''
mkdir -p $out/share/fonts/truetype
mv $out/*.ttf -t $out/share/fonts/truetype
shopt -s extglob dotglob
rm -rf $out/!(share)
shopt -u extglob dotglob
'';
mv *.ttf -t $out/share/fonts/truetype
sha256 = "sha256-zOYJxEHl4KM0ncVQDBs9+e3z8DxzF2ef3pRj0OVSuUo=";
runHook postInstall
'';
meta = with lib; {
description = "UNICODE Han Nom Font Set";
homepage = "http://vietunicode.sourceforge.net/fonts/fonts_hannom.html";
longDescription = ''
The true type fonts HAN NOM A and HAN NOM B have been developed by Chan
Nguyen Do Quoc Bao (Germany), To Minh Tam (USA) and Ni sinh Thien Vien Vien
@@ -31,6 +32,7 @@ in fetchzip {
code points by the Unicode Standard. Two sets of true type fonts are
available with high and low resolutions.
'';
homepage = "https://vietunicode.sourceforge.net/fonts/fonts_hannom.html";
license = licenses.unfree;
maintainers = with maintainers; [ wegank ];
platforms = platforms.all;
@@ -1,32 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, v4l-utils
}:
stdenv.mkDerivation rec {
pname = "dtv-scan-tables";
version = "20221027";
src = fetchFromGitHub {
owner = "tvheadend";
repo = "dtv-scan-tables";
rev = "2a3dbfbab129c00d3f131c9c2f06b2be4c06fec6";
hash = "sha256-bJ+naUs3TDFul4PmpnWYld3j1Se+1X6U9jnECe3sno0=";
};
nativeBuildInputs = [
v4l-utils
];
installFlags = [
"DATADIR=$(out)"
];
meta = with lib; {
description = "Digital TV scan tables";
homepage = "https://github.com/tvheadend/dtv-scan-tables";
license = with licenses; [ gpl2Only lgpl21Only ];
maintainers = with maintainers; [ ];
};
}
@@ -0,0 +1,54 @@
{ lib
, stdenv
, fetchurl
, v4l-utils
}:
let
version_ = "2022-04-30-57ed29822750";
in
stdenv.mkDerivation rec {
pname = "dtv-scan-tables";
version = "${version_}-linuxtv";
src = fetchurl {
url = "https://linuxtv.org/downloads/${pname}/${pname}-${version_}.tar.bz2";
hash = "sha256-amJoqjkkWTePo6E5IvwBWj+mP/gi9LDWTTPXE1Cm7J4=";
};
nativeBuildInputs = [
v4l-utils
];
sourceRoot = "usr/share/dvb";
makeFlags = [
"PREFIX=$(out)"
];
allowedReferences = [ ];
meta = with lib; {
# git repo with current revision is here:
#downloadPage = "https://git.linuxtv.org/dtv-scan-tables.git";
# Weekly releases are supposed to be here
downloadPage = "https://linuxtv.org/downloads/dtv-scan-tables/";
# but sometimes they lag behind several weeks or even months.
description = "Digital TV (DVB) channel/transponder scan tables";
homepage = "https://www.linuxtv.org/wiki/index.php/Dtv-scan-tables";
license = with licenses; [ gpl2Only lgpl21Only ];
longDescription = ''
When scanning for dvb channels,
most applications require an initial set of
transponder coordinates (frequencies etc.).
These coordinates differ, depending of the
receiver's location or on the satellite.
The package delivers a collection of transponder
tables ready to be used by software like "dvbv5-scan".
'';
maintainers = with maintainers; [ yarny ];
};
}
@@ -0,0 +1,45 @@
{ lib
, stdenv
, fetchFromGitHub
, v4l-utils
}:
stdenv.mkDerivation rec {
pname = "dtv-scan-tables";
version = "20221027-tvheadend";
src = fetchFromGitHub {
owner = "tvheadend";
repo = "dtv-scan-tables";
rev = "2a3dbfbab129c00d3f131c9c2f06b2be4c06fec6";
hash = "sha256-bJ+naUs3TDFul4PmpnWYld3j1Se+1X6U9jnECe3sno0=";
};
nativeBuildInputs = [
v4l-utils
];
makeFlags = [
"PREFIX=$(out)"
];
allowedReferences = [ ];
meta = with lib; {
description = "Digital TV (DVB) channel/transponder scan tables";
homepage = "https://github.com/tvheadend/dtv-scan-tables";
license = with licenses; [ gpl2Only lgpl21Only ];
longDescription = ''
When scanning for dvb channels,
most applications require an initial set of
transponder coordinates (frequencies etc.).
These coordinates differ, depending of the
receiver's location or on the satellite.
The package delivers a collection of transponder
tables ready to be used by software like "dvbv5-scan".
The package at hand is maintained and used by tvheadend,
it is a fork of the original one hosted by linuxtv.org.
'';
maintainers = with maintainers; [ ];
};
}
@@ -84,6 +84,7 @@ openjdk17.overrideAttrs (oldAttrs: rec {
in ''
runHook preInstall
mv build/linux-x86_64-server-${buildType}/images/jdk/man build/linux-x86_64-server-${buildType}/images/jbrsdk${jcefSuffix}-${javaVersion}-linux-x64${debugSuffix}-b${build}
rm -rf build/linux-x86_64-server-${buildType}/images/jdk
mv build/linux-x86_64-server-${buildType}/images/jbrsdk${jcefSuffix}-${javaVersion}-linux-x64${debugSuffix}-b${build} build/linux-x86_64-server-${buildType}/images/jdk
'' + oldAttrs.installPhase + "runHook postInstall";
@@ -1,8 +1,8 @@
{ mkDerivation }:
mkDerivation {
version = "1.14.2";
sha256 = "sha256-ABS+tXWm0vP3jb4ixWSi84Ltya7LHAuEkGMuAoZqHPA=";
# https://hexdocs.pm/elixir/1.14.2/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
version = "1.14.3";
sha256 = "sha256-8rkuyAQAZdaKFXnSMaIPwbgoHnPs+nJ+mdbqcqYNeE4=";
# https://hexdocs.pm/elixir/1.14.3/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
minimumOTPVersion = "23";
}
@@ -35,7 +35,6 @@
, stripConfig ? false
, stripIdlelib ? false
, stripTests ? false
, stripLibs ? [ ]
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
}:
@@ -322,15 +321,7 @@ in with passthru; stdenv.mkDerivation ({
'' + optionalString stripTests ''
# Strip tests
rm -R $out/lib/python*/test $out/lib/python*/**/test{,s}
'' + (concatStringsSep "\n"
(map
(lib:
''
rm -vR $out/lib/python*/${lib}
# libraries in dynload (C libraries) may not exist,
# but when they exist they may be prefixed with _
rm -vfR $out/lib/python*/lib-dynload/{,_}${lib}
'') stripLibs));
'';
enableParallelBuilding = true;
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
license = licenses.mit;
description = "A date and time library based on the C++11/14/17 <chrono> header";
homepage = "https://github.com/HowardHinnant/date";
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ r-burns ];
};
}
@@ -12,11 +12,11 @@
stdenv.mkDerivation rec {
pname = "libfilezilla";
version = "0.39.1";
version = "0.41.0";
src = fetchurl {
url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
hash = "sha256-89bA3yjzP1LPJTywP8UVeXUq5NrvKqxzRaa9feYjpsU=";
hash = "sha256-rCodDYKOpgB4fOoefuUNIfDTvZFSzs5hh7ivyQBiKqA=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-0gX0rEOWT6Lp5AyRyrK5GPTBvAqc5SxSaNJOc5GIgKc=";
};
doCheck = true;
doCheck = !stdenv.hostPlatform.isStatic;
preCheck = let
ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
in ''
@@ -24,7 +24,11 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [ cmake ninja ];
cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ] ++ lib.optionals secureBuild [ "-DMI_SECURE=ON" ];
cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ]
++ lib.optionals secureBuild [ "-DMI_SECURE=ON" ]
++ lib.optionals stdenv.hostPlatform.isStatic [ "-DMI_BUILD_SHARED=OFF" ]
++ lib.optionals (!doCheck) [ "-DMI_BUILD_TESTS=OFF" ]
;
postInstall = let
rel = lib.versions.majorMinor version;
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "tagparser";
version = "11.5.0";
version = "11.5.1";
src = fetchFromGitHub {
owner = "Martchus";
repo = "tagparser";
rev = "v${version}";
hash = "sha256-qgopl32cFQFQTYu9WBOzPeU69J8K49SREX7X0Pw7Als=";
hash = "sha256-6HvPbbDsHIYyTs0M5M8TkgqyAz0QtgRjuNJhYWFjNG4=";
};
nativeBuildInputs = [ cmake ];
+14 -63
View File
@@ -5,17 +5,16 @@
}:
let
python27' = (pkgsBuildHost.python27.overrideAttrs (old:
{
# Overriding `meta.knownVulnerabilities` here, see #201859 for why it exists
# In resholve case this should not be a security issue,
# since it will only be used during build, not runtime
meta = (old.meta or { }) // { knownVulnerabilities = [ ]; };
}
)).override {
removeKnownVulnerabilities = pkg: pkg.overrideAttrs (old: {
meta = (old.meta or { }) // { knownVulnerabilities = [ ]; };
});
# We are removing `meta.knownVulnerabilities` from `python27`,
# and setting it in `resholve` itself.
python27' = (removeKnownVulnerabilities pkgsBuildHost.python27).override {
self = python27';
pkgsBuildHost = pkgsBuildHost // { python27 = python27'; };
# strip down that python version as much as possible
openssl = null;
bzip2 = null;
readline = null;
ncurses = null;
@@ -27,60 +26,6 @@ let
stripConfig = true;
stripIdlelib = true;
stripTests = true;
stripLibs = [
# directories
"bsddb*"
"curses"
"compiler"
"ensurepip"
"hotshot"
"lib-tk"
"sqlite3"
# files
"aifc*"
"antigravity*"
"async*"
"*audio*"
"BaseHTTPServer*"
"Bastion*"
"binhex*"
"bdb*"
"CGIHTTPServer*"
"cgitb*"
"chunk*"
"colorsys*"
"dbhash*"
"dircache*"
"*dbm*"
"ftplib*"
"*hdr*"
"imaplib*"
"imputil*"
"MimeWriter*"
"mailbox*"
"mhlib*"
"mimify*"
"multifile*"
"netrc*"
"nntplib*"
"os2emxpath*"
"pyclbr*"
"pydoc*"
"SimpleHTTPServer*"
"sgmllib*"
"smtp*"
"ssl*"
"sun*"
"tabnanny*"
"telnetlib*"
"this*"
"wave*"
"webbrowser*"
"whichdb*"
"wsgiref*"
"xdrlib*"
"*XMLRPC*"
];
enableOptimizations = false;
};
callPackage = lib.callPackageWith (pkgs // { python27 = python27'; });
@@ -88,16 +33,22 @@ let
deps = callPackage ./deps.nix { };
in
rec {
# not exposed in all-packages
resholveBuildTimeOnly = removeKnownVulnerabilities resholve;
# resholve itself
resholve = callPackage ./resholve.nix {
inherit (source) rSrc version;
inherit (deps.oil) oildev;
inherit (deps) configargparse;
inherit resholve-utils;
# used only in tests
resholve = resholveBuildTimeOnly;
};
# funcs to validate and phrase invocations of resholve
# and use those invocations to build packages
resholve-utils = callPackage ./resholve-utils.nix {
inherit resholve;
# we can still use resholve-utils without triggering a security warn
# this is safe since we will only use `resholve` at build time
resholve = resholveBuildTimeOnly;
};
}
@@ -129,6 +129,7 @@ rec {
)
)
)}
'' + lib.optionalString (partialSolution.interpreter != "none") ''
${partialSolution.interpreter} -n $out
'';
};
@@ -146,6 +147,7 @@ rec {
)
)
}
'' + lib.optionalString (partialSolution.interpreter != "none") ''
${partialSolution.interpreter} -n $out/bin/${name}
'';
};
@@ -181,6 +183,7 @@ rec {
src = unresholved;
inherit version pname;
buildInputs = [ resholve ];
disallowedReferences = [ resholve ];
# retain a reference to the base
passthru = unresholved.passthru // {
+7 -1
View File
@@ -8,6 +8,7 @@
, oildev
, configargparse
, binlore
, resholve
, resholve-utils
}:
@@ -41,7 +42,7 @@ python27.pkgs.buildPythonApplication {
passthru = {
inherit (resholve-utils) mkDerivation phraseSolution writeScript writeScriptBin;
tests = callPackage ./test.nix { inherit rSrc binlore python27; };
tests = callPackage ./test.nix { inherit rSrc binlore python27 resholve; };
};
meta = with lib; {
@@ -50,5 +51,10 @@ python27.pkgs.buildPythonApplication {
license = with licenses; [ mit ];
maintainers = with maintainers; [ abathur ];
platforms = platforms.all;
knownVulnerabilities = [ ''
resholve depends on python27 (EOL). While it's safe to
run on trusted input in the build sandbox, you should
avoid running it on untrusted input.
'' ];
};
}
+7
View File
@@ -179,4 +179,11 @@ rec {
echo "Hello"
file .
'';
resholvedScriptBinNone = resholve.writeScriptBin "resholved-script-bin" {
inputs = [ file ];
interpreter = "none";
} ''
echo "Hello"
file .
'';
}
+2 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "maestro";
version = "1.18.5";
version = "1.19.0";
src = fetchurl {
url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip";
sha256 = "1wmcvkhhb9ksy35dpp7qa6vk4726pblza869xjx56qmadd6nrrax";
sha256 = "1q5yz2lw3g3y11k9wgq8k5ghxmdp7c2qrz0as7r175rbmvxlf4xn";
};
dontUnpack = true;
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "canopen";
version = "2.0.0";
version = "2.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-vMiqnqg/etpdoNregQOJd75SqTgCwmV2SXKesfggZdk=";
hash = "sha256-vBJrsdy2Ljs02KEuOKB7WqgxnBdFfJv+II8Lu9qQ/2E=";
};
nativeBuildInputs = [
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "deep-translator";
version = "1.9.1";
version = "1.9.2";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-goLc/4BbVKUkH+csggKm6EKHmRVbv4i0Aq7N+/5WnmU=";
sha256 = "sha256-iHK1A44SZqJ5N+D2ets76xuU0mryGT7TehM4wryB/AY=";
};
propagatedBuildInputs = [
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "google-cloud-os-config";
version = "1.13.0";
version = "1.14.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-CHAiHhXjrLMz7On7Gm5H4fIY3Sq8R2whsI9+D9xXDIM=";
hash = "sha256-CLZC9Iub3LWvDPhetxlHorccRUritd+YzTI/MF1hHrY=";
};
propagatedBuildInputs = [
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "liquidctl";
version = "1.12.0";
version = "1.12.1";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = pname;
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-5apn+8X7si8jniHSjt7sveqIuzeuI4uXllR627aT2vI=";
hash = "sha256-0QjgnTxqB50JNjSUAgBrGyhN2XC/TDYiC1tvhw1Bl1M=";
};
nativeBuildInputs = [
@@ -33,6 +33,6 @@ buildPythonPackage rec {
description = "A beautiful reStructuredText renderer for rich";
homepage = "https://github.com/wasi-master/rich-rst";
license = licenses.mit;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
};
}
@@ -51,6 +51,6 @@ buildPythonPackage rec {
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal";
homepage = "https://github.com/Textualize/rich";
license = licenses.mit;
maintainers = with maintainers; [ ris jyooru ];
maintainers = with maintainers; [ ris joelkoen ];
};
}
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "rns";
version = "0.4.6";
version = "0.4.7";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "markqvist";
repo = "Reticulum";
rev = "refs/tags/${version}";
hash = "sha256-duWlglazdvWnX4rgcaoz3JbMPIDxJfx7BFUMNEQs0q4=";
hash = "sha256-1cTGzZ/5YgaYpSdk8nGLqgpKBNyY16fCFmrUJ+QwSDM=";
};
propagatedBuildInputs = [
@@ -67,6 +67,6 @@ buildPythonPackage rec {
description = "TUI framework for Python inspired by modern web development";
homepage = "https://github.com/Textualize/textual";
license = licenses.mit;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
};
}
@@ -31,6 +31,6 @@ buildPythonPackage rec {
description = "Python library for both parsing and applying patch files";
homepage = "https://github.com/cscorley/whatthepatch";
license = licenses.mit;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
};
}
@@ -63,6 +63,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/radareorg/radare2/commit/842f809d4ec6a12af2906f948657281c9ebc8a24.patch";
sha256 = "sha256-asEXW9Ox48w9WQhOA9tleXIvynIjsWb6ItKmFTojgbQ=";
})
(fetchpatch {
name = "CVE-2023-0302.patch";
url = "https://github.com/radareorg/radare2/commit/961f0e723903011d4f54c2396e44efa91fcc74ce.patch";
hash = "sha256-QinRQDIY4p3P+M3Hh9w3Dv3N/2XTaf3N0nUluHPpAvg=";
})
];
preBuild = ''
@@ -2,23 +2,23 @@
buildGoModule rec {
pname = "dagger";
version = "0.3.7";
version = "0.3.9";
src = fetchFromGitHub {
owner = "dagger";
repo = "dagger";
rev = "v${version}";
hash = "sha256-67ILrOVG31LrLgMcT+bZyWQ3lSahWOdWRyWpgUYSr4I=";
hash = "sha256-tq3b/4ysGG7fozIou1cvWs+BJSe9rPDYKaV2GT3hLGE=";
};
vendorHash = "sha256-bidJ7V/+yU3pBVXMdD4S0QVh9gKcvRN46Ut5OdSrnNc=";
vendorHash = "sha256-8FjzL++AFNhHvk9ipeVK3tmPMEgTKg8Fz/vJZMEAPJE=";
proxyVendor = true;
subPackages = [
"cmd/dagger"
];
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
ldflags = [ "-s" "-w" "-X github.com/dagger/dagger/internal/engine.Version=${version}" ];
passthru.tests.version = testers.testVersion {
package = dagger;
@@ -1,7 +1,7 @@
{ lib, buildGoModule, fetchFromGitLab, fetchurl, bash }:
let
version = "15.7.1";
version = "15.7.2";
in
buildGoModule rec {
inherit version;
@@ -17,13 +17,13 @@ buildGoModule rec {
# For patchShebangs
buildInputs = [ bash ];
vendorSha256 = "sha256-GyhDns10eekU05D7SGbhYYlpK3OIajtUXXOcWgprBPc=";
vendorSha256 = "sha256-lZAESAJ7ZRjHW6MD/xm3rOczK0h8EfmRAAVxRbVLu/k=";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-runner";
rev = "v${version}";
sha256 = "sha256-YHqezwud+/osCiqeR3QUvANFRU/oR451act+Crh4CRE=";
sha256 = "sha256-NiBQQ36F8aYi1Uk3P0UgBy4Pai6Coz3oQDvWWOGGQNw=";
};
patches = [
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "go-task";
version = "3.19.1";
version = "3.20.0";
src = fetchFromGitHub {
owner = pname;
repo = "task";
rev = "v${version}";
sha256 = "sha256-MtbgFx/+SVBcV6Yp1WEwKLQGx5oPxvqljtXeyUYNS+I=";
sha256 = "sha256-pKvotNUpZl51r+9+YFEQGXVsUBfxsmTZLnRIdrl7UGQ=";
};
vendorHash = "sha256-AZtkWJ/U1dH9J+wowlcg25qBVyRRo6LCzc6IBYKBkVA=";
@@ -18,6 +18,6 @@ rustPlatform.buildRustPackage rec {
meta = with lib; {
description = "A work-in-progress language server for Nix, with syntax checking and basic completion";
license = licenses.mit;
maintainers = with maintainers; [ ma27 ];
maintainers = with maintainers; [ ];
};
}
+1 -1
View File
@@ -26,6 +26,6 @@ buildGoModule rec {
homepage = "https://github.com/fiatjaf/jiq";
license = licenses.mit;
description = "jid on jq - interactive JSON query tool using jq expressions";
maintainers = with maintainers; [ ma27 ];
maintainers = with maintainers; [ ];
};
}
+17 -10
View File
@@ -8,38 +8,45 @@
let
pythonPath = with python3.pkgs; makePythonPath [
capstone
future
isort
psutil
pwntools
pycparser
pyelftools
python-ptrace
ropgadget
six
unicorn
pygments
unicorn
rpyc
];
binPath = lib.makeBinPath ([
python3.pkgs.pwntools # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/wrappers/checksec.py#L8
] ++ lib.optionals stdenv.isLinux [
python3.pkgs.ropper # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/ropper.py#L30
python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32
]);
in stdenv.mkDerivation rec {
pname = "pwndbg";
version = "2022.08.30";
version = "2022.12.19";
format = "other";
src = fetchFromGitHub {
owner = "pwndbg";
repo = "pwndbg";
rev = version;
sha256 = "sha256-rMdpNJonzbHyTXbnr6MtlVUmfAfLiCHaVSzuQRhtVpE=";
sha256 = "sha256-pyY2bMasd6GaJZZjLF48SvkKUBw3XfVa0g3Q0LiEi4k=";
fetchSubmodules = true;
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/share/pwndbg
cp -r *.py pwndbg $out/share/pwndbg
cp -r *.py pwndbg gdb-pt-dump $out/share/pwndbg
chmod +x $out/share/pwndbg/gdbinit.py
makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
--add-flags "-q -x $out/share/pwndbg/gdbinit.py" \
--prefix PATH : ${binPath} \
--set NIX_PYTHONPATH ${pythonPath}
'';
@@ -48,8 +55,8 @@ in stdenv.mkDerivation rec {
homepage = "https://github.com/pwndbg/pwndbg";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ mic92 ];
# never built on aarch64-darwin since first introduction in nixpkgs
maintainers = with maintainers; [ mic92 patryk4815 ];
# not supported on aarch64-darwin see: https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/
broken = stdenv.isDarwin && stdenv.isAarch64;
};
}
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ruff";
version = "0.0.221";
version = "0.0.222";
src = fetchFromGitHub {
owner = "charliermarsh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-46pIudC1jUIOgqJ/5+Xcn01y4Qq1VBKyW36Dyzrz7uA=";
sha256 = "sha256-Tue5RmJjrOG0q3ZXl8hl5skmRE2KWdttzlCnmmo8JY0=";
};
cargoSha256 = "sha256-OxzOZyzAXuK08BAzRIepPc7sllZtlynWvHjvJAHWG5Q=";
cargoSha256 = "sha256-BZk6LFexkpnU8PKvFB705N6Er344VT3g35ZyZxc+his=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "stylua";
version = "0.15.3";
version = "0.16.0";
src = fetchFromGitHub {
owner = "johnnymorganz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-EVsgiG16R4wh4Dh10rv7/H+VDONaVPWOfRNStrw8aso=";
sha256 = "sha256-DDK/ANBR0wH87/9wnZYwyYMbCl/N/m4KUvQJ/dB8las=";
};
cargoSha256 = "sha256-fDh6TchwQO+FvyPJzrso1Ls9ZIKMHDdFBTzf6AuvGqs=";
cargoSha256 = "sha256-xgOPjdy+uoUOdtYXq/lXR872QdzA1/r8Shi0q1E+e9Q=";
# remove cargo config so it can find the linker on aarch64-unknown-linux-gnu
postPatch = ''
+1 -1
View File
@@ -32,6 +32,6 @@ stdenv.mkDerivation {
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.unfreeRedistributable;
platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice tomberek costrouc jyooru ];
maintainers = with maintainers; [ thoughtpolice tomberek costrouc joelkoen ];
};
}
+1 -1
View File
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
mainProgram = "minecraft-server";
};
}
+1 -1
View File
@@ -41,6 +41,6 @@ python3.pkgs.buildPythonApplication rec {
description = "Command Line Interface to Rich";
homepage = "https://github.com/Textualize/rich-cli";
license = licenses.mit;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
};
}
@@ -22,22 +22,22 @@
"5.10": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.10.161-hardened1.patch",
"sha256": "0lkgixy3qn2lf2snp7zsxyp6fad0b6yvvg2hk6l1jp9z8293gsap",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.161-hardened1/linux-hardened-5.10.161-hardened1.patch"
"name": "linux-hardened-5.10.163-hardened1.patch",
"sha256": "1mjbngc14grffjakjvx67dwsjff381gsg6k1pjrsmanr9xql4zcz",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.163-hardened1/linux-hardened-5.10.163-hardened1.patch"
},
"sha256": "0ya04njrxr4d37zkxvivmn5f0bdvcb504pyp9ahwz8nqpk8gdaks",
"version": "5.10.161"
"sha256": "084vq2fpkqpzwxhygn7l07wrx0m8cprz9q1l0ihc1aw8sgi2dqln",
"version": "5.10.163"
},
"5.15": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.15.86-hardened1.patch",
"sha256": "04yp2qqn9axvkaqgihb1vxnkwnjs5s2q9106y5x4r1q4bf42nz2v",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.86-hardened1/linux-hardened-5.15.86-hardened1.patch"
"name": "linux-hardened-5.15.88-hardened1.patch",
"sha256": "1ahn0ysvnn8bw2ynd4xfzy8pzlnlidv7lwpyd8w5vxnkfzzgpwkz",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.88-hardened1/linux-hardened-5.15.88-hardened1.patch"
},
"sha256": "1vpjnmwqsx6akph2nvbsv2jl7pp8b7xns3vmwbljsl23lkpxkz40",
"version": "5.15.86"
"sha256": "10d1h5d962r9c0xmcw1rylibjz4n2g552axdz5zgjfkav7ykjxa1",
"version": "5.15.88"
},
"5.4": {
"patch": {
@@ -52,11 +52,21 @@
"6.0": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-6.0.16-hardened1.patch",
"sha256": "19rakmfdkkbvvzphsksccgad3wc2khlcynzdqx10d7spldj8nkp1",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.0.16-hardened1/linux-hardened-6.0.16-hardened1.patch"
"name": "linux-hardened-6.0.19-hardened1.patch",
"sha256": "11yn5mrvs170685pwa9k7asxlv64vgfqfg2b6m5yn2a11pr1rxg5",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.0.19-hardened1/linux-hardened-6.0.19-hardened1.patch"
},
"sha256": "1r2wf3hf7yxl7lxma7plyi8pk3dmlsrpm763rf0g1h8ilsy72844",
"version": "6.0.16"
"sha256": "01q2sciv3l9brnsfcv9knx1ps3hq9rk1a08iqk3vscg3waq7xqxb",
"version": "6.0.19"
},
"6.1": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-6.1.6-hardened1.patch",
"sha256": "1qj7fwz3mhw1qj5q6aqalrq0nsbfqs33jqg51w9pa1zv4z35n79m",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.6-hardened1/linux-hardened-6.1.6-hardened1.patch"
},
"sha256": "1qsygnsn67j843ywpswy5724zin5sszb5mz8b8h3lw553mb8wk9y",
"version": "6.1.6"
}
}
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.10.162";
version = "5.10.163";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "05yjgp1la5flwqji9b6j7nbdgg5fwzv2ph536v4f9pzza3y01i1f";
sha256 = "084vq2fpkqpzwxhygn7l07wrx0m8cprz9q1l0ihc1aw8sgi2dqln";
};
} // (args.argsOverride or {}))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.15.86";
version = "5.15.88";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1vpjnmwqsx6akph2nvbsv2jl7pp8b7xns3vmwbljsl23lkpxkz40";
sha256 = "10d1h5d962r9c0xmcw1rylibjz4n2g552axdz5zgjfkav7ykjxa1";
};
} // (args.argsOverride or { }))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "6.0.17";
version = "6.0.19";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
sha256 = "020xrv9449gd0jnfgi0sb69bgs2p9sd49dghmd3bnnal584r5vm7";
sha256 = "01q2sciv3l9brnsfcv9knx1ps3hq9rk1a08iqk3vscg3waq7xqxb";
};
} // (args.argsOverride or { }))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "6.1.3";
version = "6.1.6";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
sha256 = "05q3b32kinvbgbibb8s3x8ax3gzlgznlcwvwb4y46gjilzkrmj3d";
sha256 = "1qsygnsn67j843ywpswy5724zin5sszb5mz8b8h3lw553mb8wk9y";
};
} // (args.argsOverride or { }))
+9
View File
@@ -2,6 +2,7 @@
, stdenv
, buildGoModule
, fetchFromGitHub
, installShellFiles
}:
buildGoModule rec {
@@ -17,6 +18,10 @@ buildGoModule rec {
vendorSha256 = "sha256-nyMeKmGoypDrpZHYHGjhRnjgC3tbOX/dlj96pnXrdLE=";
nativeBuildInputs = [ installShellFiles ];
outputs = [ "out" "man" ];
postPatch = ''
substituteInPlace test/file_cname_proxy_test.go \
--replace "TestZoneExternalCNAMELookupWithProxy" \
@@ -29,6 +34,10 @@ buildGoModule rec {
sed -E -i 's/\blo\b/lo0/' plugin/bind/setup_test.go
'';
postInstall = ''
installManPage man/*
'';
meta = with lib; {
homepage = "https://coredns.io";
description = "A DNS server that runs middleware";
+3 -3
View File
@@ -2,15 +2,15 @@
rustPlatform.buildRustPackage rec {
pname = "doh-proxy-rust";
version = "0.9.6";
version = "0.9.7";
src = fetchCrate {
inherit version;
crateName = "doh-proxy";
sha256 = "sha256-7eKqCiafzmwk0suH8GviRVBmmvhBd5/R4aF9cSvSyNU=";
sha256 = "sha256-rcLI5sLdqelnpfU7/T0s0l3rtpYBd77BBAXc4xSmCCE=";
};
cargoHash = "sha256-+IlVjordlMgf8srXtQVLMXRbYs+4htDP+NToVXxPqR4=";
cargoHash = "sha256-zkZuyegz82xOBq2t0jkMo6SLLteOHuhrFcROZCQeiyk=";
buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
+3 -3
View File
@@ -6,16 +6,16 @@
}:
buildGoModule rec {
pname = "headscale";
version = "0.17.1";
version = "0.18.0";
src = fetchFromGitHub {
owner = "juanfont";
repo = "headscale";
rev = "v${version}";
sha256 = "sha256-/NJUtmH67VZERCvExcX4W4T9Rcixc5m28ujNcrQduWg=";
hash = "sha256-0viXsBRCiaxBTTKXJngSov5M7toscQUOdXDTr1l0U3I=";
};
vendorSha256 = "sha256-Y1IK9Tx2sv0v27ZYtSxDP9keHQ7skctDOa+37pNGEC8=";
vendorHash = "sha256-SuKT+b8g6xEK15ry2IAmpS/vwDG+zJqK9nfsWpHNXuU=";
ldflags = ["-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}"];
@@ -5,7 +5,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "dmarc-metrics-exporter";
version = "0.8.0";
version = "0.9.0";
disabled = python3.pythonOlder "3.7";
@@ -14,8 +14,8 @@ python3.pkgs.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "jgosmann";
repo = "dmarc-metrics-exporter";
rev = "v${version}";
hash = "sha256-uZCPEUoWNrcSz5qV24eFdZOOxKkoz+Qn6HpELBwOK2I=";
rev = "refs/tags/v${version}";
hash = "sha256-OUeTOnb9ZhdJWzO+Wzl+liv4u3mlbyJ4tWyCHU5loqc=";
};
pythonRelaxDeps = true;
+2 -2
View File
@@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
pname = "snappymail";
version = "2.24.3";
version = "2.24.4";
src = fetchurl {
url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
sha256 = "sha256-PE27kaxpyHJxqNYnxixCeHkoPPyJBpF2LtgACb97Ojg=";
sha256 = "sha256-0DghGsP8CfFfLqBOlHkhHoOSXrQizNrFMpbPMLHsWzA=";
};
sourceRoot = "snappymail";
+1 -1
View File
@@ -105,7 +105,7 @@ in stdenv.mkDerivation {
--replace /usr/bin/tar ${gnutar}/bin/tar
substituteInPlace src/input/mpegts/scanfile.c \
--replace /usr/share/dvb ${dtv-scan-tables}/dvbv5
--replace /usr/share/dvb ${dtv-scan-tables}/share/dvbv5
# the version detection script `support/version` reads this file if it
# exists, so let's just use that
+2 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "wiki-js";
version = "2.5.294";
version = "2.5.295";
src = fetchurl {
url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
sha256 = "sha256-HHqXDmmTcWYRXF0GQf9QKEagYxyc1uvB7MPgLR3zALk=";
sha256 = "sha256-itiW9/QtNpc8cFS5skwlc3JSWoVqbBbIcSlEd+GRkH0=";
};
sourceRoot = ".";
+2 -2
View File
@@ -51,13 +51,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "ventoy-bin";
version = "1.0.87";
version = "1.0.88";
src = let
inherit (finalAttrs) version;
in fetchurl {
url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
hash = "sha256-0m7MXLtSuq8GdDFXzKeY86DIglgeQ6wyEtpOyB/thkc=";
hash = "sha256-mg1dzXREIhO9LsoCEauuBR9ESGHM3RvoFN+5vHU0HDA=";
};
patches = [
+1 -1
View File
@@ -37,6 +37,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/EFForg/apkeep";
changelog = "https://github.com/EFForg/apkeep/blob/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
};
}
+2 -2
View File
@@ -8,7 +8,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "autorandr";
version = "1.12.1";
version = "1.13";
format = "other";
nativeBuildInputs = [ installShellFiles ];
@@ -59,7 +59,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "phillipberndt";
repo = "autorandr";
rev = version;
sha256 = "sha256-7SNnbgV6PeseBD6wdilEIOfOL2KVDpnlkSn9SBgRhhM=";
sha256 = "sha256-pTWwDKBCZV3wkX/VHuWrwMFgUAMDvik11y+ysKiN3HU=";
};
meta = with lib; {
+1 -1
View File
@@ -25,7 +25,7 @@ buildGoModule rec {
license = licenses.mit;
homepage = "https://github.com/gotify/cli";
description = "A command line interface for pushing messages to gotify/server";
maintainers = with maintainers; [ ma27 ];
maintainers = with maintainers; [ ];
mainProgram = "gotify";
};
}
+236
View File
@@ -82,6 +82,242 @@ stdenv.mkDerivation rec {
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=000b5cd04fd228f9741f5dca0491636bc0b89eb8";
sha256 = "sha256-Mex3qQ0lW7ZCv7ZI7MSSqbylJXZ5RTbR4Pv1+CJ0ciM=";
})
(fetchpatch {
name = "CVE-2021-3981.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=0adec29674561034771c13e446069b41ef41e4d4";
sha256 = "sha256-3vkvWjcSv0hyY2EX3ig2EXEe+XLiRsXYlcd5kpY4wXw=";
})
# June 2022 security patches
# https://lists.gnu.org/archive/html/grub-devel/2022-06/msg00035.html
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.1.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=1469983ebb9674753ad333d37087fb8cb20e1dce";
sha256 = "sha256-oB4S0jvIXsDPcjIz1E2LKm7gwdvZjywuI1j0P6JQdJg=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.2.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=14ceb3b3ff6db664649138442b6562c114dcf56e";
sha256 = "sha256-mKe8gzd0U4PbV8z3TWCdvv7UugEgYaVIkB4dyMrSGEE=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.3.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=04c86e0bb7b58fc2f913f798cdb18934933e532d";
sha256 = "sha256-sA+PTlk4hwYOVKRZBHkEskabzmsf47Hi4h3mzWOFjwM=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.4.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=6fe755c5c07bb386fda58306bfd19e4a1c974c53";
sha256 = "sha256-8zmFocUfnjSyhYitUFDHoilHDnm1NJmhcKwO9dueV3k=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.5.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=f1ce0e15e70ea1aafcfa26ad93e7585f65783c6f";
sha256 = "sha256-Wrlam6CRPUAHbKqe/X1YLcRxJ2LQTtmQ/Y66gxUlqK4=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.6.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=5bff31cdb6b93d738f850834e6291df1d0b136fa";
sha256 = "sha256-ReLWSePXjRweymsVAL/uoBgYMWt9vRDcY3iXlDNZT0w=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.7.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=347880a13c239b4c2811c94c9a7cf78b607332e3";
sha256 = "sha256-07hpHuJFw95xGoJ/6ej7i6HlCFb2QRxP3arvRjKW4uU=";
})
## Needed to apply patch 8
(fetchpatch {
name = "video-remove-trailing-whitespaces.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=1f48917d8ddb490dcdc70176e0f58136b7f7811a";
sha256 = "sha256-/yf/LGpwYcQ36KITzmiFfg4BvhcApKbrlFzjKK8V2kI=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.8.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=e623866d9286410156e8b9d2c82d6253a1b22d08";
sha256 = "sha256-zFxP6JY5Q9s3yJHdkbZ2w+dXFKeOCXjFnQKadB5HLCg=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.9.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=210245129c932dc9e1c2748d9d35524fb95b5042";
sha256 = "sha256-FyZhdTlcRVmn7X2hv93RhWP7NOoEMb7ib/DWveyz3Ew=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.10.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=690bee69fae6b4bd911293d6b7e56774e29fdf64";
sha256 = "sha256-nOAXxebCW/s5M6sjPKdSdx47/PcH1lc0yYT0flVwoC8=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.11.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=d5caac8ab79d068ad9a41030c772d03a4d4fbd7b";
sha256 = "sha256-9fGJJkgZ6+E01MJqVTR1qFITx9EAx41Hv9QNfdqBgu0=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.12.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=768ef2199e0265cf455b154f1a80a612f02274c8";
sha256 = "sha256-2/JJJux5vqXUc77bi3aXRy8NclbvyD/0e6UN8/6Ui3c=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.13.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=166a4d61448f74745afe1dac2f2cfb85d04909bf";
sha256 = "sha256-XxTZ8P8qr4qEXELdHwaRACPeIZ/iixlATLB5RvVQsC8=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.14.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6";
sha256 = "sha256-bzB2gmGvWR2ylvMw779KQ/VHBBMsDNbG96eg9qQlljA=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.15.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=830a9628b2c9e1b6388af624aaf4a80818ed6be0";
sha256 = "sha256-8fna2VbbUw8zBx77osaOOHlZFgRrHqwQK87RoUtCF6w=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.16.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=3e4817538de828319ba6d59ced2fbb9b5ca13287";
sha256 = "sha256-iCZAyRS/a15x5aJCJBYl9nw6Hc3WRCUG7zF5V+OwDKg=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.17.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=f407e34f3871a4c402bbd516e7c28ea193cef1b7";
sha256 = "sha256-S45cLZNTWapAodKudUz2fMjnPsW6vbtNz0bIvIBGmu4=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.18.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=c1b7eef9fa4aaefbf7d0507505c3bb2914e1ad6b";
sha256 = "sha256-TWPfEAOePwC77yiVdsTSZIjfsMp7+0XabCz9K3FlV7w=";
})
## Needed to apply patch 19
(fetchpatch {
name = "net-remove-trailing-whitespaces.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=e453a4a64392a41bc7b37f890aceb358112d1687";
sha256 = "sha256-JCbUB77Y6js5u99uJ9StDxNjjahNy4nO3crK8/GvmPY=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.19.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=96abf4fb9d829f4a405d5df39bc74bbccbd0e322";
sha256 = "sha256-6E2MKO5kauFA1TA8YkUgIUusniwHS2Sr44A/a7ZqDCo=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.20.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=ee9652031491326736714a988fbbaeab8ef9255c";
sha256 = "sha256-E21q+Mj+JBQlUW0pe4zbaoL3ErXmCanyizwAsRYYZHk=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.21.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=8f287c3e13da2bf82049e2e464eca7ca4fef0a85";
sha256 = "sha256-dZ24RwYsHeUrMuiU7PDgPcw+iK9cOd6q+E0xWXbtTkE=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.22.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=dad94fffe14be476df5f34a8e5a90ea62a41fe12";
sha256 = "sha256-06TyTEvSy19dsnXZZoKBGx7ymJVWogr0NorzLflEwY4=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.23.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=ec6bfd3237394c1c7dbf2fd73417173318d22f4b";
sha256 = "sha256-NryxSekO8oSxsnv5G9mFZExm4Pwfc778mslyUDuDhlM=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.24.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=b26b4c08e7119281ff30d0fb4a6169bd2afa8fe4";
sha256 = "sha256-fSH3cxl/76DwkE8dHSR9uao9Vf1sJrhz7SmUSgDNodI=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.25.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=4bd9877f62166b7e369773ab92fe24a39f6515f8";
sha256 = "sha256-VMtR/sF8F1BMKmJ06ZZEPNH/+l0RySy/E6lVWdCyFKE=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.26.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=deae293f399dde3773cf37dfa9b77ca7e04ef772";
sha256 = "sha256-sCC3KE9adavw7jHMTVlxtyuwDFCPRDqT24H3AKUYf68=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.27.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=e40b83335bb33d9a2d1c06cc269875b3b3d6c539";
sha256 = "sha256-cviCfBkzacAtnHGW87RLshhduE4Ym/v2Vq4h/sZDmZg=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.28.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=11e1cffb7e2492ddac4ab8d19ce466783adbb957";
sha256 = "sha256-I1feoneVeU3XkscKfVprWWJfLUnrc5oauMXYDyDxo5M=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.29.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=13dce204cf6f3f0f49c9949971052a4c9657c0c0";
sha256 = "sha256-DzFHxgR9A8FNZ/y9OMeBvTp1K6J5ePyL06dhHQmk7Ik=";
})
(fetchpatch {
name = "CVE-2021-3695.CVE-2021-3696.CVE-2021-3697.CVE-2022-28733.CVE-2022-28734.CVE-2022-28735.CVE-2022-28736.CVE-2022-28737.30.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=2f4430cc0a44fd8c8aa7aee5c51887667ad3d6c3";
sha256 = "sha256-AufP/10/auO4NMjYQ7yPDDbYShwGaktyQtqJx2Jasz8=";
})
# October 2022 security patches
# https://lists.gnu.org/archive/html/grub-devel/2022-11/msg00059.html
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.1.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=f6b6236077f059e64ee315f2d7acb8fa4eda87c5";
sha256 = "sha256-pk02iVf/u6CdsVjl8HaFBh0Bt473ZQzz5zBp9SoBLtE=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.2.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=9c76ec09ae08155df27cd237eaea150b4f02f532";
sha256 = "sha256-axbEOH5WFkUroGna2XY1f2kq7+B1Cs6LiubIA2EBdiM=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.3.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=768e1ef2fc159f6e14e7246e4be09363708ac39e";
sha256 = "sha256-aKDUVS/Yx1c87NCrt4EG8BlSpkHijUyAJIwbmtzNjD8=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.4.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=c51292274ded3259eb04c2f1c8d253ffbdb5216a";
sha256 = "sha256-OLNOKuAJuHy2MBMnU2xcYM7AaxmDk9fchXhggoDrxJU=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.5.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=23843fe8947e4da955a05ad3d1858725bfcb56c8";
sha256 = "sha256-ptn00nqVJlEb1c6HhoMy9nrBuctH077LM4yXKsK47gc=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.6.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=b9396daf1c2e3cdc0a1e69b056852e0769fb24de";
sha256 = "sha256-K7XNneDZjLpZh/C908+5uYsB/0oIdgQqmk0yJrdQLG4=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.7.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=1d2015598cc7a9fca4b39186273e3519a88e80c7";
sha256 = "sha256-s4pZtszH4b/0u85rpzVapZmNQdYEq/wW06SQ3PW/1aU=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.8.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=93a786a00163e50c29f0394df198518617e1c9a5";
sha256 = "sha256-R8x557RMAxJ0ZV2jb6zDmwOPVlk6875q37fNpqKsPT0=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.9.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=1eac01c147b4d85d2ec4a7e5671fa4345f2e8549";
sha256 = "sha256-eOnhmU3pT5cCVnNHcY/BzDjldfs7yh/OGsxa15tGv94=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.10.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=992c06191babc1e109caf40d6a07ec6fdef427af";
sha256 = "sha256-kezNKPcLmFXwyZbXtJbaPTIbE8tijmHIzdC2jsKwrNk=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.11.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=9d81f71c6b8f55cf20cd56f5fe29c759df9b48cc";
sha256 = "sha256-jnniVGy4KvFGFmcOP2YLA46k3cK8vwoByo19ismVUzE=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.12.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=22b77b87e10a3a6c9bb9885415bc9a9c678378e6";
sha256 = "sha256-iYTEqN5997I7MVIg82jt/bbEAYhcgq8fNRCNPpY9ze0=";
})
(fetchpatch {
name = "CVE-2022-2601.CVE-2022-3775.13.patch";
url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=1514678888595ef41a968a0c69b7ff769edd1e9c";
sha256 = "sha256-tgAEoAtaNKJjscjMFkXXiVn59Pa4c+NiQ3iVW6CMrpo=";
})
];
postPatch = if kbdcompSupport then ''
+3 -3
View File
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "hwatch";
version = "0.3.7";
version = "0.3.9";
src = fetchFromGitHub {
owner = "blacknon";
repo = pname;
rev = "refs/tags/${version}";
sha256 = "sha256-FVqvwqsHkV/yK5okL1p6TiNUGDK2ZnzVNO4UDVkG+zM=";
sha256 = "sha256-O+qKVRPDn7y8JEAF75P6suH4hOfPLjWSNTDGX2V5z3w=";
};
cargoSha256 = "sha256-E4qh2cfpVNUa9OyJowSsaHU7pYiNu7IpxwISP0djVRA=";
cargoHash = "sha256-Bzg9EfVVSTKVb4nUfJ0Bygd5dRUutk+5MxojYjcJs0M=";
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "macchina";
version = "6.1.7";
version = "6.1.8";
src = fetchFromGitHub {
owner = "Macchina-CLI";
repo = pname;
rev = "v${version}";
hash = "sha256-zbQOmlFWpoQwf4rlDLn1V0vj1c66pVWrMROGANRDl9s=";
hash = "sha256-MntHq5nphfjbO0Rx7v6WjsnabSMH5Ke3aR9/embG/rk=";
};
cargoHash = "sha256-BYUGtaMG/fvQHYJgeSQcW+ZJOrm3N9g6m0c5TX9psJU=";
cargoHash = "sha256-w8WIpT8rUe7olB5kdpDyrId6D698AhcqzsfpOlutaHQ=";
nativeBuildInputs = [
installShellFiles
+1 -1
View File
@@ -16,6 +16,6 @@ rustPlatform.buildRustPackage rec {
description = "Language that compiles to regular expressions";
homepage = "https://github.com/yoav-lavi/melody";
license = licenses.mit;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
};
}
+1 -1
View File
@@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/azur1s/octofetch";
description = "Github user information on terminal";
license = licenses.mit;
maintainers = with maintainers; [ jyooru ];
maintainers = with maintainers; [ joelkoen ];
};
}
+34
View File
@@ -0,0 +1,34 @@
{ fetchFromGitHub
, python3Packages
, stdenv
, writeText
, lib
}:
python3Packages.buildPythonApplication rec {
pname = "oscclip";
version = "0.4.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "rumpelsepp";
repo = "oscclip";
rev = "v${version}";
sha256 = "sha256-WQvZn+SWamEqEXPutIZVDZTIczybtHUG9QsN8XxUeg8=";
};
nativeBuildInputs = with python3Packages; [ poetry-core ];
meta = with lib; {
description = "A program that allows to copy/paste from a terminal using osc-52 control sequences.";
longDescription = ''
oscclip provides two commands: osc-copy and osc-paste. These commands allow to interact with the clipboard through the terminal directly.
This means that they work through ssh sessions for example (given that the terminal supports osc-52 sequences).
'';
homepage = "https://github.com/rumpelsepp/oscclip";
license = licenses.gpl3Only;
maintainers = [ maintainers.traxys ];
};
}
+2 -2
View File
@@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, ncurses }:
stdenv.mkDerivation rec {
version = "1.1.0";
version = "1.2.0";
pname = "smenu";
src = fetchFromGitHub {
owner = "p-gen";
repo = "smenu";
rev = "v${version}";
sha256 = "sha256-qzlBgGPzQ3lnTBKVzQ8ZN3fwOcPgeT+GSUWXray4EYw=";
sha256 = "sha256-DfND2lIHQc+7+8lM86MMOdFKhbUAOnSlkpLwxo10EI4=";
};
buildInputs = [ ncurses ];
+1 -1
View File
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
description = "Command-line DNS client";
homepage = "https://dns.lookup.dog";
license = licenses.eupl12;
maintainers = with maintainers; [ bbigras ma27 ];
maintainers = with maintainers; [ bbigras ];
mainProgram = "dog";
};
}
+60
View File
@@ -0,0 +1,60 @@
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
, pandoc
, makeWrapper
}:
buildGoModule rec {
pname = "ov";
version = "0.13.0";
src = fetchFromGitHub {
owner = "noborus";
repo = "ov";
rev = "refs/tags/v${version}";
hash = "sha256-vBPhCSor3wGCawz+097Lw29xgW6z5fV5PAMAq7TBiNM=";
};
vendorHash = "sha256-y3oSL1W2cjt6oUVbglHhun3XNCidqb7LTXtoA25+mpo=";
ldflags = [
"-X main.Version=v${version}"
"-X main.Revision=${src.rev}"
];
subPackages = [ "." ];
nativeBuildInputs = [
installShellFiles
pandoc
makeWrapper
];
outputs = [ "out" "doc" ];
postInstall = ''
installShellCompletion --cmd ov \
--bash <($out/bin/ov completion bash) \
--fish <($out/bin/ov completion fish) \
--zsh <($out/bin/ov completion zsh)
mkdir -p $out/share/$name
cp $src/ov-less.yaml $out/share/$name/less-config.yaml
makeWrapper $out/bin/ov $out/bin/ov-less --add-flags "--config $out/share/$name/less-config.yaml"
mkdir -p $doc/share/doc/$name
pandoc -s < $src/README.md > $doc/share/doc/$name/README.html
mkdir -p $doc/share/$name
cp $src/ov.yaml $doc/share/$name/sample-config.yaml
'';
meta = with lib; {
description = "Feature-rich terminal-based text viewer";
homepage = "https://noborus.github.io/ov";
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ farcaller ];
};
}
+1 -1
View File
@@ -31,7 +31,7 @@ buildGoModule rec {
homepage = "https://github.com/yory8/clipman";
description = "A simple clipboard manager for Wayland";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ma27 ];
maintainers = with maintainers; [ ];
platforms = platforms.linux;
};
}
+2 -2
View File
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "ydotool";
version = "1.0.1";
version = "1.0.3";
src = fetchFromGitHub {
owner = "ReimuNotMoe";
repo = "ydotool";
rev = "v${version}";
sha256 = "sha256-maXXGCqB8dkGO8956hsKSwM4HQdYn6z1jBFENQ9sKcA=";
sha256 = "sha256-RcPHQFXD3YgfF11OFpcnSowPlEjxy2c2RWhGYr30GhI=";
};
strictDeps = true;
+13 -2
View File
@@ -459,7 +459,9 @@ with pkgs;
dsq = callPackage ../tools/misc/dsq { };
dtv-scan-tables = callPackage ../data/misc/dtv-scan-tables { };
dtv-scan-tables_linuxtv = callPackage ../data/misc/dtv-scan-tables/linuxtv.nix { };
dtv-scan-tables_tvheadend = callPackage ../data/misc/dtv-scan-tables/tvheadend.nix { };
dtv-scan-tables = dtv-scan-tables_linuxtv;
dufs = callPackage ../servers/http/dufs {
inherit (darwin.apple_sdk.frameworks) Security;
@@ -3124,6 +3126,7 @@ with pkgs;
github-commenter = callPackage ../development/tools/github-commenter { };
github-desktop = callPackage ../applications/version-management/github-desktop {
openssl = openssl_1_1;
curl = curl.override { openssl = openssl_1_1; };
};
@@ -10345,6 +10348,8 @@ with pkgs;
operator-sdk = callPackage ../development/tools/operator-sdk { };
oscclip = callPackage ../tools/misc/oscclip { };
owncast = callPackage ../servers/owncast { };
update-dotdee = with python3Packages; toPythonApplication update-dotdee;
@@ -25782,6 +25787,8 @@ with pkgs;
linux_5_10_hardened = linuxKernel.kernels.linux_5_10_hardened;
linuxPackages_5_15_hardened = linuxKernel.packages.linux_5_15_hardened;
linux_5_15_hardened = linuxKernel.kernels.linux_5_15_hardened;
linuxPackages_6_1_hardened = linuxKernel.packages.linux_6_1_hardened;
linux_6_1_hardened = linuxKernel.kernels.linux_6_1_hardened;
# Hardkernel (Odroid) kernels.
linuxPackages_hardkernel_latest = linuxKernel.packageAliases.linux_hardkernel_latest;
@@ -37905,7 +37912,9 @@ with pkgs;
tvbrowser-bin = callPackage ../applications/misc/tvbrowser/bin.nix { };
tvheadend = callPackage ../servers/tvheadend { };
tvheadend = callPackage ../servers/tvheadend {
dtv-scan-tables = dtv-scan-tables_tvheadend;
};
twiggy = callPackage ../development/tools/twiggy { };
@@ -38624,4 +38633,6 @@ with pkgs;
tuner = callPackage ../applications/audio/tuner { };
jfrog-cli = callPackage ../tools/misc/jfrog-cli { };
ov = callPackage ../tools/text/ov { };
}
+2
View File
@@ -249,6 +249,7 @@ in {
linux_5_18_hardened = throw "linux 5.18 was removed because it has reached its end of life upstream";
linux_5_19_hardened = throw "linux 5.19 was removed because it has reached its end of life upstream";
linux_6_0_hardened = hardenedKernelFor kernels.linux_6_0 { };
linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { };
}));
/* Linux kernel modules are inherently tied to a specific kernel. So
@@ -577,6 +578,7 @@ in {
linux_5_18_hardened = throw "linux 5.18 was removed because it has reached its end of life upstream";
linux_5_19_hardened = throw "linux 5.19 was removed because it has reached its end of life upstream";
linux_6_0_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_6_0 { });
linux_6_1_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_6_1 { });
linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx);
+3 -2
View File
@@ -140,13 +140,13 @@ rec {
vicious = callPackage ({ fetchFromGitHub }: stdenv.mkDerivation rec {
pname = "vicious";
version = "2.5.1";
version = "2.6.0";
src = fetchFromGitHub {
owner = "vicious-widgets";
repo = "vicious";
rev = "v${version}";
sha256 = "sha256-geu/g/dFAVxtY1BuJYpZoVtFS/oL66NFnqiLAnJELtI=";
sha256 = "sha256-VlJ2hNou2+t7eSyHmFkC2xJ92OH/uJ/ewYHkFLQjUPQ=";
};
buildInputs = [ lua ];
@@ -160,6 +160,7 @@ rec {
meta = with lib; {
description = "A modular widget library for the awesome window manager";
homepage = "https://vicious.rtfd.io";
changelog = "https://vicious.rtfd.io/en/v${version}/changelog.html";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ makefu mic92 McSinyx ];
platforms = platforms.linux;
+2 -10
View File
@@ -12835,19 +12835,11 @@ let
LaTeXML = buildPerlPackage rec {
pname = "LaTeXML";
version = "0.8.6";
version = "0.8.7";
src = fetchurl {
url = "mirror://cpan/authors/id/B/BR/BRMILLER/${pname}-${version}.tar.gz";
hash = "sha256-lSnGUbZ/Xo3e8f0YUvl051ahe3EcRtQRjwZ3rQ5um7E=";
hash = "sha256-JdqdlEB3newNrdTMLUIn6Oq4dDfAcZh3J03PuQakzHk=";
};
patches = [
(fetchpatch {
# https://github.com/brucemiller/LaTeXML/issues/1669
name = "downgrade-security-FileTemp.patch";
url = "https://github.com/brucemiller/LaTeXML/commit/c3d6b9b88f9eafce6eee52b1634ea33085ba9ec6.patch";
hash = "sha256-p+boNhshvSZtygVZUawjeN38bJsfM95JrkLOBbazhos=";
})
];
outputs = [ "out" "tex" ];
propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageMagick ImageSize JSONXS LWP ParseRecDescent PodParser TextUnidecode XMLLibXSLT ];
nativeBuildInputs = [ pkgs.makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;