Merge staging-next into staging
This commit is contained in:
@@ -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 don’t.
|
||||
|
||||
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 couldn‘t 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 don’t 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 can‘t
|
||||
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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ let
|
||||
linux_5_10_hardened
|
||||
linux_5_15_hardened
|
||||
linux_6_0_hardened
|
||||
linux_6_1_hardened
|
||||
|
||||
linux_testing;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 // {
|
||||
|
||||
@@ -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.
|
||||
'' ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -179,4 +179,11 @@ rec {
|
||||
echo "Hello"
|
||||
file .
|
||||
'';
|
||||
resholvedScriptBinNone = resholve.writeScriptBin "resholved-script-bin" {
|
||||
inputs = [ file ];
|
||||
interpreter = "none";
|
||||
} ''
|
||||
echo "Hello"
|
||||
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,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; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {}))
|
||||
|
||||
@@ -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 { }))
|
||||
|
||||
@@ -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 { }))
|
||||
|
||||
@@ -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 { }))
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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,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 = ".";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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; {
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ''
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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,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;
|
||||
|
||||
@@ -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 { };
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user