Merge staging-next into staging
This commit is contained in:
@@ -1,7 +1,977 @@
|
||||
# Haskell {#haskell}
|
||||
# Haskell {#sec-haskell}
|
||||
|
||||
The documentation for the Haskell infrastructure is published at
|
||||
<https://haskell4nix.readthedocs.io/>. The source code for that
|
||||
site lives in the `doc/` sub-directory of the
|
||||
[`cabal2nix` Git repository](https://github.com/NixOS/cabal2nix)
|
||||
and changes can be submitted there.
|
||||
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
|
||||
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.
|
||||
|
||||
<!-- 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}
|
||||
|
||||
The compiler and most build tools are exposed at the top level:
|
||||
|
||||
* `ghc` is the default version of GHC
|
||||
* Language specific tools: `cabal-install`, `stack`, `hpack`, …
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
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:
|
||||
|
||||
```console
|
||||
$ nix-env -f '<nixpkgs>' -qaP -A haskellPackages
|
||||
haskellPackages.a50 a50-0.5
|
||||
haskellPackages.AAI AAI-0.2.0.1
|
||||
haskellPackages.aasam aasam-0.2.0.0
|
||||
haskellPackages.abacate abacate-0.0.0.0
|
||||
haskellPackages.abc-puzzle abc-puzzle-0.2.1
|
||||
…
|
||||
```
|
||||
|
||||
The attribute names in `haskellPackages` always correspond with their name on
|
||||
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).
|
||||
-->
|
||||
|
||||
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
|
||||
deprecated or unmaintained, but sometimes packages that should, don't build.
|
||||
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).
|
||||
-->
|
||||
|
||||
`haskellPackages` is built with our default compiler, but we also provide other
|
||||
releases of GHC and package sets built with them. You can list all available
|
||||
compilers like this:
|
||||
|
||||
```console
|
||||
$ nix-env -f '<nixpkgs>' -qaP -A haskell.compiler
|
||||
haskell.compiler.ghc810 ghc-8.10.7
|
||||
haskell.compiler.ghc88 ghc-8.8.4
|
||||
haskell.compiler.ghc90 ghc-9.0.2
|
||||
haskell.compiler.ghc92 ghc-9.2.4
|
||||
haskell.compiler.ghc925 ghc-9.2.5
|
||||
haskell.compiler.ghc942 ghc-9.4.2
|
||||
haskell.compiler.ghc943 ghc-9.4.3
|
||||
haskell.compiler.ghc94 ghc-9.4.4
|
||||
haskell.compiler.ghcHEAD ghc-9.7.20221224
|
||||
haskell.compiler.ghc8102Binary ghc-binary-8.10.2
|
||||
haskell.compiler.ghc8102BinaryMinimal ghc-binary-8.10.2
|
||||
haskell.compiler.ghc8107BinaryMinimal ghc-binary-8.10.7
|
||||
haskell.compiler.ghc8107Binary ghc-binary-8.10.7
|
||||
haskell.compiler.ghc865Binary ghc-binary-8.6.5
|
||||
haskell.compiler.ghc924Binary ghc-binary-9.2.4
|
||||
haskell.compiler.ghc924BinaryMinimal ghc-binary-9.2.4
|
||||
haskell.compiler.integer-simple.ghc810 ghc-integer-simple-8.10.7
|
||||
haskell.compiler.integer-simple.ghc8107 ghc-integer-simple-8.10.7
|
||||
haskell.compiler.integer-simple.ghc884 ghc-integer-simple-8.8.4
|
||||
haskell.compiler.integer-simple.ghc88 ghc-integer-simple-8.8.4
|
||||
haskell.compiler.native-bignum.ghc90 ghc-native-bignum-9.0.2
|
||||
haskell.compiler.native-bignum.ghc902 ghc-native-bignum-9.0.2
|
||||
haskell.compiler.native-bignum.ghc92 ghc-native-bignum-9.2.4
|
||||
haskell.compiler.native-bignum.ghc924 ghc-native-bignum-9.2.4
|
||||
haskell.compiler.native-bignum.ghc925 ghc-native-bignum-9.2.5
|
||||
haskell.compiler.native-bignum.ghc942 ghc-native-bignum-9.4.2
|
||||
haskell.compiler.native-bignum.ghc943 ghc-native-bignum-9.4.3
|
||||
haskell.compiler.native-bignum.ghc94 ghc-native-bignum-9.4.4
|
||||
haskell.compiler.native-bignum.ghc944 ghc-native-bignum-9.4.4
|
||||
haskell.compiler.native-bignum.ghcHEAD ghc-native-bignum-9.7.20221224
|
||||
haskell.compiler.ghcjs ghcjs-8.10.7
|
||||
```
|
||||
|
||||
Every of those compilers has a corresponding attribute set built completely
|
||||
using it. However, the non-standard package sets are not tested regularly and
|
||||
have less working packages as a result. The corresponding package set for GHC
|
||||
9.4.4 is `haskell.packages.ghc944` (in fact `haskellPackages` is just an alias
|
||||
for `haskell.packages.ghc924`):
|
||||
|
||||
```console
|
||||
$ nix-env -f '<nixpkgs>' -qaP -A haskell.packages.ghc924
|
||||
haskell.packages.ghc924.a50 a50-0.5
|
||||
haskell.packages.ghc924.AAI AAI-0.2.0.1
|
||||
haskell.packages.ghc924.aasam aasam-0.2.0.0
|
||||
haskell.packages.ghc924.abacate abacate-0.0.0.0
|
||||
haskell.packages.ghc924.abc-puzzle abc-puzzle-0.2.1
|
||||
…
|
||||
```
|
||||
|
||||
Every package set also re-exposes the GHC used to build its packages as `haskell.packages.*.ghc`.
|
||||
|
||||
## `haskellPackages.mkDerivation` {#haskell-mkderivation}
|
||||
|
||||
Every haskell package set has its own haskell-aware `mkDerivation` which is used
|
||||
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.
|
||||
|
||||
`haskellPackages.mkDerivation` is a wrapper around `stdenv.mkDerivation` which
|
||||
re-defines the default phases to be haskell aware and handles dependency
|
||||
specification, test suites, benchmarks etc. by compiling and invoking the
|
||||
package's `Setup.hs`. It does *not* use or invoke the `cabal-install` binary,
|
||||
but uses the underlying `Cabal` library instead.
|
||||
|
||||
### General arguments
|
||||
|
||||
`pname`
|
||||
: 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)
|
||||
|
||||
`src`
|
||||
: Source of the package. If omitted, fetch package corresponding to `pname`
|
||||
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.
|
||||
If `null` (which is the default value), the one included in `src` is used.
|
||||
|
||||
`editedCabalFile`
|
||||
: `sha256` hash of the cabal file identified by `revision` or `null`.
|
||||
|
||||
`configureFlags`
|
||||
: Extra flags passed when executing the `configure` command of `Setup.hs`.
|
||||
|
||||
`buildFlags`
|
||||
: Extra flags passed when executing the `build` command of `Setup.hs`.
|
||||
|
||||
`haddockFlags`
|
||||
: Extra flags passed to `Setup.hs haddock` when building the documentation.
|
||||
|
||||
`doCheck`
|
||||
: Whether to execute the package's test suite if it has one. Defaults to `true` unless cross-compiling.
|
||||
|
||||
`doBenchmark`
|
||||
: Whether to execute the package's benchmark if it has one. Defaults to `false`.
|
||||
|
||||
`doHoogle`
|
||||
: Whether to generate an index file for [hoogle][hoogle] as part of
|
||||
`haddockPhase` by passing the [`--hoogle` option][haddock-hoogle-option].
|
||||
Defaults to `true`.
|
||||
|
||||
`doHaddockQuickjump`
|
||||
: Whether to generate an index for interactive navigation of the HTML documentation.
|
||||
Defaults to `true` if supported.
|
||||
|
||||
`enableLibraryProfiling`
|
||||
: Whether to enable [profiling][profiling] for libraries contained in the
|
||||
package. Enabled by default if supported.
|
||||
|
||||
`enableExecutableProfiling`
|
||||
: Whether to enable [profiling][profiling] for executables contained in the
|
||||
package. Disabled by default.
|
||||
|
||||
`profilingDetail`
|
||||
: [Profiling detail level][profiling-detail] to set. Defaults to `exported-functions`.
|
||||
|
||||
`enableSharedExecutables`
|
||||
: Whether to link executables dynamically. By default, executables are linked statically.
|
||||
|
||||
`enableSharedLibraries`
|
||||
: Whether to build shared Haskell libraries. This is enabled by default unless we are using
|
||||
`pkgsStatic` or shared libraries have been disabled in GHC.
|
||||
|
||||
`enableStaticLibraries`
|
||||
: Whether to build static libraries. Enabled by default if supported.
|
||||
|
||||
`enableDeadCodeElimination`
|
||||
: Whether to enable linker based dead code elimination in GHC.
|
||||
Enabled by default if supported.
|
||||
|
||||
`enableHsc2hsViaAsm`
|
||||
: Whether to pass `--via-asm` to `hsc2hs`.
|
||||
|
||||
`hyperlinkSource`
|
||||
: Whether to render the source as well as part of the haddock documentation
|
||||
by passing the [`--hyperlinked-source` flag][haddock-hyperlinked-source-option].
|
||||
Defaults to `true`.
|
||||
|
||||
`isExecutable`
|
||||
: Whether the package contains an executable.
|
||||
|
||||
`isLibrary`
|
||||
: Whether the package contains a library.
|
||||
|
||||
`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
|
||||
behind a flag.
|
||||
|
||||
`enableParallelBuilding`
|
||||
: Whether to use the `-j` flag to make GHC/Cabal start multiple jobs in parallel.
|
||||
|
||||
`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
|
||||
sees a [performance regression](https://gitlab.haskell.org/ghc/ghc/-/issues/9221)
|
||||
if too many parallel jobs are used.
|
||||
|
||||
`doCoverage`
|
||||
: Whether to generate and install files needed for [HPC][haskell-program-coverage].
|
||||
Defaults to `false`.
|
||||
|
||||
`doHaddock`
|
||||
: Wether to build (HTML) documentation using [haddock][haddock].
|
||||
Defaults to `true` if supported.
|
||||
|
||||
`testTarget`
|
||||
: Name of the test suite to build and run. If unset, all test suites will be executed.
|
||||
|
||||
`preCompileBuildDriver`
|
||||
: Shell code to run before compiling `Setup.hs`.
|
||||
|
||||
`postCompileBuildDriver`
|
||||
: Shell code to run after compiling `Setup.hs`.
|
||||
|
||||
`preHaddock`
|
||||
: Shell code to run before building documentation using haddock.
|
||||
|
||||
`postHaddock`
|
||||
: Shell code to run after building documentation using haddock.
|
||||
|
||||
`coreSetup`
|
||||
: Whether to only allow core libraries to be used while building `Setup.hs`.
|
||||
Defaults to `false`.
|
||||
|
||||
`useCpphs`
|
||||
: Whether to enable the [cpphs][cpphs] preprocessor. Defaults to `false`.
|
||||
|
||||
`enableSeparateBinOutput`
|
||||
: Whether to install executables to a separate `bin` output. Defaults to `false`.
|
||||
|
||||
`enableSeparateDataOutput`
|
||||
: Whether to install data files shipped with the package to a separate `data` output.
|
||||
Defaults to `false`.
|
||||
|
||||
`enableSeparateDocOutput`
|
||||
: Whether to install documentation to a separate `doc` output.
|
||||
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`.
|
||||
|
||||
`enableLibraryForGhci`
|
||||
: Build and install a special object file for GHCi. This improves performance
|
||||
when loading the library in the REPL, but requires extra build time and
|
||||
disk space. Defaults to `false`.
|
||||
|
||||
`buildTarget`
|
||||
: Name of the executable or library to build and install.
|
||||
If unset, all available targets are built and installed.
|
||||
|
||||
### Specifying dependencies
|
||||
|
||||
Since `haskellPackages.mkDerivation` is intended to be generated from cabal
|
||||
files, it reflects cabal's way of specifying dependencies. For one, dependencies
|
||||
are grouped by what part of the package they belong to. This helps to reduce the
|
||||
dependency closure of a derivation, for example benchmark dependencies are not
|
||||
included if `doBenchmark == false`.
|
||||
|
||||
`setup*Depends`
|
||||
: dependencies necessary to compile `Setup.hs`
|
||||
|
||||
`library*Depends`
|
||||
: dependencies of a library contained in the package
|
||||
|
||||
`executable*Depends`
|
||||
: dependencies of an executable contained in the package
|
||||
|
||||
`test*Depends`
|
||||
: dependencies of a test suite contained in the package
|
||||
|
||||
`benchmark*Depends`
|
||||
: dependencies of a benchmark contained in the package
|
||||
|
||||
The other categorization relates to the way the package depends on the dependency:
|
||||
|
||||
`*ToolDepends`
|
||||
: Tools we need to run as part of the build process.
|
||||
They are added to the derivation's `nativeBuildInputs`.
|
||||
|
||||
`*HaskellDepends`
|
||||
: Haskell libraries the package depends on.
|
||||
They are added to `propagatedBuildInputs`.
|
||||
|
||||
`*SystemDepends`
|
||||
: Non-Haskell libraries the package depends on.
|
||||
They are added to `buildInputs`
|
||||
|
||||
`*PkgconfigDepends`
|
||||
: `*SystemDepends` which are discovered using `pkg-config`.
|
||||
They are added to `buildInputs` and it is additionally
|
||||
ensured that `pkg-config` is available at build time.
|
||||
|
||||
`*FrameworkDepends`
|
||||
: Apple SDK Framework which the package depends on when compiling it on Darwin.
|
||||
|
||||
Using these two distinctions, you should be able to categorize most of the dependency
|
||||
specifications that are available:
|
||||
`benchmarkFrameworkDepends`,
|
||||
`benchmarkHaskellDepends`,
|
||||
`benchmarkPkgconfigDepends`,
|
||||
`benchmarkSystemDepends`,
|
||||
`benchmarkToolDepends`,
|
||||
`executableFrameworkDepends`,
|
||||
`executableHaskellDepends`,
|
||||
`executablePkgconfigDepends`,
|
||||
`executableSystemDepends`,
|
||||
`executableToolDepends`,
|
||||
`libraryFrameworkDepends`,
|
||||
`libraryHaskellDepends`,
|
||||
`libraryPkgconfigDepends`,
|
||||
`librarySystemDepends`,
|
||||
`libraryToolDepends`,
|
||||
`setupHaskellDepends`,
|
||||
`testFrameworkDepends`,
|
||||
`testHaskellDepends`,
|
||||
`testPkgconfigDepends`,
|
||||
`testSystemDepends` and
|
||||
`testToolDepends`.
|
||||
|
||||
That only leaves the following extra ways for specifying dependencies:
|
||||
|
||||
`buildDepends`
|
||||
: Allows specifying Haskell dependencies which are added to `propagatedBuildInputs` unconditionally.
|
||||
|
||||
`buildTools`
|
||||
: Like `*ToolDepends`, but are added to `nativeBuildInputs` unconditionally.
|
||||
|
||||
`extraLibraries`
|
||||
: Like `*SystemDepends`, but are added to `buildInputs` unconditionally.
|
||||
|
||||
`pkg-configDepends`
|
||||
: Like `*PkgconfigDepends`, but are added to `buildInputs` unconditionally.
|
||||
|
||||
`testDepends`
|
||||
: Deprecated, use either `testHaskellDepends` or `testSystemDepends`.
|
||||
|
||||
`benchmarkDepends`
|
||||
: 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)
|
||||
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.
|
||||
|
||||
### Meta attributes
|
||||
|
||||
`haskellPackages.mkDerivation` accepts the following attributes as direct
|
||||
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`.
|
||||
* `platforms`: defaults to `lib.platforms.all` (since GHC can cross-compile)
|
||||
* These attributes are only set if given:
|
||||
* `description`
|
||||
* `license`
|
||||
* `changelog`
|
||||
* `maintainers`
|
||||
* `broken`
|
||||
* `hydraPlatforms`
|
||||
|
||||
## Development environments {#sec-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.
|
||||
|
||||
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):
|
||||
|
||||
```console
|
||||
$ cd ~/src/random
|
||||
$ nix-shell -A haskellPackages.random.env '<nixpkgs>'
|
||||
[nix-shell:~/src/random]$ ghc-pkg list
|
||||
/nix/store/a8hhl54xlzfizrhcf03c1l3f6l9l8qwv-ghc-9.2.4-with-packages/lib/ghc-9.2.4/package.conf.d
|
||||
Cabal-3.6.3.0
|
||||
array-0.5.4.0
|
||||
base-4.16.3.0
|
||||
binary-0.8.9.0
|
||||
…
|
||||
ghc-9.2.4
|
||||
…
|
||||
```
|
||||
|
||||
As you can see, the environment contains a GHC which is set up so it finds all
|
||||
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.
|
||||
|
||||
`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).
|
||||
|
||||
<!-- 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.
|
||||
|
||||
-->
|
||||
|
||||
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
|
||||
environment from. Luckily, we can generate one very easily from an already
|
||||
existing cabal file using `cabal2nix`:
|
||||
|
||||
```console
|
||||
$ ls
|
||||
my-project.cabal src …
|
||||
$ cabal2nix ./. > my-project.nix
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
```nix
|
||||
# Retrieve nixpkgs impurely from NIX_PATH for now, you can pin it instead, of course.
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
# use the nixpkgs default haskell package set
|
||||
pkgs.haskellPackages.callPackage ./my-project.nix { }
|
||||
```
|
||||
|
||||
Using `nix-build default.nix` we can now build our project, but we can also
|
||||
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}
|
||||
|
||||
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
|
||||
proper tool for making development environments out of packages' build
|
||||
environments: `shellFor`, a function exposed by every haskell package set. It
|
||||
takes the following arguments and returns a derivation which is suitable as a
|
||||
development environment inside `nix-shell`:
|
||||
|
||||
`packages`
|
||||
: This argument is used to select the packages for which to build the
|
||||
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: [
|
||||
(hpkgs.callPackage ./my-project.nix { }) ]`.
|
||||
|
||||
`nativeBuildInputs`
|
||||
: Expects a list of derivations to add as build tools to the build environment.
|
||||
This is the place to add packages like `cabal-install`, `doctest` or `hlint`.
|
||||
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 -->
|
||||
|
||||
`withHoogle`
|
||||
: If this is true, `hoogle` will be added to `nativeBuildInputs`.
|
||||
Additionally, its database will be populated with all included dependencies,
|
||||
so you'll be able search through the documentation of your dependencies.
|
||||
Defaults to `false`.
|
||||
|
||||
`genericBuilderArgsModifier`
|
||||
: This argument accepts a function allowing you to modify the arguments passed
|
||||
to `mkDerivation` in order to create the development environment. For example,
|
||||
`args: { doCheck = false; }` would cause the environment to not include any test
|
||||
dependencies. Defaults to `lib.id`.
|
||||
|
||||
`doBenchmark`
|
||||
: This is a shortcut for enabling `doBenchmark` via `genericBuilderArgsModifier`.
|
||||
Setting it to `true` will cause the development environment to include all
|
||||
benchmark dependencies which would be excluded by default. Defaults to `false`.
|
||||
|
||||
One neat property of `shellFor` is that it allows you to work on multiple
|
||||
packages using the same environment in conjunction with
|
||||
[cabal.project files][cabal-project-files].
|
||||
Say our example above depends on `distribution-nixpkgs` and we have a project
|
||||
file set up for both, we can add the following `shell.nix` expression:
|
||||
|
||||
```nix
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
pkgs.haskellPackages.shellFor {
|
||||
packages = hpkgs: [
|
||||
# reuse the nixpkgs for this package
|
||||
hpkgs.distribution-nixpkgs
|
||||
# call our generated nix expression manually
|
||||
(hpkgs.callPackage ./my-project/my-project.nix { })
|
||||
];
|
||||
|
||||
# development tools we use
|
||||
nativeBuildInputs = [
|
||||
pkgs.cabal-install
|
||||
pkgs.haskellPackages.doctest
|
||||
pkgs.cabal2nix
|
||||
];
|
||||
|
||||
# Extra arguments are added to mkDerivation's arguments as-is.
|
||||
# Since it adds all passed arguments to the shell environment,
|
||||
# we can use this to set the environment variable the `Paths_`
|
||||
# module of distribution-nixpkgs uses to search for bundled
|
||||
# files.
|
||||
# See also: https://cabal.readthedocs.io/en/latest/cabal-package.html#accessing-data-files-from-package-code
|
||||
distribution_nixpkgs_datadir = toString ./distribution-nixpkgs;
|
||||
}
|
||||
```
|
||||
|
||||
<!-- TODO(@sternenseemann): deps are not included if not selected -->
|
||||
|
||||
## Overriding haskell packages {#sec-haskell-overriding-haskell-packages}
|
||||
|
||||
### Overriding a single package
|
||||
|
||||
<!-- TODO(@sternenseemann): we should document /somewhere/ that base == null etc. -->
|
||||
|
||||
Like many language specific subsystems in nixpkgs, the Haskell infrastructure
|
||||
also has its own quirks when it comes to overriding. Overriding of the *inputs*
|
||||
to a package at least follows the standard procedure. For example, imagine you
|
||||
need to build `nix-tree` with a more recent version of `brick` than the default
|
||||
one provided by `haskellPackages`:
|
||||
|
||||
```nix
|
||||
haskellPackages.nix-tree.override {
|
||||
brick = haskellPackages.brick_0_67;
|
||||
}
|
||||
```
|
||||
|
||||
<!-- TODO(@sternenseemann): This belongs in the next section
|
||||
One common problem you may run into with such an override is the build failing
|
||||
with “abort because of serious configure-time warning from Cabal”. When scrolling
|
||||
up, you'll usually notice that Cabal noticed that more than one versions of the same
|
||||
package was present in the dependency graph. This typically causes a later compilation
|
||||
failure (the error message `haskellPackages.mkDerivation` produces tries to save
|
||||
you the time of finding this out yourself, but if you wish to do so, you can
|
||||
disable it using `allowInconsistentDependencies`). Luckily, `haskellPackages` provides
|
||||
you with a tool to deal with this. `overrideScope` creates a new `haskellPackages`
|
||||
instance with the override applied *globally* for this package, so the dependency
|
||||
closure automatically uses a consistent version of the overridden package. E. g.
|
||||
if `haskell-ci` needs a recent version of `Cabal`, but also uses other packages
|
||||
that depend on that library, you may want to use:
|
||||
|
||||
```nix
|
||||
haskellPackages.haskell-ci.overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_6_2_0;
|
||||
})
|
||||
```
|
||||
|
||||
-->
|
||||
|
||||
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
|
||||
that is distributed with the package, you can do something like this:
|
||||
|
||||
```nix
|
||||
haskell.lib.compose.overrideCabal (drv: {
|
||||
postInstall = ''
|
||||
${drv.postInstall or ""}
|
||||
install -Dm644 man/pnbackup.1 -t $out/share/man/man1
|
||||
'';
|
||||
}) haskellPackages.pnbackup
|
||||
```
|
||||
|
||||
`overrideCabal` takes two arguments:
|
||||
|
||||
1. A function which receives all arguments passed to `haskellPackages.mkDerivation`
|
||||
before and returns a set of arguments to replace (or add) with a new value.
|
||||
2. The Haskell derivation to override.
|
||||
|
||||
The arguments are ordered so that you can easily create helper functions by making
|
||||
use of currying:
|
||||
|
||||
```nix
|
||||
let
|
||||
installManPage = haskell.lib.compose.overrideCabal (drv: {
|
||||
postInstall = ''
|
||||
${drv.postInstall or ""}
|
||||
install -Dm644 man/${drv.pname}.1 -t "$out/share/man/man1"
|
||||
'';
|
||||
});
|
||||
in
|
||||
|
||||
installManPage haskellPackages.pnbackup
|
||||
```
|
||||
|
||||
In fact, `haskell.lib.compose` already provides lots of useful helpers for common
|
||||
tasks, detailed in the next section. They are also structured in such a way that
|
||||
they can be combined using `lib.pipe`:
|
||||
|
||||
```nix
|
||||
lib.pipe my-haskell-package [
|
||||
# lift version bounds on dependencies
|
||||
haskell.lib.compose.doJailbreak
|
||||
# disable building the haddock documentation
|
||||
haskell.lib.compose.dontHaddock
|
||||
# pass extra package flag to Cabal's configure step
|
||||
(haskell.lib.compose.enableCabalFlag "myflag")
|
||||
]
|
||||
```
|
||||
|
||||
#### `haskell.lib.compose`
|
||||
|
||||
The base interface for all overriding is the following function:
|
||||
|
||||
`overrideCabal f drv`
|
||||
: Takes the arguments passed to obtain `drv` to `f` and uses the resulting
|
||||
attribute set to update the argument set. Then a recomputed version of `drv`
|
||||
using the new argument set is returned.
|
||||
|
||||
<!--
|
||||
TODO(@sternenseemann): ideally we want to be more detailed here as well, but
|
||||
I want to avoid the documentation having to be kept in sync in too many places.
|
||||
We already document this stuff in the mkDerivation section and lib/compose.nix.
|
||||
Ideally this section would be generated from the latter in the future.
|
||||
-->
|
||||
|
||||
All other helper functions are implemented in terms of `overrideCabal` and make
|
||||
common overrides shorter and more complicate ones trivial. The simple overrides
|
||||
which only change a single argument are only described very briefly in the
|
||||
following overview. Refer to the
|
||||
[documentation of `haskellPackages.mkDerivation`](#haskell-mkderivation)
|
||||
for a more detailed description of the effects of the respective arguments.
|
||||
|
||||
##### Packaging Helpers
|
||||
|
||||
`overrideSrc { src, version } drv`
|
||||
: Replace the source used for building `drv` with the path or derivation given
|
||||
as `src`. The `version` attribute is optional. Prefer this function over
|
||||
overriding `src` via `overrideCabal`, since it also automatically takes care of
|
||||
removing any Hackage revisions.
|
||||
|
||||
<!-- TODO(@sternenseemann): deprecated
|
||||
|
||||
`generateOptparseApplicativeCompletions list drv`
|
||||
: Generate and install shell completion files for the installed executables whose
|
||||
names are given via `list`. The executables need to be using `optparse-applicative`
|
||||
for this to work.
|
||||
-->
|
||||
|
||||
`justStaticExecutables drv`
|
||||
: Only build and install the executables produced by `drv`, removing everything
|
||||
that may refer to other Haskell packages' store paths (like libraries and
|
||||
documentation). This dramatically reduces the closure size of the resulting
|
||||
derivation. Note that the executables are only statically linked against their
|
||||
Haskell dependencies, but will still link dynamically against libc, GMP and
|
||||
other system library dependencies. If dependencies use their Cabal-generated
|
||||
`Paths_*` module, this may not work as well if GHC's dead code elimination
|
||||
is unable to remove the references to the dependency's store path that module
|
||||
contains.
|
||||
|
||||
`enableSeparateBinOutput drv`
|
||||
: Install executables produced by `drv` to a separate `bin` output. This
|
||||
has a similar effect as `justStaticExecutables`, but preserves the libraries
|
||||
and documentation in the `out` output alongside the `bin` output with a
|
||||
much smaller closure size.
|
||||
|
||||
`markBroken drv`
|
||||
: Sets the `broken` flag to `true` for `drv`.
|
||||
|
||||
`markUnbroken drv`, `unmarkBroken drv`
|
||||
: Set the `broken` flag to `false` for `drv`.
|
||||
|
||||
`doDistribute drv`
|
||||
: Updates `hydraPlatforms` so that Hydra will build `drv`. This is
|
||||
sometimes necessary when working with versioned packages in
|
||||
`haskellPackages` which are not built by default.
|
||||
|
||||
`dontDistribute drv`
|
||||
: Sets `hydraPlatforms` to `[]`, causing Hydra to skip this package
|
||||
altogether. Useful if it fails to evaluate cleanly and is causing
|
||||
noise in the evaluation errors tab on Hydra.
|
||||
|
||||
##### Development Helpers
|
||||
|
||||
`sdistTarball drv`
|
||||
: Create a source distribution tarball like those found on Hackage
|
||||
instead of building the package `drv`.
|
||||
|
||||
`documentationTarball drv`
|
||||
: Create a documentation tarball suitable for uploading to Hackage
|
||||
instead of building the package `drv`.
|
||||
|
||||
`buildFromSdist drv`
|
||||
: Uses `sdistTarball drv` as the source to compile `drv`. This helps to catch
|
||||
packaging bugs when building from a local directory, e.g. when required files
|
||||
are missing from `extra-source-files`.
|
||||
|
||||
`failOnAllWarnings drv`
|
||||
: Enables all warnings GHC supports and makes it fail the build if any of them
|
||||
are emitted.
|
||||
|
||||
<!-- TODO(@sternenseemann):
|
||||
`checkUnusedPackages opts drv`
|
||||
: Adds an extra check to `postBuild` which fails the build if any dependency
|
||||
taken as an input is not used. The `opts` attribute set allows relaxing this
|
||||
check.
|
||||
-->
|
||||
|
||||
`enableDWARFDebugging drv`
|
||||
: Compiles the package with additional debug symbols enabled, useful
|
||||
for debugging with e.g. `gdb`.
|
||||
|
||||
`doStrip drv`
|
||||
: Sets `doStrip` to `true` for `drv`.
|
||||
|
||||
`dontStrip drv`
|
||||
: Sets `doStrip` to `false` for `drv`.
|
||||
|
||||
<!-- TODO(@sternenseemann): shellAware -->
|
||||
|
||||
##### Trivial Helpers
|
||||
|
||||
`doJailbreak drv`
|
||||
: Sets the `jailbreak` argument to `true` for `drv`.
|
||||
|
||||
`dontJailbreak drv`
|
||||
: Sets the `jailbreak` argument to `false` for `drv`.
|
||||
|
||||
`doHaddock drv`
|
||||
: Sets `doHaddock` to `true` for `drv`.
|
||||
|
||||
`dontHaddock drv`
|
||||
: Sets `doHaddock` to `false` for `drv`. Useful if the build of a package is
|
||||
failing because of e.g. a syntax error in the Haddock documentation.
|
||||
|
||||
`doHyperlinkSource drv`
|
||||
: Sets `hyperlinkSource` to `true` for `drv`.
|
||||
|
||||
`dontHyperlinkSource drv`
|
||||
: Sets `hyperlinkSource` to `false` for `drv`.
|
||||
|
||||
`doCheck drv`
|
||||
: Sets `doCheck` to `true` for `drv`.
|
||||
|
||||
`dontCheck drv`
|
||||
: Sets `doCheck` to `false` for `drv`. Useful if a package has a broken,
|
||||
flaky or otherwise problematic test suite breaking the build.
|
||||
|
||||
<!-- Purposefully omitting the non-list variants here. They are a bit
|
||||
ugly, and we may want to deprecate them at some point. -->
|
||||
|
||||
`appendConfigureFlags list drv`
|
||||
: Adds the strings in `list` to the `configureFlags` argument for `drv`.
|
||||
|
||||
`enableCabalFlag flag drv`
|
||||
: Makes sure that the Cabal flag `flag` is enabled in Cabal's configure step.
|
||||
|
||||
`disableCabalFlag flag drv`
|
||||
: Makes sure that the Cabal flag `flag` is disabled in Cabal's configure step.
|
||||
|
||||
`appendBuildflags list drv`
|
||||
: Adds the strings in `list` to the `buildFlags` argument for `drv`.
|
||||
|
||||
<!-- TODO(@sternenseemann): removeConfigureFlag -->
|
||||
|
||||
`appendPatches list drv`
|
||||
: Adds the `list` of derivations or paths to the `patches` argument for `drv`.
|
||||
|
||||
<!-- TODO(@sternenseemann): link dep section -->
|
||||
|
||||
`addBuildTools list drv`
|
||||
: Adds the `list` of derivations to the `buildTools` argument for `drv`.
|
||||
|
||||
`addExtraLibraries list drv`
|
||||
: Adds the `list` of derivations to the `extraLibraries` argument for `drv`.
|
||||
|
||||
`addBuildDepends list drv`
|
||||
: Adds the `list` of derivations to the `buildDepends` argument for `drv`.
|
||||
|
||||
`addTestToolDepends list drv`
|
||||
: Adds the `list` of derivations to the `testToolDepends` argument for `drv`.
|
||||
|
||||
`addPkgconfigDepends list drv`
|
||||
: Adds the `list` of derivations to the `pkg-configDepends` argument for `drv`.
|
||||
|
||||
`addSetupDepends list drv`
|
||||
: Adds the `list` of derivations to the `setupHaskellDepends` argument for `drv`.
|
||||
|
||||
`doBenchmark drv`
|
||||
: Set `doBenchmark` to `true` for `drv`. Useful if your development
|
||||
environment is missing the dependencies necessary for compiling the
|
||||
benchmark component.
|
||||
|
||||
`dontBenchmark drv`
|
||||
: Set `doBenchmark` to `false` for `drv`.
|
||||
|
||||
`setBuildTargets list drv`
|
||||
: Sets the `buildTarget` argument for `drv` so that the targets specified in `list` are built.
|
||||
|
||||
`doCoverage drv`
|
||||
: Sets the `doCoverage` argument to `true` for `drv`.
|
||||
|
||||
`dontCoverage drv`
|
||||
: Sets the `doCoverage` argument to `false` for `drv`.
|
||||
|
||||
#### Library functions in the Haskell package sets
|
||||
|
||||
Some library functions depend on packages from the Haskell package sets. Thus they are
|
||||
exposed from those instead of from `haskell.lib.compose` which can only access what is
|
||||
passed directly to it. When using the functions below, make sure that you are obtaining them
|
||||
from the same package set (`haskellPackages`, `haskell.packages.ghc944` etc.) as the packages
|
||||
you are working with or – even better – from the `self`/`final` fix point of your overlay to
|
||||
`haskellPackages`.
|
||||
|
||||
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 }`
|
||||
: 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
|
||||
skip compiling `Setup.hs`.
|
||||
|
||||
`buildFromCabalSdist drv`
|
||||
: Build `drv`, but run its `src` attribute through `cabalSdist` first. Useful for catching
|
||||
files necessary for compilation that are missing from the sdist.
|
||||
|
||||
`generateOptparseApplicativeCompletions list drv`
|
||||
: Generate and install shell completion files for the installed executables whose
|
||||
names are given via `list`. The executables need to be using `optparse-applicative`
|
||||
for [this to work][optparse-applicative-completions].
|
||||
Note that this feature is automatically disabled when cross-compiling, since it
|
||||
requires executing the binaries in question.
|
||||
|
||||
<!--
|
||||
|
||||
TODO(@NixOS/haskell): finish these planned sections
|
||||
### Overriding the entire package set
|
||||
|
||||
|
||||
## Import-from-Derivation helpers
|
||||
|
||||
* `callCabal2nix`
|
||||
* `callHackage`, `callHackageDirect`
|
||||
* `developPackage`
|
||||
|
||||
## Contributing {#sec-haskell-contributing}
|
||||
|
||||
### Fixing a broken package {#sec-haskell-fixing-a-broken-package}
|
||||
|
||||
### Package set generation {#sec-haskell-package-set-generation}
|
||||
|
||||
### Packaging a Haskell project
|
||||
|
||||
### Backporting {#sec-haskell-backporting}
|
||||
|
||||
Backporting changes to a stable NixOS version in general is covered
|
||||
in nixpkgs' `CONTRIBUTING.md` in general. In particular refer to the
|
||||
[backporting policy](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#criteria-for-backporting-changes)
|
||||
to check if the change you have in mind may be backported.
|
||||
|
||||
This section focuses on how to backport a package update (e.g. a
|
||||
bug fix or security release). Fixing a broken package works like
|
||||
it does for the unstable branches.
|
||||
|
||||
-->
|
||||
|
||||
## F.A.Q. {#sec-haskell-faq}
|
||||
|
||||
### Why is topic X not covered in this section? Why is section Y missing?
|
||||
|
||||
We have been working on [moving the nixpkgs Haskell documentation back into the
|
||||
nixpkgs manual](https://github.com/NixOS/nixpkgs/issues/121403). Since this
|
||||
process has not been completed yet, you may find some topics missing here
|
||||
covered in the old [haskell4nix docs](https://haskell4nix.readthedocs.io/).
|
||||
|
||||
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
|
||||
[cabal2nix]: https://github.com/nixos/cabal2nix
|
||||
[hoogle]: https://wiki.haskell.org/Hoogle
|
||||
[haddock]: https://www.haskell.org/haddock/
|
||||
[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
|
||||
[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
|
||||
[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
|
||||
|
||||
@@ -13891,6 +13891,14 @@
|
||||
github = "tejasag";
|
||||
githubId = 67542663;
|
||||
};
|
||||
tejing = {
|
||||
name = "Jeff Huffman";
|
||||
email = "tejing@tejing.com";
|
||||
matrix = "@tejing:matrix.org";
|
||||
github = "tejing1";
|
||||
githubId = 5663576;
|
||||
keys = [{ fingerprint = "6F0F D43B 80E5 583E 60FC 51DC 4936 D067 EB12 AB32"; }];
|
||||
};
|
||||
telotortium = {
|
||||
email = "rirelan@gmail.com";
|
||||
github = "telotortium";
|
||||
|
||||
@@ -26,6 +26,7 @@ in
|
||||
"brackets"
|
||||
"pattern"
|
||||
"cursor"
|
||||
"regexp"
|
||||
"root"
|
||||
"line"
|
||||
]));
|
||||
|
||||
@@ -42,6 +42,13 @@ in
|
||||
ExecStart = "${pkgs.lm_sensors}/sbin/fancontrol ${configFile}";
|
||||
};
|
||||
};
|
||||
|
||||
# On some systems, the fancontrol service does not resume properly after sleep because the pwm status of the fans
|
||||
# is not reset properly. Restarting the service fixes this, in accordance with https://github.com/lm-sensors/lm-sensors/issues/172.
|
||||
powerManagement.resumeCommands = ''
|
||||
systemctl restart fancontrol.service
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
meta.maintainers = [ maintainers.evils ];
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wlgreet-unstable";
|
||||
version = "2022-01-25";
|
||||
pname = "wlgreet";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~kennylevinsen";
|
||||
repo = "wlgreet";
|
||||
rev = "8517e578cb64a8fb3bd8f8a438cdbe46f208b87c";
|
||||
sha256 = "0la4xlikw61cxvbkil1d22dgvazi7rs17n5i2z02090fvnfxxzxh";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-qfEzr8tAE1+PK7xs1NQ1q6d/GlFA7/kSWXbJDOCrEsw=";
|
||||
};
|
||||
|
||||
cargoSha256 = "651d2bf01612534f1c4b0472c812095a86eb064d16879380c87f684c04fe0d8d";
|
||||
cargoHash = "sha256-1ugExUtrzqyd9dTlBHcc44UrtEfYrfUryuG79IkTv2Y=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Raw wayland greeter for greetd, to be run under sway or similar";
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ldtk";
|
||||
version = "1.2.3";
|
||||
version = "1.2.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/deepnight/ldtk/releases/download/v${version}/ubuntu-distribution.zip";
|
||||
sha256 = "sha256-G54PQriKbm1fTqxD3J2O9bD4FBZuwqkfFPV+412nRGA=";
|
||||
sha256 = "sha256-kx4GOENYYbS09HxAiCCvqm/ztc32sdB39W8uv6D+R+A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ];
|
||||
|
||||
@@ -18,16 +18,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "oculante";
|
||||
version = "0.6.39";
|
||||
version = "0.6.41";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "woelper";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-5onRdxfI5RPa2/Ou9pH84u83Dg79+eMIIYhcEnZrP8A=";
|
||||
sha256 = "sha256-2pXfdR5KUD6IUasxyUptxLSLDcvJtwJwOmhHD3I7op8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Mf2WuTctF0a6YNquntTizRxwq6aqTTnr8QRS/BBVqCo=";
|
||||
cargoHash = "sha256-F/NKTsDRfoueVrwlq/RkBR6wNn79NiuT2InAR+XPbqw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
||||
@@ -26,6 +26,11 @@ python3Packages.buildPythonApplication rec {
|
||||
url = "https://github.com/timothycrosley/streamdeck-ui/commit/e271656c1f47b1619d1b942e2ebb01ab2d6a68a9.patch";
|
||||
hash = "sha256-wqYwX6eSqMnW6OG7wSprD62Dz818ayFduVrqW9E/ays=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "update-python-xlib-0.33.patch";
|
||||
url = "https://github.com/timothycrosley/streamdeck-ui/commit/07d7fdd33085b413dd26b02d8a02820edad2d568.patch";
|
||||
hash = "sha256-PylTrbfB8RJ0+kbgJlRdcvfdahGoob8LabwhuFNsUpY=";
|
||||
})
|
||||
];
|
||||
|
||||
desktopItems = [ (makeDesktopItem {
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
, inputSupport ? true, libinput
|
||||
, jackSupport ? true, libjack2
|
||||
, mpdSupport ? true, libmpdclient
|
||||
, mprisSupport ? stdenv.isLinux, playerctl ? false
|
||||
, nlSupport ? true, libnl
|
||||
, pulseSupport ? true, libpulseaudio
|
||||
, rfkillSupport ? true
|
||||
@@ -30,18 +31,18 @@
|
||||
, udevSupport ? true, udev
|
||||
, upowerSupport ? true, upower
|
||||
, wireplumberSupport ? true, wireplumber
|
||||
, withMediaPlayer ? false, glib, gobject-introspection, python3, playerctl
|
||||
, withMediaPlayer ? mprisSupport && false, glib, gobject-introspection, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "waybar";
|
||||
version = "0.9.16";
|
||||
version = "0.9.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexays";
|
||||
repo = "Waybar";
|
||||
rev = version;
|
||||
sha256 = "sha256-hcU0ijWIN7TtIPkURVmAh0kanQWkBUa22nubj7rSfBs=";
|
||||
hash = "sha256-sdNenmzI/yvN9w4Z83ojDJi+2QBx2hxhJQCFkc5kCZw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -53,6 +54,7 @@ stdenv.mkDerivation rec {
|
||||
playerctl
|
||||
python3.pkgs.pygobject3
|
||||
];
|
||||
|
||||
strictDeps = false;
|
||||
|
||||
buildInputs = with lib;
|
||||
@@ -62,6 +64,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional inputSupport libinput
|
||||
++ optional jackSupport libjack2
|
||||
++ optional mpdSupport libmpdclient
|
||||
++ optional mprisSupport playerctl
|
||||
++ optional nlSupport libnl
|
||||
++ optional pulseSupport libpulseaudio
|
||||
++ optional sndioSupport sndio
|
||||
@@ -83,6 +86,7 @@ stdenv.mkDerivation rec {
|
||||
libnl = nlSupport;
|
||||
libudev = udevSupport;
|
||||
mpd = mpdSupport;
|
||||
mpris = mprisSupport;
|
||||
pulseaudio = pulseSupport;
|
||||
rfkill = rfkillSupport;
|
||||
sndio = sndioSupport;
|
||||
@@ -104,9 +108,10 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/alexays/waybar/releases/tag/${version}";
|
||||
description = "Highly customizable Wayland bar for Sway and Wlroots based compositors";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ FlorianFranzen minijackson synthetica lovesegfault ];
|
||||
maintainers = with maintainers; [ FlorianFranzen minijackson synthetica lovesegfault rodrgz ];
|
||||
platforms = platforms.unix;
|
||||
homepage = "https://github.com/alexays/waybar";
|
||||
};
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "talosctl";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "siderolabs";
|
||||
repo = "talos";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-K5eslPo4Ou/JJoZGASJsZ331Nyc14Dva+cead3ngw0U=";
|
||||
hash = "sha256-o037LemAZhsHVIfAU0yVoNNbJ6g8ehlA4lFLN78Q8dY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-N+sFJtC+9VCt3GJoAbRsNl7vCXiFFlewsIkwTdleUhk=";
|
||||
vendorHash = "sha256-HPuVDfVxbHbNaCRg/D4VeW0finbFB4eageiAzoax1wk=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "git-cliff";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "orhun";
|
||||
repo = "git-cliff";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WpLg9kBJnEEzWIx3dJN++Np1jUkYnFGlgCrUdvz2/3w=";
|
||||
hash = "sha256-GCHwpOfjti9PETy3cHFHBFBot6YcSSFTBCd3zEtpP3U=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-UN5X+rvL7nsFkIj+XZSdZ/qmHlkVVJy1BA2zSVQxqPw=";
|
||||
cargoHash = "sha256-76HWkfct9weA64yvY5G/l96mjNpuKjPYHFZ5Ctz43Us=";
|
||||
|
||||
# attempts to run the program on .git in src which is not deterministic
|
||||
doCheck = false;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub }:
|
||||
{ lib, rustPlatform, fetchFromGitHub, git }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "glitter";
|
||||
@@ -13,6 +13,10 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
cargoSha256 = "sha256-GQ7Bns+FPj4jl2dBXnMrmcKIYcZTLZc1WvaHgKGj/gU=";
|
||||
|
||||
checkInputs = [
|
||||
git
|
||||
];
|
||||
|
||||
# tests require it to be in a git repository
|
||||
preCheck = ''
|
||||
git init
|
||||
@@ -24,6 +28,7 @@ rustPlatform.buildRustPackage rec {
|
||||
meta = with lib; {
|
||||
description = "A git wrapper that allows you to compress multiple commands into one";
|
||||
homepage = "https://github.com/milo123459/glitter";
|
||||
changelog = "https://github.com/Milo123459/glitter/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
};
|
||||
|
||||
@@ -78,6 +78,10 @@ build_bin_test() {
|
||||
build_bin_test_file() {
|
||||
local file="$1"
|
||||
local derived_crate_name="${file//\//_}"
|
||||
# Make sure to strip the top level `tests` directory: see #204051. Note that
|
||||
# a forward slash has now become an underscore due to the substitution
|
||||
# above.
|
||||
derived_crate_name=${derived_crate_name#"tests_"}
|
||||
derived_crate_name="${derived_crate_name%.rs}"
|
||||
build_bin_test "$derived_crate_name" "$file"
|
||||
}
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
{ lib, fetchzip }:
|
||||
{ lib, stdenvNoCC, fetchzip }:
|
||||
|
||||
let
|
||||
version = "2.242";
|
||||
in
|
||||
fetchzip {
|
||||
name = "JetBrainsMono-${version}";
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "jetbrains-mono";
|
||||
version = "2.304";
|
||||
|
||||
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
|
||||
sha256 = "sha256-rv5A3F1zdcUJkmw09st1YxmEIkIoYJaMYGyZjic8jfc=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
sha256 = "sha256-flaUqpHmgebUzwPq0d+I3p9yqPmsV0kap04eApOQxdI=";
|
||||
dontPatch = true;
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
doCheck = false;
|
||||
dontFixup = true;
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/fonts
|
||||
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm644 -t $out/share/fonts/truetype/ fonts/ttf/*.ttf
|
||||
install -Dm644 -t $out/share/fonts/truetype/ fonts/variable/*.ttf
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, inkscape
|
||||
, xcursorgen
|
||||
, makeFontsConf
|
||||
, unzip
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -15,38 +13,25 @@ let
|
||||
variantName = { palette, color }: (lib.strings.toLower palette) + color;
|
||||
variants = map variantName product;
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "catppuccin-cursors";
|
||||
version = "unstable-2022-08-23";
|
||||
version = "0.2.0";
|
||||
dontBuild = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "cursors";
|
||||
rev = "3d3023606939471c45cff7b643bffc5d5d4ff29c";
|
||||
sha256 = "1z9cjxxsj3vrmhsw1k05b31zmncz1ksaswc4r1k3vd2mmpigq1nk";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-TgV5f8+YWR+h61m6WiBMg3aBFnhqShocZBdzZHSyU2c=";
|
||||
sparseCheckout = [ "cursors" ];
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
outputs = variants ++ [ "out" ]; # dummy "out" output to prevent breakage
|
||||
|
||||
outputsToInstall = [];
|
||||
|
||||
nativeBuildInputs = [
|
||||
inkscape
|
||||
xcursorgen
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./build.sh
|
||||
'';
|
||||
|
||||
# Make fontconfig stop warning about being unable to load config
|
||||
FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
|
||||
|
||||
# Make inkscape stop warning about being unable to create profile directory
|
||||
preBuild = ''
|
||||
export HOME="$NIX_BUILD_ROOT"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -61,7 +46,7 @@ stdenvNoCC.mkDerivation {
|
||||
local variant=$(sed 's/\([A-Z]\)/-\1/g' <<< "$output")
|
||||
local variant=''${variant^}
|
||||
|
||||
cp -r dist/Catppuccin-"$variant"-Cursors "$iconsDir"
|
||||
unzip "cursors/Catppuccin-$variant-Cursors.zip" -d "$iconsDir"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
@@ -1,30 +1,33 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchCrate
|
||||
, pkg-config
|
||||
, openssl
|
||||
, stdenv
|
||||
, Security
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hvm";
|
||||
version = "0.1.89";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-xPF8HW4QFXLLjg2HO5Pl+uQ44XCdAHc6koVpVXxN6dE=";
|
||||
sha256 = "sha256-nPkUGUcekZ2fvQgiVTNvt8vfQsNMyqsrkT2zqEfu/bE=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-dDSmiMwDbVDfStXamQvOMBBO5MiuDFhgzWPx0oYwzcM=";
|
||||
cargoSha256 = "sha256-EaZTpKFZPfDlP/2XylhJHznvlah7VNw4snrKDmT7ecw=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||
darwin.apple_sdk.frameworks.IOKit
|
||||
] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
|
||||
darwin.apple_sdk_11_0.frameworks.Foundation
|
||||
];
|
||||
|
||||
buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
|
||||
|
||||
# memory allocation of 34359738368 bytes failed
|
||||
# tests are broken
|
||||
doCheck = false;
|
||||
|
||||
# enable nightly features
|
||||
RUSTC_BOOTSTRAP = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A pure functional compile target that is lazy, non-garbage-collected, and parallel";
|
||||
homepage = "https://github.com/kindelia/hvm";
|
||||
|
||||
@@ -109,8 +109,9 @@ rec {
|
||||
*/
|
||||
dontCheck = overrideCabal (drv: { doCheck = false; });
|
||||
|
||||
/* doBenchmark enables dependency checking, compilation and execution
|
||||
/* doBenchmark enables dependency checking and compilation
|
||||
for benchmarks listed in the package description file.
|
||||
Benchmarks are, however, not executed at the moment.
|
||||
*/
|
||||
doBenchmark = overrideCabal (drv: { doBenchmark = true; });
|
||||
/* dontBenchmark disables dependency checking, compilation and execution
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, libgcrypt, libbaseencode }:
|
||||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, libgcrypt }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcotp";
|
||||
version = "1.2.8";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paolostivanin";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-XWrLtWoYIEyGSwc1Qq1Q2NTn0USm1ekVyLWuwvppOZE=";
|
||||
sha256 = "sha256-99Uw/BMk2bLj+/FZd7MwrRw62XcCroO9yNWdtH5AFpE=";
|
||||
};
|
||||
|
||||
buildInputs = [ libbaseencode libgcrypt ];
|
||||
postPatch = lib.optionalString stdenv.cc.isClang ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace "add_link_options(-Wl," "# add_link_options(-Wl,"
|
||||
'';
|
||||
|
||||
buildInputs = [ libgcrypt ];
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
meta = with lib; {
|
||||
@@ -19,5 +24,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/paolostivanin/libcotp";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ alexbakker ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
+3
-3
@@ -132558,10 +132558,10 @@ in
|
||||
pnpm = nodeEnv.buildNodePackage {
|
||||
name = "pnpm";
|
||||
packageName = "pnpm";
|
||||
version = "7.19.0";
|
||||
version = "7.24.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/pnpm/-/pnpm-7.19.0.tgz";
|
||||
sha512 = "0ZPqlBY9M5fqKI9Ya0kEB7PQj7Pg7bYEjXbRbg4pNnJIObzXeO+PaK/8FBd8KMgJe5QpLb6rn2nVFHNSNoz+kw==";
|
||||
url = "https://registry.npmjs.org/pnpm/-/pnpm-7.24.3.tgz";
|
||||
sha512 = "0fpP1l16xOY8YwsATSLodNNBa7bitV1cNY475fioVLR7Thx5tkCtdp3xIlvZYX8ZoPtedLhGn3fICC409HQSNQ==";
|
||||
};
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiohomekit";
|
||||
version = "2.4.3";
|
||||
version = "2.4.4";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "Jc2k";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-VuWhD5S1hOys/TcofQfPe3QzSGA0/Uvl9xnxavxJR60=";
|
||||
hash = "sha256-a7i8xBlTM3DZDZBzLe/sbMR4CNx7XMxNQ6tiMI6MoTg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bleak-retry-connector";
|
||||
version = "2.13.0";
|
||||
version = "2.13.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-p61U2WF+Bq2xJif3W74ghS51UggjLjIsFMGdhEu3pq8=";
|
||||
hash = "sha256-MBAHo4ZpiSsGIh1ra4LugXjdSZP10RB6NG8PnC82DHY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, cbor2
|
||||
, fetchFromGitHub
|
||||
, pycryptodome
|
||||
, pythonOlder
|
||||
, pysha3
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "crytic-compile";
|
||||
version = "0.2.4";
|
||||
version = "0.3.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@@ -17,14 +18,16 @@ buildPythonPackage rec {
|
||||
owner = "crytic";
|
||||
repo = "crytic-compile";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-phb4Y8CUxuHsNt43oKsgDAZTraNauPkcYQtzcsiWyy8=";
|
||||
hash = "sha256-4iTvtu2TmxvLTyWm4PV0+yV1fRLYpJHZNBgjy1MFLjM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pysha3
|
||||
cbor2
|
||||
pycryptodome
|
||||
setuptools
|
||||
];
|
||||
|
||||
# Test require network access
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
@@ -34,6 +37,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Abstraction layer for smart contract build systems";
|
||||
homepage = "https://github.com/crytic/crytic-compile";
|
||||
changelog = "https://github.com/crytic/crytic-compile/releases/tag/${version}";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ SuperSandro2000 arturcygan ];
|
||||
};
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
diff --git a/espeak_phonemizer/__init__.py b/espeak_phonemizer/__init__.py
|
||||
index a09472e..730a7f9 100644
|
||||
--- a/espeak_phonemizer/__init__.py
|
||||
+++ b/espeak_phonemizer/__init__.py
|
||||
@@ -163,14 +163,10 @@ class Phonemizer:
|
||||
# Already initialized
|
||||
return
|
||||
|
||||
- self.libc = ctypes.cdll.LoadLibrary("libc.so.6")
|
||||
+ self.libc = ctypes.cdll.LoadLibrary("@libc@")
|
||||
self.libc.open_memstream.restype = ctypes.POINTER(ctypes.c_char)
|
||||
|
||||
- try:
|
||||
- self.lib_espeak = ctypes.cdll.LoadLibrary("libespeak-ng.so")
|
||||
- except OSError:
|
||||
- # Try .so.1
|
||||
- self.lib_espeak = ctypes.cdll.LoadLibrary("libespeak-ng.so.1")
|
||||
+ self.lib_espeak = ctypes.cdll.LoadLibrary("@libespeak_ng@")
|
||||
|
||||
sample_rate = self.lib_espeak.espeak_Initialize(
|
||||
Phonemizer.AUDIO_OUTPUT_SYNCHRONOUS, 0, None, 0
|
||||
@@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, glibc
|
||||
, espeak-ng
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "espeak-phonemizer";
|
||||
version = "1.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rhasspy";
|
||||
repo = "espeak-phonemizer";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-qnJtS5iIARdg+umolzLHT3/nLon9syjxfTnMWHOmYPU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./cdll.patch;
|
||||
libc = "${lib.getLib glibc}/lib/libc.so.6";
|
||||
libespeak_ng = "${lib.getLib espeak-ng}/lib/libespeak-ng.so";
|
||||
})
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/rhasspy/espeak-phonemizer/releases/tag/v${version}";
|
||||
description = "Uses ctypes and libespeak-ng to transform test into IPA phonemes";
|
||||
homepage = "https://github.com/rhasspy/espeak-phonemizer";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -13,6 +13,20 @@
|
||||
, requests
|
||||
, smbprotocol
|
||||
, tqdm
|
||||
|
||||
# optionals
|
||||
, adlfs
|
||||
, dask
|
||||
, distributed
|
||||
, dropbox
|
||||
, fusepy
|
||||
, gcsfs
|
||||
, libarchive-c
|
||||
, ocifs
|
||||
, panel
|
||||
, pyarrow
|
||||
, pygit2
|
||||
, s3fs
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -37,6 +51,75 @@ buildPythonPackage rec {
|
||||
tqdm
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
entrypoints = [
|
||||
];
|
||||
abfs = [
|
||||
adlfs
|
||||
];
|
||||
adl = [
|
||||
adlfs
|
||||
];
|
||||
dask = [
|
||||
dask
|
||||
distributed
|
||||
];
|
||||
dropbox = [
|
||||
# missing dropboxdrivefs
|
||||
requests
|
||||
dropbox
|
||||
];
|
||||
gcs = [
|
||||
gcsfs
|
||||
];
|
||||
git = [
|
||||
pygit2
|
||||
];
|
||||
github = [
|
||||
requests
|
||||
];
|
||||
gs = [
|
||||
gcsfs
|
||||
];
|
||||
hdfs = [
|
||||
pyarrow
|
||||
];
|
||||
arrow = [
|
||||
pyarrow
|
||||
];
|
||||
http = [
|
||||
aiohttp
|
||||
requests
|
||||
];
|
||||
sftp = [
|
||||
paramiko
|
||||
];
|
||||
s3 = [
|
||||
s3fs
|
||||
];
|
||||
oci = [
|
||||
ocifs
|
||||
];
|
||||
smb = [
|
||||
smbprotocol
|
||||
];
|
||||
ssh = [
|
||||
paramiko
|
||||
];
|
||||
fuse = [
|
||||
fusepy
|
||||
];
|
||||
libarchive = [
|
||||
libarchive-c
|
||||
];
|
||||
gui = [
|
||||
panel
|
||||
];
|
||||
tqdm = [
|
||||
tqdm
|
||||
];
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
numpy
|
||||
pytest-asyncio
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "govee-ble";
|
||||
version = "0.21.0";
|
||||
version = "0.21.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-BObJQTt1l+fFh02/zhcKRNRs0LQl+oJelMQq9EW2XuY=";
|
||||
hash = "sha256-F5BUt+A5IF010PT/OvkINrMyK8tZ+uqml3CqNWpaM0c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hahomematic";
|
||||
version = "2023.1.2";
|
||||
version = "2023.1.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
owner = "danielperna84";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-UxW80Lp8hATZFxFCxxD0p8BtqYhTl3UhwcM/+abN43c=";
|
||||
sha256 = "sha256-ilttytpvvx7OzEvJ9w4iZLcXYUxg0hstph9OvPvPaNs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, dacite
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "home-assistant-chip-clusters";
|
||||
version = "2022.12.0";
|
||||
format = "wheel";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit format version;
|
||||
pname = "home_assistant_chip_clusters";
|
||||
dist = "py3";
|
||||
python = "py3";
|
||||
hash = "sha256-zo54lRNyKXCCUUoYIiZmHZMqISim9QKEOnFbM/iBRqE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dacite
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"chip.clusters"
|
||||
];
|
||||
|
||||
doCheck = false; # no tests
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python-base APIs and tools for CHIP";
|
||||
homepage = "https://github.com/home-assistant-libs/chip-wheels";
|
||||
license = licenses.asl20;
|
||||
maintainers = teams.home-assistant.members;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
|
||||
# build
|
||||
, autoPatchelfHook
|
||||
|
||||
# runtime
|
||||
, openssl_1_1
|
||||
|
||||
# propagates
|
||||
, coloredlogs
|
||||
, construct
|
||||
, dacite
|
||||
, rich
|
||||
, pyyaml
|
||||
, ipdb
|
||||
, deprecation
|
||||
, mobly
|
||||
, pygobject3
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "home-assistant-chip-core";
|
||||
version = "2022.12.0";
|
||||
format = "wheel";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = let
|
||||
system = {
|
||||
"aarch64-linux" = {
|
||||
name = "aarch64";
|
||||
hash = "sha256-oNqrvbzXeXpMG3v9RK6kppONH4n7xLVaJCEFXxVj2jE=";
|
||||
};
|
||||
"x86_64-linux" = {
|
||||
name = "x86_64";
|
||||
hash = "sha256-S5n1MUig8ZDSLgWeVmu+5qLZ4kfHQUC9qZcVfM8rPvw=";
|
||||
};
|
||||
}.${stdenv.system} or (throw "Unsupported system");
|
||||
in fetchPypi {
|
||||
pname = "home_assistant_chip_core";
|
||||
inherit version format;
|
||||
dist = "cp37";
|
||||
python = "cp37";
|
||||
abi = "abi3";
|
||||
platform = "manylinux_2_31_${system.name}";
|
||||
hash = system.hash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl_1_1
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
coloredlogs
|
||||
construct
|
||||
dacite
|
||||
rich
|
||||
pyyaml
|
||||
ipdb
|
||||
deprecation
|
||||
mobly
|
||||
pygobject3
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"chip"
|
||||
"chip.ble"
|
||||
# https://github.com/project-chip/connectedhomeip/pull/24376
|
||||
#"chip.configuration"
|
||||
"chip.discovery"
|
||||
"chip.native"
|
||||
"chip.storage"
|
||||
];
|
||||
|
||||
doCheck = false; # no tests
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python-base APIs and tools for CHIP";
|
||||
homepage = "https://github.com/home-assistant-libs/chip-wheels";
|
||||
license = licenses.asl20;
|
||||
maintainers = teams.home-assistant.members;
|
||||
platforms = platforms.linux;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{ lib, buildPythonPackage, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "iteration-utilities";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MSeifert04";
|
||||
repo = "iteration_utilities";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Q/ZuwAf+NPikN8/eltwaUilnLw4DKFm864tUe6GLDak=";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "iteration_utilities" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Utilities based on Pythons iterators and generators";
|
||||
homepage = "https://github.com/MSeifert04/iteration_utilities";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{ lib, buildPythonPackage, fetchPypi
|
||||
, jinja2
|
||||
, pyyaml
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jinja2-ansible-filters";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-B8EM9E1wc/TwEQLKEtmi3DG0HUfkxh7ZLvam0mabNWs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
jinja2
|
||||
pyyaml
|
||||
];
|
||||
|
||||
# no tests include in sdist, and source not available
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "jinja2_ansible_filters" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Jinja2 Ansible Filters";
|
||||
homepage = "https://pypi.org/project/jinja2-ansible-filters/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, larynx
|
||||
|
||||
# build
|
||||
, cython
|
||||
, python
|
||||
|
||||
# propagates
|
||||
, espeak-phonemizer
|
||||
, librosa
|
||||
, numpy
|
||||
, onnxruntime
|
||||
, pytorch-lightning
|
||||
, torch
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
inherit (larynx) version src meta;
|
||||
|
||||
pname = "larynx-train";
|
||||
format = "setuptools";
|
||||
|
||||
sourceRoot = "source/src/python";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cython
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace requirements.txt \
|
||||
--replace "onnxruntime~=1.11.0" "onnxruntime" \
|
||||
--replace "pytorch-lightning~=1.7.0" "pytorch-lightning" \
|
||||
--replace "torch~=1.11.0" "torch"
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
make -C larynx_train/vits/monotonic_align
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
export MONOTONIC_ALIGN=$out/${python.sitePackages}/larynx_train/vits/monotonic_align/monotonic_align
|
||||
mkdir -p $MONOTONIC_ALIGN
|
||||
cp -v ./larynx_train/vits/monotonic_align/larynx_train/vits/monotonic_align/core.*.so $MONOTONIC_ALIGN/
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
espeak-phonemizer
|
||||
librosa
|
||||
numpy
|
||||
onnxruntime
|
||||
pytorch-lightning
|
||||
torch
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"larynx_train"
|
||||
];
|
||||
|
||||
doCheck = false; # no tests
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
# build
|
||||
, setuptools
|
||||
|
||||
# runtime
|
||||
, packaging
|
||||
, typing-extensions
|
||||
|
||||
# tests
|
||||
, pytest-timeout
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lightning-utilities";
|
||||
version = "0.5.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Lightning-AI";
|
||||
repo = "utilities";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-J73sUmX1a7ww+rt1vwBt9P0Xbeoxag6jR0W63xEySCI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
packaging
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"lightning_utilities"
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest-timeout
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"lightning_utilities.core.enums.StrEnum"
|
||||
"lightning_utilities.core.imports.RequirementCache"
|
||||
"lightning_utilities.core.imports.compare_version"
|
||||
"lightning_utilities.core.imports.get_dependency_min_version_spec"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
"docs"
|
||||
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/Lightning-AI/utilities/releases/tag/v${version}";
|
||||
description = "Common Python utilities and GitHub Actions in Lightning Ecosystem";
|
||||
homepage = "https://github.com/Lightning-AI/utilities";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lightwave2";
|
||||
version = "0.8.18";
|
||||
version = "0.8.19";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-XTEYOkzZP2ta+Cnffa0jz+ad/8DmZlVGPAef3CErUKo=";
|
||||
hash = "sha256-S4nHJMaSX8qCYoUnMqb6AbObTR96Wg098FJAM+dQJTc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "marshmallow-dataclass";
|
||||
version = "8.5.10";
|
||||
version = "8.5.11";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@@ -20,8 +20,8 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "lovasoa";
|
||||
repo = "marshmallow_dataclass";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-AxUZf1dRe/7Y96DYJnziMqHKW5xyQv4FIrMMwSZTuGQ=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-P2eJLNI+G0km2HWZII4tx/uJ+6lvyxtap/qPh13LLmA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -53,6 +53,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Automatic generation of marshmallow schemas from dataclasses";
|
||||
homepage = "https://github.com/lovasoa/marshmallow_dataclass";
|
||||
changelog = "https://github.com/lovasoa/marshmallow_dataclass/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mill-local";
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "Danielhiversen";
|
||||
repo = "pyMillLocal";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-u7TidHD0NzZ1JxYoCWviIXSsXojJHvVNg07eDBFQuls=";
|
||||
hash = "sha256-kFBzasS7/5AM/ZW5z1ncZ9Xwuy/bh2LTVXPxNTLQnV0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -35,6 +35,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Python module to communicate locally with Mill heaters";
|
||||
homepage = "https://github.com/Danielhiversen/pyMillLocal";
|
||||
changelog = "https://github.com/Danielhiversen/pyMillLocal/releases/tag/${version}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mitmproxy-wireguard";
|
||||
version = "0.1.19";
|
||||
version = "0.1.20";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "decathorpe";
|
||||
repo = "mitmproxy_wireguard";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-6LgA8IaUCfScEr+tEG5lkt0MnWoA9Iab4kAseUvZFFo=";
|
||||
hash = "sha256-Oq3jF4XeT58rad0MWmqucZZHVAshhA8PViQ+2Q9Shgc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -31,7 +31,7 @@ buildPythonPackage rec {
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-wuroElBc0LQL0gf+P6Nffv3YsyDJliXksZCgcBfK0iw=";
|
||||
hash = "sha256-HIChSAVztTmftwLhCWeLX2afqXAIHp3pmVWeW4yFZ+0=";
|
||||
};
|
||||
|
||||
# Module has no tests, only a test client
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
{ lib, buildPythonPackage, fetchFromGitHub
|
||||
, beautifulsoup4
|
||||
, jsbeautifier
|
||||
, mkdocs
|
||||
, mkdocs-material
|
||||
, pymdown-extensions
|
||||
, pyyaml
|
||||
, requests
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mkdocs-mermaid2-plugin";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fralau";
|
||||
repo = "mkdocs-mermaid2-plugin";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Oe6wkVrsB0NWF+HHeifrEogjxdGPINRDJGkh9p+GoHs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
beautifulsoup4
|
||||
jsbeautifier
|
||||
mkdocs
|
||||
mkdocs-material
|
||||
pymdown-extensions
|
||||
pyyaml
|
||||
requests
|
||||
];
|
||||
|
||||
# non-traditional python tests (e.g. nodejs based tests)
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "mermaid2" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A MkDocs plugin for including mermaid graphs in markdown sources";
|
||||
homepage = "https://github.com/fralau/mkdocs-mermaid2-plugin";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
# runtime
|
||||
, portpicker
|
||||
, pyserial
|
||||
, pyyaml
|
||||
, timeout-decorator
|
||||
, typing-extensions
|
||||
|
||||
# tests
|
||||
, procps
|
||||
, pytestCheckHook
|
||||
, pytz
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mobly";
|
||||
version = "1.12";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "mobly";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-HAXm0/h5jbgVuIwP7IZ1ffUs92gcpOPiM2VgT38r8Go=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
portpicker
|
||||
pyserial
|
||||
pyyaml
|
||||
timeout-decorator
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
procps
|
||||
pytestCheckHook
|
||||
pytz
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/google/mobly/blob/";
|
||||
description = "Automation framework for special end-to-end test cases";
|
||||
homepage = "https://github.com/google/mobly";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
, bleak-retry-connector
|
||||
, bluetooth-data-tools
|
||||
, bluetooth-sensor-state-data
|
||||
, buildPythonPackage
|
||||
@@ -11,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "oralb-ble";
|
||||
version = "0.16.1";
|
||||
version = "0.17.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -20,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-BbIgsIzvkUlH8JrD42Afy0U5GSk9H3ut48/XPYUZSew=";
|
||||
hash = "sha256-0VZRtsh17W8h1qcGfAxE4KUehtCk1PKy3MO3fVJb4qY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -28,6 +29,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
bleak-retry-connector
|
||||
bluetooth-data-tools
|
||||
bluetooth-sensor-state-data
|
||||
home-assistant-bluetooth
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "plugwise";
|
||||
version = "0.27.2";
|
||||
version = "0.27.3";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -30,7 +30,7 @@ buildPythonPackage rec {
|
||||
owner = pname;
|
||||
repo = "python-plugwise";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-X2nmOZT8JlPOWySV45wnnR4BEANa+pxBI5kzVQpQPvg=";
|
||||
hash = "sha256-JO9Gc7ZhWeQIheAwanzCBQFum1BUoh7K/exAEkWp/1U=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
, jinja2
|
||||
, markupsafe
|
||||
, poetry-core
|
||||
, poetry
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, tomlkit
|
||||
@@ -37,8 +38,12 @@ buildPythonPackage rec {
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
poetry
|
||||
];
|
||||
|
||||
# virtualenv: error: argument dest: the destination . is not write-able at /
|
||||
doCheck = false;
|
||||
|
||||
disabledTests = [
|
||||
# these require .git, but leaveDotGit = true doesn't help
|
||||
"test__get_version__defaults"
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
|
||||
# build
|
||||
, setuptools
|
||||
|
||||
# propagates
|
||||
, aiohttp
|
||||
, aiorun
|
||||
, coloredlogs
|
||||
, dacite
|
||||
, orjson
|
||||
, home-assistant-chip-clusters
|
||||
|
||||
# optionals
|
||||
, home-assistant-chip-core
|
||||
|
||||
# tests
|
||||
, python
|
||||
, pytest
|
||||
, pytest-aiohttp
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-matter-server";
|
||||
version = "1.0.8";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "python-matter-server";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-7w2Gg70Sl84zs55z6Hg8JPtkY9dNzyb1iBC6O4ulr1M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
aiorun
|
||||
coloredlogs
|
||||
dacite
|
||||
orjson
|
||||
home-assistant-chip-clusters
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
server = [
|
||||
home-assistant-chip-core
|
||||
];
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pytest-aiohttp
|
||||
pytestCheckHook
|
||||
]
|
||||
++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
|
||||
|
||||
preCheck = let
|
||||
pythonEnv = python.withPackages (_: propagatedBuildInputs ++ checkInputs ++ [ pytest ]);
|
||||
in
|
||||
''
|
||||
export PYTHONPATH=${pythonEnv}/${python.sitePackages}
|
||||
'';
|
||||
|
||||
pytestFlagsArray = [
|
||||
# Upstream theymselves limit the test scope
|
||||
# https://github.com/home-assistant-libs/python-matter-server/blob/main/.github/workflows/test.yml#L65
|
||||
"tests/server"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/home-assistant-libs/python-matter-server/releases/tag/${version}";
|
||||
description = "Python server to interact with Matter";
|
||||
homepage = "https://github.com/home-assistant-libs/python-matter-server";
|
||||
license = licenses.asl20;
|
||||
maintainers = teams.home-assistant.members;
|
||||
};
|
||||
}
|
||||
@@ -1,47 +1,65 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, isPy27
|
||||
, future
|
||||
, pythonOlder
|
||||
, fsspec
|
||||
, lightning-utilities
|
||||
, numpy
|
||||
, packaging
|
||||
, pytestCheckHook
|
||||
, torch
|
||||
, pyyaml
|
||||
, tensorboard
|
||||
, tensorboardx
|
||||
, torch
|
||||
, torchmetrics
|
||||
, tqdm }:
|
||||
, tqdm
|
||||
, traitlets
|
||||
|
||||
# tests
|
||||
, psutil
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytorch-lightning";
|
||||
version = "1.8.6";
|
||||
|
||||
disabled = isPy27;
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PyTorchLightning";
|
||||
repo = pname;
|
||||
owner = "Lightning-AI";
|
||||
repo = "pytorch-lightning";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-5AyOCeRFiV7rdmoBPx03Xju6eTR/3jiE+HQBiEmdzmo=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
export PACKAGE_NAME=pytorch
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
packaging
|
||||
future
|
||||
fsspec
|
||||
torch
|
||||
numpy
|
||||
packaging
|
||||
pyyaml
|
||||
tensorboard
|
||||
tensorboardx
|
||||
torch
|
||||
lightning-utilities
|
||||
torchmetrics
|
||||
tqdm
|
||||
traitlets
|
||||
]
|
||||
++ fsspec.optional-dependencies.http;
|
||||
|
||||
checkInputs = [
|
||||
psutil
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
# Some packages are not in NixPkgs; other tests try to build distributed
|
||||
# models, which doesn't work in the sandbox.
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "pytorch_lightning" ];
|
||||
pythonImportsCheck = [
|
||||
"pytorch_lightning"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightweight PyTorch wrapper for machine learning researchers";
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{ lib, buildPythonPackage, fetchPypi
|
||||
, pytestCheckHook
|
||||
, pyyaml
|
||||
, setuptools-scm
|
||||
, setuptools-scm-git-archive
|
||||
, toml
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyyaml-include";
|
||||
version = "1.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-9/vrjnG1C+Dm4HRy98edv7GhW63pyToHg2n/SeV+Z3E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pyyaml
|
||||
setuptools-scm
|
||||
setuptools-scm-git-archive
|
||||
toml
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "yamlinclude" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extending PyYAML with a custom constructor for including YAML files within YAML files";
|
||||
homepage = "https://github.com/tanbro/pyyaml-include";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
}
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "reolink-aio";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
owner = "starkillerOG";
|
||||
repo = "reolink_aio";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-AscfyYURP91aDoPo/ii3uEHQL82DAHpBHlGm1MjLx8c=";
|
||||
sha256 = "sha256-rHiKwr720aTpkem8urnK9TP5CkHCEOHdeBp00rhlitI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -51,6 +51,7 @@ buildPythonPackage rec {
|
||||
"test3_images"
|
||||
"test4_properties"
|
||||
"test_succes"
|
||||
"test_wrong_password"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
@@ -8,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "screenlogicpy";
|
||||
version = "0.6.0";
|
||||
version = "0.6.3";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@@ -17,9 +18,13 @@ buildPythonPackage rec {
|
||||
owner = "dieselrabbit";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-/ePvq+jFLiIsP1w9YxMl3lbekNRaDhKMjKXoYkCOpn8=";
|
||||
hash = "sha256-AWQiOTgYYqhsaJqYMwhCBoSWJ1ol6dJc6TArqptNu6Y=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
async-timeout
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skodaconnect";
|
||||
version = "1.3.2";
|
||||
version = "1.3.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "lendy007";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-GsDnAusCMOFAZM10NcmS0NXOLGSDQaaQbFDoooUlTSs=";
|
||||
hash = "sha256-bjFXrhwIGB50upL++VnrrfzFhxFOrxgYhoNZqkbvZ9w=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, crytic-compile
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, pythonOlder
|
||||
, crytic-compile
|
||||
, packaging
|
||||
, prettytable
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, solc
|
||||
, withSolc ? false
|
||||
@@ -13,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "slither-analyzer";
|
||||
version = "0.9.1";
|
||||
version = "0.9.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -22,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "crytic";
|
||||
repo = "slither";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-u9uA4eq6gYQXHhZ1ruk1vkEIRTKsgN87zENuR1Fhew4=";
|
||||
hash = "sha256-Co3BFdLmSIMqlZVEPJHYH/Cf7oKYSZ+Ktbnd5RZGmfE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -31,6 +32,7 @@ buildPythonPackage rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
crytic-compile
|
||||
packaging
|
||||
prettytable
|
||||
setuptools
|
||||
];
|
||||
@@ -51,6 +53,7 @@ buildPythonPackage rec {
|
||||
contract details, and provides an API to easily write custom analyses.
|
||||
'';
|
||||
homepage = "https://github.com/trailofbits/slither";
|
||||
changelog = "https://github.com/crytic/slither/releases/tag/${version}";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ arturcygan fab ];
|
||||
};
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "teslajsonpy";
|
||||
version = "3.7.1";
|
||||
version = "3.7.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
owner = "zabuldon";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-aQKoSvnCZNAqXf2tUsdlkHpkRJ8k7BVOOK3TQlV7OoM=";
|
||||
hash = "sha256-VOxdX6O6MG2F2ENiFI5+i7Yh+onHq755DsL7obm6Tcg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bacon";
|
||||
version = "2.3.0";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Canop";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-vmvv08cAYNfzlHXrCwfL37U39TS8VQIOJGMgDHc99ME=";
|
||||
hash = "sha256-k87EgsH7EdnqYBoXHpPu7hB/goEXuZsz8mNsrvM+Hgw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-2HR0ClsbCjHiZKmPJkv3NnJyDmdR1rw+TD7UuHLk1Sg=";
|
||||
cargoHash = "sha256-ujc3tH9I2WqwxmqBaUdE8lJQtj7XS56IVaxfZWhmvF8=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin [
|
||||
CoreServices
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "devbox";
|
||||
version = "0.2.0";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jetpack-io";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-zfNVx3u4MtpVzxTK1yvLvPJcHUGcCFwZlGL0rZeCt4M=";
|
||||
hash = "sha256-n2zFfa+UlrAOvBtqF+FkF+oSF1t/7Hg79um7Rl8yTCc=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
@@ -23,7 +23,7 @@ buildGoModule rec {
|
||||
# integration tests want file system access
|
||||
doCheck = false;
|
||||
|
||||
vendorHash = "sha256-KQu1Ik15YR3R+taqOJI9jUlGiVJDkVhytxPTl4sCQOk=";
|
||||
vendorHash = "sha256-pZ9s2i62uMebGLpWerOkSJLxShD06vY4MybqM9ZcdGc=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ginkgo";
|
||||
version = "2.6.1";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "onsi";
|
||||
repo = "ginkgo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-l1R/S6FHvCzdT0nhckyIi29Nntbj7lCeJghY2Tf9C2c=";
|
||||
sha256 = "sha256-UXuRhozEC6zjOzjRi88mS7vyMqvBSnFCj6HXC4zZEp0=";
|
||||
};
|
||||
vendorSha256 = "sha256-SV7G/FZ7kj2ghr15oTMK25Y4SjaIfRc3UfxMPFr4src=";
|
||||
vendorHash = "sha256-SV7G/FZ7kj2ghr15oTMK25Y4SjaIfRc3UfxMPFr4src=";
|
||||
|
||||
# integration tests expect more file changes
|
||||
# types tests are missing CodeLocation
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
{ lib, buildNpmPackage, fetchFromGitHub, runCommand, hred, jq }:
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "hred";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danburzo";
|
||||
repo = "hred";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rnobJG9Z1lXEeFm+c0f9OsbiTzxeP3+zut5LYpGzWfc=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-POxlGWK0TJMwNWDpiK5+OXLGtAx4lFJO3imoe/h+7Sc=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
passthru.tests = {
|
||||
simple = runCommand "${pname}-test" {} ''
|
||||
set -e -o pipefail
|
||||
echo '<i id="foo">bar</i>' | ${hred}/bin/hred 'i#foo { @id => id, @.textContent => text }' -c | ${jq}/bin/jq -c > $out
|
||||
[ "$(cat $out)" = '{"id":"foo","text":"bar"}' ]
|
||||
'';
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A command-line tool to extract data from HTML";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://github.com/danburzo/hred";
|
||||
maintainers = with lib.maintainers; [ tejing ];
|
||||
};
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, editorconfig-checker }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "editorconfig-checker";
|
||||
version = "2.6.0";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "editorconfig-checker";
|
||||
repo = "editorconfig-checker";
|
||||
rev = version;
|
||||
sha256 = "sha256-S/iIanLToWN4OsItvSLGSEhgoYRJgUt0w3QFp1+scfY=";
|
||||
hash = "sha256-8qGRcyDayXx3OflhE9Kw2AXM702/2pYB3JgfpQ0UYR8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ktyUuWW0xlhRLkertrc4/ZYCyDh/tfYBuHqIrdTkotQ=";
|
||||
vendorHash = "sha256-S93ZvC92V9nrBicEv1yQ3DEuf1FmxtvFoKPR15e8VmA=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
@@ -23,6 +23,10 @@ buildGoModule rec {
|
||||
installManPage docs/editorconfig-checker.1
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = editorconfig-checker;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to verify that your files are in harmony with your .editorconfig";
|
||||
homepage = "https://editorconfig-checker.github.io/";
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, openssl
|
||||
, stdenv
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "riff";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DeterminateSystems";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ThHkEvu+lWojHmEgcrwdZDPROfxznB7vv78msyZf90A=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-knA08KqjtI2FZUbllfVETxDqi/r4Gf3VuLE17JujTzc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/riff --set-default RIFF_DISABLE_TELEMETRY true
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool that automatically provides external dependencies for software projects";
|
||||
homepage = "https://riff.sh";
|
||||
changelog = "https://github.com/DeterminateSystems/riff/releases/tag/v${version}";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
};
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{lib, stdenv, fetchurl, makeWrapper, ocaml, ncurses}:
|
||||
let
|
||||
pname = "omake";
|
||||
version = "0.9.8.6-0.rc1";
|
||||
webpage = "http://omake.metaprl.org";
|
||||
in
|
||||
|
||||
if lib.versionAtLeast ocaml.version "4.06"
|
||||
then throw "${pname}-${version} is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://src.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
|
||||
sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
|
||||
};
|
||||
patchFlags = [ "-p0" ];
|
||||
patches = [ ./warn.patch ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ ocaml ncurses ];
|
||||
|
||||
dontInstall = true;
|
||||
buildPhase = ''
|
||||
make bootstrap
|
||||
make PREFIX=$out all
|
||||
make PREFIX=$out install
|
||||
'';
|
||||
# prefixKey = "-prefix ";
|
||||
#
|
||||
# configureFlags = if transitional then "--transitional" else "--strict";
|
||||
#
|
||||
# buildFlags = [ "world.opt" ];
|
||||
|
||||
meta = {
|
||||
description = "Omake build system";
|
||||
homepage = webpage;
|
||||
license = "GPL";
|
||||
platforms = ocaml.meta.platforms or [];
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
diff -p1 -aur ../omake-0.9.8.6.ori/lib/build/OCaml.om ./lib/build/OCaml.om
|
||||
--- ../omake-0.9.8.6.ori/lib/build/OCaml.om 2008-03-05 01:07:25.000000000 +0000
|
||||
+++ ./lib/build/OCaml.om 2013-06-01 15:52:37.000000000 +0000
|
||||
@@ -178,3 +178,3 @@ declare OCAMLDEPFLAGS
|
||||
public.OCAMLPPFLAGS =
|
||||
-public.OCAMLFLAGS = -warn-error A
|
||||
+public.OCAMLFLAGS =
|
||||
public.OCAMLCFLAGS = -g
|
||||
Seulement dans ./lib/build: OCaml.om~
|
||||
Seulement dans .: warn.patch
|
||||
@@ -32,20 +32,20 @@
|
||||
|
||||
let
|
||||
pname = "mindustry";
|
||||
version = "140.4";
|
||||
version = "141.2";
|
||||
buildVersion = makeBuildVersion version;
|
||||
|
||||
Mindustry = fetchFromGitHub {
|
||||
owner = "Anuken";
|
||||
repo = "Mindustry";
|
||||
rev = "v${version}";
|
||||
sha256 = "0lfDISvC5dOd76BuPPniPf+8hXWQ/wtreNHN75k2jVA=";
|
||||
sha256 = "sha256-7olnyjkcT8OwokipDnLFW3rMOPljF6HvsU249SDvA3U=";
|
||||
};
|
||||
Arc = fetchFromGitHub {
|
||||
owner = "Anuken";
|
||||
repo = "Arc";
|
||||
rev = "v${version}";
|
||||
sha256 = "lZ3ACijauUC9jVRq9I/QwX9ozFF/dw+ArEMND+RMItM=";
|
||||
sha256 = "sha256-JYM2/dkrLFZz+oqOs8e+iTRG5Vv4oUcmpAavRQ7NMMM=";
|
||||
};
|
||||
soloud = fetchFromGitHub {
|
||||
owner = "Anuken";
|
||||
@@ -125,7 +125,7 @@ let
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "FbLd3kk/awFz91o8pZcwJTFozwJ7R+RlDOsMRaala5Q=";
|
||||
outputHash = "sha256-Eb+LyO1d2XwhAp9awgMlxs7dfZav0ja9kH7PaUJQOCo=";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
@@ -234,10 +234,10 @@ in {
|
||||
# IMPORTANT: Always use a tagged release candidate or commits from the
|
||||
# zfs-<version>-staging branch, because this is tested by the OpenZFS
|
||||
# maintainers.
|
||||
version = "2.1.8-staging-2022-12-01";
|
||||
rev = "21bd7661334cd865d17934bebbcaf8d3356279ee";
|
||||
version = "2.1.8-staging-2023-01-10";
|
||||
rev = "0156253d29a303bdcca3e535958e754d8f086e33";
|
||||
|
||||
sha256 = "sha256-vLm6RE11nqOCoYXne79JU3nUQnVEUNbwrULwFfghWcI=";
|
||||
sha256 = "sha256-2+vymBesmNLB3fuaCwQOojEzn3aYqtxIo35MvlwOoNw=";
|
||||
|
||||
isUnstable = true;
|
||||
};
|
||||
|
||||
@@ -2020,8 +2020,9 @@
|
||||
"matter" = ps: with ps; [
|
||||
aiohttp-cors
|
||||
fnvhash
|
||||
python-matter-server
|
||||
sqlalchemy
|
||||
]; # missing inputs: python-matter-server
|
||||
];
|
||||
"maxcube" = ps: with ps; [
|
||||
maxcube-api
|
||||
];
|
||||
@@ -4439,6 +4440,7 @@
|
||||
"mailgun"
|
||||
"manual"
|
||||
"manual_mqtt"
|
||||
"matter"
|
||||
"maxcube"
|
||||
"mazda"
|
||||
"meater"
|
||||
|
||||
@@ -36,20 +36,20 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "389-ds-base";
|
||||
version = "2.3.0";
|
||||
version = "2.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "389ds";
|
||||
repo = pname;
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "sha256-GnntF0UaufDrgcM6FFFdwxwVoU9Hu2NXTW1A2lTb6T4=";
|
||||
sha256 = "sha256-14zl0zGVb8ykgtjao8QGakFyr+b5Cve0NbiZeZig/Ac=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
sourceRoot = "source/src";
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-OJXvNL7STNwvt6EiV2r8zv2ZoUGgNUj7UssAQNLN4KI=";
|
||||
hash = "sha256-C7HFv6tTBXoi0a1yEQeGjcKjruvBrm/kiu5zgUUTse0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkgconfig
|
||||
, espeak-ng
|
||||
, onnxruntime
|
||||
, pcaudiolib
|
||||
, larynx-train
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "larynx";
|
||||
version = "0.0.2";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rhasspy";
|
||||
repo = "larynx2";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-6SZ1T2A1DyVmBH2pJBHJdsnniRuLrI/dthRTRRyVSQQ=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src/cpp";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace "/usr/local/include/onnxruntime" "${onnxruntime}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
espeak-ng
|
||||
onnxruntime
|
||||
pcaudiolib
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
install -m 0755 larynx $out/bin
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit larynx-train;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/rhasspy/larynx2/releases/tag/v${version}";
|
||||
description = "A fast, local neural text to speech system";
|
||||
homepage = "https://github.com/rhasspy/larynx2";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{ lib, git, python3, fetchFromGitHub }:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "copier";
|
||||
version = "7.0.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "copier-org";
|
||||
repo = "copier";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-8lTvyyKfAkvnUvw3e+r9C/49QASR8Zeokm509jxGK2g=";
|
||||
};
|
||||
|
||||
POETRY_DYNAMIC_VERSIONING_BYPASS = version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.poetry-core
|
||||
python3.pkgs.poetry-dynamic-versioning
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
colorama
|
||||
dunamai
|
||||
iteration-utilities
|
||||
jinja2
|
||||
jinja2-ansible-filters
|
||||
mkdocs-material
|
||||
mkdocs-mermaid2-plugin
|
||||
mkdocstrings
|
||||
packaging
|
||||
pathspec
|
||||
plumbum
|
||||
pydantic
|
||||
pygments
|
||||
pyyaml
|
||||
pyyaml-include
|
||||
questionary
|
||||
];
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--suffix PATH : ${lib.makeBinPath [ git ] }"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library and command-line utility for rendering projects templates";
|
||||
homepage = "https://copier.readthedocs.io";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, buildGoModule
|
||||
, gh-markdown-preview
|
||||
, testers
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gh-markdown-preview";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yusukebe";
|
||||
repo = "gh-markdown-preview";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WAKGtwz0CNqx86YOeLKWwfJiFcRAm1+X5kJOfsPgtjY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-O6Q9h5zcYAoKLjuzGu7f7UZY0Y5rL2INqFyJT2QZJ/E=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/yusukebe/gh-markdown-preview/cmd.Version=${version}"
|
||||
];
|
||||
|
||||
# Tests need network
|
||||
doCheck = false;
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion { package = gh-markdown-preview; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "gh extension to preview Markdown looking like on GitHub";
|
||||
homepage = "https://github.com/yusukebe/gh-markdown-preview";
|
||||
changelog = "https://github.com/yusukebe/gh-markdown-preview/releases/tag/${src.rev}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ amesgen ];
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# frozen_string_literal: true
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.34"
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.35"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
GIT
|
||||
remote: https://github.com/rapid7/metasploit-framework
|
||||
revision: ef77e9e4b96d16ae52524f0810a95262ae2aaad3
|
||||
ref: refs/tags/6.2.34
|
||||
revision: 8bc83af1beb142de1ed3d81d2ef943443d07bff9
|
||||
ref: refs/tags/6.2.35
|
||||
specs:
|
||||
metasploit-framework (6.2.34)
|
||||
metasploit-framework (6.2.35)
|
||||
actionpack (~> 6.0)
|
||||
activerecord (~> 6.0)
|
||||
activesupport (~> 6.0)
|
||||
@@ -128,13 +128,13 @@ GEM
|
||||
arel-helpers (2.14.0)
|
||||
activerecord (>= 3.1.0, < 8)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.688.0)
|
||||
aws-partitions (1.693.0)
|
||||
aws-sdk-core (3.168.4)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-ec2 (1.356.0)
|
||||
aws-sdk-ec2 (1.357.0)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-iam (1.73.0)
|
||||
@@ -265,7 +265,7 @@ GEM
|
||||
network_interface (0.0.2)
|
||||
nexpose (7.3.0)
|
||||
nio4r (2.5.8)
|
||||
nokogiri (1.13.10)
|
||||
nokogiri (1.14.0)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
racc (~> 1.4)
|
||||
nori (2.6.0)
|
||||
@@ -321,7 +321,7 @@ GEM
|
||||
rex-core
|
||||
rex-struct2
|
||||
rex-text
|
||||
rex-core (0.1.28)
|
||||
rex-core (0.1.29)
|
||||
rex-encoder (0.1.6)
|
||||
metasm
|
||||
rex-arch
|
||||
@@ -351,7 +351,7 @@ GEM
|
||||
metasm
|
||||
rex-core
|
||||
rex-text
|
||||
rex-socket (0.1.43)
|
||||
rex-socket (0.1.45)
|
||||
rex-core
|
||||
rex-sslscan (0.1.8)
|
||||
rex-core
|
||||
@@ -384,7 +384,7 @@ GEM
|
||||
rack (~> 2.2, >= 2.2.4)
|
||||
rack-protection (= 3.0.5)
|
||||
tilt (~> 2.0)
|
||||
sqlite3 (1.5.4)
|
||||
sqlite3 (1.6.0)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
sshkey (2.0.0)
|
||||
swagger-blocks (3.0.0)
|
||||
@@ -435,4 +435,4 @@ DEPENDENCIES
|
||||
metasploit-framework!
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.2
|
||||
2.4.3
|
||||
|
||||
@@ -15,13 +15,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "metasploit-framework";
|
||||
version = "6.2.34";
|
||||
version = "6.2.35";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rapid7";
|
||||
repo = "metasploit-framework";
|
||||
rev = version;
|
||||
sha256 = "sha256-Adr4ZATrhJRpTvPo3WA0/ADgG0moJQ8CKTGb4e+LgB4=";
|
||||
sha256 = "sha256-nojwez1Ol13K1D/bbl7t0KEUJZxtdLD2pqo08fkZf04=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -104,10 +104,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1g98k1kh2lb4k4aagagk80r6bx58gnx2aa9f6pzcix42cdib34r9";
|
||||
sha256 = "0gjsrdkswp0xlfcv9y45i6456dbv4xl1cka4lpfw6bwjbhnqcjc8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.688.0";
|
||||
version = "1.693.0";
|
||||
};
|
||||
aws-sdk-core = {
|
||||
groups = ["default"];
|
||||
@@ -124,10 +124,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1l1zchxfsmbailrmjvw3s8djm20mqn0pjxf735mspp6zg3xmvyr2";
|
||||
sha256 = "0lifj9m433ri4k1xm06n06minnb1sblxxc0gzgjc1a7q5xcldqmy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.356.0";
|
||||
version = "1.357.0";
|
||||
};
|
||||
aws-sdk-iam = {
|
||||
groups = ["default"];
|
||||
@@ -604,12 +604,12 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
fetchSubmodules = false;
|
||||
rev = "ef77e9e4b96d16ae52524f0810a95262ae2aaad3";
|
||||
sha256 = "07l0igpy36ri5410y9d894dy007w6ihdvs7k9rlr917b0ijginh1";
|
||||
rev = "8bc83af1beb142de1ed3d81d2ef943443d07bff9";
|
||||
sha256 = "0kkz37wz2d5alvvb0x3dkhji98fhxmg6xnrzsk55v5sf7mxz124y";
|
||||
type = "git";
|
||||
url = "https://github.com/rapid7/metasploit-framework";
|
||||
};
|
||||
version = "6.2.34";
|
||||
version = "6.2.35";
|
||||
};
|
||||
metasploit-model = {
|
||||
groups = ["default"];
|
||||
@@ -807,10 +807,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk";
|
||||
sha256 = "1fqld4wnamj7awdr1lwdifpylqdrrg5adm8xj2jl9sc5ms3nxjjm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.13.10";
|
||||
version = "1.14.0";
|
||||
};
|
||||
nori = {
|
||||
groups = ["default"];
|
||||
@@ -1077,10 +1077,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17kgimw778flsqg66cyccz655kfdaasgv9g0zyk7zb5psigjadbl";
|
||||
sha256 = "1gnd998r7s8fl7ma0wavlwyxw244vr2mjgsrs53d455gxjxk4xi8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.28";
|
||||
version = "0.1.29";
|
||||
};
|
||||
rex-encoder = {
|
||||
groups = ["default"];
|
||||
@@ -1187,10 +1187,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1dx4lq6iw5w4q545vhj8bn7gm51kkc6qqhfpv24y3mb4gwys4zmc";
|
||||
sha256 = "1r73q8i832gzrq1hqawqlvnmw0w1g8jc28z8q7kxjaqf4dd9gprz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.43";
|
||||
version = "0.1.45";
|
||||
};
|
||||
rex-sslscan = {
|
||||
groups = ["default"];
|
||||
@@ -1348,10 +1348,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "009124l2yw7csrq3mvzffjflgpqi3y30flazjqf6aad64gnnnksx";
|
||||
sha256 = "0f24qp50mc1qg8yvv7b3x73mh78d6mzd3b7rqib1ixfbsdiayx1x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.4";
|
||||
version = "1.6.0";
|
||||
};
|
||||
sshkey = {
|
||||
groups = ["default"];
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mdbook-katex";
|
||||
version = "0.3.0";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-s3ZR1fQ5x6FiHzoiDCqZahQCjhtuOoeDM32w/16DEmk=";
|
||||
hash = "sha256-K96zIjWIHQN20LmmiqGEBv5/gi0CzHQt/FgRC00Z/lE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-/fO+ozw6dg8TeIYQ3R7LWT+acDToNcGFvceV8YojVCw=";
|
||||
cargoHash = "sha256-KIPP2tT9wrTrIy6YLgSCc4hgKJXT0ZJjp/ftSxs2row=";
|
||||
|
||||
OPENSSL_DIR = "${lib.getDev openssl}";
|
||||
OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
|
||||
|
||||
@@ -1349,6 +1349,8 @@ with pkgs;
|
||||
|
||||
dwarfs = callPackage ../tools/filesystems/dwarfs { };
|
||||
|
||||
copier = callPackage ../tools/misc/copier { };
|
||||
|
||||
gamemode = callPackage ../tools/games/gamemode {
|
||||
libgamemode32 = pkgsi686Linux.gamemode.lib;
|
||||
};
|
||||
@@ -1379,6 +1381,8 @@ with pkgs;
|
||||
|
||||
gh-eco = callPackage ../tools/misc/gh-eco { };
|
||||
|
||||
gh-markdown-preview = callPackage ../tools/misc/gh-markdown-preview { };
|
||||
|
||||
ghostie = callPackage ../tools/misc/ghostie { };
|
||||
|
||||
glooctl = callPackage ../applications/networking/cluster/glooctl { };
|
||||
@@ -1881,6 +1885,8 @@ with pkgs;
|
||||
|
||||
gst = callPackage ../applications/version-management/gst { };
|
||||
|
||||
hred = callPackage ../development/tools/hred { };
|
||||
|
||||
hub = callPackage ../applications/version-management/hub { };
|
||||
|
||||
hut = callPackage ../applications/version-management/hut { };
|
||||
@@ -9100,6 +9106,10 @@ with pkgs;
|
||||
|
||||
jump = callPackage ../tools/system/jump {};
|
||||
|
||||
larynx = callPackage ../tools/audio/larynx { };
|
||||
|
||||
larynx-train = with python3Packages; toPythonApplication larynx-train;
|
||||
|
||||
latex2html = callPackage ../tools/misc/latex2html { };
|
||||
|
||||
lazycli = callPackage ../tools/misc/lazycli { };
|
||||
@@ -14745,9 +14755,7 @@ with pkgs;
|
||||
|
||||
gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { };
|
||||
|
||||
hvm = callPackage ../development/compilers/hvm {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
hvm = callPackage ../development/compilers/hvm { };
|
||||
|
||||
iay = callPackage ../tools/misc/iay {
|
||||
inherit (darwin.apple_sdk.frameworks) AppKit Security Foundation Cocoa;
|
||||
@@ -17925,6 +17933,8 @@ with pkgs;
|
||||
|
||||
python-language-server = callPackage ../development/dotnet-modules/python-language-server { };
|
||||
|
||||
python-matter-server = with python3Packages; toPythonApplication python-matter-server;
|
||||
|
||||
minify = callPackage ../development/web/minify { };
|
||||
|
||||
minizinc = callPackage ../development/tools/minizinc { };
|
||||
@@ -18217,6 +18227,8 @@ with pkgs;
|
||||
|
||||
revive = callPackage ../development/tools/revive { };
|
||||
|
||||
riff = callPackage ../development/tools/misc/riff { };
|
||||
|
||||
rman = callPackage ../development/tools/misc/rman { };
|
||||
|
||||
rnginline = with python3Packages; toPythonApplication rnginline;
|
||||
|
||||
@@ -1632,8 +1632,6 @@ let
|
||||
|
||||
ocamlnat = callPackage ../development/ocaml-modules/ocamlnat { };
|
||||
|
||||
omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
|
||||
|
||||
google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
|
||||
|
||||
hol_light = callPackage ../applications/science/logic/hol_light { };
|
||||
|
||||
@@ -17472,6 +17472,22 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
NetAsyncHTTPServer = buildPerlModule {
|
||||
pname = "Net-Async-HTTP-Server";
|
||||
version = "0.13";
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-HTTP-Server-0.13.tar.gz";
|
||||
hash = "sha256-yk3kcfIieNI5PIqy7G56xO8hfbRjXS3Mi6KoynIhFO4=";
|
||||
};
|
||||
buildInputs = [ TestIdentity TestMetricsAny TestRefcount TestSimple13 ];
|
||||
propagatedBuildInputs = [ HTTPMessage IOAsync MetricsAny ];
|
||||
meta = {
|
||||
description = "Serve HTTP with IO::Async";
|
||||
license = with lib.licenses; [ artistic1 gpl1Plus ];
|
||||
maintainers = [ maintainers.anoa ];
|
||||
};
|
||||
};
|
||||
|
||||
NetAsyncPing = buildPerlPackage {
|
||||
pname = "Net-Async-Ping";
|
||||
version = "0.004001";
|
||||
|
||||
@@ -3045,6 +3045,8 @@ self: super: with self; {
|
||||
|
||||
eradicate = callPackage ../development/python-modules/eradicate { };
|
||||
|
||||
espeak-phonemizer = callPackage ../development/python-modules/espeak-phonemizer { };
|
||||
|
||||
esprima = callPackage ../development/python-modules/esprima { };
|
||||
|
||||
escapism = callPackage ../development/python-modules/escapism { };
|
||||
@@ -4309,6 +4311,10 @@ self: super: with self; {
|
||||
|
||||
home-assistant-bluetooth = callPackage ../development/python-modules/home-assistant-bluetooth { };
|
||||
|
||||
home-assistant-chip-clusters = callPackage ../development/python-modules/home-assistant-chip-clusters { };
|
||||
|
||||
home-assistant-chip-core = callPackage ../development/python-modules/home-assistant-chip-core { };
|
||||
|
||||
homeassistant-pyozw = callPackage ../development/python-modules/homeassistant-pyozw { };
|
||||
|
||||
homeconnect = callPackage ../development/python-modules/homeconnect { };
|
||||
@@ -4729,6 +4735,8 @@ self: super: with self; {
|
||||
|
||||
itemloaders = callPackage ../development/python-modules/itemloaders { };
|
||||
|
||||
iteration-utilities = callPackage ../development/python-modules/iteration-utilities { };
|
||||
|
||||
iterm2 = callPackage ../development/python-modules/iterm2 { };
|
||||
|
||||
itsdangerous = callPackage ../development/python-modules/itsdangerous { };
|
||||
@@ -4824,6 +4832,8 @@ self: super: with self; {
|
||||
|
||||
jinja2 = callPackage ../development/python-modules/jinja2 { };
|
||||
|
||||
jinja2-ansible-filters = callPackage ../development/python-modules/jinja2-ansible-filters { };
|
||||
|
||||
jinja2-git = callPackage ../development/python-modules/jinja2-git { };
|
||||
|
||||
jinja2_pluralize = callPackage ../development/python-modules/jinja2_pluralize { };
|
||||
@@ -5154,6 +5164,8 @@ self: super: with self; {
|
||||
|
||||
lark = callPackage ../development/python-modules/lark { };
|
||||
|
||||
larynx-train = callPackage ../development/python-modules/larynx-train { };
|
||||
|
||||
latexcodec = callPackage ../development/python-modules/latexcodec { };
|
||||
|
||||
latexify-py = callPackage ../development/python-modules/latexify-py { };
|
||||
@@ -5390,6 +5402,8 @@ self: super: with self; {
|
||||
|
||||
lightning = callPackage ../development/python-modules/lightning { };
|
||||
|
||||
lightning-utilities = callPackage ../development/python-modules/lightning-utilities { };
|
||||
|
||||
lightparam = callPackage ../development/python-modules/lightparam { };
|
||||
|
||||
lightwave = callPackage ../development/python-modules/lightwave { };
|
||||
@@ -5877,6 +5891,8 @@ self: super: with self; {
|
||||
|
||||
mkdocstrings-python = callPackage ../development/python-modules/mkdocstrings-python { };
|
||||
|
||||
mkdocs-mermaid2-plugin = callPackage ../development/python-modules/mkdocs-mermaid2-plugin { };
|
||||
|
||||
mkl-service = callPackage ../development/python-modules/mkl-service { };
|
||||
|
||||
ml-collections = callPackage ../development/python-modules/ml-collections { };
|
||||
@@ -5904,6 +5920,8 @@ self: super: with self; {
|
||||
|
||||
moat-ble = callPackage ../development/python-modules/moat-ble { };
|
||||
|
||||
mobly = callPackage ../development/python-modules/mobly { };
|
||||
|
||||
mocket = callPackage ../development/python-modules/mocket { };
|
||||
|
||||
mock = callPackage ../development/python-modules/mock { };
|
||||
@@ -9247,6 +9265,8 @@ self: super: with self; {
|
||||
|
||||
python-markdown-math = callPackage ../development/python-modules/python-markdown-math { };
|
||||
|
||||
python-matter-server = callPackage ../development/python-modules/python-matter-server { };
|
||||
|
||||
python-miio = callPackage ../development/python-modules/python-miio { };
|
||||
|
||||
python-mimeparse = callPackage ../development/python-modules/python-mimeparse { };
|
||||
@@ -9596,6 +9616,8 @@ self: super: with self; {
|
||||
|
||||
pyyaml-env-tag = callPackage ../development/python-modules/pyyaml-env-tag { };
|
||||
|
||||
pyyaml-include = callPackage ../development/python-modules/pyyaml-include { };
|
||||
|
||||
pyzerproc = callPackage ../development/python-modules/pyzerproc { };
|
||||
|
||||
pyzmq = callPackage ../development/python-modules/pyzmq { };
|
||||
|
||||
Reference in New Issue
Block a user