Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
Martin Weinelt 2022-03-31 03:49:37 +02:00
commit d0bfb3ccbb
224 changed files with 16163 additions and 16589 deletions

65
.github/CODEOWNERS vendored
View File

@ -10,9 +10,6 @@
# IMPORTANT NOTE: in order to actually get pinged, commit access is required. # IMPORTANT NOTE: in order to actually get pinged, commit access is required.
# This also holds true for GitHub teams. Since almost none of our teams have write # This also holds true for GitHub teams. Since almost none of our teams have write
# permissions, you need to list all members of the team with commit access individually. # permissions, you need to list all members of the team with commit access individually.
# We still add the team to the list next to its members, this helps keeping things
# in sync. (Put non team members before the team to distinguish them.)
# See https://github.com/NixOS/nixpkgs/issues/124085 for more details
# This file # This file
/.github/CODEOWNERS @edolstra /.github/CODEOWNERS @edolstra
@ -39,10 +36,10 @@
/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer /pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer
/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer /pkgs/top-level/splice.nix @Ericson2314 @matthewbauer
/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer /pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer
/pkgs/stdenv/generic @Ericson2314 @matthewbauer @cab404 /pkgs/stdenv/generic @Ericson2314 @matthewbauer
/pkgs/stdenv/cross @Ericson2314 @matthewbauer /pkgs/stdenv/cross @Ericson2314 @matthewbauer
/pkgs/build-support/cc-wrapper @Ericson2314 @orivej /pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej /pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314 /pkgs/build-support/setup-hooks @Ericson2314
/pkgs/build-support/setup-hooks/auto-patchelf.sh @aszlig /pkgs/build-support/setup-hooks/auto-patchelf.sh @aszlig
@ -97,8 +94,7 @@
/pkgs/development/python-modules @FRidh @jonringer /pkgs/development/python-modules @FRidh @jonringer
/doc/languages-frameworks/python.section.md @FRidh /doc/languages-frameworks/python.section.md @FRidh
/pkgs/development/tools/poetry2nix @adisbladis /pkgs/development/tools/poetry2nix @adisbladis
/pkgs/development/interpreters/python/hooks @FRidh @jonringer @DavHau /pkgs/development/interpreters/python/hooks @FRidh @jonringer
/pkgs/development/interpreters/python/conda @DavHau
# Haskell # Haskell
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn @expipiplus1 /doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn @expipiplus1
@ -115,8 +111,8 @@
/pkgs/development/perl-modules @stigtsp @zakame /pkgs/development/perl-modules @stigtsp @zakame
# R # R
/pkgs/applications/science/math/R @jbedo @bcdarwin /pkgs/applications/science/math/R @jbedo
/pkgs/development/r-modules @jbedo @bcdarwin /pkgs/development/r-modules @jbedo
# Ruby # Ruby
/pkgs/development/interpreters/ruby @marsam /pkgs/development/interpreters/ruby @marsam
@ -127,10 +123,6 @@
/pkgs/build-support/rust @zowoq /pkgs/build-support/rust @zowoq
/doc/languages-frameworks/rust.section.md @zowoq /doc/languages-frameworks/rust.section.md @zowoq
# Darwin-related
/pkgs/stdenv/darwin @NixOS/darwin-maintainers
/pkgs/os-specific/darwin @NixOS/darwin-maintainers
# C compilers # C compilers
/pkgs/development/compilers/gcc @matthewbauer /pkgs/development/compilers/gcc @matthewbauer
/pkgs/development/compilers/llvm @matthewbauer /pkgs/development/compilers/llvm @matthewbauer
@ -139,15 +131,6 @@
/pkgs/top-level/unix-tools.nix @matthewbauer /pkgs/top-level/unix-tools.nix @matthewbauer
/pkgs/development/tools/xcbuild @matthewbauer /pkgs/development/tools/xcbuild @matthewbauer
# Beam-related (Erlang, Elixir, LFE, etc)
/pkgs/development/beam-modules @gleber
/pkgs/development/interpreters/erlang @gleber
/pkgs/development/interpreters/lfe @gleber
/pkgs/development/interpreters/elixir @gleber
/pkgs/development/tools/build-managers/rebar @gleber
/pkgs/development/tools/build-managers/rebar3 @gleber
/pkgs/development/tools/erlang @gleber
# Audio # Audio
/nixos/modules/services/audio/botamusique.nix @mweinelt /nixos/modules/services/audio/botamusique.nix @mweinelt
/nixos/modules/services/audio/snapserver.nix @mweinelt /nixos/modules/services/audio/snapserver.nix @mweinelt
@ -215,7 +198,7 @@
/pkgs/development/idris-modules @Infinisil /pkgs/development/idris-modules @Infinisil
# Bazel # Bazel
/pkgs/development/tools/build-managers/bazel @mboes @Profpatsch /pkgs/development/tools/build-managers/bazel @Profpatsch
# NixOS modules for e-mail and dns services # NixOS modules for e-mail and dns services
/nixos/modules/services/mail/mailman.nix @peti /nixos/modules/services/mail/mailman.nix @peti
@ -243,22 +226,22 @@
/nixos/tests/prometheus-exporters.nix @WilliButz /nixos/tests/prometheus-exporters.nix @WilliButz
# PHP interpreter, packages, extensions, tests and documentation # PHP interpreter, packages, extensions, tests and documentation
/doc/languages-frameworks/php.section.md @NixOS/php @aanderse @etu @globin @ma27 @talyz /doc/languages-frameworks/php.section.md @aanderse @etu @globin @ma27 @talyz
/nixos/tests/php @NixOS/php @aanderse @etu @globin @ma27 @talyz /nixos/tests/php @aanderse @etu @globin @ma27 @talyz
/pkgs/build-support/build-pecl.nix @NixOS/php @aanderse @etu @globin @ma27 @talyz /pkgs/build-support/build-pecl.nix @aanderse @etu @globin @ma27 @talyz
/pkgs/development/interpreters/php @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz /pkgs/development/interpreters/php @jtojnar @aanderse @etu @globin @ma27 @talyz
/pkgs/development/php-packages @NixOS/php @aanderse @etu @globin @ma27 @talyz /pkgs/development/php-packages @aanderse @etu @globin @ma27 @talyz
/pkgs/top-level/php-packages.nix @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz /pkgs/top-level/php-packages.nix @jtojnar @aanderse @etu @globin @ma27 @talyz
# Podman, CRI-O modules and related # Podman, CRI-O modules and related
/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq @adisbladis /nixos/modules/virtualisation/containers.nix @zowoq @adisbladis
/nixos/modules/virtualisation/cri-o.nix @NixOS/podman @zowoq @adisbladis /nixos/modules/virtualisation/cri-o.nix @zowoq @adisbladis
/nixos/modules/virtualisation/podman @NixOS/podman @zowoq @adisbladis /nixos/modules/virtualisation/podman @zowoq @adisbladis
/nixos/tests/cri-o.nix @NixOS/podman @zowoq @adisbladis /nixos/tests/cri-o.nix @zowoq @adisbladis
/nixos/tests/podman @NixOS/podman @zowoq @adisbladis /nixos/tests/podman @zowoq @adisbladis
# Docker tools # Docker tools
/pkgs/build-support/docker @roberth @utdemir /pkgs/build-support/docker @roberth
/nixos/tests/docker-tools-overlay.nix @roberth /nixos/tests/docker-tools-overlay.nix @roberth
/nixos/tests/docker-tools.nix @roberth /nixos/tests/docker-tools.nix @roberth
/doc/builders/images/dockertools.xml @roberth /doc/builders/images/dockertools.xml @roberth
@ -273,8 +256,8 @@
/pkgs/development/go-packages @kalbasit @Mic92 @zowoq /pkgs/development/go-packages @kalbasit @Mic92 @zowoq
# GNOME # GNOME
/pkgs/desktops/gnome @NixOS/GNOME @jtojnar @hedning /pkgs/desktops/gnome @jtojnar @hedning
/pkgs/desktops/gnome/extensions @piegamesde @NixOS/GNOME @jtojnar @hedning /pkgs/desktops/gnome/extensions @piegamesde @jtojnar @hedning
# Cinnamon # Cinnamon
/pkgs/desktops/cinnamon @mkg20001 /pkgs/desktops/cinnamon @mkg20001
@ -295,10 +278,10 @@
# Matrix # Matrix
/pkgs/servers/heisenbridge @piegamesde /pkgs/servers/heisenbridge @piegamesde
/pkgs/servers/matrix-conduit @piegamesde @pstn /pkgs/servers/matrix-conduit @piegamesde
/pkgs/servers/matrix-synapse/matrix-appservice-irc @piegamesde /pkgs/servers/matrix-synapse/matrix-appservice-irc @piegamesde
/nixos/modules/services/misc/heisenbridge.nix @piegamesde /nixos/modules/services/misc/heisenbridge.nix @piegamesde
/nixos/modules/services/misc/matrix-appservice-irc.nix @piegamesde /nixos/modules/services/misc/matrix-appservice-irc.nix @piegamesde
/nixos/modules/services/misc/matrix-conduit.nix @piegamesde @pstn /nixos/modules/services/misc/matrix-conduit.nix @piegamesde
/nixos/tests/matrix-appservice-irc.nix @piegamesde /nixos/tests/matrix-appservice-irc.nix @piegamesde
/nixos/tests/matrix-conduit.nix @piegamesde @pstn /nixos/tests/matrix-conduit.nix @piegamesde

View File

@ -120,7 +120,7 @@ rec {
Example: Example:
mkPackageOption pkgs "GHC" { mkPackageOption pkgs "GHC" {
default = [ "ghc" ]; default = [ "ghc" ];
example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])";
} }
=> { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; } => { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; }
*/ */

View File

@ -14251,4 +14251,16 @@
github = "nigelgbanks"; github = "nigelgbanks";
githubId = 487373; githubId = 487373;
}; };
zanculmarktum = {
name = "Azure Zanculmarktum";
email = "zanculmarktum@gmail.com";
github = "zanculmarktum";
githubId = 16958511;
};
kuwii = {
name = "kuwii";
email = "kuwii.someone@gmail.com";
github = "kuwii";
githubId = 10705175;
};
} }

View File

@ -0,0 +1,22 @@
let
nixpkgs = import ../../..;
inherit (nixpkgs {}) haskellPackages lib;
maintainedPkgs = lib.filterAttrs (
_: v: builtins.length (v.meta.maintainers or []) > 0
) haskellPackages;
brokenPkgs = lib.filterAttrs (_: v: v.meta.broken) maintainedPkgs;
transitiveBrokenPkgs = lib.filterAttrs
(_: v: !(builtins.tryEval (v.outPath or null)).success && !v.meta.broken)
maintainedPkgs;
infoList = pkgs: lib.concatStringsSep "\n" (lib.mapAttrsToList (name: drv: "${name} ${(builtins.elemAt drv.meta.maintainers 0).github}") pkgs);
in {
report = ''
BROKEN:
${infoList brokenPkgs}
TRANSITIVE BROKEN:
${infoList transitiveBrokenPkgs}
'';
transitiveErrors =
builtins.attrValues transitiveBrokenPkgs;
}

View File

@ -1,26 +1,38 @@
#! /usr/bin/env nix-shell #! /usr/bin/env nix-shell
#! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused gnugrep -I nixpkgs=. #! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused gnugrep -I nixpkgs=.
# shellcheck shell=bash
set -eu -o pipefail set -eu -o pipefail
tmpfile=$(mktemp "update-stackage.XXXXXXX") # Stackage solver to use, LTS or Nightly
# shellcheck disable=SC2064 # (should be capitalized like the display name)
SOLVER=LTS
TMP_TEMPLATE=update-stackage.XXXXXXX
readonly SOLVER
readonly TMP_TEMPLATE
toLower() {
printf "%s" "$1" | tr '[:upper:]' '[:lower:]'
}
tmpfile=$(mktemp "$TMP_TEMPLATE")
tmpfile_new=$(mktemp "$TMP_TEMPLATE")
stackage_config="pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml" stackage_config="pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml"
trap "rm ${tmpfile} ${tmpfile}.new" 0 trap 'rm "${tmpfile}" "${tmpfile_new}"' 0
touch "$tmpfile" "$tmpfile.new" # Creating files here so that trap creates no errors. touch "$tmpfile" "$tmpfile_new" # Creating files here so that trap creates no errors.
curl -L -s "https://stackage.org/lts/cabal.config" >"$tmpfile" curl -L -s "https://stackage.org/$(toLower "$SOLVER")/cabal.config" >"$tmpfile"
old_version=$(grep "# Stackage" $stackage_config | sed -E 's/.*([0-9]{2}\.[0-9]+)/\1/') old_version=$(grep '^# Stackage' $stackage_config | sed -e 's/.\+ \([A-Za-z]\+ [0-9.-]\+\)$/\1/g')
version=$(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.lts-//p" "$tmpfile") version="$SOLVER $(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.$(toLower "$SOLVER")-//p" "$tmpfile")"
if [[ "$old_version" == "$version" ]]; then if [[ "$old_version" == "$version" ]]; then
echo "No new stackage version" echo "No new stackage version"
exit 0 # Nothing to do exit 0 # Nothing to do
fi fi
echo "Updating Stackage LTS from $old_version to $version." echo "Updating Stackage from $old_version to $version."
# Create a simple yaml version of the file. # Create a simple yaml version of the file.
sed -r \ sed -r \
@ -30,10 +42,10 @@ sed -r \
-e 's|,$||' \ -e 's|,$||' \
-e '/installed$/d' \ -e '/installed$/d' \
-e '/^$/d' \ -e '/^$/d' \
< "${tmpfile}" | sort --ignore-case >"${tmpfile}.new" < "${tmpfile}" | sort --ignore-case >"${tmpfile_new}"
cat > $stackage_config << EOF cat > $stackage_config << EOF
# Stackage LTS $version # Stackage $version
# This file is auto-generated by # This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh # maintainers/scripts/haskell/update-stackage.sh
default-package-overrides: default-package-overrides:
@ -45,12 +57,13 @@ sed -r \
-e '/ distribution-nixpkgs /d' \ -e '/ distribution-nixpkgs /d' \
-e '/ jailbreak-cabal /d' \ -e '/ jailbreak-cabal /d' \
-e '/ language-nix /d' \ -e '/ language-nix /d' \
< "${tmpfile}.new" >> $stackage_config -e '/ cabal-install /d' \
< "${tmpfile_new}" >> $stackage_config
if [[ "${1:-}" == "--do-commit" ]]; then if [[ "${1:-}" == "--do-commit" ]]; then
git add $stackage_config git add $stackage_config
git commit -F - << EOF git commit -F - << EOF
haskellPackages: stackage-lts $old_version -> $version haskellPackages: stackage $old_version -> $version
This commit has been generated by maintainers/scripts/haskell/update-stackage.sh This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
EOF EOF

View File

@ -70,6 +70,14 @@ with lib.maintainers; {
scope = "Maintain the Chia blockchain and its dependencies"; scope = "Maintain the Chia blockchain and its dependencies";
}; };
cosmopolitan = {
members = [
lourkeur
tomberek
];
scope = "Maintain the Cosmopolitan LibC and related programs.";
};
deshaw = { deshaw = {
# Verify additions to this team with at least one already existing member of the team. # Verify additions to this team with at least one already existing member of the team.
members = [ members = [
@ -117,6 +125,7 @@ with lib.maintainers; {
gnome = { gnome = {
members = [ members = [
bobby285271
hedning hedning
jtojnar jtojnar
dasj19 dasj19

View File

@ -120,14 +120,14 @@ lib.mkOption {
```nix ```nix
lib.mkPackageOption pkgs "GHC" { lib.mkPackageOption pkgs "GHC" {
default = [ "ghc" ]; default = [ "ghc" ];
example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])";
} }
# is like # is like
lib.mkOption { lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = pkgs.ghc; default = pkgs.ghc;
defaultText = lib.literalExpression "pkgs.ghc"; defaultText = lib.literalExpression "pkgs.ghc";
example = lib.literalExpression "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = lib.literalExpression "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])";
description = "The GHC package to use."; description = "The GHC package to use.";
} }
``` ```

View File

@ -183,14 +183,14 @@ lib.mkOption {
<programlisting language="bash"> <programlisting language="bash">
lib.mkPackageOption pkgs &quot;GHC&quot; { lib.mkPackageOption pkgs &quot;GHC&quot; {
default = [ &quot;ghc&quot; ]; default = [ &quot;ghc&quot; ];
example = &quot;pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;; example = &quot;pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
} }
# is like # is like
lib.mkOption { lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = pkgs.ghc; default = pkgs.ghc;
defaultText = lib.literalExpression &quot;pkgs.ghc&quot;; defaultText = lib.literalExpression &quot;pkgs.ghc&quot;;
example = lib.literalExpression &quot;pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;; example = lib.literalExpression &quot;pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
description = &quot;The GHC package to use.&quot;; description = &quot;The GHC package to use.&quot;;
} }
</programlisting> </programlisting>

View File

@ -93,6 +93,14 @@
and their users. and their users.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The default GHC version has been updated from 8.10.7 to 9.0.2.
<literal>pkgs.haskellPackages</literal> and
<literal>pkgs.ghc</literal> will now use this version by
default.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="sec-release-22.05-new-services"> <section xml:id="sec-release-22.05-new-services">
@ -226,6 +234,13 @@
<link xlink:href="options.html#opt-services.prometheus.exporters.pve">services.prometheus.exporters.pve</link>. <link xlink:href="options.html#opt-services.prometheus.exporters.pve">services.prometheus.exporters.pve</link>.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<link xlink:href="https://github.com/netbox-community/netbox">netbox</link>,
infrastructure resource modeling (IRM) tool. Available as
<link xlink:href="options.html#opt-services.netbox.enable">services.netbox</link>.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
<link xlink:href="https://tetrd.app">tetrd</link>, share your <link xlink:href="https://tetrd.app">tetrd</link>, share your
@ -1021,8 +1036,8 @@
<listitem> <listitem>
<para> <para>
<literal>pkgs.pgadmin</literal> now refers to <literal>pkgs.pgadmin</literal> now refers to
<literal>pkgs.pgadmin4</literal>. If you still need pgadmin3, <literal>pkgs.pgadmin4</literal>. <literal>pgadmin3</literal>
use <literal>pkgs.pgadmin3</literal>. has been removed.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -1264,6 +1279,13 @@
example. example.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>pkgs.cosmopolitan</literal> no longer provides the
<literal>cosmoc</literal> command. It has been moved to
<literal>pkgs.cosmoc</literal>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="sec-release-22.05-notable-changes"> <section xml:id="sec-release-22.05-notable-changes">

View File

@ -3,10 +3,15 @@
xmlns:xi="http://www.w3.org/2001/XInclude"> xmlns:xi="http://www.w3.org/2001/XInclude">
<title>NixOS Reference Pages</title> <title>NixOS Reference Pages</title>
<info> <info>
<author><personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname> <author>
<personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname>
<contrib>Author</contrib> <contrib>Author</contrib>
</author> </author>
<copyright><year>2007-2020</year><holder>Eelco Dolstra</holder> <author>
<personname><othername>The Nixpkgs/NixOS contributors</othername></personname>
<contrib>Author</contrib>
</author>
<copyright><year>2007-2022</year><holder>Eelco Dolstra and the Nixpkgs/NixOS contributors</holder>
</copyright> </copyright>
</info> </info>
<xi:include href="man-configuration.xml" /> <xi:include href="man-configuration.xml" />

View File

@ -31,6 +31,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- Module authors can use `mkRenamedOptionModuleWith` to automate the deprecation cycle without annoying out-of-tree module authors and their users. - Module authors can use `mkRenamedOptionModuleWith` to automate the deprecation cycle without annoying out-of-tree module authors and their users.
- The default GHC version has been updated from 8.10.7 to 9.0.2. `pkgs.haskellPackages` and `pkgs.ghc` will now use this version by default.
## New Services {#sec-release-22.05-new-services} ## New Services {#sec-release-22.05-new-services}
- [aesmd](https://github.com/intel/linux-sgx#install-the-intelr-sgx-psw), the Intel SGX Architectural Enclave Service Manager. Available as [services.aesmd](#opt-services.aesmd.enable). - [aesmd](https://github.com/intel/linux-sgx#install-the-intelr-sgx-psw), the Intel SGX Architectural Enclave Service Manager. Available as [services.aesmd](#opt-services.aesmd.enable).
@ -67,6 +69,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [prometheus-pve-exporter](https://github.com/prometheus-pve/prometheus-pve-exporter), a tool that exposes information from the Proxmox VE API for use by Prometheus. Available as [services.prometheus.exporters.pve](options.html#opt-services.prometheus.exporters.pve). - [prometheus-pve-exporter](https://github.com/prometheus-pve/prometheus-pve-exporter), a tool that exposes information from the Proxmox VE API for use by Prometheus. Available as [services.prometheus.exporters.pve](options.html#opt-services.prometheus.exporters.pve).
- [netbox](https://github.com/netbox-community/netbox), infrastructure resource modeling (IRM) tool. Available as [services.netbox](options.html#opt-services.netbox.enable).
- [tetrd](https://tetrd.app), share your internet connection from your device to your PC and vice versa through a USB cable. Available at [services.tetrd](#opt-services.tetrd.enable). - [tetrd](https://tetrd.app), share your internet connection from your device to your PC and vice versa through a USB cable. Available at [services.tetrd](#opt-services.tetrd.enable).
- [agate](https://github.com/mbrubeck/agate), a very simple server for the Gemini hypertext protocol. Available as [services.agate](options.html#opt-services.agate.enable). - [agate](https://github.com/mbrubeck/agate), a very simple server for the Gemini hypertext protocol. Available as [services.agate](options.html#opt-services.agate.enable).
@ -377,8 +381,7 @@ In addition to numerous new and upgraded packages, this release has the followin
you should change the package you refer to. If you don't need them update your you should change the package you refer to. If you don't need them update your
commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary. commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary.
- `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. - `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. `pgadmin3` has been removed.
If you still need pgadmin3, use `pkgs.pgadmin3`.
- `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans` - `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
and `pkgs.noto-fonts-cjk-serif` because they each have different release and `pkgs.noto-fonts-cjk-serif` because they each have different release
@ -448,6 +451,8 @@ In addition to numerous new and upgraded packages, this release has the followin
See the `vscode` package for a more detailed example. See the `vscode` package for a more detailed example.
- `pkgs.cosmopolitan` no longer provides the `cosmoc` command. It has been moved to `pkgs.cosmoc`.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Other Notable Changes {#sec-release-22.05-notable-changes} ## Other Notable Changes {#sec-release-22.05-notable-changes}

View File

@ -118,6 +118,7 @@
./misc/version.nix ./misc/version.nix
./misc/wordlist.nix ./misc/wordlist.nix
./misc/nixops-autoluks.nix ./misc/nixops-autoluks.nix
./programs/_1password.nix
./programs/_1password-gui.nix ./programs/_1password-gui.nix
./programs/adb.nix ./programs/adb.nix
./programs/appgate-sdp.nix ./programs/appgate-sdp.nix
@ -1047,6 +1048,7 @@
./services/web-apps/mediawiki.nix ./services/web-apps/mediawiki.nix
./services/web-apps/miniflux.nix ./services/web-apps/miniflux.nix
./services/web-apps/moodle.nix ./services/web-apps/moodle.nix
./services/web-apps/netbox.nix
./services/web-apps/nextcloud.nix ./services/web-apps/nextcloud.nix
./services/web-apps/nexus.nix ./services/web-apps/nexus.nix
./services/web-apps/node-red.nix ./services/web-apps/node-red.nix

View File

@ -0,0 +1,46 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs._1password;
in {
options = {
programs._1password = {
enable = mkEnableOption "The 1Password CLI tool with biometric unlock and integration with the 1Password GUI.";
groupId = mkOption {
type = types.int;
example = literalExpression "5001";
description = ''
The GroupID to assign to the onepassword-cli group, which is needed for integration with the 1Password GUI. The group ID must be 1000 or greater.
'';
};
package = mkOption {
type = types.package;
default = pkgs._1password;
defaultText = literalExpression "pkgs._1password";
example = literalExpression "pkgs._1password";
description = ''
The 1Password CLI derivation to use.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
users.groups.onepassword-cli.gid = cfg.groupId;
security.wrappers = {
"op" = {
source = "${cfg.package}/bin/op";
owner = "root";
group = "onepassword-cli";
setuid = false;
setgid = true;
};
};
};
}

View File

@ -38,6 +38,9 @@ in
environment.etc."zrepl/zrepl.yml".source = configFile; environment.etc."zrepl/zrepl.yml".source = configFile;
systemd.packages = [ pkgs.zrepl ]; systemd.packages = [ pkgs.zrepl ];
# Note that pkgs.zrepl copies and adapts the upstream systemd unit, and
# the fields defined here only override certain fields from that unit.
systemd.services.zrepl = { systemd.services.zrepl = {
requires = [ "local-fs.target" ]; requires = [ "local-fs.target" ];
wantedBy = [ "zfs.target" ]; wantedBy = [ "zfs.target" ];

View File

@ -409,14 +409,14 @@ in
to = mkOption { to = mkOption {
type = referenceAttrs; type = referenceAttrs;
example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; }; example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; };
description = "The flake reference <option>from></option> is rewritten to."; description = "The flake reference <option>from</option> is rewritten to.";
}; };
flake = mkOption { flake = mkOption {
type = types.nullOr types.attrs; type = types.nullOr types.attrs;
default = null; default = null;
example = literalExpression "nixpkgs"; example = literalExpression "nixpkgs";
description = '' description = ''
The flake input <option>from></option> is rewritten to. The flake input <option>from</option> is rewritten to.
''; '';
}; };
exact = mkOption { exact = mkOption {

View File

@ -25,6 +25,10 @@ in {
}; };
}; };
serviceOpts = { serviceOpts = {
after = [
"kea-dhcp4-server.service"
"kea-dhcp6-server.service"
];
serviceConfig = { serviceConfig = {
User = "kea"; User = "kea";
ExecStart = '' ExecStart = ''

View File

@ -159,7 +159,7 @@ in
''; '';
}; };
caddy.enable = mkEnableOption "Whether to enablle caddy reverse proxy to expose jitsi-meet"; caddy.enable = mkEnableOption "Whether to enable caddy reverse proxy to expose jitsi-meet";
prosody.enable = mkOption { prosody.enable = mkOption {
type = bool; type = bool;

View File

@ -0,0 +1,265 @@
{ config, lib, pkgs, buildEnv, ... }:
with lib;
let
cfg = config.services.netbox;
staticDir = cfg.dataDir + "/static";
configFile = pkgs.writeTextFile {
name = "configuration.py";
text = ''
STATIC_ROOT = '${staticDir}'
ALLOWED_HOSTS = ['*']
DATABASE = {
'NAME': 'netbox',
'USER': 'netbox',
'HOST': '/run/postgresql',
}
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate
# configuration exists for each. Full connection details are required in both sections, and it is strongly recommended
# to use two separate database IDs.
REDIS = {
'tasks': {
'URL': 'unix://${config.services.redis.servers.netbox.unixSocket}?db=0',
'SSL': False,
},
'caching': {
'URL': 'unix://${config.services.redis.servers.netbox.unixSocket}?db=1',
'SSL': False,
}
}
with open("${cfg.secretKeyFile}", "r") as file:
SECRET_KEY = file.readline()
${optionalString cfg.enableLdap "REMOTE_AUTH_BACKEND = 'netbox.authentication.LDAPBackend'"}
${cfg.extraConfig}
'';
};
pkg = (pkgs.netbox.overrideAttrs (old: {
installPhase = old.installPhase + ''
ln -s ${configFile} $out/opt/netbox/netbox/netbox/configuration.py
'' + optionalString cfg.enableLdap ''
ln -s ${ldapConfigPath} $out/opt/netbox/netbox/netbox/ldap_config.py
'';
})).override {
plugins = ps: ((cfg.plugins ps)
++ optional cfg.enableLdap [ ps.django-auth-ldap ]);
};
netboxManageScript = with pkgs; (writeScriptBin "netbox-manage" ''
#!${stdenv.shell}
export PYTHONPATH=${pkg.pythonPath}
sudo -u netbox ${pkg}/bin/netbox "$@"
'');
in {
options.services.netbox = {
enable = mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Netbox.
This module requires a reverse proxy that serves <literal>/static</literal> separately.
See this <link xlink:href="https://github.com/netbox-community/netbox/blob/develop/contrib/nginx.conf/">example</link> on how to configure this.
'';
};
listenAddress = mkOption {
type = types.str;
default = "[::1]";
description = ''
Address the server will listen on.
'';
};
port = mkOption {
type = types.port;
default = 8001;
description = ''
Port the server will listen on.
'';
};
plugins = mkOption {
type = types.functionTo (types.listOf types.package);
default = _: [];
defaultText = literalExpression ''
python3Packages: with python3Packages; [];
'';
description = ''
List of plugin packages to install.
'';
};
dataDir = mkOption {
type = types.str;
default = "/var/lib/netbox";
description = ''
Storage path of netbox.
'';
};
secretKeyFile = mkOption {
type = types.path;
description = ''
Path to a file containing the secret key.
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Additional lines of configuration appended to the <literal>configuration.py</literal>.
See the <link xlink:href="https://netbox.readthedocs.io/en/stable/configuration/optional-settings/">documentation</link> for more possible options.
'';
};
enableLdap = mkOption {
type = types.bool;
default = false;
description = ''
Enable LDAP-Authentication for Netbox.
This requires a configuration file being pass through <literal>ldapConfigPath</literal>.
'';
};
ldapConfigPath = mkOption {
type = types.path;
default = "";
description = ''
Path to the Configuration-File for LDAP-Authentification, will be loaded as <literal>ldap_config.py</literal>.
See the <link xlink:href="https://netbox.readthedocs.io/en/stable/installation/6-ldap/#configuration">documentation</link> for possible options.
'';
};
};
config = mkIf cfg.enable {
services.redis.servers.netbox.enable = true;
services.postgresql = {
enable = true;
ensureDatabases = [ "netbox" ];
ensureUsers = [
{
name = "netbox";
ensurePermissions = {
"DATABASE netbox" = "ALL PRIVILEGES";
};
}
];
};
environment.systemPackages = [ netboxManageScript ];
systemd.targets.netbox = {
description = "Target for all NetBox services";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" "redis-netbox.service" ];
};
systemd.services = let
defaultServiceConfig = {
WorkingDirectory = "${cfg.dataDir}";
User = "netbox";
Group = "netbox";
StateDirectory = "netbox";
StateDirectoryMode = "0750";
Restart = "on-failure";
};
in {
netbox-migration = {
description = "NetBox migrations";
wantedBy = [ "netbox.target" ];
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
Type = "oneshot";
ExecStart = ''
${pkg}/bin/netbox migrate
'';
};
};
netbox = {
description = "NetBox WSGI Service";
wantedBy = [ "netbox.target" ];
after = [ "netbox-migration.service" ];
preStart = ''
${pkg}/bin/netbox trace_paths --no-input
${pkg}/bin/netbox collectstatic --no-input
${pkg}/bin/netbox remove_stale_contenttypes --no-input
'';
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
ExecStart = ''
${pkgs.python3Packages.gunicorn}/bin/gunicorn netbox.wsgi \
--bind ${cfg.listenAddress}:${toString cfg.port} \
--pythonpath ${pkg}/opt/netbox/netbox
'';
};
};
netbox-rq = {
description = "NetBox Request Queue Worker";
wantedBy = [ "netbox.target" ];
after = [ "netbox.service" ];
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
ExecStart = ''
${pkg}/bin/netbox rqworker high default low
'';
};
};
netbox-housekeeping = {
description = "NetBox housekeeping job";
after = [ "netbox.service" ];
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
Type = "oneshot";
ExecStart = ''
${pkg}/bin/netbox housekeeping
'';
};
};
};
systemd.timers.netbox-housekeeping = {
description = "Run NetBox housekeeping job";
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "daily";
};
};
users.users.netbox = {
home = "${cfg.dataDir}";
isSystemUser = true;
group = "netbox";
};
users.groups.netbox = {};
users.groups."${config.services.redis.servers.netbox.user}".members = [ "netbox" ];
};
}

View File

@ -498,6 +498,10 @@ in
programs.seahorse.enable = notExcluded pkgs.gnome.seahorse; programs.seahorse.enable = notExcluded pkgs.gnome.seahorse;
services.gnome.sushi.enable = notExcluded pkgs.gnome.sushi; services.gnome.sushi.enable = notExcluded pkgs.gnome.sushi;
# VTE shell integration for gnome-console
programs.bash.vteIntegration = mkDefault true;
programs.zsh.vteIntegration = mkDefault true;
# Let nautilus find extensions # Let nautilus find extensions
# TODO: Create nautilus-with-extensions package # TODO: Create nautilus-with-extensions package
environment.sessionVariables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0"; environment.sessionVariables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";

View File

@ -167,10 +167,6 @@ exec 1>&$logOutFd 2>&$logErrFd
exec {logOutFd}>&- {logErrFd}>&- exec {logOutFd}>&- {logErrFd}>&-
# Start systemd. # Start systemd in a clean environment.
echo "starting systemd..." echo "starting systemd..."
exec env - @systemdExecutable@ "$@"
PATH=/run/current-system/systemd/lib/systemd:@fsPackagesPath@ \
LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive @systemdUnitPathEnvVar@ \
TZDIR=/etc/zoneinfo \
exec @systemdExecutable@

View File

@ -19,11 +19,6 @@ let
pkgs.coreutils pkgs.coreutils
pkgs.util-linux pkgs.util-linux
] ++ lib.optional useHostResolvConf pkgs.openresolv); ] ++ lib.optional useHostResolvConf pkgs.openresolv);
fsPackagesPath = lib.makeBinPath config.system.fsPackages;
systemdUnitPathEnvVar = lib.optionalString (config.boot.extraSystemdUnitPaths != [])
("SYSTEMD_UNIT_PATH="
+ builtins.concatStringsSep ":" config.boot.extraSystemdUnitPaths
+ ":"); # If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
postBootCommands = pkgs.writeText "local-cmds" postBootCommands = pkgs.writeText "local-cmds"
'' ''
${config.boot.postBootCommands} ${config.boot.postBootCommands}
@ -48,12 +43,10 @@ in
}; };
systemdExecutable = mkOption { systemdExecutable = mkOption {
default = "systemd"; default = "/run/current-system/systemd/lib/systemd/systemd";
type = types.str; type = types.str;
description = '' description = ''
The program to execute to start systemd. Typically The program to execute to start systemd.
<literal>systemd</literal>, which will find systemd in the
PATH.
''; '';
}; };

View File

@ -302,6 +302,16 @@ in
''; '';
}; };
systemd.managerEnvironment = mkOption {
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
default = {};
example = { SYSTEMD_LOG_LEVEL = "debug"; };
description = ''
Environment variables of PID 1. These variables are
<emphasis>not</emphasis> passed to started units.
'';
};
systemd.enableCgroupAccounting = mkOption { systemd.enableCgroupAccounting = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
@ -470,11 +480,13 @@ in
enabledUpstreamSystemUnits = filter (n: ! elem n cfg.suppressedSystemUnits) upstreamSystemUnits; enabledUpstreamSystemUnits = filter (n: ! elem n cfg.suppressedSystemUnits) upstreamSystemUnits;
enabledUnits = filterAttrs (n: v: ! elem n cfg.suppressedSystemUnits) cfg.units; enabledUnits = filterAttrs (n: v: ! elem n cfg.suppressedSystemUnits) cfg.units;
in ({ in ({
"systemd/system".source = generateUnits "system" enabledUnits enabledUpstreamSystemUnits upstreamSystemWants; "systemd/system".source = generateUnits "system" enabledUnits enabledUpstreamSystemUnits upstreamSystemWants;
"systemd/system.conf".text = '' "systemd/system.conf".text = ''
[Manager] [Manager]
ManagerEnvironment=${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment)}
${optionalString config.systemd.enableCgroupAccounting '' ${optionalString config.systemd.enableCgroupAccounting ''
DefaultCPUAccounting=yes DefaultCPUAccounting=yes
DefaultIOAccounting=yes DefaultIOAccounting=yes
@ -542,6 +554,17 @@ in
(v: let n = escapeSystemdPath v.where; (v: let n = escapeSystemdPath v.where;
in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts); in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
# Environment of PID 1
systemd.managerEnvironment = {
# Doesn't contain systemd itself - everything works so it seems to use the compiled-in value for its tools
PATH = lib.makeBinPath config.system.fsPackages;
LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
TZDIR = "/etc/zoneinfo";
# If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
SYSTEMD_UNIT_PATH = lib.mkIf (config.boot.extraSystemdUnitPaths != []) "${builtins.concatStringsSep ":" config.boot.extraSystemdUnitPaths}:";
};
system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled
[ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET" [ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"
"SYSFS" "PROC_FS" "FHANDLE" "CRYPTO_USER_API_HASH" "CRYPTO_HMAC" "SYSFS" "PROC_FS" "FHANDLE" "CRYPTO_USER_API_HASH" "CRYPTO_HMAC"

View File

@ -341,6 +341,7 @@ in
networking.networkd = handleTest ./networking.nix { networkd = true; }; networking.networkd = handleTest ./networking.nix { networkd = true; };
networking.scripted = handleTest ./networking.nix { networkd = false; }; networking.scripted = handleTest ./networking.nix { networkd = false; };
specialisation = handleTest ./specialisation.nix {}; specialisation = handleTest ./specialisation.nix {};
netbox = handleTest ./web-apps/netbox.nix {};
# TODO: put in networking.nix after the test becomes more complete # TODO: put in networking.nix after the test becomes more complete
networkingProxy = handleTest ./networking-proxy.nix {}; networkingProxy = handleTest ./networking-proxy.nix {};
nextcloud = handleTest ./nextcloud {}; nextcloud = handleTest ./nextcloud {};
@ -590,5 +591,6 @@ in
zigbee2mqtt = handleTest ./zigbee2mqtt.nix {}; zigbee2mqtt = handleTest ./zigbee2mqtt.nix {};
zoneminder = handleTest ./zoneminder.nix {}; zoneminder = handleTest ./zoneminder.nix {};
zookeeper = handleTest ./zookeeper.nix {}; zookeeper = handleTest ./zookeeper.nix {};
zrepl = handleTest ./zrepl.nix {};
zsh-history = handleTest ./zsh-history.nix {}; zsh-history = handleTest ./zsh-history.nix {};
} }

View File

@ -6,6 +6,10 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
nodes = { nodes = {
machine = { config, ... }: { machine = { config, ... }: {
networking.extraHosts = ''
127.0.0.1 all.api.radio-browser.info
'';
services.murmur = { services.murmur = {
enable = true; enable = true;
registerName = "NixOS tests"; registerName = "NixOS tests";

View File

@ -192,5 +192,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
with subtest("systemd per-unit accounting works"): with subtest("systemd per-unit accounting works"):
assert "IP traffic received: 84B" in output_ping assert "IP traffic received: 84B" in output_ping
assert "IP traffic sent: 84B" in output_ping assert "IP traffic sent: 84B" in output_ping
with subtest("systemd environment is properly set"):
machine.systemctl("daemon-reexec") # Rewrites /proc/1/environ
machine.succeed("grep -q TZDIR=/etc/zoneinfo /proc/1/environ")
''; '';
}) })

View File

@ -0,0 +1,30 @@
import ../make-test-python.nix ({ lib, pkgs, ... }: {
name = "netbox";
meta = with lib.maintainers; {
maintainers = [ n0emis ];
};
machine = { ... }: {
services.netbox = {
enable = true;
secretKeyFile = pkgs.writeText "secret" ''
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
'';
};
};
testScript = ''
machine.start()
machine.wait_for_unit("netbox.target")
machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening")
with subtest("Home screen loads"):
machine.succeed(
"curl -sSfL http://[::1]:8001 | grep '<title>Home | NetBox</title>'"
)
with subtest("Staticfiles are generated"):
machine.succeed("test -e /var/lib/netbox/static/netbox.js")
'';
})

66
nixos/tests/zrepl.nix Normal file
View File

@ -0,0 +1,66 @@
import ./make-test-python.nix (
{
nodes.host = {config, pkgs, ...}: {
config = {
# Prerequisites for ZFS and tests.
boot.supportedFilesystems = [ "zfs" ];
environment.systemPackages = [ pkgs.zrepl ];
networking.hostId = "deadbeef";
services.zrepl = {
enable = true;
settings = {
# Enable Prometheus output for status assertions.
global.monitoring = [{
type = "prometheus";
listen = ":9811";
}];
# Create a periodic snapshot job for an ephemeral zpool.
jobs = [{
name = "snap_test";
type = "snap";
filesystems."test" = true;
snapshotting = {
type = "periodic";
prefix = "zrepl_";
interval = "1s";
};
pruning.keep = [{
type = "last_n";
count = 8;
}];
}];
};
};
};
};
testScript = ''
start_all()
with subtest("Wait for zrepl and network ready"):
host.wait_for_unit("network-online.target")
host.wait_for_unit("zrepl.service")
with subtest("Create test zpool"):
# ZFS requires 64MiB minimum pool size.
host.succeed("fallocate -l 64MiB /root/zpool.img")
host.succeed("zpool create test /root/zpool.img")
with subtest("Check for completed zrepl snapshot"):
# zrepl periodic snapshot job creates a snapshot with this prefix.
host.wait_until_succeeds("zfs list -t snapshot | grep -q zrepl_")
with subtest("Verify HTTP monitoring server is configured"):
out = host.succeed("curl -f localhost:9811/metrics")
assert (
"zrepl_version_daemon" in out
), "zrepl version metric was not found in Prometheus output"
assert (
"zrepl_zfs_snapshot_duration_count{filesystem=\"test\"}" in out
), "zrepl snapshot counter for test was not found in Prometheus output"
'';
})

View File

@ -1,6 +1,7 @@
{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, curl, flac, { lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, libxml2, curl, flac
gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl, , gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl
libvorbis, gdk-pixbuf }: , libvorbis, gdk-pixbuf
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.1.5"; version = "2.1.5";
@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ]; nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
buildInputs = [ buildInputs = [
curl gettext curl gettext
flex libgpod libid3tag flac libvorbis gtk3 gdk-pixbuf flex libgpod libid3tag flac libvorbis libxml2 gtk3 gdk-pixbuf
gdl gnome.adwaita-icon-theme gnome.anjuta gdl gnome.adwaita-icon-theme gnome.anjuta
] ++ (with perlPackages; [ perl XMLParser ]); ] ++ (with perlPackages; [ perl XMLParser ]);

View File

@ -19,6 +19,7 @@
, protobuf , protobuf
, sqlite , sqlite
, taglib , taglib
, libgpod
, libpulseaudio , libpulseaudio
, libselinux , libselinux
, libsepol , libsepol
@ -63,6 +64,7 @@ mkDerivation rec {
qtbase qtbase
qtx11extras qtx11extras
] ++ lib.optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
libgpod
libpulseaudio libpulseaudio
libselinux libselinux
libsepol libsepol

View File

@ -49,7 +49,7 @@ let
dontAutoPatchelf = true; dontAutoPatchelf = true;
postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) '' postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
( (
cd $out/clion-${version} cd $out/clion
# bundled cmake does not find libc # bundled cmake does not find libc
rm -rf bin/cmake/linux rm -rf bin/cmake/linux
ln -s ${cmake} bin/cmake/linux ln -s ${cmake} bin/cmake/linux

View File

@ -5531,6 +5531,19 @@ final: prev:
meta.homepage = "https://github.com/vim-python/python-syntax/"; meta.homepage = "https://github.com/vim-python/python-syntax/";
}; };
pywal-nvim = buildVimPluginFrom2Nix {
pname = "pywal.nvim";
version = "2022-02-20";
src = fetchFromGitHub {
owner = "AlphaTechnolog";
repo = "pywal.nvim";
rev = "bd58195939d31dd0f15a720fba2956e91598cefe";
sha256 = "10fs5assp96rvlcxckd8cwnkfwfckjmf0j8cqq91vb2wx8knxc8g";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/AlphaTechnolog/pywal.nvim/";
};
QFEnter = buildVimPluginFrom2Nix { QFEnter = buildVimPluginFrom2Nix {
pname = "QFEnter"; pname = "QFEnter";
version = "2020-10-09"; version = "2020-10-09";
@ -7133,6 +7146,18 @@ final: prev:
meta.homepage = "https://github.com/Shougo/unite.vim/"; meta.homepage = "https://github.com/Shougo/unite.vim/";
}; };
urlview-nvim = buildVimPluginFrom2Nix {
pname = "urlview.nvim";
version = "2022-03-29";
src = fetchFromGitHub {
owner = "axieax";
repo = "urlview.nvim";
rev = "4ca1b22d914ff3187acd5a9486421769928c9d8f";
sha256 = "1vy977y7favs76mpk6v3x18ph40y0d20kmm6bssvnlql1nh3ihbd";
};
meta.homepage = "https://github.com/axieax/urlview.nvim/";
};
utl-vim = buildVimPluginFrom2Nix { utl-vim = buildVimPluginFrom2Nix {
pname = "utl.vim"; pname = "utl.vim";
version = "2010-10-18"; version = "2010-10-18";

View File

@ -13,6 +13,7 @@ akinsho/bufferline.nvim
akinsho/toggleterm.nvim akinsho/toggleterm.nvim
aklt/plantuml-syntax aklt/plantuml-syntax
allendang/nvim-expand-expr allendang/nvim-expand-expr
AlphaTechnolog/pywal.nvim
altercation/vim-colors-solarized altercation/vim-colors-solarized
alvan/vim-closetag alvan/vim-closetag
alvarosevilla95/luatab.nvim alvarosevilla95/luatab.nvim
@ -42,6 +43,7 @@ arthurxavierx/vim-unicoder
artur-shaik/vim-javacomplete2 artur-shaik/vim-javacomplete2
autozimu/LanguageClient-neovim autozimu/LanguageClient-neovim
axelf4/vim-strip-trailing-whitespace axelf4/vim-strip-trailing-whitespace
axieax/urlview.nvim
ayu-theme/ayu-vim ayu-theme/ayu-vim
b0o/SchemaStore.nvim b0o/SchemaStore.nvim
b3nj5m1n/kommentary b3nj5m1n/kommentary

View File

@ -13,6 +13,7 @@
, gdk-pixbuf , gdk-pixbuf
, pango , pango
, gettext , gettext
, itstool
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
@ -38,6 +39,7 @@ python3.pkgs.buildPythonApplication rec {
wrapGAppsHook wrapGAppsHook
glib glib
gettext gettext
itstool
]; ];
buildInputs = [ buildInputs = [

View File

@ -35,7 +35,7 @@ installSanePath = path: ''
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "sane-config"; name = "sane-config";
phases = "installPhase"; dontUnpack = true;
installPhase = '' installPhase = ''
function symlink () { function symlink () {

View File

@ -42,12 +42,17 @@ stdenv.mkDerivation {
''; '';
installPhase = '' installPhase = ''
runHook preInstall
install -D ${mainProgram} $out/bin/${mainProgram} install -D ${mainProgram} $out/bin/${mainProgram}
runHook postInstall runHook postInstall
''; '';
postInstall = "installShellCompletion --cmd ${mainProgram}" + lib.concatMapStrings postInstall = ''
(s: " --${s} <($out/bin/${mainProgram} completion ${s})") [ "bash" "fish" "zsh" ]; installShellCompletion --cmd ${mainProgram} \
--bash <($out/bin/${mainProgram} completion bash) \
--fish <($out/bin/${mainProgram} completion fish) \
--zsh <($out/bin/${mainProgram} completion zsh)
'';
dontStrip = stdenv.isDarwin; dontStrip = stdenv.isDarwin;

View File

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "dasel"; pname = "dasel";
version = "1.24.0"; version = "1.24.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TomWright"; owner = "TomWright";
repo = "dasel"; repo = "dasel";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Em+WAI8G492h7FJTnTHFj5L7M4xBZhW4qC0MMc2JRUU="; sha256 = "sha256-B6MWoGYNjFBUxnSqAXt2DRRjSlmgbqIC7qEoMFGQ+zU=";
}; };
vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as="; vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as=";

View File

@ -19,9 +19,11 @@
, javaPackages , javaPackages
}: }:
javaPackages.mavenfod rec { (javaPackages.mavenfod.override {
inherit maven; # use overridden maven version (see dbeaver's entry in all-packages.nix)
}) rec {
pname = "dbeaver"; pname = "dbeaver";
version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256 version = "22.0.1"; # When updating also update mvnSha256
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dbeaver"; owner = "dbeaver";
@ -30,36 +32,9 @@ javaPackages.mavenfod rec {
sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac="; sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
}; };
mvnSha256 = "WAB15d4UvUOkBXT7K/hvAZWOE3V1Lpl/tr+AFNBM4FI=";
mvnSha256 = "7Sm1hAoi5xc4MLONOD8ySLLkpao0qmlMRRva/8zR210=";
mvnParameters = "-P desktop,all-platforms"; mvnParameters = "-P desktop,all-platforms";
fetchedMavenDeps = stdenv.mkDerivation {
name = "dbeaver-${version}-maven-deps";
inherit src;
buildInputs = [
maven
];
buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters}";
# keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
installPhase = ''
find $out -type f \
-name \*.lastUpdated -or \
-name resolver-status.properties -or \
-name _remote.repositories \
-delete
'';
# don't do any fixup
dontFixup = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "sha256-WAB15d4UvUOkBXT7K/hvAZWOE3V1Lpl/tr+AFNBM4FI=";
};
nativeBuildInputs = [ nativeBuildInputs = [
copyDesktopItems copyDesktopItems
makeWrapper makeWrapper

View File

@ -60,6 +60,8 @@ stdenv.mkDerivation rec {
"-Dsvg-backend=${withSVGBackend}" "-Dsvg-backend=${withSVGBackend}"
]; ];
CFLAGS = "-Wno-error=comment"; # https://gitlab.gnome.org/GNOME/librsvg/-/issues/856
meta = with lib; { meta = with lib; {
description = "Wayland-native application launcher, similar to rofis drun mode"; description = "Wayland-native application launcher, similar to rofis drun mode";
homepage = "https://codeberg.org/dnkl/fuzzel"; homepage = "https://codeberg.org/dnkl/fuzzel";

View File

@ -1,27 +1,27 @@
{ {
"stable": { "stable": {
"version": "99.0.4844.84", "version": "100.0.4896.60",
"sha256": "05bma8lsm5lad58mlfiv8bg0fw5k5mxh0v6g1ik7xp2bsd71iv10", "sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf",
"sha256bin64": "0sdnsnp7hnpip91hwbz3hiw2727g0a3ydf55ldqv9bgik3vn1wln", "sha256bin64": "07wavs9r6ilwx5rzyqvydcjskg6sml5b8m6mw7qzykvhs8bnvfh5",
"deps": { "deps": {
"gn": { "gn": {
"version": "2022-01-10", "version": "2022-01-21",
"url": "https://gn.googlesource.com/gn", "url": "https://gn.googlesource.com/gn",
"rev": "80a40b07305373617eba2d5878d353532af77da3", "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
"sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv" "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
} }
}, },
"chromedriver": { "chromedriver": {
"version": "99.0.4844.51", "version": "100.0.4896.20",
"sha256_linux": "1r5wbcfbj9s216jyjasmiscsrsix9ap3pplp12rznrwn4898p51y", "sha256_linux": "1d3g43s5adn1vs7iv5ccp0f376qvnvf67mhid7kxkysnqv55bxdw",
"sha256_darwin": "1nak8p5hdrw94lx73m9c110zrwag4qr6487dhplm3qfrnrkdh8wp", "sha256_darwin": "129vw1ablb6xyr7j30zxkh7n835wi82ksd8c5m11mmdnrmrcdabv",
"sha256_darwin_aarch64": "0hkcx6a8bcjlbmp6z3ld23mi1kpyjn2g7m3ns9qw6ns4x3rn5i3r" "sha256_darwin_aarch64": "0zgnisvdvcc726q22jn1cyfg41zz1af5l3fy3m81jlfhph2ibbra"
} }
}, },
"beta": { "beta": {
"version": "100.0.4896.56", "version": "100.0.4896.60",
"sha256": "0vdyddxhmkw9bqwx5j19h69swx9ysiipsmcc1sjl0qv8bn8f790z", "sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf",
"sha256bin64": "09h4fxsx0q5b0gn258xnmk11qz7ql8flpn4mq5x201abmv29y856", "sha256bin64": "059zrf3mm04iyzmgp594m3m7pw4458vym3wpawmdn94h5zi705i7",
"deps": { "deps": {
"gn": { "gn": {
"version": "2022-01-21", "version": "2022-01-21",

View File

@ -0,0 +1,191 @@
{ channel, version, revision, sha256 }:
{ stdenv
, fetchurl
, lib
, binutils-unwrapped
, xz
, gnutar
, file
, glibc
, glib
, nss
, nspr
, atk
, at-spi2-atk
, xorg
, cups
, dbus
, expat
, libdrm
, libxkbcommon
, gtk3
, pango
, cairo
, gdk-pixbuf
, mesa
, alsa-lib
, at-spi2-core
, libuuid
, systemd
}:
let
baseName = "microsoft-edge";
shortName = if channel == "stable"
then "msedge"
else "msedge-" + channel;
longName = if channel == "stable"
then baseName
else baseName + "-" + channel;
iconSuffix = if channel == "stable"
then ""
else "_${channel}";
desktopSuffix = if channel == "stable"
then ""
else "-${channel}";
in
stdenv.mkDerivation rec {
name="${baseName}-${channel}-${version}";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/${baseName}-${channel}/${baseName}-${channel}_${version}-${revision}_amd64.deb";
inherit sha256;
};
unpackCmd = "${binutils-unwrapped}/bin/ar p $src data.tar.xz | ${xz}/bin/xz -dc | ${gnutar}/bin/tar -xf -";
sourceRoot = ".";
dontPatch = true;
dontConfigure = true;
dontPatchELF = true;
buildPhase = let
libPath = {
msedge = lib.makeLibraryPath [
glibc glib nss nspr atk at-spi2-atk xorg.libX11
xorg.libxcb cups.lib dbus.lib expat libdrm
xorg.libXcomposite xorg.libXdamage xorg.libXext
xorg.libXfixes xorg.libXrandr libxkbcommon
gtk3 pango cairo gdk-pixbuf mesa
alsa-lib at-spi2-core xorg.libxshmfence systemd
];
naclHelper = lib.makeLibraryPath [
glib nspr atk libdrm xorg.libxcb mesa xorg.libX11
xorg.libXext dbus.lib libxkbcommon
];
libwidevinecdm = lib.makeLibraryPath [
glib nss nspr
];
libGLESv2 = lib.makeLibraryPath [
xorg.libX11 xorg.libXext xorg.libxcb
];
libsmartscreen = lib.makeLibraryPath [
libuuid stdenv.cc.cc.lib
];
libsmartscreenn = lib.makeLibraryPath [
libuuid
];
liboneauth = lib.makeLibraryPath [
libuuid xorg.libX11
];
};
in ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath.msedge}" \
opt/microsoft/${shortName}/msedge
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
opt/microsoft/${shortName}/msedge-sandbox
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
opt/microsoft/${shortName}/msedge_crashpad_handler
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath.naclHelper}" \
opt/microsoft/${shortName}/nacl_helper
patchelf \
--set-rpath "${libPath.libwidevinecdm}" \
opt/microsoft/${shortName}/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
patchelf \
--set-rpath "${libPath.libGLESv2}" \
opt/microsoft/${shortName}/libGLESv2.so
patchelf \
--set-rpath "${libPath.libsmartscreen}" \
opt/microsoft/${shortName}/libsmartscreen.so
patchelf \
--set-rpath "${libPath.libsmartscreenn}" \
opt/microsoft/${shortName}/libsmartscreenn.so
patchelf \
--set-rpath "${libPath.liboneauth}" \
opt/microsoft/${shortName}/liboneauth.so
'';
installPhase = ''
mkdir -p $out
cp -R opt usr/bin usr/share $out
${if channel == "stable"
then ""
else "ln -sf $out/opt/microsoft/${shortName}/${baseName}-${channel} $out/opt/microsoft/${shortName}/${baseName}"}
ln -sf $out/opt/microsoft/${shortName}/${longName} $out/bin/${longName}
rm -rf $out/share/doc
rm -rf $out/opt/microsoft/${shortName}/cron
for icon in '16' '24' '32' '48' '64' '128' '256'
do
${ "icon_source=$out/opt/microsoft/${shortName}/product_logo_\${icon}${iconSuffix}.png" }
${ "icon_target=$out/share/icons/hicolor/\${icon}x\${icon}/apps" }
mkdir -p $icon_target
cp $icon_source $icon_target/microsoft-edge${desktopSuffix}.png
done
substituteInPlace $out/share/applications/${longName}.desktop \
--replace /usr/bin/${baseName}-${channel} $out/bin/${longName}
substituteInPlace $out/share/gnome-control-center/default-apps/${longName}.xml \
--replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName}
substituteInPlace $out/share/menu/${longName}.menu \
--replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName}
substituteInPlace $out/opt/microsoft/${shortName}/xdg-mime \
--replace "''${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" "''${XDG_DATA_DIRS:-/run/current-system/sw/share}" \
--replace "xdg_system_dirs=/usr/local/share/:/usr/share/" "xdg_system_dirs=/run/current-system/sw/share/" \
--replace /usr/bin/file ${file}/bin/file
substituteInPlace $out/opt/microsoft/${shortName}/default-app-block \
--replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName}
substituteInPlace $out/opt/microsoft/${shortName}/xdg-settings \
--replace "''${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" "''${XDG_DATA_DIRS:-/run/current-system/sw/share}" \
--replace "''${XDG_CONFIG_DIRS:-/etc/xdg}" "''${XDG_CONFIG_DIRS:-/run/current-system/sw/etc/xdg}"
'';
meta = with lib; {
homepage = "https://www.microsoft.com/en-us/edge";
description = "The web browser from Microsoft";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ zanculmarktum kuwii ];
};
}

View File

@ -0,0 +1,20 @@
{
beta = import ./browser.nix {
channel = "beta";
version = "99.0.1150.16";
revision = "1";
sha256 = "sha256:0qsgs889d6qwxz9qf42psmjqfhmrqgp07srq5r38npl5pncr137h";
};
dev = import ./browser.nix {
channel = "dev";
version = "100.0.1163.1";
revision = "1";
sha256 = "sha256:153faqxyw5f5b6cqnvd71dl7941znkzci8dwbcgaxway0b6882jq";
};
stable = import ./browser.nix {
channel = "stable";
version = "98.0.1108.56";
revision = "1";
sha256 = "sha256:03jbj2s2fs60fzfgsmyb284q7nckji87qgb86mvl5g0hbl19aza7";
};
}

View File

@ -0,0 +1,50 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p curl gzip
# To update: ./update.sh > default.nix
index_file=$(curl -sL https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages.gz | gzip -dc)
echo "{"
packages=()
echo "$index_file" | while read -r line; do
if [[ "$line" =~ ^Package:[[:space:]]*(.*) ]]; then
Package="${BASH_REMATCH[1]}"
fi
if [[ "$line" =~ ^Version:[[:space:]]*(.*)-([a-zA-Z0-9+.~]*) ]]; then
Version="${BASH_REMATCH[1]}"
Revision="${BASH_REMATCH[2]}"
fi
if [[ "$line" =~ ^SHA256:[[:space:]]*(.*) ]]; then
SHA256="${BASH_REMATCH[1]}"
fi
if ! [[ "$line" ]]; then
found=0
for i in "${packages[@]}"; do
if [[ "$i" == "$Package" ]]; then
found=1
fi
done
if (( ! $found )); then
channel="${Package##*-}"
name="${Package%-${channel}}"
cat <<EOF
${channel} = import ./browser.nix {
channel = "${channel}";
version = "${Version}";
revision = "${Revision}";
sha256 = "sha256:$(nix-hash --type sha256 --to-base32 ${SHA256})";
};
EOF
fi
packages+=($Package)
Package=""
Version=""
fi
done
echo "}"

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "argo-rollouts"; pname = "argo-rollouts";
version = "1.1.1"; version = "1.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "argoproj"; owner = "argoproj";
repo = "argo-rollouts"; repo = "argo-rollouts";
rev = "v${version}"; rev = "v${version}";
sha256 = "0qb1wbv3razwhqsv972ywfazaq73y83iw6f6qdjcbwwfwsybig21"; sha256 = "sha256-RgjoRvLsd+WHTpFy1WbJtrVaMnRp6/7A921+abCMGu0=";
}; };
vendorSha256 = "00ic1nn3wgg495x2170ik1d1cha20b4w89j9jclq8p0b3nndv0c0"; vendorSha256 = "sha256-URuIeF1ejKdMGxziJbujLctYheiIr/Jfo+gTzppZG9E=";
# Disable tests since some test fail because of missing test data # Disable tests since some test fail because of missing test data
doCheck = false; doCheck = false;

View File

@ -6,13 +6,13 @@
buildGoModule rec { buildGoModule rec {
pname = "arkade"; pname = "arkade";
version = "0.8.14"; version = "0.8.16";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alexellis"; owner = "alexellis";
repo = "arkade"; repo = "arkade";
rev = version; rev = version;
sha256 = "sha256-XH7JtLv0J6bznZZ/L8wg5KB53OPe3KLiYujBlxP71pg="; sha256 = "sha256-NiUv7yl1nA7a826FHDF+1MhYscXkQjUpxZo2ZWrL+VQ=";
}; };
CGO_ENABLED = 0; CGO_ENABLED = 0;

View File

@ -1,9 +1,9 @@
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }: { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
let let
version = "0.28.3"; version = "0.28.4";
sha256 = "1agzj8fgv6jp1i15asjvhnsxw4fj7i6g00ajjl4ihd9p166r83qy"; sha256 = "1b98hna3qhg7gzs5rqpkrxdvas7zjzavzmi9rzn9936rw88lpgx6";
manifestsSha256 = "036d1y5dkb9mir9iy76zwdydlqxpbhz7j25fy1faznmicm2qxiqi"; manifestsSha256 = "0k8hpkcnxw2w1pvdkvvmmqzrmsrrbij5f734iwh4n9fd326bqgwc";
manifests = fetchzip { manifests = fetchzip {
url = url =
@ -23,7 +23,7 @@ in buildGoModule rec {
inherit sha256; inherit sha256;
}; };
vendorSha256 = "sha256-8TIeVcPW55vJn49y2xLfOOrefmqNAhDMmTWS/c8HuA8="; vendorSha256 = "sha256-IL9RjmMQahFZ04FXKxH6L2PHsOM1MJnqCJorRdr49FY=";
postUnpack = '' postUnpack = ''
cp -r ${manifests} source/cmd/flux/manifests cp -r ${manifests} source/cmd/flux/manifests

View File

@ -2,7 +2,7 @@
"name": "element-desktop", "name": "element-desktop",
"productName": "Element", "productName": "Element",
"main": "lib/electron-main.js", "main": "lib/electron-main.js",
"version": "1.10.7", "version": "1.10.8",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "Element", "author": "Element",
"repository": { "repository": {
@ -44,7 +44,7 @@
"counterpart": "^0.18.6", "counterpart": "^0.18.6",
"electron-store": "^6.0.1", "electron-store": "^6.0.1",
"electron-window-state": "^5.0.3", "electron-window-state": "^5.0.3",
"minimist": "^1.2.3", "minimist": "^1.2.6",
"png-to-ico": "^2.1.1", "png-to-ico": "^2.1.1",
"request": "^2.88.2" "request": "^2.88.2"
}, },

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, nodejs-14_x, python3, callPackage { lib, stdenv, fetchFromGitHub, nodejs-14_x, python3, callPackage, removeReferencesTo
, fixup_yarn_lock, yarn, pkg-config, libsecret, xcbuild, Security, AppKit, fetchYarnDeps }: , fixup_yarn_lock, yarn, pkg-config, libsecret, xcbuild, Security, AppKit, fetchYarnDeps }:
let let
@ -51,6 +51,9 @@ in stdenv.mkDerivation rec {
mkdir -p $out mkdir -p $out
cp -r ./!(build) $out cp -r ./!(build) $out
install -D -t $out/build/Release build/Release/keytar.node install -D -t $out/build/Release build/Release/keytar.node
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $out/build/Release/keytar.node
runHook postInstall runHook postInstall
''; '';
disallowedReferences = [ stdenv.cc.cc ];
} }

View File

@ -1,6 +1,6 @@
{ {
"version": "1.10.7", "version": "1.10.8",
"desktopSrcHash": "HkGny9t8dNzVGyyqgr4tABbFZgWV4xqGZt9xH4ejkew=", "desktopSrcHash": "S9MQIn773BzCH4dsTkD1DpIThDzoIGr4Heaie2Qs0jY=",
"desktopYarnHash": "038rqg26dn8chzscck5mlhnw2viy6gr8pjb7zrcmi7ipx9h038a0", "desktopYarnHash": "1imx43qbpj08l6d0fji31kcxqshcpr0ch8dzfbbgxyjvblq2p8ln",
"webHash": "0gim79a1zpfc56ca5fndp2whmlv9jz1s32z666i268xppn4z53k1" "webHash": "02i6l3armzr19kki3hgshhzkdpb3001nilh4h10hr3xw5z711ppr"
} }

View File

@ -1,4 +1,4 @@
{ lib, stdenv, rustPlatform, fetchFromGitHub, callPackage, sqlcipher, nodejs-14_x, python3, yarn, fixup_yarn_lock, CoreServices, fetchYarnDeps }: { lib, stdenv, rustPlatform, fetchFromGitHub, callPackage, sqlcipher, nodejs-14_x, python3, yarn, fixup_yarn_lock, CoreServices, fetchYarnDeps, removeReferencesTo }:
let let
pinData = lib.importJSON ./pin.json; pinData = lib.importJSON ./pin.json;
@ -48,8 +48,11 @@ in rustPlatform.buildRustPackage rec {
rm -rf native/!(index.node) rm -rf native/!(index.node)
rm -rf node_modules $HOME rm -rf node_modules $HOME
cp -r . $out cp -r . $out
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $out/native/index.node
runHook postInstall runHook postInstall
''; '';
disallowedReferences = [ stdenv.cc.cc ];
cargoSha256 = pinData.cargoHash; cargoSha256 = pinData.cargoHash;
} }

View File

@ -1,7 +1,6 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, autoconf-archive , autoconf-archive
, autoreconfHook , autoreconfHook
, cmocka , cmocka
@ -10,7 +9,7 @@
, expect , expect
, glib , glib
, glibcLocales , glibcLocales
, libmesode , libstrophe
, libmicrohttpd , libmicrohttpd
, libotr , libotr
, libuuid , libuuid
@ -36,34 +35,17 @@ assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "profanity"; pname = "profanity";
version = "0.11.1"; version = "0.12.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "profanity-im"; owner = "profanity-im";
repo = "profanity"; repo = "profanity";
rev = version; rev = version;
hash = "sha256-8WGHOy0fSW8o7vMCYZqqpvDsn81JZefM6wGfjQ5iKbU="; hash = "sha256-kmixWp9Q2tMVp+tk5kbTdBfgRNghKk3+48L582hqlm8=";
}; };
patches = [ patches = [
./patches/packages-osx.patch ./patches/packages-osx.patch
# pullupstream fixes for ncurses-6.3
(fetchpatch {
name = "ncurses-6.3-p1.patch";
url = "https://github.com/profanity-im/profanity/commit/e5b6258c997d4faf36e2ffb8a47b386c5629b4eb.patch";
sha256 = "sha256-4rwpvsgfIQ60GcLS0O7Hyn7ZidREjYT+dVND54z0zrw=";
})
(fetchpatch {
name = "ncurses-6.3-p2.patch";
url = "https://github.com/profanity-im/profanity/commit/fd9ccec8dc604902bbb1d444dba4223ccee0a092.patch";
sha256 = "sha256-4gZaXoDNulBIR+e6y/9bJKXVactCHWS8H8lPJaJwVwE=";
})
(fetchpatch {
name = "ncurses-6.3-p3.patch";
url = "https://github.com/profanity-im/profanity/commit/242696f09a49c8446ba6aef8bdad65fb58a77715.patch";
sha256 = "sha256-BOYHkae9aIA7HaVM23Yu25TTK9e3SuV+u0FEi7Sn62I=";
})
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -81,7 +63,7 @@ stdenv.mkDerivation rec {
expat expat
expect expect
glib glib
libmesode libstrophe
libmicrohttpd libmicrohttpd
libotr libotr
libuuid libuuid

View File

@ -0,0 +1,34 @@
{ stdenv, lib, fetchFromGitHub, cmake, folly, boost, gflags, glog, openssl, double-conversion, fmt }:
stdenv.mkDerivation {
pname = "wdt";
version = "unstable-2022-03-24";
src = fetchFromGitHub {
owner = "facebook";
repo = "wdt";
rev = "43319e59d0c77092468367cdadab37d12d7a2383";
sha256 = "sha256-MajYK2eTUbWhEql0iTlgW5yLg9xAGZQk+Dx4fNxFFqw=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ folly boost gflags glog openssl double-conversion fmt ];
# source is expected to be named wdt
# https://github.com/facebook/wdt/blob/43319e59d0c77092468367cdadab37d12d7a2383/CMakeLists.txt#L238
postUnpack = ''
ln -s $sourceRoot wdt
'';
cmakeFlags = [
"-DWDT_USE_SYSTEM_FOLLY=ON"
];
meta = with lib; {
description = "Warp speed Data Transfer";
homepage = "https://github.com/facebook/wdt";
license = licenses.bsd3;
maintainers = with maintainers; [ nickcao ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -13,7 +13,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "termius"; pname = "termius";
version = "7.36.1"; version = "7.37.0";
src = fetchurl { src = fetchurl {
# find the latest version with # find the latest version with
@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
# and the sha512 with # and the sha512 with
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_107.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_108.snap";
sha512 = "ef8514bdd0e6761a9bc7bf6b0b72d95c661905798c1507af932bd38a1e0c96713f71140b0d91454c3da5f3b97a0c8143b32918294eea2e46a7dca8faabda57e6"; sha512 = "05c4a0baeee8c1ff9547017288d099a9ef7b3049647ef0318ca4b1112df26f9f3a844bbae5f9ada59adaf07838987e2a685aee21ea494945202009236fe5f6bc";
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {

View File

@ -1,17 +1,13 @@
{lib, stdenvNoCC, haskellPackages, fetchurl, writers}: {lib, stdenvNoCC, haskellPackages, fetchurl, writers}:
let
hledger-lib = haskellPackages.hledger-lib_1_24_1;
in
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "hledger-check-fancyassertions"; pname = "hledger-check-fancyassertions";
inherit (hledger-lib) version; inherit (haskellPackages.hledger-lib) version;
src = fetchurl { src = fetchurl {
name = "hledger-check-fancyassertion-${version}.hs"; name = "hledger-check-fancyassertion-${version}.hs";
url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs"; url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs";
sha256 = "0naggvivc6szsc8haa52a6lm079ikz5qfva0ljnqx0f1zlkxv984"; sha256 = "1xy3ssxnwybq40nlffz95w7m9xbzf8ysb13svg0i8g5sfgrw11vk";
}; };
dontUnpack = true; dontUnpack = true;
@ -20,13 +16,12 @@ stdenvNoCC.mkDerivation rec {
executable = writers.writeHaskell executable = writers.writeHaskell
"hledger-check-fancyassertions" "hledger-check-fancyassertions"
{ {
libraries = [ libraries = with haskellPackages; [
hledger-lib hledger-lib
] ++ (with haskellPackages; [
base base-compat base-compat-batteries filepath base base-compat base-compat-batteries filepath
megaparsec microlens optparse-applicative string-qq text time megaparsec microlens optparse-applicative string-qq text time
transformers transformers
]); ];
inherit (haskellPackages) ghc; inherit (haskellPackages) ghc;
} }
src; src;

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "morgen"; pname = "morgen";
version = "2.4.4"; version = "2.5.0";
src = fetchurl { src = fetchurl {
url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb"; url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
sha256 = "sha256-5/85ro206o3SsvAvcZeDD2Dmo2jU4zXmtI3X4WdQaRI="; sha256 = "sha256-6hBhfJ18ROCfmqoxrJZ5TiYCFb1xZKsJeobXFy5yfQM=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,13 +5,13 @@
mkDerivation rec { mkDerivation rec {
pname = "qownnotes"; pname = "qownnotes";
version = "22.3.1"; version = "22.3.4";
src = fetchurl { src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Fetch the checksum of current version with curl: # Fetch the checksum of current version with curl:
# curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256 # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
sha256 = "4d75684751a10f24d20d993b30748c7a09bd8bdfd4e1d4d5703746954a0f6bb2"; sha256 = "bec1ee9735821a7c4556c00790e3acfef06f21490ec8b7d99d9e002c9c0a1207";
}; };
nativeBuildInputs = [ qmake qttools ]; nativeBuildInputs = [ qmake qttools ];

View File

@ -10,11 +10,11 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "gprojector"; pname = "gprojector";
version = "3.0.2"; version = "3.0.3";
src = fetchzip { src = fetchzip {
url = "https://www.giss.nasa.gov/tools/gprojector/download/G.ProjectorJ-${version}.tgz"; url = "https://www.giss.nasa.gov/tools/gprojector/download/G.ProjectorJ-${version}.tgz";
sha256 = "sha256-IvGZOYt2d8aWtlAJJzVrwkqOOhaUHUmEDlMeD/0NdwU="; sha256 = "sha256-60UT6z5aQ3Tk4EujEUp4ntB5GakFVhJzk5eytoIwf78=";
}; };
desktopItems = [ (makeDesktopItem { desktopItems = [ (makeDesktopItem {

View File

@ -2,17 +2,17 @@
, libiconv, Security }: , libiconv, Security }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
version = "0.6.2"; version = "0.6.3";
pname = "rink"; pname = "rink";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tiffany352"; owner = "tiffany352";
repo = "rink-rs"; repo = "rink-rs";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-l2Rj15zaJm94EHwvOssfvYQNOoWj45Nq9M85n+A0vo4="; sha256 = "sha256-AhC3c6CpV0tlD6d/hFWt7hGj2UsXsOCeujkRSDlpvCM=";
}; };
cargoSha256 = "sha256-GhuvwVkDRFjC6BghaNMFZZG9hResTN1u0AuvIXlFmig="; cargoSha256 = "sha256-Xo5iYwL4Db+GWMl5UXbPmj0Y0PJYR4Q0aUGnYCd+NB8=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ ncurses ] buildInputs = [ ncurses ]

View File

@ -1,6 +1,7 @@
{ lib { lib
, python3 , python3
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, enableGoogle ? false , enableGoogle ? false
, enableAWS ? false , enableAWS ? false
, enableAzure ? false , enableAzure ? false
@ -9,16 +10,38 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "dvc"; pname = "dvc";
version = "2.9.3"; version = "2.9.5";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "iterative"; owner = "iterative";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-nRlgo7Wjs7RgTUxoMYQh5YEsqiJtdWH2ex79rhXagAQ="; hash = "sha256-MviiA0ja1IaxMPlqu2dhIGBcdEXiEvBYnK9731dihMg=";
}; };
# make the patch apply
prePatch = ''
substituteInPlace setup.cfg \
--replace "scmrepo==0.0.7" "scmrepo==0.0.10"
'';
patches = [
./dvc-daemon.patch
(fetchpatch {
url = "https://github.com/iterative/dvc/commit/ab54b5bdfcef3576b455a17670b8df27beb504ce.patch";
sha256 = "sha256-wzMK6Br7/+d3EEGpfPuQ6Trj8IPfehdUvOvX3HZlS+o=";
})
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "grandalf==0.6" "grandalf>=0.6" \
--replace "scmrepo==0.0.13" "scmrepo"
substituteInPlace dvc/daemon.py \
--subst-var-by dvc "$out/bin/dcv"
'';
nativeBuildInputs = with python3.pkgs; [ nativeBuildInputs = with python3.pkgs; [
setuptools-scm setuptools-scm
setuptools-scm-git-archive setuptools-scm-git-archive
@ -73,15 +96,6 @@ python3.pkgs.buildPythonApplication rec {
importlib-resources importlib-resources
]; ];
patches = [ ./dvc-daemon.patch ];
postPatch = ''
substituteInPlace setup.cfg \
--replace "grandalf==0.6" "grandalf>=0.6"
substituteInPlace dvc/daemon.py \
--subst-var-by dvc "$out/bin/dcv"
'';
# Tests require access to real cloud services # Tests require access to real cloud services
doCheck = false; doCheck = false;

View File

@ -12,7 +12,7 @@ index 9854a0e1..fefdd613 100644
- file_path = os.path.abspath(inspect.stack()[0][1]) - file_path = os.path.abspath(inspect.stack()[0][1])
- env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path)) - env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
+ cmd = [ "@dvc@" , "daemon", "-q"] + args + cmd = [ "@dvc@" , "daemon", "-q"] + args
+ env = None + env = os.environ.copy()
env[DVC_DAEMON] = "1" env[DVC_DAEMON] = "1"
_spawn(cmd, env) _spawn(cmd, env)

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "gh"; pname = "gh";
version = "2.6.0"; version = "2.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cli"; owner = "cli";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-NvVm/deO4LSIl5TSziqsrGt9atCXjt4UZ/VJfmX3i4c="; sha256 = "sha256-edlGJD+80k1ySpyNcKc5c2O0MX+S4fQgH5mwHQUxXM8=";
}; };
vendorSha256 = "sha256-pBjg6WyD61+Bl3ttcpl/b9XoWBCi7cDvE8NPaZGu7Aw="; vendorSha256 = "sha256-YLkNua0Pz0gVIYnWOzOlV5RuLBaoZ4l7l1Pf4QIfUVQ=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -12,11 +12,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "smartgithg"; pname = "smartgithg";
version = "20.2.5"; version = "21.2.2";
src = fetchurl { src = fetchurl {
url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz"; url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz";
sha256 = "05f3yhzf6mvr6c5v6qvjrx97pzrrnkh9mp444zlkbnpgnrsmdc6v"; sha256 = "10v6sg0lmjby3v8g3sk2rzzvdx5p69ia4zz2c0hbf30rk0p6gqn3";
}; };
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook ];

View File

@ -1,7 +1,8 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitLab , fetchFromGitLab
, cmake , fetchpatch
, itstool
, libxml2 , libxml2
, meson , meson
, ninja , ninja
@ -49,10 +50,19 @@ stdenv.mkDerivation rec {
sha256 = "hz2WSDOjriQSavFlDT+35x1X5MeInq80ZrSP1WR/td0="; sha256 = "hz2WSDOjriQSavFlDT+35x1X5MeInq80ZrSP1WR/td0=";
}; };
patches = [
# Fix build with meson 0.61, can be removed on next update
# https://gitlab.com/entangle/entangle/-/issues/67
(fetchpatch {
url = "https://gitlab.com/entangle/entangle/-/commit/54795d275a93e94331a614c8712740fcedbdd4f0.patch";
sha256 = "iEgqGjKa0xwSdctwvNdEV361l9nx+bz53xn3fuDgtzY=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
cmake itstool
glib.dev glib
libxml2.bin # for xmllint libxml2 # for xmllint
meson meson
ninja ninja
perl # for pod2man and build scripts perl # for pod2man and build scripts
@ -93,8 +103,6 @@ stdenv.mkDerivation rec {
libXtst libXtst
]); ]);
dontUseCmakeConfigure = true;
# Disable building of doc/reference since it requires network connection to render XML to HTML # Disable building of doc/reference since it requires network connection to render XML to HTML
# Patch build script shebangs # Patch build script shebangs
postPatch = '' postPatch = ''

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "f1viewer"; pname = "f1viewer";
version = "2.6.0"; version = "2.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SoMuchForSubtlety"; owner = "SoMuchForSubtlety";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MY8xqpAzK1c4XL7w/LR83DyHFCI5X7wldosDDo7pXNI="; sha256 = "sha256-Z6rnkHypk7r9NnYwqZpWQOuGPbWn/EppS+46PQHIdDM=";
}; };
vendorSha256 = "sha256-8c1+t6Lo11Q2kEDy9IWLw9bsZYtJFksE7Om3ysx7fc4="; vendorSha256 = "sha256-UNeH3zxgssXxFpJws6nAL8EgXt0DRyAQfmlJWz/qyDg=";
meta = with lib; { meta = with lib; {
description = description =

View File

@ -16,11 +16,16 @@ let
- make it self-contained by including docker-compose - make it self-contained by including docker-compose
*/ */
arion = arion =
justStaticExecutables ( (justStaticExecutables (
overrideCabal overrideCabal
cabalOverrides cabalOverrides
arion-compose arion-compose
); )
).overrideAttrs (o: {
# Patch away the arion-compose name. Unlike the Haskell library, the program
# is called arion (arion was already taken on hackage).
pname = "arion";
});
inherit (haskell.lib.compose) justStaticExecutables overrideCabal; inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
@ -31,9 +36,6 @@ let
passthru = (o.passthru or {}) // { passthru = (o.passthru or {}) // {
inherit eval build; inherit eval build;
}; };
# Patch away the arion-compose name. Unlike the Haskell library, the program
# is called arion (arion was already taken on hackage).
pname = "arion";
src = arion-compose.src; src = arion-compose.src;
# PYTHONPATH # PYTHONPATH

View File

@ -1,27 +1,19 @@
{ lib, stdenv, fetchFromGitHub, dtc, fetchpatch, pkgsCross }: { lib, stdenv, fetchFromGitHub, dtc, pkgsCross }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "spike"; pname = "spike";
version = "1.0.0"; version = "1.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "riscv"; owner = "riscv";
repo = "riscv-isa-sim"; repo = "riscv-isa-sim";
rev = "v${version}"; rev = "v${version}";
sha256 = "1hcl01nj96s3rkz4mrq747s5lkw81lgdjdimb8b1b9h8qnida7ww"; sha256 = "sha256-4D2Fezej0ioOOupw3kgMT5VLs+/jXQjwvek6v0AVMzI=";
}; };
nativeBuildInputs = [ dtc ]; nativeBuildInputs = [ dtc ];
enableParallelBuilding = true; enableParallelBuilding = true;
patches = [
# Add missing headers to fix build.
(fetchpatch {
url = "https://github.com/riscv/riscv-isa-sim/commit/b3855682c2d744c613d2ffd6b53e3f021ecea4f3.patch";
sha256 = "1v1mpp4iddf5n4h3kmj65g075m7xc31bxww7gldnmgl607ma7cnl";
})
];
postPatch = '' postPatch = ''
patchShebangs scripts/*.sh patchShebangs scripts/*.sh
patchShebangs tests/ebreak.py patchShebangs tests/ebreak.py
@ -39,7 +31,9 @@ stdenv.mkDerivation rec {
'' ''
runHook preInstallCheck runHook preInstallCheck
$out/bin/spike -m64 ${riscvPkgs.riscv-pk}/bin/pk ${riscvPkgs.hello}/bin/hello | grep -Fq "Hello, world" echo -e "#include<stdio.h>\nint main() {printf(\"Hello, world\");return 0;}" > hello.c
${riscvPkgs.stdenv.cc}/bin/riscv64-none-elf-gcc -o hello hello.c
$out/bin/spike -m64 ${riscvPkgs.riscv-pk}/bin/pk hello | grep -Fq "Hello, world"
runHook postInstallCheck runHook postInstallCheck
''; '';

View File

@ -1,6 +1,6 @@
{ {
"commit": "aa8f2230d08c540df249147ea681a5c22314d083", "commit": "f504760b580057f368d85ed6f6c4e78a38968ff4",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/aa8f2230d08c540df249147ea681a5c22314d083.tar.gz", "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/f504760b580057f368d85ed6f6c4e78a38968ff4.tar.gz",
"sha256": "1h92r4si1vmf3v2m843xaqwr99hpnn1s0x08qcvd2gwjkc2qq10a", "sha256": "0m3w7bawx0qxj2qn3yx1d4j90dq89k5c4604f6z38cxxx0rszmzj",
"msg": "Update from Hackage at 2022-02-14T17:17:31Z" "msg": "Update from Hackage at 2022-03-26T03:24:04Z"
} }

View File

@ -1,8 +1,10 @@
{ lib, stdenv { stdenv
, lib
, meson , meson
, ninja , ninja
, gettext , gettext
, fetchurl , fetchurl
, fetchpatch
, evince , evince
, gjs , gjs
, pkg-config , pkg-config
@ -35,6 +37,15 @@ stdenv.mkDerivation rec {
sha256 = "0c41l8m2di8h39bmk2fnhpwglwp6qhljmwqqbihzp4ay9976zrc5"; sha256 = "0c41l8m2di8h39bmk2fnhpwglwp6qhljmwqqbihzp4ay9976zrc5";
}; };
patches = [
# Fix build with meson 0.61
# https://gitlab.gnome.org/GNOME/gnome-books/-/merge_requests/62
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-books/-/commit/2663dcdaaaa71f067a4c2d0005eecc0fdf940bf5.patch";
sha256 = "v2mLzrxSWrkJ0N6seR8jNXX14FsneEPuE9ELLVUe6+E=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja

View File

@ -1,6 +1,6 @@
{ lib, stdenv { stdenv
, lib
, fetchurl , fetchurl
, fetchpatch
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
@ -10,6 +10,7 @@
, wrapGAppsHook , wrapGAppsHook
, gettext , gettext
, itstool , itstool
, libhandy
, libxml2 , libxml2
, libxslt , libxslt
, docbook_xsl , docbook_xsl
@ -21,21 +22,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-logs"; pname = "gnome-logs";
version = "3.36.0"; version = "42.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-logs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-logs/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "0w1nfdxbv3f0wnhmdy21ydvr4swfc108hypda561p7l9lrhnnxj4"; sha256 = "TV5FFp1r9DkC16npoHk8kW65LaumuoWzXI629nLNq9c=";
}; };
patches = [
# https://gitlab.gnome.org/GNOME/gnome-logs/-/issues/52
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-logs/-/commit/b42defceefc775220b525f665a3b662ab9593b81.patch";
sha256 = "1s0zscmhwy7r0xff17wh8ik8x9xw1vrkipw5vl5i770bxnljps8n";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
python3 python3
meson meson
@ -53,9 +46,9 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
glib glib
gtk3 gtk3
libhandy
systemd systemd
gsettings-desktop-schemas gsettings-desktop-schemas
gnome.adwaita-icon-theme
]; ];
mesonFlags = [ mesonFlags = [
@ -80,7 +73,7 @@ stdenv.mkDerivation rec {
homepage = "https://wiki.gnome.org/Apps/Logs"; homepage = "https://wiki.gnome.org/Apps/Logs";
description = "A log viewer for the systemd journal"; description = "A log viewer for the systemd journal";
maintainers = teams.gnome.members; maintainers = teams.gnome.members;
license = licenses.gpl3; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchurl , fetchurl
, fetchpatch
, meson , meson
, ninja , ninja
, vala , vala
@ -27,6 +28,18 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Vxr0x9rU8Em1PmzXKLea3fCMJ92ra8V7OW0hGGbueeM="; sha256 = "sha256-Vxr0x9rU8Em1PmzXKLea3fCMJ92ra8V7OW0hGGbueeM=";
}; };
patches = [
# Look for compiled schemas in NIX_GSETTINGS_OVERRIDES_DIR
# environment variable, to match what we patched GLib to do.
./schema-override-variable.patch
# Fix build with Meson 0.61.0
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/dconf-editor/-/commit/56474378568e6ff4af8aa912810323e808c1d977.patch";
sha256 = "iFyJcskqcmvz7tp1Z9jM9f8WvAhD0L9Vx1hu2c402MA=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja

View File

@ -0,0 +1,14 @@
diff --git a/editor/source-manager.vala b/editor/source-manager.vala
index 27b2b17a..87f7ba86 100644
--- a/editor/source-manager.vala
+++ b/editor/source-manager.vala
@@ -121,6 +121,9 @@ private class SourceManager : Object
source = try_prepend_dir (source, Path.build_filename (system_data_dirs [i], "glib-2.0", "schemas"));
string user_data_dir = GLib.Environment.get_user_data_dir ();
source = try_prepend_dir (source, Path.build_filename (user_data_dir, "glib-2.0", "schemas"));
+ string? nix_var_schema_dir = GLib.Environment.get_variable ("NIX_GSETTINGS_OVERRIDES_DIR");
+ if (nix_var_schema_dir != null)
+ source = try_prepend_dir (source, (!) nix_var_schema_dir);
string? var_schema_dir = GLib.Environment.get_variable ("GSETTINGS_SCHEMA_DIR");
if (var_schema_dir != null)
source = try_prepend_dir (source, (!) var_schema_dir);

View File

@ -1,18 +1,63 @@
{ lib, stdenv, gettext, libxml2, libhandy, fetchurl, pkg-config, libcanberra-gtk3 { stdenv
, gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils , lib
, gnome, gsettings-desktop-schemas }: , gettext
, libxml2
, libhandy
, fetchurl
, fetchpatch
, pkg-config
, libcanberra-gtk3
, gtk3
, glib
, meson
, ninja
, python3
, wrapGAppsHook
, appstream-glib
, desktop-file-utils
, gnome
, gsettings-desktop-schemas
}:
let stdenv.mkDerivation rec {
pname = "gnome-screenshot"; pname = "gnome-screenshot";
version = "41.0"; version = "41.0";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "Stt97JJkKPdCY9V5ZnPPFC5HILbnaPVGio0JM/mMlZc="; sha256 = "Stt97JJkKPdCY9V5ZnPPFC5HILbnaPVGio0JM/mMlZc=";
}; };
patches = [
# Fix build with meson 0.61
# https://gitlab.gnome.org/GNOME/gnome-screenshot/-/issues/186
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-screenshot/-/commit/b60dad3c2536c17bd201f74ad8e40eb74385ed9f.patch";
sha256 = "Js83h/3xxcw2hsgjzGa5lAYFXVrt6MPhXOTh5dZTx/w=";
})
];
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
appstream-glib
libxml2
desktop-file-utils
python3
wrapGAppsHook
];
buildInputs = [
gtk3
glib
libcanberra-gtk3
libhandy
gnome.adwaita-icon-theme
gsettings-desktop-schemas
];
doCheck = true; doCheck = true;
postPatch = '' postPatch = ''
@ -20,12 +65,6 @@ in stdenv.mkDerivation rec {
patchShebangs build-aux/postinstall.py patchShebangs build-aux/postinstall.py
''; '';
nativeBuildInputs = [ meson ninja pkg-config gettext appstream-glib libxml2 desktop-file-utils python3 wrapGAppsHook ];
buildInputs = [
gtk3 glib libcanberra-gtk3 libhandy gnome.adwaita-icon-theme
gsettings-desktop-schemas
];
passthru = { passthru = {
updateScript = gnome.updateScript { updateScript = gnome.updateScript {
packageName = pname; packageName = pname;
@ -34,10 +73,10 @@ in stdenv.mkDerivation rec {
}; };
meta = with lib; { meta = with lib; {
homepage = "https://en.wikipedia.org/wiki/GNOME_Screenshot"; homepage = "https://gitlab.gnome.org/GNOME/gnome-screenshot";
description = "Utility used in the GNOME desktop environment for taking screenshots"; description = "Utility used in the GNOME desktop environment for taking screenshots";
maintainers = teams.gnome.members; maintainers = teams.gnome.members;
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,5 +1,7 @@
{ lib, stdenv { stdenv
, lib
, fetchurl , fetchurl
, fetchpatch
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
@ -29,6 +31,15 @@ stdenv.mkDerivation rec {
sha256 = "7KqQsPTaqPsgMPbcaQv1M/+Zp3NDf+Dhis/oLZl/YNI="; sha256 = "7KqQsPTaqPsgMPbcaQv1M/+Zp3NDf+Dhis/oLZl/YNI=";
}; };
patches = [
# Fix build with meson 0.61
# https://gitlab.gnome.org/GNOME/devhelp/-/issues/59
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/devhelp/-/commit/281bade14c1925cf9e7329fa8e9cf2d82512c66f.patch";
sha256 = "LmHoeQ0zJwOhuasAUYy8FfpDnEO+UNfEb293uKttYKo=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja

View File

@ -136,7 +136,16 @@
"floating-dock": [ "floating-dock": [
"floatingDock@sun.wxg@gmail.com", "floatingDock@sun.wxg@gmail.com",
"floating-dock@nandoferreira_prof@hotmail.com" "floating-dock@nandoferreira_prof@hotmail.com"
],
"wireguard-indicator": [
"wireguard-indicator@gregos.me",
"wireguard-indicator@atareao.es"
] ]
}, },
"42": {} "42": {
"workspace-indicator": [
"workspace-indicator@gnome-shell-extensions.gcampax.github.com",
"horizontal-workspace-indicator@tty2.io"
]
}
} }

View File

@ -3,8 +3,15 @@
, gjs , gjs
, gnome , gnome
, gobject-introspection , gobject-introspection
, hddtemp
, liquidctl
, lm_sensors
, netcat-gnu
, nvme-cli
, procps
, pulseaudio , pulseaudio
, python3 , python3
, smartmontools
, substituteAll , substituteAll
, touchegg , touchegg
, vte , vte
@ -51,6 +58,17 @@ super: lib.trivial.pipe super [
''; '';
})) }))
(patchExtension "freon@UshakovVasilii_Github.yahoo.com" (old: {
patches = [
(substituteAll {
src = ./extensionOverridesPatches/freon_at_UshakovVasilii_Github.yahoo.com.patch;
inherit hddtemp liquidctl lm_sensors procps smartmontools;
netcat = netcat-gnu;
nvmecli = nvme-cli;
})
];
}))
(patchExtension "gnome-shell-screenshot@ttll.de" (old: { (patchExtension "gnome-shell-screenshot@ttll.de" (old: {
# Requires gjs # Requires gjs
# https://github.com/NixOS/nixpkgs/issues/136112 # https://github.com/NixOS/nixpkgs/issues/136112

View File

@ -1,7 +1,7 @@
diff --git a/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js b/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js diff --git a/hddtempUtil.js b/hddtempUtil.js
index e5d1d6d..856654b 100644 index e5d1d6d..856654b 100644
--- a/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js --- a/hddtempUtil.js
+++ b/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js +++ b/hddtempUtil.js
@@ -7,7 +7,7 @@ var HddtempUtil = class extends CommandLineUtil.CommandLineUtil { @@ -7,7 +7,7 @@ var HddtempUtil = class extends CommandLineUtil.CommandLineUtil {
constructor() { constructor() {
@ -31,10 +31,10 @@ index e5d1d6d..856654b 100644
if(output.length) if(output.length)
pid = Number(output.trim()); pid = Number(output.trim());
} }
diff --git a/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js b/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js diff --git a/liquidctlUtil.js b/liquidctlUtil.js
index 766bf62..7cd4e94 100644 index 766bf62..7cd4e94 100644
--- a/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js --- a/liquidctlUtil.js
+++ b/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js +++ b/liquidctlUtil.js
@@ -8,7 +8,7 @@ const commandLineUtil = Me.imports.commandLineUtil; @@ -8,7 +8,7 @@ const commandLineUtil = Me.imports.commandLineUtil;
var LiquidctlUtil = class extends commandLineUtil.CommandLineUtil { var LiquidctlUtil = class extends commandLineUtil.CommandLineUtil {
constructor() { constructor() {
@ -44,10 +44,10 @@ index 766bf62..7cd4e94 100644
this._argv = path ? [path, 'status', '--json'] : null; this._argv = path ? [path, 'status', '--json'] : null;
} }
diff --git a/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js b/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js diff --git a/nvmecliUtil.js b/nvmecliUtil.js
index ae2ea93..2349b9e 100644 index ae2ea93..2349b9e 100644
--- a/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js --- a/nvmecliUtil.js
+++ b/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js +++ b/nvmecliUtil.js
@@ -3,7 +3,7 @@ const GLib = imports.gi.GLib; @@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
const Me = imports.misc.extensionUtils.getCurrentExtension(); const Me = imports.misc.extensionUtils.getCurrentExtension();
@ -57,10 +57,10 @@ index ae2ea93..2349b9e 100644
return JSON.parse(GLib.spawn_command_line_sync(`${nvme} ${argv} -o json`)[1].toString()) return JSON.parse(GLib.spawn_command_line_sync(`${nvme} ${argv} -o json`)[1].toString())
} }
diff --git a/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js b/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js diff --git a/sensorsUtil.js b/sensorsUtil.js
index 62fa580..c017748 100644 index 62fa580..c017748 100644
--- a/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js --- a/sensorsUtil.js
+++ b/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js +++ b/sensorsUtil.js
@@ -7,7 +7,7 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil { @@ -7,7 +7,7 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
constructor() { constructor() {
@ -70,16 +70,16 @@ index 62fa580..c017748 100644
// -A: Do not show adapter -j: JSON output // -A: Do not show adapter -j: JSON output
this._argv = path ? [path, '-A', '-j'] : null; this._argv = path ? [path, '-A', '-j'] : null;
} }
diff --git a/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js b/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js diff --git a/smartctlUtil.js b/smartctlUtil.js
index 03d469b..6057a3b 100644 index 03d469b..6057a3b 100644
--- a/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js --- a/smartctlUtil.js
+++ b/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js +++ b/smartctlUtil.js
@@ -3,7 +3,7 @@ const GLib = imports.gi.GLib; @@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
const Me = imports.misc.extensionUtils.getCurrentExtension(); const Me = imports.misc.extensionUtils.getCurrentExtension();
const ByteArray = imports.byteArray; const ByteArray = imports.byteArray;
function getSmartData (argv){ function getSmartData (argv){
- const smartctl = GLib.find_program_in_path('smartctl') - const smartctl = GLib.find_program_in_path('smartctl')
+ const smartctl = GLib.find_program_in_path('@smartmontools@/bin/smartctl') + const smartctl = GLib.find_program_in_path('@smartmontools@/bin/smartctl')
return JSON.parse(ByteArray.toString( GLib.spawn_command_line_sync(`'${smartctl}' ${argv} -j`)[1] )) return JSON.parse(ByteArray.toString( GLib.spawn_command_line_sync(`${smartctl} ${argv} -j`)[1] ))
} }

View File

@ -6,6 +6,15 @@
# - Make a separate section for each GNOME version. Collisions will come back eventually # - Make a separate section for each GNOME version. Collisions will come back eventually
# as the extensions are updated. # as the extensions are updated.
{ {
"workspace-indicator@gnome-shell-extensions.gcampax.github.com" = "workspace-indicator";
"horizontal-workspace-indicator@tty2.io" = "workspace-indicator-2";
# ############################################################################
# These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
# Make sure to move them up once they are updated
# ####### GNOME 41 #######
"apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu"; "apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
"Applications_Menu@rmy.pobox.com" = "frippery-applications-menu"; "Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
@ -15,15 +24,15 @@
"lockkeys@vaina.lt" = "lock-keys"; "lockkeys@vaina.lt" = "lock-keys";
"lockkeys@fawtytoo" = "lock-keys-2"; "lockkeys@fawtytoo" = "lock-keys-2";
"workspace-indicator@gnome-shell-extensions.gcampax.github.com" = "workspace-indicator";
"horizontal-workspace-indicator@tty2.io" = "workspace-indicator-2";
"unredirect@vaina.lt" = "disable-unredirect-fullscreen-windows"; "unredirect@vaina.lt" = "disable-unredirect-fullscreen-windows";
"unredirect@aunetx" = "disable-unredirect-fullscreen-windows-2"; "unredirect@aunetx" = "disable-unredirect-fullscreen-windows-2";
"fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2"; "fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
"FuzzyClock@johngoetz" = "fuzzy-clock"; "FuzzyClock@johngoetz" = "fuzzy-clock";
"wireguard-indicator@gregos.me" = "wireguard-indicator-2";
"wireguard-indicator@atareao.es" = "wireguard-indicator";
# At the moment, ShutdownTimer@deminder is a fork of ShutdownTimer@neumann which adds new features # At the moment, ShutdownTimer@deminder is a fork of ShutdownTimer@neumann which adds new features
# there seem to be upstream plans, so this should be checked periodically: # there seem to be upstream plans, so this should be checked periodically:
# https://github.com/Deminder/ShutdownTimer https://github.com/neumann-d/ShutdownTimer/pull/46 # https://github.com/Deminder/ShutdownTimer https://github.com/neumann-d/ShutdownTimer/pull/46
@ -31,10 +40,6 @@
"shutdown-timer-gnome-shell-extension" = "shutdowntimer-2"; "shutdown-timer-gnome-shell-extension" = "shutdowntimer-2";
"ShutdownTimer@deminder" = "shutdowntimer"; "ShutdownTimer@deminder" = "shutdowntimer";
# ############################################################################
# These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
# Make sure to move them up once they are updated
# ####### GNOME 40 ####### # ####### GNOME 40 #######
"system-monitor@paradoxxx.zero.gmail.com" = "system-monitor"; # manually packaged "system-monitor@paradoxxx.zero.gmail.com" = "system-monitor"; # manually packaged
@ -49,9 +54,6 @@
"panel-date-format@keiii.github.com" = "panel-date-format"; "panel-date-format@keiii.github.com" = "panel-date-format";
"panel-date-format@atareao.es" = "panel-date-format-2"; "panel-date-format@atareao.es" = "panel-date-format-2";
"wireguard-indicator@gregos.me" = "wireguard-indicator-2";
"wireguard-indicator@atareao.es" = "wireguard-indicator";
"extension-list@tu.berry" = "extension-list"; "extension-list@tu.berry" = "extension-list";
"screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug "screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug

File diff suppressed because one or more lines are too long

View File

@ -1,61 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, glib
, substituteAll
, hddtemp
, liquidctl
, lm_sensors
, netcat-gnu
, nvme-cli
, procps
, smartmontools
}:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-freon";
version = "unstable-2022-02-05";
passthru = {
extensionUuid = "freon@UshakovVasilii_Github.yahoo.com";
extensionPortalSlug = "freon";
};
src = fetchFromGitHub {
owner = "UshakovVasilii";
repo = "gnome-shell-extension-freon";
rev = "010c363d9bff8ed28000cbf8df2226dad65078fb";
hash = "sha256-Fb8y+HoWq+205gqwAD2DVYym1eThGZqDML5HlyhS+4M=";
};
nativeBuildInputs = [ glib ];
patches = [
(substituteAll {
src = ./fix_paths.patch;
inherit hddtemp liquidctl lm_sensors procps smartmontools;
netcat = netcat-gnu;
nvmecli = nvme-cli;
})
];
buildPhase = ''
runHook preBuild
glib-compile-schemas --strict --targetdir="freon@UshakovVasilii_Github.yahoo.com/schemas" "freon@UshakovVasilii_Github.yahoo.com/schemas"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r "freon@UshakovVasilii_Github.yahoo.com" $out/share/gnome-shell/extensions
runHook postInstall
'';
meta = with lib; {
description = "GNOME Shell extension for displaying CPU, GPU, disk temperatures, voltage and fan RPM in the top panel";
license = licenses.gpl2;
maintainers = with maintainers; [ justinas ];
homepage = "https://github.com/UshakovVasilii/gnome-shell-extension-freon";
};
}

View File

@ -6,7 +6,6 @@
"drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { }; "drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { };
"EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { }; "EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { };
"emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { }; "emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { };
"freon@UshakovVasilii_Github.yahoo.com" = callPackage ./freon { };
"gsconnect@andyholmes.github.io" = callPackage ./gsconnect { }; "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { };
"icon-hider@kalnitsky.org" = callPackage ./icon-hider { }; "icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
"impatience@gfxmonk.net" = callPackage ./impatience { }; "impatience@gfxmonk.net" = callPackage ./impatience { };

View File

@ -1,19 +1,21 @@
{ lib, stdenv { lib, stdenv
, substituteAll , substituteAll
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, libpulseaudio , libpulseaudio
, python3 , python3
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-extension-sound-output-device-chooser"; pname = "gnome-shell-extension-sound-output-device-chooser";
version = "39"; # For gnome 42 support many commits not tagged yet are needed.
version = "unstable-2022-03-29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kgshank"; owner = "kgshank";
repo = "gse-sound-output-device-chooser"; repo = "gse-sound-output-device-chooser";
rev = version; rev = "76f7f59d23f5ffcd66555c7662f43c9cc1ce4742";
sha256 = "sha256-RFdBdpKsz2MjdzxWX4UFwah+e68dqrkvm7ql0RAZZwg="; sha256 = "sha256-iPc95LmDsYizLg45wpU+vFx/N6MR2hewSHqoRsePC/4=";
}; };
patches = [ patches = [

View File

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchurl , fetchurl
, fetchpatch
, wrapGAppsHook , wrapGAppsHook
, meson , meson
, vala , vala
@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
sha256 = "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2"; sha256 = "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2";
}; };
patches = [
# Fix build with meson 0.61
# https://gitlab.gnome.org/GNOME/gnome-2048/-/merge_requests/21
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-2048/-/commit/194e22699f7166a016cd39ba26dd719aeecfc868.patch";
sha256 = "Qpn/OJJwblRm5Pi453aU2HwbrNjsf+ftmSnns/5qZ9E=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
itstool itstool
meson meson

View File

@ -11,6 +11,12 @@ haskellPackages.mkDerivation rec {
sha256 = "sha256-o7NLd7jC1BvcoVzbD18LvHg/SqOnfn9yELUrpg2uZtY="; sha256 = "sha256-o7NLd7jC1BvcoVzbD18LvHg/SqOnfn9yELUrpg2uZtY=";
}; };
# -Werror breaks build with GHC >= 9.0
# https://github.com/carp-lang/Carp/issues/1386
postPatch = ''
substituteInPlace CarpHask.cabal --replace "-Werror" ""
'';
buildTools = [ makeWrapper ]; buildTools = [ makeWrapper ];
executableHaskellDepends = with haskellPackages; [ executableHaskellDepends = with haskellPackages; [

View File

@ -86,5 +86,5 @@ rec {
gcc = gcc10; # can bump to 11 along with stdenv.cc gcc = gcc10; # can bump to 11 along with stdenv.cc
}; };
cudatoolkit_11 = cudatoolkit_11_6; cudatoolkit_11 = cudatoolkit_11_5;
} }

View File

@ -77,6 +77,9 @@ let
in elmPkgs // { in elmPkgs // {
inherit elmPkgs; inherit elmPkgs;
# We need attoparsec < 0.14 to build elm for now
attoparsec = self.attoparsec_0_13_2_5;
# Needed for elm-format # Needed for elm-format
indents = self.callPackage ./packages/indents.nix {}; indents = self.callPackage ./packages/indents.nix {};
bimap = self.callPackage ./packages/bimap.nix {}; bimap = self.callPackage ./packages/bimap.nix {};

View File

@ -366,6 +366,10 @@ stdenv.mkDerivation (rec {
inherit llvmPackages; inherit llvmPackages;
inherit enableShared; inherit enableShared;
# This is used by the haskell builder to query
# the presence of the haddock program.
hasHaddock = enableHaddockProgram;
# Our Cabal compiler name # Our Cabal compiler name
haskellCompilerName = "ghc-${version}"; haskellCompilerName = "ghc-${version}";
}; };

View File

@ -335,6 +335,10 @@ stdenv.mkDerivation (rec {
inherit llvmPackages; inherit llvmPackages;
inherit enableShared; inherit enableShared;
# This is used by the haskell builder to query
# the presence of the haddock program.
hasHaddock = enableHaddockProgram;
# Our Cabal compiler name # Our Cabal compiler name
haskellCompilerName = "ghc-${version}"; haskellCompilerName = "ghc-${version}";
}; };

View File

@ -33,7 +33,7 @@
, # Whether to build dynamic libs for the standard library (on the target , # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built. # platform). Static libs are always built.
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
, # Whether to build terminfo. , # Whether to build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows enableTerminfo ? !stdenv.targetPlatform.isWindows
@ -105,9 +105,13 @@ let
CrossCompilePrefix = ${targetPrefix} CrossCompilePrefix = ${targetPrefix}
'' + lib.optionalString (!enableProfiledLibs) '' '' + lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn" GhcLibWays = "v dyn"
'' + lib.optionalString enableRelocatedStaticLibs '' '' +
GhcLibHcOpts += -fPIC # -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
GhcRtsHcOpts += -fPIC # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
# This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
lib.optionalString enableRelocatedStaticLibs ''
GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
'' + lib.optionalString targetPlatform.useAndroidPrebuilt '' '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
EXTRA_CC_OPTS += -std=gnu99 EXTRA_CC_OPTS += -std=gnu99
''; '';
@ -327,6 +331,10 @@ stdenv.mkDerivation (rec {
inherit llvmPackages; inherit llvmPackages;
inherit enableShared; inherit enableShared;
# This is used by the haskell builder to query
# the presence of the haddock program.
hasHaddock = enableHaddockProgram;
# Our Cabal compiler name # Our Cabal compiler name
haskellCompilerName = "ghc-${version}"; haskellCompilerName = "ghc-${version}";
}; };

View File

@ -34,7 +34,7 @@
, # Whether to build dynamic libs for the standard library (on the target , # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built. # platform). Static libs are always built.
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
, # Whether to build terminfo. , # Whether to build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows enableTerminfo ? !stdenv.targetPlatform.isWindows
@ -106,9 +106,13 @@ let
CrossCompilePrefix = ${targetPrefix} CrossCompilePrefix = ${targetPrefix}
'' + lib.optionalString (!enableProfiledLibs) '' '' + lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn" GhcLibWays = "v dyn"
'' + lib.optionalString enableRelocatedStaticLibs '' '' +
GhcLibHcOpts += -fPIC # -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
GhcRtsHcOpts += -fPIC # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
# This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
lib.optionalString enableRelocatedStaticLibs ''
GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
'' + lib.optionalString targetPlatform.useAndroidPrebuilt '' '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
EXTRA_CC_OPTS += -std=gnu99 EXTRA_CC_OPTS += -std=gnu99
''; '';
@ -167,12 +171,12 @@ assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang; assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "9.2.1"; version = "9.2.2";
pname = "${targetPrefix}ghc${variantSuffix}"; pname = "${targetPrefix}ghc${variantSuffix}";
src = fetchurl { src = fetchurl {
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "f444012f97a136d9940f77cdff03fda48f9475e2ed0fec966c4d35c4df55f746"; sha256 = "902463a4cc6ee479af9358b9f8b2ee3237b03e934a1ea65b6d1fcf3e0d749ea6";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -221,6 +225,9 @@ stdenv.mkDerivation (rec {
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof" export NIX_LDFLAGS+=" -no_dtrace_dof"
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
export XATTR=${lib.getBin xattr}/bin/xattr
'' + lib.optionalString targetPlatform.useAndroidPrebuilt '' '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
'' + lib.optionalString targetPlatform.isMusl '' '' + lib.optionalString targetPlatform.isMusl ''
@ -282,10 +289,6 @@ stdenv.mkDerivation (rec {
autoSignDarwinBinariesHook autoSignDarwinBinariesHook
] ++ lib.optionals enableDocs [ ] ++ lib.optionals enableDocs [
sphinx sphinx
] ++ lib.optionals stdenv.isDarwin [
# TODO(@sternenseemann): backport addition of XATTR env var like
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
xattr
]; ];
# For building runtime libs # For building runtime libs
@ -328,6 +331,10 @@ stdenv.mkDerivation (rec {
inherit llvmPackages; inherit llvmPackages;
inherit enableShared; inherit enableShared;
# This is used by the haskell builder to query
# the presence of the haddock program.
hasHaddock = enableHaddockProgram;
# Our Cabal compiler name # Our Cabal compiler name
haskellCompilerName = "ghc-${version}"; haskellCompilerName = "ghc-${version}";
}; };

View File

@ -347,6 +347,10 @@ stdenv.mkDerivation (rec {
inherit llvmPackages; inherit llvmPackages;
inherit enableShared; inherit enableShared;
# This is used by the haskell builder to query
# the presence of the haddock program.
hasHaddock = enableHaddockProgram;
# Our Cabal compiler name # Our Cabal compiler name
haskellCompilerName = "ghc-${version}"; haskellCompilerName = "ghc-${version}";
}; };

File diff suppressed because it is too large Load Diff

View File

@ -30,6 +30,8 @@ self: super: ({
double-conversion = addExtraLibrary pkgs.libcxx super.double-conversion; double-conversion = addExtraLibrary pkgs.libcxx super.double-conversion;
streamly = addBuildDepend darwin.apple_sdk.frameworks.Cocoa super.streamly;
apecs-physics = addPkgconfigDepends [ apecs-physics = addPkgconfigDepends [
darwin.apple_sdk.frameworks.ApplicationServices darwin.apple_sdk.frameworks.ApplicationServices
] super.apecs-physics; ] super.apecs-physics;
@ -287,4 +289,7 @@ self: super: ({
# https://github.com/fpco/inline-c/issues/127 # https://github.com/fpco/inline-c/issues/127
inline-c-cpp = dontCheck super.inline-c-cpp; inline-c-cpp = dontCheck super.inline-c-cpp;
# https://github.com/haskell-crypto/cryptonite/issues/360
cryptonite = appendPatch ./patches/cryptonite-remove-argon2.patch super.cryptonite;
}) })

View File

@ -43,15 +43,18 @@ self: super: {
# cabal-install needs more recent versions of Cabal and base16-bytestring. # cabal-install needs more recent versions of Cabal and base16-bytestring.
cabal-install = super.cabal-install.overrideScope (self: super: { cabal-install = super.cabal-install.overrideScope (self: super: {
Cabal = self.Cabal_3_6_2_0; Cabal = self.Cabal_3_6_3_0;
}); });
# cabal-install-parsers is written for Cabal 3.6 # Pick right versions for GHC-specific packages
cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_2_0; }; ghc-api-compat = doDistribute self.ghc-api-compat_8_10_7;
# ghc versions which dont match the ghc-lib-parser-ex version need the
# additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
# Jailbreak to fix the build. # Jailbreak to fix the build.
base-noprelude = doJailbreak super.base-noprelude; base-noprelude = doJailbreak super.base-noprelude;
system-fileio = doJailbreak super.system-fileio;
unliftio-core = doJailbreak super.unliftio-core; unliftio-core = doJailbreak super.unliftio-core;
# Jailbreaking because monoidal-containers hasnt bumped it's base dependency for 8.10. # Jailbreaking because monoidal-containers hasnt bumped it's base dependency for 8.10.
@ -65,9 +68,6 @@ self: super: {
shellmet = doJailbreak super.shellmet; shellmet = doJailbreak super.shellmet;
shower = doJailbreak super.shower; shower = doJailbreak super.shower;
# The shipped Setup.hs file is broken.
csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
# Apply patch from https://github.com/finnsson/template-helper/issues/12#issuecomment-611795375 to fix the build. # Apply patch from https://github.com/finnsson/template-helper/issues/12#issuecomment-611795375 to fix the build.
language-haskell-extract = appendPatch (pkgs.fetchpatch { language-haskell-extract = appendPatch (pkgs.fetchpatch {
name = "language-haskell-extract-0.2.4.patch"; name = "language-haskell-extract-0.2.4.patch";
@ -84,4 +84,41 @@ self: super: {
mime-string = disableOptimization super.mime-string; mime-string = disableOptimization super.mime-string;
# Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
haskell-language-server = appendConfigureFlags [
"-f-fourmolu"
"-f-stylishhaskell"
"-f-brittany"
"-f-hlint"
]
(super.haskell-language-server.override {
# Not buildable on 8.10
hls-fourmolu-plugin = null;
# https://github.com/haskell/haskell-language-server/issues/2728
hls-hlint-plugin = null;
});
# ormolu 0.3 requires Cabal == 3.4
ormolu = super.ormolu_0_2_0_0;
# weeder 2.3.0 no longer supports GHC 8.10
weeder = doDistribute (doJailbreak self.weeder_2_2_0);
# OneTuple needs hashable instead of ghc-prim for GHC < 9
OneTuple = super.OneTuple.override {
ghc-prim = self.hashable;
};
# Doesn't build with 9.0, see https://github.com/yi-editor/yi/issues/1125
yi-core = doDistribute (markUnbroken super.yi-core);
# Temporarily disabled blaze-textual for GHC >= 9.0 causing hackage2nix ignoring it
# https://github.com/paul-rouse/mysql-simple/blob/872604f87044ff6d1a240d9819a16c2bdf4ed8f5/Database/MySQL/Internal/Blaze.hs#L4-L10
mysql-simple = addBuildDepends [
self.blaze-textual
] super.mysql-simple;
taffybar = markUnbroken (doDistribute super.taffybar);
} }

View File

@ -81,9 +81,6 @@ self: super: {
# cabal2spec needs a recent version of Cabal # cabal2spec needs a recent version of Cabal
cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_3_2_1_0; }); cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_3_2_1_0; });
# Builds only with ghc-8.8.x and beyond.
policeman = markBroken super.policeman;
# https://github.com/pikajude/stylish-cabal/issues/12 # https://github.com/pikajude/stylish-cabal/issues/12
stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; })); stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; }));
haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0; haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;

View File

@ -50,7 +50,7 @@ self: super: {
# cabal-install needs more recent versions of Cabal and random, but an older # cabal-install needs more recent versions of Cabal and random, but an older
# version of base16-bytestring. # version of base16-bytestring.
cabal-install = super.cabal-install.overrideScope (self: super: { cabal-install = super.cabal-install.overrideScope (self: super: {
Cabal = self.Cabal_3_6_2_0; Cabal = self.Cabal_3_6_3_0;
}); });
# Ignore overly restrictive upper version bounds. # Ignore overly restrictive upper version bounds.
@ -96,9 +96,6 @@ self: super: {
# of issues with Cabal 3.x. # of issues with Cabal 3.x.
darcs = dontDistribute super.darcs; darcs = dontDistribute super.darcs;
# The package needs the latest Cabal version.
cabal-install-parsers = super.cabal-install-parsers.overrideScope (self: super: { Cabal = self.Cabal_3_6_2_0; });
# cabal-fmt requires Cabal3 # cabal-fmt requires Cabal3
cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_2_1_0; }; cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_2_1_0; };
@ -121,8 +118,7 @@ self: super: {
# additional dependency to compile successfully. # additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex; ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
# Older compilers need the latest ghc-lib to build this package. ormolu = super.ormolu_0_2_0_0;
hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
# vector 0.12.2 indroduced doctest checks that dont work on older compilers # vector 0.12.2 indroduced doctest checks that dont work on older compilers
vector = dontCheck super.vector; vector = dontCheck super.vector;
@ -130,4 +126,28 @@ self: super: {
ghc-api-compat = doDistribute super.ghc-api-compat_8_6; ghc-api-compat = doDistribute super.ghc-api-compat_8_6;
mime-string = disableOptimization super.mime-string; mime-string = disableOptimization super.mime-string;
haskell-language-server = appendConfigureFlags [
"-f-fourmolu"
"-f-stylishhaskell"
"-f-brittany"
"-f-hlint"
]
(super.haskell-language-server.override {
# Not buildable on 8.8
hls-fourmolu-plugin = null;
# https://github.com/haskell/haskell-language-server/issues/2728
hls-hlint-plugin = null;
});
# OneTuple needs hashable instead of ghc-prim for GHC < 9
OneTuple = super.OneTuple.override {
ghc-prim = self.hashable;
};
# Temporarily disabled blaze-textual for GHC >= 9.0 causing hackage2nix ignoring it
# https://github.com/paul-rouse/mysql-simple/blob/872604f87044ff6d1a240d9819a16c2bdf4ed8f5/Database/MySQL/Internal/Blaze.hs#L4-L10
mysql-simple = addBuildDepends [
self.blaze-textual
] super.mysql-simple;
} }

View File

@ -44,10 +44,15 @@ self: super: {
# cabal-install needs more recent versions of Cabal and base16-bytestring. # cabal-install needs more recent versions of Cabal and base16-bytestring.
cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: { cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
Cabal = self.Cabal_3_6_2_0; Cabal = self.Cabal_3_6_3_0;
}); });
# Jailbreaks & Version Updates # Jailbreaks & Version Updates
# This `doJailbreak` can be removed once the following PR is released to Hackage:
# https://github.com/thsutton/aeson-diff/pull/58
aeson-diff = doJailbreak super.aeson-diff;
async = doJailbreak super.async; async = doJailbreak super.async;
data-fix = doJailbreak super.data-fix; data-fix = doJailbreak super.data-fix;
dec = doJailbreak super.dec; dec = doJailbreak super.dec;
@ -60,7 +65,6 @@ self: super: {
lukko = doJailbreak super.lukko; lukko = doJailbreak super.lukko;
parallel = doJailbreak super.parallel; parallel = doJailbreak super.parallel;
primitive = doJailbreak (dontCheck super.primitive); primitive = doJailbreak (dontCheck super.primitive);
primitive-extras = doDistribute (self.primitive-extras_0_10_1_4);
regex-posix = doJailbreak super.regex-posix; regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv; resolv = doJailbreak super.resolv;
singleton-bool = doJailbreak super.singleton-bool; singleton-bool = doJailbreak super.singleton-bool;
@ -71,23 +75,11 @@ self: super: {
vector-binary-instances = doJailbreak super.vector-binary-instances; vector-binary-instances = doJailbreak super.vector-binary-instances;
vector-th-unbox = doJailbreak super.vector-th-unbox; vector-th-unbox = doJailbreak super.vector-th-unbox;
zlib = doJailbreak super.zlib; zlib = doJailbreak super.zlib;
weeder = self.weeder_2_3_0;
generic-lens-core = self.generic-lens-core_2_2_1_0;
generic-lens = self.generic-lens_2_2_1_0;
th-desugar = self.th-desugar_1_13;
# 2021-11-08: Fixed in autoapply-0.4.2 # 2021-11-08: Fixed in autoapply-0.4.2
autoapply = doJailbreak self.autoapply_0_4_1_1; autoapply = doJailbreak super.autoapply;
# Doesn't allow Dhall 1.39.*; forbids lens 5.1
weeder_2_3_0 = doJailbreak (super.weeder_2_3_0.override {
dhall = self.dhall_1_40_2;
});
# Upstream also disables test for GHC 9: https://github.com/kcsongor/generic-lens/pull/130
generic-lens_2_2_1_0 = dontCheck super.generic-lens_2_2_1_0;
doctest = dontCheck super.doctest;
# Apply patches from head.hackage. # Apply patches from head.hackage.
doctest = dontCheck (doJailbreak super.doctest_0_18_2);
language-haskell-extract = appendPatch (pkgs.fetchpatch { language-haskell-extract = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f"; sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
@ -99,41 +91,24 @@ self: super: {
# The test suite seems pretty broken. # The test suite seems pretty broken.
base64-bytestring = dontCheck super.base64-bytestring; base64-bytestring = dontCheck super.base64-bytestring;
# 5 introduced support for GHC 9.0.x, but hasn't landed in stackage yet
lens = super.lens_5_1;
# 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0
memory = super.memory_0_16_0;
# GHC 9.0.x doesn't like `import Spec (main)` in Main.hs # GHC 9.0.x doesn't like `import Spec (main)` in Main.hs
# https://github.com/snoyberg/mono-traversable/issues/192 # https://github.com/snoyberg/mono-traversable/issues/192
mono-traversable = dontCheck super.mono-traversable; mono-traversable = dontCheck super.mono-traversable;
# Test suite sometimes segfaults with GHC 9.0.1 and 9.0.2
# https://github.com/ekmett/reflection/issues/51
# https://gitlab.haskell.org/ghc/ghc/-/issues/21141
reflection = dontCheck super.reflection;
# Disable tests pending resolution of # Disable tests pending resolution of
# https://github.com/Soostone/retry/issues/71 # https://github.com/Soostone/retry/issues/71
retry = dontCheck super.retry; retry = dontCheck super.retry;
# Hlint needs >= 3.3.4 for ghc 9 support.
hlint = doDistribute super.hlint_3_3_6;
# 2021-09-18: ghc-api-compat and ghc-lib-* need >= 9.0.x versions for hls and hlint
ghc-api-compat = doDistribute super.ghc-api-compat_9_0_1;
ghc-lib-parser = self.ghc-lib-parser_9_0_2_20211226;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_6;
ghc-lib = self.ghc-lib_9_0_2_20211226;
# 2021-09-18: Need semialign >= 1.2 for correct bounds
semialign = super.semialign_1_2_0_1;
# 2021-09-18: cabal2nix does not detect the need for ghc-api-compat. # 2021-09-18: cabal2nix does not detect the need for ghc-api-compat.
hiedb = overrideCabal (old: { hiedb = overrideCabal (old: {
libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat]; libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat];
}) super.hiedb; }) super.hiedb;
# 2021-09-18: Need path >= 0.9.0 for ghc 9 compat
path = self.path_0_9_0;
# 2021-09-18: Need ormolu >= 0.3.0.0 for ghc 9 compat
ormolu = doDistribute self.ormolu_0_3_1_0;
# 2021-09-18: https://github.com/haskell/haskell-language-server/issues/2206 # 2021-09-18: https://github.com/haskell/haskell-language-server/issues/2206
# Restrictive upper bound on ormolu # Restrictive upper bound on ormolu
hls-ormolu-plugin = doJailbreak super.hls-ormolu-plugin; hls-ormolu-plugin = doJailbreak super.hls-ormolu-plugin;
@ -143,18 +118,4 @@ self: super: {
multistate = doJailbreak super.multistate; multistate = doJailbreak super.multistate;
# https://github.com/lspitzner/butcher/issues/7 # https://github.com/lspitzner/butcher/issues/7
butcher = doJailbreak super.butcher; butcher = doJailbreak super.butcher;
# Fixes a bug triggered on GHC 9.0.1
text-short = self.text-short_0_1_5;
fourmolu = doJailbreak self.fourmolu_0_4_0_0;
# 2022-02-05: The following plugins dont work yet on ghc9.
# Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
haskell-language-server = appendConfigureFlags [
"-f-brittany"
"-f-stylishhaskell"
] (super.haskell-language-server.override {
hls-stylish-haskell-plugin = null; # No upstream support
hls-brittany-plugin = null; # Dependencies don't build with 9.0.1
});
} }

View File

@ -42,64 +42,42 @@ self: super: {
unix = null; unix = null;
xhtml = null; xhtml = null;
# Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/20594
tf-random = overrideCabal {
doHaddock = !pkgs.stdenv.isAarch64;
} super.tf-random;
aeson = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/aeson-1.5.6.0.patch";
sha256 = "07rk7f0lhgilxvbg2grpl1p5x25wjf9m7a0wqmi2jr0q61p9a0nl";
# The revision information is newer than that included in the patch
excludes = ["*.cabal"];
}) (doJailbreak super.aeson);
basement = overrideCabal (drv: {
# This is inside a conditional block so `doJailbreak` doesn't work
postPatch = "sed -i -e 's,<4.16,<4.17,' basement.cabal";
}) (appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/basement-0.0.12.patch";
sha256 = "0c8n2krz827cv87p3vb1vpl3v0k255aysjx9lq44gz3z1dhxd64z";
}) super.basement);
# Tests fail because of typechecking changes # Tests fail because of typechecking changes
conduit = dontCheck super.conduit; conduit = dontCheck super.conduit;
cryptonite = appendPatch (pkgs.fetchpatch { # 0.30 introduced support for GHC 9.2.x, so when this assert fails, the whole block can be removed
cryptonite = assert super.cryptonite.version == "0.29"; appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/cryptonite-0.29.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/cryptonite-0.29.patch";
sha256 = "1g48lrmqgd88hqvfq3klz7lsrpwrir2v1931myrhh6dy0d9pqj09"; sha256 = "1g48lrmqgd88hqvfq3klz7lsrpwrir2v1931myrhh6dy0d9pqj09";
}) super.cryptonite; }) super.cryptonite;
# cabal-install needs more recent versions of Cabal # cabal-install needs more recent versions of Cabal
cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: { cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
Cabal = self.Cabal_3_6_2_0; Cabal = self.Cabal_3_6_3_0;
}); });
doctest = dontCheck (doJailbreak super.doctest_0_18_2); doctest = dontCheck (doJailbreak super.doctest);
# Tests fail in GHC 9.2 # Tests fail in GHC 9.2
extra = dontCheck super.extra; extra = dontCheck super.extra;
# Jailbreaks & Version Updates # Jailbreaks & Version Updates
# This `doJailbreak` can be removed once we have doctest v0.20
aeson-diff = assert super.doctest.version == "0.18.2"; doJailbreak super.aeson-diff;
assoc = doJailbreak super.assoc; assoc = doJailbreak super.assoc;
async = doJailbreak super.async; async = doJailbreak super.async;
attoparsec = super.attoparsec_0_14_4;
base64-bytestring = doJailbreak super.base64-bytestring; base64-bytestring = doJailbreak super.base64-bytestring;
base-compat = self.base-compat_0_12_1; base-compat = self.base-compat_0_12_1;
base-compat-batteries = self.base-compat-batteries_0_12_1; base-compat-batteries = self.base-compat-batteries_0_12_1;
binary-instances = doJailbreak super.binary-instances; binary-instances = doJailbreak super.binary-instances;
binary-orphans = super.binary-orphans_1_0_2;
ChasingBottoms = doJailbreak super.ChasingBottoms; ChasingBottoms = doJailbreak super.ChasingBottoms;
constraints = doJailbreak super.constraints; constraints = doJailbreak super.constraints;
cpphs = overrideCabal (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}) super.cpphs; cpphs = overrideCabal (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}) super.cpphs;
cryptohash-md5 = doJailbreak super.cryptohash-md5;
cryptohash-sha1 = doJailbreak super.cryptohash-sha1;
data-fix = doJailbreak super.data-fix; data-fix = doJailbreak super.data-fix;
dec = doJailbreak super.dec; dec = doJailbreak super.dec;
ed25519 = doJailbreak super.ed25519; ed25519 = doJailbreak super.ed25519;
genvalidity = self.genvalidity_1_0_0_1;
genvalidity-property = self.genvalidity-property_1_0_0_0;
genvalidity-hspec = self.genvalidity-hspec_1_0_0_0;
ghc-byteorder = doJailbreak super.ghc-byteorder; ghc-byteorder = doJailbreak super.ghc-byteorder;
ghc-exactprint = overrideCabal (drv: { ghc-exactprint = overrideCabal (drv: {
# HACK: ghc-exactprint 1.4.1 is not buildable for GHC < 9.2, # HACK: ghc-exactprint 1.4.1 is not buildable for GHC < 9.2,
@ -115,49 +93,59 @@ self: super: {
self.data-default self.data-default
] ++ drv.libraryHaskellDepends or []; ] ++ drv.libraryHaskellDepends or [];
}) super.ghc-exactprint; }) super.ghc-exactprint;
ghc-lib = self.ghc-lib_9_2_1_20220109; ghc-lib = self.ghc-lib_9_2_2_20220307;
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109; ghc-lib-parser = self.ghc-lib-parser_9_2_2_20220307;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1; ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_3;
hackage-security = doJailbreak super.hackage-security; hackage-security = doJailbreak super.hackage-security;
hashable = super.hashable_1_4_0_2; hashable = super.hashable_1_4_0_2;
hashable-time = doJailbreak super.hashable-time_0_3; hashable-time = doJailbreak super.hashable-time;
hedgehog = doJailbreak super.hedgehog; # 1.1.1 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
hedgehog = assert super.hedgehog.version == "1.0.5"; doJailbreak super.hedgehog;
HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP); HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP);
integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's, <1.1, <1.3,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms); integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's, <1.1, <1.3,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms);
indexed-traversable = doJailbreak super.indexed-traversable; indexed-traversable = doJailbreak super.indexed-traversable;
indexed-traversable-instances = doJailbreak super.indexed-traversable-instances; indexed-traversable-instances = doJailbreak super.indexed-traversable-instances;
lifted-async = doJailbreak super.lifted-async; lifted-async = doJailbreak super.lifted-async;
lukko = doJailbreak super.lukko; lukko = doJailbreak super.lukko;
network = super.network_3_1_2_7; lzma-conduit = doJailbreak super.lzma-conduit;
ormolu = self.ormolu_0_4_0_0; ormolu = self.ormolu_0_4_0_0;
OneTuple = super.OneTuple_0_3_1;
parallel = doJailbreak super.parallel; parallel = doJailbreak super.parallel;
path = doJailbreak super.path_0_9_2; path = doJailbreak super.path;
polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse); polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse);
primitive = doJailbreak super.primitive; primitive = doJailbreak super.primitive;
quickcheck-instances = super.quickcheck-instances_0_3_27; # https://github.com/protolude/protolude/pull/136
protolude = appendPatches [
(pkgs.fetchpatch {
url = "https://github.com/protolude/protolude/commit/47820a36c25ea6f0c6e44382f7d4f3507358b8e7.diff";
sha256 = "sha256-PtHx5SyTgqFzI03YVeQD+RqglO6ASMQWSxdpy4ROMDY=";
})
] (doJailbreak super.protolude);
regex-posix = doJailbreak super.regex-posix; regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv; resolv = doJailbreak super.resolv;
retrie = doDistribute (dontCheck self.retrie_1_2_0_1); retrie = doDistribute (dontCheck self.retrie_1_2_0_1);
semialign = super.semialign_1_2_0_1;
singleton-bool = doJailbreak super.singleton-bool; singleton-bool = doJailbreak super.singleton-bool;
scientific = doJailbreak super.scientific; servant = doJailbreak super.servant;
servant-auth = doJailbreak super.servant-auth;
servant-server = appendPatches [
# awaiting release
(pkgs.fetchpatch {
url = "https://github.com/haskell-servant/servant/commit/61d0d14b5cb01db3d589101b3f17b0178f52e386.diff";
relative = "servant-server";
sha256 = "sha256-3lM8xLO8avVRo8oncJR8QLDSWEzOaoCmzgVtyaEBEw8=";
})
] (doJailbreak super.servant-server);
servant-swagger = doJailbreak super.servant-swagger;
servant-auth-swagger = doJailbreak super.servant-auth-swagger;
shelly = doJailbreak super.shelly; shelly = doJailbreak super.shelly;
split = doJailbreak super.split;
splitmix = doJailbreak super.splitmix; splitmix = doJailbreak super.splitmix;
tar = doJailbreak super.tar;
tasty-hedgehog = doJailbreak super.tasty-hedgehog;
tasty-hspec = doJailbreak super.tasty-hspec; tasty-hspec = doJailbreak super.tasty-hspec;
th-desugar = self.th-desugar_1_13; th-desugar = self.th-desugar_1_13;
these = doJailbreak super.these; time-compat = doJailbreak super.time-compat;
time-compat = doJailbreak super.time-compat_1_9_6_1; tomland = doJailbreak super.tomland;
type-equality = doJailbreak super.type-equality; type-equality = doJailbreak super.type-equality;
unordered-containers = doJailbreak super.unordered-containers; unordered-containers = doJailbreak super.unordered-containers;
vector = doJailbreak (dontCheck super.vector); vector = dontCheck super.vector;
vector-binary-instances = doJailbreak super.vector-binary-instances; vector-binary-instances = doJailbreak super.vector-binary-instances;
# Upper bound on `hashable` is too restrictive
witherable = doJailbreak super.witherable;
zlib = doJailbreak super.zlib;
hpack = overrideCabal (drv: { hpack = overrideCabal (drv: {
# Cabal 3.6 seems to preserve comments when reading, which makes this test fail # Cabal 3.6 seems to preserve comments when reading, which makes this test fail
@ -167,7 +155,7 @@ self: super: {
] ++ drv.testFlags or []; ] ++ drv.testFlags or [];
}) (doJailbreak super.hpack); }) (doJailbreak super.hpack);
validity = pkgs.lib.pipe super.validity_0_12_0_0 [ validity = pkgs.lib.pipe super.validity [
# head.hackage patch # head.hackage patch
(appendPatch (pkgs.fetchpatch { (appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/9110e6972b5daf085e19cad41f97920d3ddac499/patches/validity-0.12.0.0.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/9110e6972b5daf085e19cad41f97920d3ddac499/patches/validity-0.12.0.0.patch";
@ -192,32 +180,14 @@ self: super: {
# Tests depend on `parseTime` which is no longer available # Tests depend on `parseTime` which is no longer available
hourglass = dontCheck super.hourglass; hourglass = dontCheck super.hourglass;
# 1.2.1 introduced support for GHC 9.2.1, stackage has 1.2.0 # 0.17.0 introduced support for GHC 9.2.x, so when this assert fails, the whole block can be removed
# The test suite indirectly depends on random, which leads to infinite recursion memory = assert super.memory.version == "0.16.0"; appendPatch (pkgs.fetchpatch {
random = dontCheck super.random_1_2_1;
# 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0
memory = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/memory-0.16.0.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/memory-0.16.0.patch";
sha256 = "1kjganx729a6xfgfnrb3z7q6mvnidl042zrsd9n5n5a3i76nl5nl"; sha256 = "1kjganx729a6xfgfnrb3z7q6mvnidl042zrsd9n5n5a3i76nl5nl";
}) (overrideCabal { }) (overrideCabal {
editedCabalFile = null; editedCabalFile = null;
revision = null; revision = null;
} super.memory_0_16_0); } super.memory);
# GHC 9.0.x doesn't like `import Spec (main)` in Main.hs
# https://github.com/snoyberg/mono-traversable/issues/192
mono-traversable = dontCheck super.mono-traversable;
# Disable tests pending resolution of
# https://github.com/Soostone/retry/issues/71
retry = dontCheck super.retry;
# Upper bound on `hashable` is too restrictive
semigroupoids = overrideCabal (drv: { postPatch = "sed -i -e 's,hashable >= 1.2.7.0 && < 1.4,hashable >= 1.2.7.0 \\&\\& < 1.5,' semigroupoids.cabal";}) super.semigroupoids;
# Tests have a circular dependency on quickcheck-instances
text-short = dontCheck super.text-short_0_1_5;
# Use hlint from git for GHC 9.2.1 support # Use hlint from git for GHC 9.2.1 support
hlint = doDistribute ( hlint = doDistribute (
@ -229,10 +199,7 @@ self: super: {
rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46"; rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc"; sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
}; };
} (super.hlint_3_3_6.overrideScope (self: super: { } super.hlint
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
}))
); );
# https://github.com/sjakobi/bsb-http-chunked/issues/38 # https://github.com/sjakobi/bsb-http-chunked/issues/38
@ -244,14 +211,14 @@ self: super: {
some = doJailbreak super.some; some = doJailbreak super.some;
fourmolu = super.fourmolu_0_5_0_1; fourmolu = super.fourmolu_0_5_0_1;
implicit-hie-cradle = doJailbreak super.implicit-hie-cradle; implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
lucid = doJailbreak super.lucid; # 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
hashtables = doJailbreak super.hashtables; hashtables = assert super.hashtables.version == "1.2.4.2"; doJailbreak super.hashtables;
primitive-extras = super.primitive-extras_0_10_1_4;
hiedb = doJailbreak super.hiedb; hiedb = doJailbreak super.hiedb;
# 2022-02-05: The following plugins dont work yet on ghc9.2. # 2022-02-05: The following plugins dont work yet on ghc9.2.
# Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
haskell-language-server = appendConfigureFlags [ haskell-language-server = overrideCabal (old: {libraryHaskellDepends = builtins.filter (x: x != super.hls-tactics-plugin) old.libraryHaskellDepends;})
(appendConfigureFlags [
"-f-alternateNumberFormat" "-f-alternateNumberFormat"
"-f-class" "-f-class"
"-f-eval" "-f-eval"
@ -260,8 +227,6 @@ self: super: {
"-f-retrie" "-f-retrie"
"-f-splice" "-f-splice"
"-f-tactics" "-f-tactics"
"-f-brittany"
"-f-stylish-haskell"
] (super.haskell-language-server.override { ] (super.haskell-language-server.override {
hls-alternate-number-format-plugin = null; hls-alternate-number-format-plugin = null;
hls-class-plugin = null; hls-class-plugin = null;
@ -270,8 +235,5 @@ self: super: {
hls-hlint-plugin = null; hls-hlint-plugin = null;
hls-retrie-plugin = null; hls-retrie-plugin = null;
hls-splice-plugin = null; hls-splice-plugin = null;
hls-tactics-plugin = null; }));
hls-brittany-plugin = null;
hls-stylish-haskell-plugin = null;
});
} }

View File

@ -1,38 +1,39 @@
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml # pkgs/development/haskell-modules/configuration-hackage2nix.yaml
compiler: ghc-8.10.7 compiler: ghc-9.0.2
core-packages: core-packages:
- array-0.5.4.0 - array-0.5.4.0
- base-4.14.1.0 - base-4.15.1.0
- binary-0.8.8.0 - binary-0.8.8.0
- bytestring-0.10.12.0 - bytestring-0.10.12.1
- Cabal-3.2.1.0 - Cabal-3.4.1.0
- containers-0.6.2.1 - containers-0.6.4.1
- deepseq-1.4.4.0 - deepseq-1.4.5.0
- directory-1.3.6.0 - directory-1.3.6.2
- exceptions-0.10.4 - exceptions-0.10.4
- filepath-1.4.2.1 - filepath-1.4.2.1
- ghc-8.10.4 - ghc-9.0.2
- ghc-boot-8.10.4 - ghc-bignum-1.1
- ghc-boot-th-8.10.4 - ghc-boot-9.0.2
- ghc-boot-th-9.0.2
- ghc-compact-0.1.0.0 - ghc-compact-0.1.0.0
- ghc-heap-8.10.4 - ghc-heap-9.0.2
- ghc-prim-0.6.1 - ghc-prim-0.7.0
- ghci-8.10.4 - ghci-9.0.2
- haskeline-0.8.0.1 - haskeline-0.8.2
- hpc-0.6.1.0 - hpc-0.6.1.0
- integer-gmp-1.0.3.0 - integer-gmp-1.1
- libiserv-8.10.4 - libiserv-9.0.2
- mtl-2.2.2 - mtl-2.2.2
- parsec-3.1.14.0 - parsec-3.1.14.0
- pretty-1.1.3.6 - pretty-1.1.3.6
- process-1.6.9.0 - process-1.6.13.2
- rts-1.0 - rts-1.0.2
- stm-2.5.0.0 - stm-2.5.0.0
- template-haskell-2.16.0.0 - template-haskell-2.17.0.0
- terminfo-0.4.1.4 - terminfo-0.4.1.5
- text-1.2.4.1 - text-1.2.5.0
- time-1.9.3 - time-1.9.3
- transformers-0.5.6.2 - transformers-0.5.6.2
- unix-2.7.2.2 - unix-2.7.2.2
@ -70,74 +71,24 @@ default-package-overrides:
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and # gi-gdkx11-4.x requires gtk-4.x, which is still under development and
# not yet available in Nixpkgs # not yet available in Nixpkgs
- gi-gdkx11 < 4 - gi-gdkx11 < 4
# streamly-* packages which are not in stackage and to be constrained
# as long as we have streamly < 0.8.0
- streamly-archive < 0.1.0
- streamly-bytestring < 0.1.3
- streamly-lmdb < 0.3.0
- streamly-process
# dhall-nix is not part of stackage, remove if dhall >= 1.40
- dhall-nix < 1.1.22
# reflex-dom-pandoc is only used by neuron which needs a version < 1.0.0.0 # reflex-dom-pandoc is only used by neuron which needs a version < 1.0.0.0
- reflex-dom-pandoc < 1.0.0.0 - reflex-dom-pandoc < 1.0.0.0
# 2021-09-07: pin to our current GHC version # 2022-02-18: pin to our current GHC version
- ghc-api-compat == 8.10.7 - ghc-api-compat == 9.0.*
# 2021-10-13: weeder 2.3.0 require GHC == 9.0.*; remove pin when GHC version changes
- weeder < 2.3.0
# 2021-10-10: taskwarrior 0.4 requires aeson > 2.0.1.0
- taskwarrior < 0.4.0.0
# 2021-10-19: autoapply 0.4.1.1 requires th-desugar 1.12
- autoapply < 0.4.1.1
# 2021-10-22: 1.8 breaks shake-bench
- SVGFonts < 1.8
# 2021-11-09: 0.20.6 can't be built with aeson < 2.0 which is a pain to override at the moment
- futhark < 0.20.6
# 2021-11-09: ghc-bignum is bundled starting with 9.0.1; only 1.0 builds with GHCs prior to 9.2.1 # 2021-11-09: ghc-bignum is bundled starting with 9.0.1; only 1.0 builds with GHCs prior to 9.2.1
- ghc-bignum == 1.0 - ghc-bignum == 1.0
# 2021-11-18: lucid-{alpine, htmx} are not in stackage, so we need to downgrade them
- lucid-alpine == 0.1.0.2
- lucid-htmx == 0.1.0.2
# 2021-11-21: restrict haskell-gi-related packages to match stackage version (0.25)
- gi-girepository < 1.0.25
- gi-ggit < 1.0.11
- gi-gst < 1.0.25
- gi-gstaudio < 1.0.24
- gi-gstbase < 1.0.25
- gi-gstvideo < 1.0.25
- gi-gtksource < 3.0.25
- gi-ibus < 1.5.4
- gi-javascriptcore < 4.0.24
- gi-ostree < 1.0.15
- gi-notify < 0.7.24
- gi-pangocairo < 1.0.26
- gi-poppler < 0.18.26
- gi-secret < 0.0.14
- gi-soup < 2.4.25
- gi-vte < 2.91.29
- gi-webkit2 < 4.0.28
- gi-webkit2webextension < 4.0.27
- gi-wnck < 3.0.11
# gi-cogl, gi-coglpango, gi-clutter, gi-json, gi-rsvg are only available for haskell-gi >= 0.26
# 1.2.1.0 needs opaleye >= 0.8 which stackage doesn't provide
- rel8 < 1.2.1.0
# 0.14.0.0 drops support for every GHC < 9.0.1
- brittany < 0.14
# 1.2.0.0: “Dropped support for GHC <9.2 (might readd it later)” # 1.2.0.0: “Dropped support for GHC <9.2 (might readd it later)”
- retrie < 1.2.0.0 - retrie < 1.2.0.0
# Compat with polysemy in Stackage LTS 18
- polysemy-resume < 0.1.0.2
- polysemy-conc < 0.5
- polysemy-mocks < 0.2
# Pinning patch because it is mainly used by the reflex-frp ecosystem which is not yet compatible with it.
# https://github.com/reflex-frp/reflex-dom/issues/431
- patch < 0.0.5.0
# On the recommendation of hnix author: # On the recommendation of hnix author:
# https://github.com/NixOS/nixpkgs/pull/154461#issuecomment-1015511883 # https://github.com/NixOS/nixpkgs/pull/154461#issuecomment-1015511883
- hnix < 0.15 - hnix < 0.15
# needs http-client >= 0.7.11 which isn't part of Stackage LTS 18 # needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
- http-client-restricted < 0.0.5 - http-client-restricted < 0.0.5
# Needs dhall 1.41.*, Stackage Nightly has 1.40
- dhall-nix < 1.1.24
extra-packages: extra-packages:
- aeson < 2 # required by pantry-0.5.2
- base16-bytestring < 1 # required for cabal-install etc. - base16-bytestring < 1 # required for cabal-install etc.
- Cabal == 2.2.* # required for jailbreak-cabal etc. - Cabal == 2.2.* # required for jailbreak-cabal etc.
- Cabal == 2.4.* # required for cabal-install etc. - Cabal == 2.4.* # required for cabal-install etc.
@ -158,19 +109,26 @@ extra-packages:
- mmorph == 1.1.3 # Newest working version of mmorph on ghc 8.6.5. needed for hls - mmorph == 1.1.3 # Newest working version of mmorph on ghc 8.6.5. needed for hls
- network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15 - network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15
- optparse-applicative < 0.16 # needed for niv-0.2.19 - optparse-applicative < 0.16 # needed for niv-0.2.19
- pantry == 0.5.2.1 # needed for stack-2.7.3
- resolv == 0.1.1.2 # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x - resolv == 0.1.1.2 # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
- sbv == 7.13 # required for pkgs.petrinizer - sbv == 7.13 # required for pkgs.petrinizer
- crackNum < 3.0 # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses - crackNum < 3.0 # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses
- ghc-api-compat == 8.6 # 2021-09-07: preserve for GHC 8.8.4 - ghc-api-compat == 8.6 # 2021-09-07: preserve for GHC 8.8.4
- ghc-lib == 9.0.* # 2021-11-05: Need one GHC 9.0.2 compatible version - ghc-api-compat == 8.10.7 # 2022-02-17: preserve for GHC 8.10.7
- ghc-lib-parser == 9.0.* # 2021-11-05: Need one GHC 9.0.2 compatible version - ghc-lib == 8.10.7.* # 2022-02-17: preserve for GHC 8.10.7
- ghc-lib-parser-ex == 9.0.* # 2021-11-05: Need one GHC 9.0.2 compatible version - ghc-lib-parser == 8.10.7.* # 2022-02-17: preserve for GHC 8.10.7
- ghc-lib-parser-ex == 8.10.* # 2022-02-17: preserve for GHC 8.10.7
- doctest == 0.18.* # 2021-11-19: closest to stackage version for GHC 9.* - doctest == 0.18.* # 2021-11-19: closest to stackage version for GHC 9.*
- brick == 0.64.* # 2021-12-03: matterhorn depends on brick < 0.65 - brick == 0.64.* # 2021-12-03: matterhorn depends on brick < 0.65
- path == 0.9.0 # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2 - path == 0.9.0 # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
- ormolu == 0.3.* # 2021-12-03: for HLS with GHC 9.0.2 - ormolu == 0.2.* # 2022-02-21: For ghc 8.8 and 8.10
- fourmolu == 0.4.* # 2022-02-05: for HLS with GHC 9.0.2
- ghc-exactprint == 1.4.* # 2022-02-07: preserve for now, 1.5.0 has a breaking change without type changes - ghc-exactprint == 1.4.* # 2022-02-07: preserve for now, 1.5.0 has a breaking change without type changes
- ShellCheck == 0.7.2 # 2022-02-20: haskell-ci 0.14 needs this
- weeder == 2.2.* # 2022-02-21: preserve for GHC 8.10.7
- attoparsec == 0.13.* # 2022-02-23: Needed to compile elm for now
- relude == 0.7.0.0 # 2022-02-25: Needed for ema 0.6
- SVGFonts < 1.8 # 2022-03-19: Needed for Chart-diagrams 1.9.3
- clay < 0.14 # 2022-03-20: Needed for neuron 1.0.0.0
package-maintainers: package-maintainers:
abbradar: abbradar:
@ -191,6 +149,7 @@ package-maintainers:
- pretty-simple - pretty-simple
- purenix - purenix
- spago - spago
- stack
- termonad - termonad
dalpd: dalpd:
- ghc-vis - ghc-vis
@ -290,7 +249,6 @@ package-maintainers:
- cabal-fmt - cabal-fmt
- ema - ema
- generic-optics - generic-optics
- ghcup
- ghcid - ghcid
- ghcide - ghcide
- haskell-language-server - haskell-language-server
@ -436,6 +394,7 @@ unsupported-platforms:
bindings-sane: [ x86_64-darwin, aarch64-darwin ] bindings-sane: [ x86_64-darwin, aarch64-darwin ]
btrfs: [ x86_64-darwin, aarch64-darwin ] # depends on linux btrfs: [ x86_64-darwin, aarch64-darwin ] # depends on linux
bustle: [ x86_64-darwin, aarch64-darwin ] # uses glibc-specific ptsname_r bustle: [ x86_64-darwin, aarch64-darwin ] # uses glibc-specific ptsname_r
camfort: [ aarch64-linux ]
charsetdetect: [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3 charsetdetect: [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3
cut-the-crap: [ x86_64-darwin, aarch64-darwin ] cut-the-crap: [ x86_64-darwin, aarch64-darwin ]
d3d11binding: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ] d3d11binding: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
@ -453,19 +412,21 @@ unsupported-platforms:
gi-dbusmenugtk3: [ x86_64-darwin, aarch64-darwin ] gi-dbusmenugtk3: [ x86_64-darwin, aarch64-darwin ]
gi-dbusmenu: [ x86_64-darwin, aarch64-darwin ] gi-dbusmenu: [ x86_64-darwin, aarch64-darwin ]
gi-ggit: [ x86_64-darwin, aarch64-darwin ] gi-ggit: [ x86_64-darwin, aarch64-darwin ]
gi-gtkosxapplication: [ x86_64-linux, aarch64-linux ]
gi-ibus: [ x86_64-darwin, aarch64-darwin ] gi-ibus: [ x86_64-darwin, aarch64-darwin ]
gi-javascriptcore: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin gi-javascriptcore: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-ostree: [ x86_64-darwin, aarch64-darwin ] gi-ostree: [ x86_64-darwin, aarch64-darwin ]
gi-vte: [ x86_64-darwin, aarch64-darwin ] gi-vte: [ x86_64-darwin, aarch64-darwin ]
gi-webkit2: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-webkit2webextension: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin gi-webkit2webextension: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-webkit2: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-wnck: [ x86_64-darwin, aarch64-darwin ] gi-wnck: [ x86_64-darwin, aarch64-darwin ]
gnome-keyring: [ x86_64-darwin, aarch64-darwin ] gnome-keyring: [ x86_64-darwin, aarch64-darwin ]
gtk3-mac-integration: [ x86_64-linux, aarch64-linux ]
gtk-mac-integration: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ] gtk-mac-integration: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
gtk-sni-tray: [ x86_64-darwin, aarch64-darwin ] gtk-sni-tray: [ x86_64-darwin, aarch64-darwin ]
haskell-snake: [ x86_64-darwin, aarch64-darwin ] haskell-snake: [ x86_64-darwin, aarch64-darwin ]
hbro: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
hbro-contrib: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin hbro-contrib: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
hbro: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
hcwiid: [ x86_64-darwin, aarch64-darwin ] hcwiid: [ x86_64-darwin, aarch64-darwin ]
HFuse: [ x86_64-darwin, aarch64-darwin ] HFuse: [ x86_64-darwin, aarch64-darwin ]
hidapi: [ x86_64-darwin, aarch64-darwin ] hidapi: [ x86_64-darwin, aarch64-darwin ]
@ -478,6 +439,11 @@ unsupported-platforms:
iwlib: [ x86_64-darwin, aarch64-darwin ] iwlib: [ x86_64-darwin, aarch64-darwin ]
Jazzkell: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea Jazzkell: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
jsaddle-webkit2gtk: [ x86_64-darwin, aarch64-darwin ] jsaddle-webkit2gtk: [ x86_64-darwin, aarch64-darwin ]
keid-core: [ aarch64-linux ]
keid-geometry: [ aarch64-linux ]
keid-render-basic: [ aarch64-linux ]
keid-sound-openal: [ aarch64-linux ]
keid-ui-dearimgui: [ aarch64-linux ]
kqueue: [ x86_64-linux, aarch64-linux, i686-linux, armv7l-linux ] # BSD / Darwin only API kqueue: [ x86_64-linux, aarch64-linux, i686-linux, armv7l-linux ] # BSD / Darwin only API
Kulitta: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea Kulitta: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
LambdaHack: [ x86_64-darwin, aarch64-darwin ] LambdaHack: [ x86_64-darwin, aarch64-darwin ]
@ -494,6 +460,7 @@ unsupported-platforms:
linux-namespaces: [ x86_64-darwin, aarch64-darwin ] linux-namespaces: [ x86_64-darwin, aarch64-darwin ]
lio-fs: [ x86_64-darwin, aarch64-darwin ] lio-fs: [ x86_64-darwin, aarch64-darwin ]
logging-facade-journald: [ x86_64-darwin, aarch64-darwin ] logging-facade-journald: [ x86_64-darwin, aarch64-darwin ]
longshot: [ aarch64-linux ]
midi-alsa: [ x86_64-darwin, aarch64-darwin ] midi-alsa: [ x86_64-darwin, aarch64-darwin ]
mpi-hs: [ aarch64-linux, x86_64-darwin, aarch64-darwin ] mpi-hs: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
mpi-hs-binary: [ aarch64-linux, x86_64-darwin, aarch64-darwin ] mpi-hs-binary: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]

Some files were not shown because too many files have changed in this diff Show More