mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 00:43:20 +00:00
Merge remote-tracking branch 'origin/master' into staging-next
This commit is contained in:
commit
d0bfb3ccbb
65
.github/CODEOWNERS
vendored
65
.github/CODEOWNERS
vendored
@ -10,9 +10,6 @@
|
||||
# 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
|
||||
# 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
|
||||
/.github/CODEOWNERS @edolstra
|
||||
@ -39,10 +36,10 @@
|
||||
/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer
|
||||
/pkgs/top-level/splice.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/build-support/cc-wrapper @Ericson2314 @orivej
|
||||
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
|
||||
/pkgs/build-support/cc-wrapper @Ericson2314
|
||||
/pkgs/build-support/bintools-wrapper @Ericson2314
|
||||
/pkgs/build-support/setup-hooks @Ericson2314
|
||||
/pkgs/build-support/setup-hooks/auto-patchelf.sh @aszlig
|
||||
|
||||
@ -97,8 +94,7 @@
|
||||
/pkgs/development/python-modules @FRidh @jonringer
|
||||
/doc/languages-frameworks/python.section.md @FRidh
|
||||
/pkgs/development/tools/poetry2nix @adisbladis
|
||||
/pkgs/development/interpreters/python/hooks @FRidh @jonringer @DavHau
|
||||
/pkgs/development/interpreters/python/conda @DavHau
|
||||
/pkgs/development/interpreters/python/hooks @FRidh @jonringer
|
||||
|
||||
# Haskell
|
||||
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
@ -115,8 +111,8 @@
|
||||
/pkgs/development/perl-modules @stigtsp @zakame
|
||||
|
||||
# R
|
||||
/pkgs/applications/science/math/R @jbedo @bcdarwin
|
||||
/pkgs/development/r-modules @jbedo @bcdarwin
|
||||
/pkgs/applications/science/math/R @jbedo
|
||||
/pkgs/development/r-modules @jbedo
|
||||
|
||||
# Ruby
|
||||
/pkgs/development/interpreters/ruby @marsam
|
||||
@ -127,10 +123,6 @@
|
||||
/pkgs/build-support/rust @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
|
||||
/pkgs/development/compilers/gcc @matthewbauer
|
||||
/pkgs/development/compilers/llvm @matthewbauer
|
||||
@ -139,15 +131,6 @@
|
||||
/pkgs/top-level/unix-tools.nix @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
|
||||
/nixos/modules/services/audio/botamusique.nix @mweinelt
|
||||
/nixos/modules/services/audio/snapserver.nix @mweinelt
|
||||
@ -215,7 +198,7 @@
|
||||
/pkgs/development/idris-modules @Infinisil
|
||||
|
||||
# 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/services/mail/mailman.nix @peti
|
||||
@ -243,22 +226,22 @@
|
||||
/nixos/tests/prometheus-exporters.nix @WilliButz
|
||||
|
||||
# PHP interpreter, packages, extensions, tests and documentation
|
||||
/doc/languages-frameworks/php.section.md @NixOS/php @aanderse @etu @globin @ma27 @talyz
|
||||
/nixos/tests/php @NixOS/php @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/build-support/build-pecl.nix @NixOS/php @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/development/interpreters/php @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/development/php-packages @NixOS/php @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/top-level/php-packages.nix @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz
|
||||
/doc/languages-frameworks/php.section.md @aanderse @etu @globin @ma27 @talyz
|
||||
/nixos/tests/php @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/build-support/build-pecl.nix @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/development/interpreters/php @jtojnar @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/development/php-packages @aanderse @etu @globin @ma27 @talyz
|
||||
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @etu @globin @ma27 @talyz
|
||||
|
||||
# Podman, CRI-O modules and related
|
||||
/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq @adisbladis
|
||||
/nixos/modules/virtualisation/cri-o.nix @NixOS/podman @zowoq @adisbladis
|
||||
/nixos/modules/virtualisation/podman @NixOS/podman @zowoq @adisbladis
|
||||
/nixos/tests/cri-o.nix @NixOS/podman @zowoq @adisbladis
|
||||
/nixos/tests/podman @NixOS/podman @zowoq @adisbladis
|
||||
/nixos/modules/virtualisation/containers.nix @zowoq @adisbladis
|
||||
/nixos/modules/virtualisation/cri-o.nix @zowoq @adisbladis
|
||||
/nixos/modules/virtualisation/podman @zowoq @adisbladis
|
||||
/nixos/tests/cri-o.nix @zowoq @adisbladis
|
||||
/nixos/tests/podman @zowoq @adisbladis
|
||||
|
||||
# Docker tools
|
||||
/pkgs/build-support/docker @roberth @utdemir
|
||||
/pkgs/build-support/docker @roberth
|
||||
/nixos/tests/docker-tools-overlay.nix @roberth
|
||||
/nixos/tests/docker-tools.nix @roberth
|
||||
/doc/builders/images/dockertools.xml @roberth
|
||||
@ -273,8 +256,8 @@
|
||||
/pkgs/development/go-packages @kalbasit @Mic92 @zowoq
|
||||
|
||||
# GNOME
|
||||
/pkgs/desktops/gnome @NixOS/GNOME @jtojnar @hedning
|
||||
/pkgs/desktops/gnome/extensions @piegamesde @NixOS/GNOME @jtojnar @hedning
|
||||
/pkgs/desktops/gnome @jtojnar @hedning
|
||||
/pkgs/desktops/gnome/extensions @piegamesde @jtojnar @hedning
|
||||
|
||||
# Cinnamon
|
||||
/pkgs/desktops/cinnamon @mkg20001
|
||||
@ -295,10 +278,10 @@
|
||||
|
||||
# Matrix
|
||||
/pkgs/servers/heisenbridge @piegamesde
|
||||
/pkgs/servers/matrix-conduit @piegamesde @pstn
|
||||
/pkgs/servers/matrix-conduit @piegamesde
|
||||
/pkgs/servers/matrix-synapse/matrix-appservice-irc @piegamesde
|
||||
/nixos/modules/services/misc/heisenbridge.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-conduit.nix @piegamesde @pstn
|
||||
/nixos/tests/matrix-conduit.nix @piegamesde
|
||||
|
@ -120,7 +120,7 @@ rec {
|
||||
Example:
|
||||
mkPackageOption pkgs "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 = { ... }; }
|
||||
*/
|
||||
|
@ -14251,4 +14251,16 @@
|
||||
github = "nigelgbanks";
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
22
maintainers/scripts/haskell/maintained-broken-pkgs.nix
Normal file
22
maintainers/scripts/haskell/maintained-broken-pkgs.nix
Normal 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;
|
||||
}
|
@ -1,26 +1,38 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused gnugrep -I nixpkgs=.
|
||||
# shellcheck shell=bash
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
tmpfile=$(mktemp "update-stackage.XXXXXXX")
|
||||
# shellcheck disable=SC2064
|
||||
# Stackage solver to use, LTS or Nightly
|
||||
# (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"
|
||||
|
||||
trap "rm ${tmpfile} ${tmpfile}.new" 0
|
||||
touch "$tmpfile" "$tmpfile.new" # Creating files here so that trap creates no errors.
|
||||
trap 'rm "${tmpfile}" "${tmpfile_new}"' 0
|
||||
touch "$tmpfile" "$tmpfile_new" # Creating files here so that trap creates no errors.
|
||||
|
||||
curl -L -s "https://stackage.org/lts/cabal.config" >"$tmpfile"
|
||||
old_version=$(grep "# Stackage" $stackage_config | sed -E 's/.*([0-9]{2}\.[0-9]+)/\1/')
|
||||
version=$(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.lts-//p" "$tmpfile")
|
||||
curl -L -s "https://stackage.org/$(toLower "$SOLVER")/cabal.config" >"$tmpfile"
|
||||
old_version=$(grep '^# Stackage' $stackage_config | sed -e 's/.\+ \([A-Za-z]\+ [0-9.-]\+\)$/\1/g')
|
||||
version="$SOLVER $(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.$(toLower "$SOLVER")-//p" "$tmpfile")"
|
||||
|
||||
if [[ "$old_version" == "$version" ]]; then
|
||||
echo "No new stackage version"
|
||||
exit 0 # Nothing to do
|
||||
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.
|
||||
sed -r \
|
||||
@ -30,10 +42,10 @@ sed -r \
|
||||
-e 's|,$||' \
|
||||
-e '/installed$/d' \
|
||||
-e '/^$/d' \
|
||||
< "${tmpfile}" | sort --ignore-case >"${tmpfile}.new"
|
||||
< "${tmpfile}" | sort --ignore-case >"${tmpfile_new}"
|
||||
|
||||
cat > $stackage_config << EOF
|
||||
# Stackage LTS $version
|
||||
# Stackage $version
|
||||
# This file is auto-generated by
|
||||
# maintainers/scripts/haskell/update-stackage.sh
|
||||
default-package-overrides:
|
||||
@ -45,12 +57,13 @@ sed -r \
|
||||
-e '/ distribution-nixpkgs /d' \
|
||||
-e '/ jailbreak-cabal /d' \
|
||||
-e '/ language-nix /d' \
|
||||
< "${tmpfile}.new" >> $stackage_config
|
||||
-e '/ cabal-install /d' \
|
||||
< "${tmpfile_new}" >> $stackage_config
|
||||
|
||||
if [[ "${1:-}" == "--do-commit" ]]; then
|
||||
git add $stackage_config
|
||||
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
|
||||
EOF
|
||||
|
@ -70,6 +70,14 @@ with lib.maintainers; {
|
||||
scope = "Maintain the Chia blockchain and its dependencies";
|
||||
};
|
||||
|
||||
cosmopolitan = {
|
||||
members = [
|
||||
lourkeur
|
||||
tomberek
|
||||
];
|
||||
scope = "Maintain the Cosmopolitan LibC and related programs.";
|
||||
};
|
||||
|
||||
deshaw = {
|
||||
# Verify additions to this team with at least one already existing member of the team.
|
||||
members = [
|
||||
@ -117,6 +125,7 @@ with lib.maintainers; {
|
||||
|
||||
gnome = {
|
||||
members = [
|
||||
bobby285271
|
||||
hedning
|
||||
jtojnar
|
||||
dasj19
|
||||
|
@ -120,14 +120,14 @@ lib.mkOption {
|
||||
```nix
|
||||
lib.mkPackageOption pkgs "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
|
||||
lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = 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.";
|
||||
}
|
||||
```
|
||||
|
@ -183,14 +183,14 @@ lib.mkOption {
|
||||
<programlisting language="bash">
|
||||
lib.mkPackageOption pkgs "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
|
||||
lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = 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.";
|
||||
}
|
||||
</programlisting>
|
||||
|
@ -93,6 +93,14 @@
|
||||
and their users.
|
||||
</para>
|
||||
</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>
|
||||
</section>
|
||||
<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>.
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
<link xlink:href="https://tetrd.app">tetrd</link>, share your
|
||||
@ -1021,8 +1036,8 @@
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>pkgs.pgadmin</literal> now refers to
|
||||
<literal>pkgs.pgadmin4</literal>. If you still need pgadmin3,
|
||||
use <literal>pkgs.pgadmin3</literal>.
|
||||
<literal>pkgs.pgadmin4</literal>. <literal>pgadmin3</literal>
|
||||
has been removed.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -1264,6 +1279,13 @@
|
||||
example.
|
||||
</para>
|
||||
</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>
|
||||
</section>
|
||||
<section xml:id="sec-release-22.05-notable-changes">
|
||||
|
@ -3,10 +3,15 @@
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>NixOS Reference Pages</title>
|
||||
<info>
|
||||
<author><personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname>
|
||||
<author>
|
||||
<personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname>
|
||||
<contrib>Author</contrib>
|
||||
</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>
|
||||
</info>
|
||||
<xi:include href="man-configuration.xml" />
|
||||
|
@ -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.
|
||||
|
||||
- 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}
|
||||
|
||||
- [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).
|
||||
|
||||
- [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).
|
||||
|
||||
- [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
|
||||
commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary.
|
||||
|
||||
- `pkgs.pgadmin` now refers to `pkgs.pgadmin4`.
|
||||
If you still need pgadmin3, use `pkgs.pgadmin3`.
|
||||
- `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. `pgadmin3` has been removed.
|
||||
|
||||
- `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
|
||||
@ -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.
|
||||
|
||||
- `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. -->
|
||||
|
||||
## Other Notable Changes {#sec-release-22.05-notable-changes}
|
||||
|
@ -118,6 +118,7 @@
|
||||
./misc/version.nix
|
||||
./misc/wordlist.nix
|
||||
./misc/nixops-autoluks.nix
|
||||
./programs/_1password.nix
|
||||
./programs/_1password-gui.nix
|
||||
./programs/adb.nix
|
||||
./programs/appgate-sdp.nix
|
||||
@ -1047,6 +1048,7 @@
|
||||
./services/web-apps/mediawiki.nix
|
||||
./services/web-apps/miniflux.nix
|
||||
./services/web-apps/moodle.nix
|
||||
./services/web-apps/netbox.nix
|
||||
./services/web-apps/nextcloud.nix
|
||||
./services/web-apps/nexus.nix
|
||||
./services/web-apps/node-red.nix
|
||||
|
46
nixos/modules/programs/_1password.nix
Normal file
46
nixos/modules/programs/_1password.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -38,6 +38,9 @@ in
|
||||
environment.etc."zrepl/zrepl.yml".source = configFile;
|
||||
|
||||
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 = {
|
||||
requires = [ "local-fs.target" ];
|
||||
wantedBy = [ "zfs.target" ];
|
||||
|
@ -409,14 +409,14 @@ in
|
||||
to = mkOption {
|
||||
type = referenceAttrs;
|
||||
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 {
|
||||
type = types.nullOr types.attrs;
|
||||
default = null;
|
||||
example = literalExpression "nixpkgs";
|
||||
description = ''
|
||||
The flake input <option>from></option> is rewritten to.
|
||||
The flake input <option>from</option> is rewritten to.
|
||||
'';
|
||||
};
|
||||
exact = mkOption {
|
||||
|
@ -25,6 +25,10 @@ in {
|
||||
};
|
||||
};
|
||||
serviceOpts = {
|
||||
after = [
|
||||
"kea-dhcp4-server.service"
|
||||
"kea-dhcp6-server.service"
|
||||
];
|
||||
serviceConfig = {
|
||||
User = "kea";
|
||||
ExecStart = ''
|
||||
|
@ -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 {
|
||||
type = bool;
|
||||
|
265
nixos/modules/services/web-apps/netbox.nix
Normal file
265
nixos/modules/services/web-apps/netbox.nix
Normal 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" ];
|
||||
};
|
||||
}
|
@ -498,6 +498,10 @@ in
|
||||
programs.seahorse.enable = notExcluded pkgs.gnome.seahorse;
|
||||
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
|
||||
# TODO: Create nautilus-with-extensions package
|
||||
environment.sessionVariables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
|
||||
|
@ -167,10 +167,6 @@ exec 1>&$logOutFd 2>&$logErrFd
|
||||
exec {logOutFd}>&- {logErrFd}>&-
|
||||
|
||||
|
||||
# Start systemd.
|
||||
# Start systemd in a clean environment.
|
||||
echo "starting systemd..."
|
||||
|
||||
PATH=/run/current-system/systemd/lib/systemd:@fsPackagesPath@ \
|
||||
LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive @systemdUnitPathEnvVar@ \
|
||||
TZDIR=/etc/zoneinfo \
|
||||
exec @systemdExecutable@
|
||||
exec env - @systemdExecutable@ "$@"
|
||||
|
@ -19,11 +19,6 @@ let
|
||||
pkgs.coreutils
|
||||
pkgs.util-linux
|
||||
] ++ 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"
|
||||
''
|
||||
${config.boot.postBootCommands}
|
||||
@ -48,12 +43,10 @@ in
|
||||
};
|
||||
|
||||
systemdExecutable = mkOption {
|
||||
default = "systemd";
|
||||
default = "/run/current-system/systemd/lib/systemd/systemd";
|
||||
type = types.str;
|
||||
description = ''
|
||||
The program to execute to start systemd. Typically
|
||||
<literal>systemd</literal>, which will find systemd in the
|
||||
PATH.
|
||||
The program to execute to start systemd.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -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 {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
@ -470,11 +480,13 @@ in
|
||||
|
||||
enabledUpstreamSystemUnits = filter (n: ! elem n cfg.suppressedSystemUnits) upstreamSystemUnits;
|
||||
enabledUnits = filterAttrs (n: v: ! elem n cfg.suppressedSystemUnits) cfg.units;
|
||||
|
||||
in ({
|
||||
"systemd/system".source = generateUnits "system" enabledUnits enabledUpstreamSystemUnits upstreamSystemWants;
|
||||
|
||||
"systemd/system.conf".text = ''
|
||||
[Manager]
|
||||
ManagerEnvironment=${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment)}
|
||||
${optionalString config.systemd.enableCgroupAccounting ''
|
||||
DefaultCPUAccounting=yes
|
||||
DefaultIOAccounting=yes
|
||||
@ -542,6 +554,17 @@ in
|
||||
(v: let n = escapeSystemdPath v.where;
|
||||
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
|
||||
[ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"
|
||||
"SYSFS" "PROC_FS" "FHANDLE" "CRYPTO_USER_API_HASH" "CRYPTO_HMAC"
|
||||
|
@ -341,6 +341,7 @@ in
|
||||
networking.networkd = handleTest ./networking.nix { networkd = true; };
|
||||
networking.scripted = handleTest ./networking.nix { networkd = false; };
|
||||
specialisation = handleTest ./specialisation.nix {};
|
||||
netbox = handleTest ./web-apps/netbox.nix {};
|
||||
# TODO: put in networking.nix after the test becomes more complete
|
||||
networkingProxy = handleTest ./networking-proxy.nix {};
|
||||
nextcloud = handleTest ./nextcloud {};
|
||||
@ -590,5 +591,6 @@ in
|
||||
zigbee2mqtt = handleTest ./zigbee2mqtt.nix {};
|
||||
zoneminder = handleTest ./zoneminder.nix {};
|
||||
zookeeper = handleTest ./zookeeper.nix {};
|
||||
zrepl = handleTest ./zrepl.nix {};
|
||||
zsh-history = handleTest ./zsh-history.nix {};
|
||||
}
|
||||
|
@ -6,6 +6,10 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
|
||||
|
||||
nodes = {
|
||||
machine = { config, ... }: {
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 all.api.radio-browser.info
|
||||
'';
|
||||
|
||||
services.murmur = {
|
||||
enable = true;
|
||||
registerName = "NixOS tests";
|
||||
|
@ -192,5 +192,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
with subtest("systemd per-unit accounting works"):
|
||||
assert "IP traffic received: 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")
|
||||
'';
|
||||
})
|
||||
|
30
nixos/tests/web-apps/netbox.nix
Normal file
30
nixos/tests/web-apps/netbox.nix
Normal 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
66
nixos/tests/zrepl.nix
Normal 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"
|
||||
'';
|
||||
})
|
@ -1,6 +1,7 @@
|
||||
{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, curl, flac,
|
||||
gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl,
|
||||
libvorbis, gdk-pixbuf }:
|
||||
{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, libxml2, curl, flac
|
||||
, gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl
|
||||
, libvorbis, gdk-pixbuf
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.1.5";
|
||||
@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
|
||||
buildInputs = [
|
||||
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
|
||||
] ++ (with perlPackages; [ perl XMLParser ]);
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
, protobuf
|
||||
, sqlite
|
||||
, taglib
|
||||
, libgpod
|
||||
, libpulseaudio
|
||||
, libselinux
|
||||
, libsepol
|
||||
@ -63,6 +64,7 @@ mkDerivation rec {
|
||||
qtbase
|
||||
qtx11extras
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libgpod
|
||||
libpulseaudio
|
||||
libselinux
|
||||
libsepol
|
||||
|
@ -49,7 +49,7 @@ let
|
||||
dontAutoPatchelf = true;
|
||||
postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
|
||||
(
|
||||
cd $out/clion-${version}
|
||||
cd $out/clion
|
||||
# bundled cmake does not find libc
|
||||
rm -rf bin/cmake/linux
|
||||
ln -s ${cmake} bin/cmake/linux
|
||||
|
@ -5531,6 +5531,19 @@ final: prev:
|
||||
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 {
|
||||
pname = "QFEnter";
|
||||
version = "2020-10-09";
|
||||
@ -7133,6 +7146,18 @@ final: prev:
|
||||
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 {
|
||||
pname = "utl.vim";
|
||||
version = "2010-10-18";
|
||||
|
@ -13,6 +13,7 @@ akinsho/bufferline.nvim
|
||||
akinsho/toggleterm.nvim
|
||||
aklt/plantuml-syntax
|
||||
allendang/nvim-expand-expr
|
||||
AlphaTechnolog/pywal.nvim
|
||||
altercation/vim-colors-solarized
|
||||
alvan/vim-closetag
|
||||
alvarosevilla95/luatab.nvim
|
||||
@ -42,6 +43,7 @@ arthurxavierx/vim-unicoder
|
||||
artur-shaik/vim-javacomplete2
|
||||
autozimu/LanguageClient-neovim
|
||||
axelf4/vim-strip-trailing-whitespace
|
||||
axieax/urlview.nvim
|
||||
ayu-theme/ayu-vim
|
||||
b0o/SchemaStore.nvim
|
||||
b3nj5m1n/kommentary
|
||||
|
@ -13,6 +13,7 @@
|
||||
, gdk-pixbuf
|
||||
, pango
|
||||
, gettext
|
||||
, itstool
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
@ -38,6 +39,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
wrapGAppsHook
|
||||
glib
|
||||
gettext
|
||||
itstool
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -35,7 +35,7 @@ installSanePath = path: ''
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "sane-config";
|
||||
phases = "installPhase";
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
function symlink () {
|
||||
|
@ -42,12 +42,17 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D ${mainProgram} $out/bin/${mainProgram}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = "installShellCompletion --cmd ${mainProgram}" + lib.concatMapStrings
|
||||
(s: " --${s} <($out/bin/${mainProgram} completion ${s})") [ "bash" "fish" "zsh" ];
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd ${mainProgram} \
|
||||
--bash <($out/bin/${mainProgram} completion bash) \
|
||||
--fish <($out/bin/${mainProgram} completion fish) \
|
||||
--zsh <($out/bin/${mainProgram} completion zsh)
|
||||
'';
|
||||
|
||||
dontStrip = stdenv.isDarwin;
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dasel";
|
||||
version = "1.24.0";
|
||||
version = "1.24.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TomWright";
|
||||
repo = "dasel";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Em+WAI8G492h7FJTnTHFj5L7M4xBZhW4qC0MMc2JRUU=";
|
||||
sha256 = "sha256-B6MWoGYNjFBUxnSqAXt2DRRjSlmgbqIC7qEoMFGQ+zU=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as=";
|
||||
|
@ -19,9 +19,11 @@
|
||||
, javaPackages
|
||||
}:
|
||||
|
||||
javaPackages.mavenfod rec {
|
||||
(javaPackages.mavenfod.override {
|
||||
inherit maven; # use overridden maven version (see dbeaver's entry in all-packages.nix)
|
||||
}) rec {
|
||||
pname = "dbeaver";
|
||||
version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256
|
||||
version = "22.0.1"; # When updating also update mvnSha256
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dbeaver";
|
||||
@ -30,36 +32,9 @@ javaPackages.mavenfod rec {
|
||||
sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
|
||||
};
|
||||
|
||||
|
||||
mvnSha256 = "7Sm1hAoi5xc4MLONOD8ySLLkpao0qmlMRRva/8zR210=";
|
||||
mvnSha256 = "WAB15d4UvUOkBXT7K/hvAZWOE3V1Lpl/tr+AFNBM4FI=";
|
||||
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 = [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
|
@ -60,6 +60,8 @@ stdenv.mkDerivation rec {
|
||||
"-Dsvg-backend=${withSVGBackend}"
|
||||
];
|
||||
|
||||
CFLAGS = "-Wno-error=comment"; # https://gitlab.gnome.org/GNOME/librsvg/-/issues/856
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wayland-native application launcher, similar to rofi’s drun mode";
|
||||
homepage = "https://codeberg.org/dnkl/fuzzel";
|
||||
|
@ -1,27 +1,27 @@
|
||||
{
|
||||
"stable": {
|
||||
"version": "99.0.4844.84",
|
||||
"sha256": "05bma8lsm5lad58mlfiv8bg0fw5k5mxh0v6g1ik7xp2bsd71iv10",
|
||||
"sha256bin64": "0sdnsnp7hnpip91hwbz3hiw2727g0a3ydf55ldqv9bgik3vn1wln",
|
||||
"version": "100.0.4896.60",
|
||||
"sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf",
|
||||
"sha256bin64": "07wavs9r6ilwx5rzyqvydcjskg6sml5b8m6mw7qzykvhs8bnvfh5",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-01-10",
|
||||
"version": "2022-01-21",
|
||||
"url": "https://gn.googlesource.com/gn",
|
||||
"rev": "80a40b07305373617eba2d5878d353532af77da3",
|
||||
"sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
|
||||
"rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
|
||||
"sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
|
||||
}
|
||||
},
|
||||
"chromedriver": {
|
||||
"version": "99.0.4844.51",
|
||||
"sha256_linux": "1r5wbcfbj9s216jyjasmiscsrsix9ap3pplp12rznrwn4898p51y",
|
||||
"sha256_darwin": "1nak8p5hdrw94lx73m9c110zrwag4qr6487dhplm3qfrnrkdh8wp",
|
||||
"sha256_darwin_aarch64": "0hkcx6a8bcjlbmp6z3ld23mi1kpyjn2g7m3ns9qw6ns4x3rn5i3r"
|
||||
"version": "100.0.4896.20",
|
||||
"sha256_linux": "1d3g43s5adn1vs7iv5ccp0f376qvnvf67mhid7kxkysnqv55bxdw",
|
||||
"sha256_darwin": "129vw1ablb6xyr7j30zxkh7n835wi82ksd8c5m11mmdnrmrcdabv",
|
||||
"sha256_darwin_aarch64": "0zgnisvdvcc726q22jn1cyfg41zz1af5l3fy3m81jlfhph2ibbra"
|
||||
}
|
||||
},
|
||||
"beta": {
|
||||
"version": "100.0.4896.56",
|
||||
"sha256": "0vdyddxhmkw9bqwx5j19h69swx9ysiipsmcc1sjl0qv8bn8f790z",
|
||||
"sha256bin64": "09h4fxsx0q5b0gn258xnmk11qz7ql8flpn4mq5x201abmv29y856",
|
||||
"version": "100.0.4896.60",
|
||||
"sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf",
|
||||
"sha256bin64": "059zrf3mm04iyzmgp594m3m7pw4458vym3wpawmdn94h5zi705i7",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-01-21",
|
||||
|
191
pkgs/applications/networking/browsers/microsoft-edge/browser.nix
Normal file
191
pkgs/applications/networking/browsers/microsoft-edge/browser.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
}
|
50
pkgs/applications/networking/browsers/microsoft-edge/update.sh
Executable file
50
pkgs/applications/networking/browsers/microsoft-edge/update.sh
Executable 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 "}"
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "argo-rollouts";
|
||||
version = "1.1.1";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo-rollouts";
|
||||
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
|
||||
doCheck = false;
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "arkade";
|
||||
version = "0.8.14";
|
||||
version = "0.8.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexellis";
|
||||
repo = "arkade";
|
||||
rev = version;
|
||||
sha256 = "sha256-XH7JtLv0J6bznZZ/L8wg5KB53OPe3KLiYujBlxP71pg=";
|
||||
sha256 = "sha256-NiUv7yl1nA7a826FHDF+1MhYscXkQjUpxZo2ZWrL+VQ=";
|
||||
};
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
|
||||
|
||||
let
|
||||
version = "0.28.3";
|
||||
sha256 = "1agzj8fgv6jp1i15asjvhnsxw4fj7i6g00ajjl4ihd9p166r83qy";
|
||||
manifestsSha256 = "036d1y5dkb9mir9iy76zwdydlqxpbhz7j25fy1faznmicm2qxiqi";
|
||||
version = "0.28.4";
|
||||
sha256 = "1b98hna3qhg7gzs5rqpkrxdvas7zjzavzmi9rzn9936rw88lpgx6";
|
||||
manifestsSha256 = "0k8hpkcnxw2w1pvdkvvmmqzrmsrrbij5f734iwh4n9fd326bqgwc";
|
||||
|
||||
manifests = fetchzip {
|
||||
url =
|
||||
@ -23,7 +23,7 @@ in buildGoModule rec {
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-8TIeVcPW55vJn49y2xLfOOrefmqNAhDMmTWS/c8HuA8=";
|
||||
vendorSha256 = "sha256-IL9RjmMQahFZ04FXKxH6L2PHsOM1MJnqCJorRdr49FY=";
|
||||
|
||||
postUnpack = ''
|
||||
cp -r ${manifests} source/cmd/flux/manifests
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "element-desktop",
|
||||
"productName": "Element",
|
||||
"main": "lib/electron-main.js",
|
||||
"version": "1.10.7",
|
||||
"version": "1.10.8",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Element",
|
||||
"repository": {
|
||||
@ -44,7 +44,7 @@
|
||||
"counterpart": "^0.18.6",
|
||||
"electron-store": "^6.0.1",
|
||||
"electron-window-state": "^5.0.3",
|
||||
"minimist": "^1.2.3",
|
||||
"minimist": "^1.2.6",
|
||||
"png-to-ico": "^2.1.1",
|
||||
"request": "^2.88.2"
|
||||
},
|
||||
|
@ -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 }:
|
||||
|
||||
let
|
||||
@ -51,6 +51,9 @@ in stdenv.mkDerivation rec {
|
||||
mkdir -p $out
|
||||
cp -r ./!(build) $out
|
||||
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
|
||||
'';
|
||||
|
||||
disallowedReferences = [ stdenv.cc.cc ];
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": "1.10.7",
|
||||
"desktopSrcHash": "HkGny9t8dNzVGyyqgr4tABbFZgWV4xqGZt9xH4ejkew=",
|
||||
"desktopYarnHash": "038rqg26dn8chzscck5mlhnw2viy6gr8pjb7zrcmi7ipx9h038a0",
|
||||
"webHash": "0gim79a1zpfc56ca5fndp2whmlv9jz1s32z666i268xppn4z53k1"
|
||||
"version": "1.10.8",
|
||||
"desktopSrcHash": "S9MQIn773BzCH4dsTkD1DpIThDzoIGr4Heaie2Qs0jY=",
|
||||
"desktopYarnHash": "1imx43qbpj08l6d0fji31kcxqshcpr0ch8dzfbbgxyjvblq2p8ln",
|
||||
"webHash": "02i6l3armzr19kki3hgshhzkdpb3001nilh4h10hr3xw5z711ppr"
|
||||
}
|
||||
|
@ -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
|
||||
pinData = lib.importJSON ./pin.json;
|
||||
@ -48,8 +48,11 @@ in rustPlatform.buildRustPackage rec {
|
||||
rm -rf native/!(index.node)
|
||||
rm -rf node_modules $HOME
|
||||
cp -r . $out
|
||||
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $out/native/index.node
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
disallowedReferences = [ stdenv.cc.cc ];
|
||||
|
||||
cargoSha256 = pinData.cargoHash;
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, autoconf-archive
|
||||
, autoreconfHook
|
||||
, cmocka
|
||||
@ -10,7 +9,7 @@
|
||||
, expect
|
||||
, glib
|
||||
, glibcLocales
|
||||
, libmesode
|
||||
, libstrophe
|
||||
, libmicrohttpd
|
||||
, libotr
|
||||
, libuuid
|
||||
@ -36,34 +35,17 @@ assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "profanity";
|
||||
version = "0.11.1";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "profanity-im";
|
||||
repo = "profanity";
|
||||
rev = version;
|
||||
hash = "sha256-8WGHOy0fSW8o7vMCYZqqpvDsn81JZefM6wGfjQ5iKbU=";
|
||||
hash = "sha256-kmixWp9Q2tMVp+tk5kbTdBfgRNghKk3+48L582hqlm8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./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;
|
||||
@ -81,7 +63,7 @@ stdenv.mkDerivation rec {
|
||||
expat
|
||||
expect
|
||||
glib
|
||||
libmesode
|
||||
libstrophe
|
||||
libmicrohttpd
|
||||
libotr
|
||||
libuuid
|
||||
|
34
pkgs/applications/networking/sync/wdt/default.nix
Normal file
34
pkgs/applications/networking/sync/wdt/default.nix
Normal 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" ];
|
||||
};
|
||||
}
|
@ -13,7 +13,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "termius";
|
||||
version = "7.36.1";
|
||||
version = "7.37.0";
|
||||
|
||||
src = fetchurl {
|
||||
# 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
|
||||
# and the sha512 with
|
||||
# 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";
|
||||
sha512 = "ef8514bdd0e6761a9bc7bf6b0b72d95c661905798c1507af932bd38a1e0c96713f71140b0d91454c3da5f3b97a0c8143b32918294eea2e46a7dca8faabda57e6";
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_108.snap";
|
||||
sha512 = "05c4a0baeee8c1ff9547017288d099a9ef7b3049647ef0318ca4b1112df26f9f3a844bbae5f9ada59adaf07838987e2a685aee21ea494945202009236fe5f6bc";
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
|
@ -1,17 +1,13 @@
|
||||
{lib, stdenvNoCC, haskellPackages, fetchurl, writers}:
|
||||
|
||||
let
|
||||
hledger-lib = haskellPackages.hledger-lib_1_24_1;
|
||||
in
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "hledger-check-fancyassertions";
|
||||
inherit (hledger-lib) version;
|
||||
inherit (haskellPackages.hledger-lib) version;
|
||||
|
||||
src = fetchurl {
|
||||
name = "hledger-check-fancyassertion-${version}.hs";
|
||||
url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs";
|
||||
sha256 = "0naggvivc6szsc8haa52a6lm079ikz5qfva0ljnqx0f1zlkxv984";
|
||||
sha256 = "1xy3ssxnwybq40nlffz95w7m9xbzf8ysb13svg0i8g5sfgrw11vk";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
@ -20,13 +16,12 @@ stdenvNoCC.mkDerivation rec {
|
||||
executable = writers.writeHaskell
|
||||
"hledger-check-fancyassertions"
|
||||
{
|
||||
libraries = [
|
||||
libraries = with haskellPackages; [
|
||||
hledger-lib
|
||||
] ++ (with haskellPackages; [
|
||||
base base-compat base-compat-batteries filepath
|
||||
megaparsec microlens optparse-applicative string-qq text time
|
||||
transformers
|
||||
]);
|
||||
];
|
||||
inherit (haskellPackages) ghc;
|
||||
}
|
||||
src;
|
||||
|
@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "morgen";
|
||||
version = "2.4.4";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
|
||||
sha256 = "sha256-5/85ro206o3SsvAvcZeDD2Dmo2jU4zXmtI3X4WdQaRI=";
|
||||
sha256 = "sha256-6hBhfJ18ROCfmqoxrJZ5TiYCFb1xZKsJeobXFy5yfQM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qownnotes";
|
||||
version = "22.3.1";
|
||||
version = "22.3.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
|
||||
# Fetch the checksum of current version with curl:
|
||||
# curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
|
||||
sha256 = "4d75684751a10f24d20d993b30748c7a09bd8bdfd4e1d4d5703746954a0f6bb2";
|
||||
sha256 = "bec1ee9735821a7c4556c00790e3acfef06f21490ec8b7d99d9e002c9c0a1207";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake qttools ];
|
||||
|
@ -10,11 +10,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "gprojector";
|
||||
version = "3.0.2";
|
||||
version = "3.0.3";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://www.giss.nasa.gov/tools/gprojector/download/G.ProjectorJ-${version}.tgz";
|
||||
sha256 = "sha256-IvGZOYt2d8aWtlAJJzVrwkqOOhaUHUmEDlMeD/0NdwU=";
|
||||
sha256 = "sha256-60UT6z5aQ3Tk4EujEUp4ntB5GakFVhJzk5eytoIwf78=";
|
||||
};
|
||||
|
||||
desktopItems = [ (makeDesktopItem {
|
||||
|
@ -2,17 +2,17 @@
|
||||
, libiconv, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
version = "0.6.2";
|
||||
version = "0.6.3";
|
||||
pname = "rink";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tiffany352";
|
||||
repo = "rink-rs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-l2Rj15zaJm94EHwvOssfvYQNOoWj45Nq9M85n+A0vo4=";
|
||||
sha256 = "sha256-AhC3c6CpV0tlD6d/hFWt7hGj2UsXsOCeujkRSDlpvCM=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-GhuvwVkDRFjC6BghaNMFZZG9hResTN1u0AuvIXlFmig=";
|
||||
cargoSha256 = "sha256-Xo5iYwL4Db+GWMl5UXbPmj0Y0PJYR4Q0aUGnYCd+NB8=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ ncurses ]
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, enableGoogle ? false
|
||||
, enableAWS ? false
|
||||
, enableAzure ? false
|
||||
@ -9,16 +10,38 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "dvc";
|
||||
version = "2.9.3";
|
||||
version = "2.9.5";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iterative";
|
||||
repo = pname;
|
||||
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; [
|
||||
setuptools-scm
|
||||
setuptools-scm-git-archive
|
||||
@ -73,15 +96,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
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
|
||||
doCheck = false;
|
||||
|
||||
|
@ -12,7 +12,7 @@ index 9854a0e1..fefdd613 100644
|
||||
- file_path = os.path.abspath(inspect.stack()[0][1])
|
||||
- env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
|
||||
+ cmd = [ "@dvc@" , "daemon", "-q"] + args
|
||||
+ env = None
|
||||
+ env = os.environ.copy()
|
||||
env[DVC_DAEMON] = "1"
|
||||
|
||||
_spawn(cmd, env)
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gh";
|
||||
version = "2.6.0";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cli";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NvVm/deO4LSIl5TSziqsrGt9atCXjt4UZ/VJfmX3i4c=";
|
||||
sha256 = "sha256-edlGJD+80k1ySpyNcKc5c2O0MX+S4fQgH5mwHQUxXM8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-pBjg6WyD61+Bl3ttcpl/b9XoWBCi7cDvE8NPaZGu7Aw=";
|
||||
vendorSha256 = "sha256-YLkNua0Pz0gVIYnWOzOlV5RuLBaoZ4l7l1Pf4QIfUVQ=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -12,11 +12,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "smartgithg";
|
||||
version = "20.2.5";
|
||||
version = "21.2.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz";
|
||||
sha256 = "05f3yhzf6mvr6c5v6qvjrx97pzrrnkh9mp444zlkbnpgnrsmdc6v";
|
||||
sha256 = "10v6sg0lmjby3v8g3sk2rzzvdx5p69ia4zz2c0hbf30rk0p6gqn3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
|
@ -1,7 +1,8 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, cmake
|
||||
, fetchpatch
|
||||
, itstool
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
@ -49,10 +50,19 @@ stdenv.mkDerivation rec {
|
||||
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 = [
|
||||
cmake
|
||||
glib.dev
|
||||
libxml2.bin # for xmllint
|
||||
itstool
|
||||
glib
|
||||
libxml2 # for xmllint
|
||||
meson
|
||||
ninja
|
||||
perl # for pod2man and build scripts
|
||||
@ -93,8 +103,6 @@ stdenv.mkDerivation rec {
|
||||
libXtst
|
||||
]);
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
# Disable building of doc/reference since it requires network connection to render XML to HTML
|
||||
# Patch build script shebangs
|
||||
postPatch = ''
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "f1viewer";
|
||||
version = "2.6.0";
|
||||
version = "2.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SoMuchForSubtlety";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-MY8xqpAzK1c4XL7w/LR83DyHFCI5X7wldosDDo7pXNI=";
|
||||
sha256 = "sha256-Z6rnkHypk7r9NnYwqZpWQOuGPbWn/EppS+46PQHIdDM=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-8c1+t6Lo11Q2kEDy9IWLw9bsZYtJFksE7Om3ysx7fc4=";
|
||||
vendorSha256 = "sha256-UNeH3zxgssXxFpJws6nAL8EgXt0DRyAQfmlJWz/qyDg=";
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
|
@ -16,11 +16,16 @@ let
|
||||
- make it self-contained by including docker-compose
|
||||
*/
|
||||
arion =
|
||||
justStaticExecutables (
|
||||
(justStaticExecutables (
|
||||
overrideCabal
|
||||
cabalOverrides
|
||||
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;
|
||||
|
||||
@ -31,9 +36,6 @@ let
|
||||
passthru = (o.passthru or {}) // {
|
||||
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;
|
||||
|
||||
# PYTHONPATH
|
||||
|
@ -1,27 +1,19 @@
|
||||
{ lib, stdenv, fetchFromGitHub, dtc, fetchpatch, pkgsCross }:
|
||||
{ lib, stdenv, fetchFromGitHub, dtc, pkgsCross }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spike";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "riscv";
|
||||
repo = "riscv-isa-sim";
|
||||
rev = "v${version}";
|
||||
sha256 = "1hcl01nj96s3rkz4mrq747s5lkw81lgdjdimb8b1b9h8qnida7ww";
|
||||
sha256 = "sha256-4D2Fezej0ioOOupw3kgMT5VLs+/jXQjwvek6v0AVMzI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dtc ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [
|
||||
# Add missing headers to fix build.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/riscv/riscv-isa-sim/commit/b3855682c2d744c613d2ffd6b53e3f021ecea4f3.patch";
|
||||
sha256 = "1v1mpp4iddf5n4h3kmj65g075m7xc31bxww7gldnmgl607ma7cnl";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs scripts/*.sh
|
||||
patchShebangs tests/ebreak.py
|
||||
@ -39,7 +31,9 @@ stdenv.mkDerivation rec {
|
||||
''
|
||||
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
|
||||
'';
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"commit": "aa8f2230d08c540df249147ea681a5c22314d083",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/aa8f2230d08c540df249147ea681a5c22314d083.tar.gz",
|
||||
"sha256": "1h92r4si1vmf3v2m843xaqwr99hpnn1s0x08qcvd2gwjkc2qq10a",
|
||||
"msg": "Update from Hackage at 2022-02-14T17:17:31Z"
|
||||
"commit": "f504760b580057f368d85ed6f6c4e78a38968ff4",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/f504760b580057f368d85ed6f6c4e78a38968ff4.tar.gz",
|
||||
"sha256": "0m3w7bawx0qxj2qn3yx1d4j90dq89k5c4604f6z38cxxx0rszmzj",
|
||||
"msg": "Update from Hackage at 2022-03-26T03:24:04Z"
|
||||
}
|
||||
|
@ -1,8 +1,10 @@
|
||||
{ lib, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, meson
|
||||
, ninja
|
||||
, gettext
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, evince
|
||||
, gjs
|
||||
, pkg-config
|
||||
@ -35,6 +37,15 @@ stdenv.mkDerivation rec {
|
||||
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 = [
|
||||
meson
|
||||
ninja
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ lib, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
@ -10,6 +10,7 @@
|
||||
, wrapGAppsHook
|
||||
, gettext
|
||||
, itstool
|
||||
, libhandy
|
||||
, libxml2
|
||||
, libxslt
|
||||
, docbook_xsl
|
||||
@ -21,21 +22,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-logs";
|
||||
version = "3.36.0";
|
||||
version = "42.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-logs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0w1nfdxbv3f0wnhmdy21ydvr4swfc108hypda561p7l9lrhnnxj4";
|
||||
url = "mirror://gnome/sources/gnome-logs/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
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 = [
|
||||
python3
|
||||
meson
|
||||
@ -53,9 +46,9 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
libhandy
|
||||
systemd
|
||||
gsettings-desktop-schemas
|
||||
gnome.adwaita-icon-theme
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
@ -80,7 +73,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://wiki.gnome.org/Apps/Logs";
|
||||
description = "A log viewer for the systemd journal";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
@ -27,6 +28,18 @@ stdenv.mkDerivation rec {
|
||||
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 = [
|
||||
meson
|
||||
ninja
|
||||
|
@ -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);
|
@ -1,18 +1,63 @@
|
||||
{ lib, stdenv, gettext, libxml2, libhandy, fetchurl, pkg-config, libcanberra-gtk3
|
||||
, gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils
|
||||
, gnome, gsettings-desktop-schemas }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, 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";
|
||||
version = "41.0";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
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=";
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
postPatch = ''
|
||||
@ -20,12 +65,6 @@ in stdenv.mkDerivation rec {
|
||||
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 = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
@ -34,10 +73,10 @@ in stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
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";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
{ lib, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
@ -29,6 +31,15 @@ stdenv.mkDerivation rec {
|
||||
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 = [
|
||||
meson
|
||||
ninja
|
||||
|
@ -136,7 +136,16 @@
|
||||
"floating-dock": [
|
||||
"floatingDock@sun.wxg@gmail.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"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -3,8 +3,15 @@
|
||||
, gjs
|
||||
, gnome
|
||||
, gobject-introspection
|
||||
, hddtemp
|
||||
, liquidctl
|
||||
, lm_sensors
|
||||
, netcat-gnu
|
||||
, nvme-cli
|
||||
, procps
|
||||
, pulseaudio
|
||||
, python3
|
||||
, smartmontools
|
||||
, substituteAll
|
||||
, touchegg
|
||||
, 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: {
|
||||
# Requires gjs
|
||||
# https://github.com/NixOS/nixpkgs/issues/136112
|
||||
|
@ -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
|
||||
--- a/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js
|
||||
+++ b/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js
|
||||
--- a/hddtempUtil.js
|
||||
+++ b/hddtempUtil.js
|
||||
@@ -7,7 +7,7 @@ var HddtempUtil = class extends CommandLineUtil.CommandLineUtil {
|
||||
|
||||
constructor() {
|
||||
@ -31,10 +31,10 @@ index e5d1d6d..856654b 100644
|
||||
if(output.length)
|
||||
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
|
||||
--- a/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js
|
||||
+++ b/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js
|
||||
--- a/liquidctlUtil.js
|
||||
+++ b/liquidctlUtil.js
|
||||
@@ -8,7 +8,7 @@ const commandLineUtil = Me.imports.commandLineUtil;
|
||||
var LiquidctlUtil = class extends commandLineUtil.CommandLineUtil {
|
||||
constructor() {
|
||||
@ -44,10 +44,10 @@ index 766bf62..7cd4e94 100644
|
||||
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
|
||||
--- a/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js
|
||||
+++ b/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js
|
||||
--- a/nvmecliUtil.js
|
||||
+++ b/nvmecliUtil.js
|
||||
@@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
|
||||
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())
|
||||
}
|
||||
|
||||
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
|
||||
--- a/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js
|
||||
+++ b/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js
|
||||
--- a/sensorsUtil.js
|
||||
+++ b/sensorsUtil.js
|
||||
@@ -7,7 +7,7 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
|
||||
|
||||
constructor() {
|
||||
@ -70,16 +70,16 @@ index 62fa580..c017748 100644
|
||||
// -A: Do not show adapter -j: JSON output
|
||||
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
|
||||
--- a/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js
|
||||
+++ b/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js
|
||||
--- a/smartctlUtil.js
|
||||
+++ b/smartctlUtil.js
|
||||
@@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const ByteArray = imports.byteArray;
|
||||
function getSmartData (argv){
|
||||
- const smartctl = GLib.find_program_in_path('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] ))
|
||||
}
|
||||
|
@ -6,6 +6,15 @@
|
||||
# - Make a separate section for each GNOME version. Collisions will come back eventually
|
||||
# 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";
|
||||
"Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
|
||||
|
||||
@ -15,15 +24,15 @@
|
||||
"lockkeys@vaina.lt" = "lock-keys";
|
||||
"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@aunetx" = "disable-unredirect-fullscreen-windows-2";
|
||||
|
||||
"fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
|
||||
"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
|
||||
# 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
|
||||
@ -31,10 +40,6 @@
|
||||
"shutdown-timer-gnome-shell-extension" = "shutdowntimer-2";
|
||||
"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 #######
|
||||
|
||||
"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@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";
|
||||
"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
@ -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";
|
||||
};
|
||||
}
|
@ -6,7 +6,6 @@
|
||||
"drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { };
|
||||
"EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { };
|
||||
"emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { };
|
||||
"freon@UshakovVasilii_Github.yahoo.com" = callPackage ./freon { };
|
||||
"gsconnect@andyholmes.github.io" = callPackage ./gsconnect { };
|
||||
"icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
|
||||
"impatience@gfxmonk.net" = callPackage ./impatience { };
|
||||
|
@ -1,19 +1,21 @@
|
||||
{ lib, stdenv
|
||||
, substituteAll
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, libpulseaudio
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
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 {
|
||||
owner = "kgshank";
|
||||
repo = "gse-sound-output-device-chooser";
|
||||
rev = version;
|
||||
sha256 = "sha256-RFdBdpKsz2MjdzxWX4UFwah+e68dqrkvm7ql0RAZZwg=";
|
||||
rev = "76f7f59d23f5ffcd66555c7662f43c9cc1ce4742";
|
||||
sha256 = "sha256-iPc95LmDsYizLg45wpU+vFx/N6MR2hewSHqoRsePC/4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, wrapGAppsHook
|
||||
, meson
|
||||
, vala
|
||||
@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
|
||||
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 = [
|
||||
itstool
|
||||
meson
|
||||
|
@ -11,6 +11,12 @@ haskellPackages.mkDerivation rec {
|
||||
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 ];
|
||||
|
||||
executableHaskellDepends = with haskellPackages; [
|
||||
|
@ -86,5 +86,5 @@ rec {
|
||||
gcc = gcc10; # can bump to 11 along with stdenv.cc
|
||||
};
|
||||
|
||||
cudatoolkit_11 = cudatoolkit_11_6;
|
||||
cudatoolkit_11 = cudatoolkit_11_5;
|
||||
}
|
||||
|
@ -77,6 +77,9 @@ let
|
||||
in elmPkgs // {
|
||||
inherit elmPkgs;
|
||||
|
||||
# We need attoparsec < 0.14 to build elm for now
|
||||
attoparsec = self.attoparsec_0_13_2_5;
|
||||
|
||||
# Needed for elm-format
|
||||
indents = self.callPackage ./packages/indents.nix {};
|
||||
bimap = self.callPackage ./packages/bimap.nix {};
|
||||
|
@ -366,6 +366,10 @@ stdenv.mkDerivation (rec {
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# This is used by the haskell builder to query
|
||||
# the presence of the haddock program.
|
||||
hasHaddock = enableHaddockProgram;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
@ -335,6 +335,10 @@ stdenv.mkDerivation (rec {
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# This is used by the haskell builder to query
|
||||
# the presence of the haddock program.
|
||||
hasHaddock = enableHaddockProgram;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
|
||||
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
@ -105,9 +105,13 @@ let
|
||||
CrossCompilePrefix = ${targetPrefix}
|
||||
'' + lib.optionalString (!enableProfiledLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' + lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC
|
||||
GhcRtsHcOpts += -fPIC
|
||||
'' +
|
||||
# -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
|
||||
# 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 ''
|
||||
EXTRA_CC_OPTS += -std=gnu99
|
||||
'';
|
||||
@ -327,6 +331,10 @@ stdenv.mkDerivation (rec {
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# This is used by the haskell builder to query
|
||||
# the presence of the haddock program.
|
||||
hasHaddock = enableHaddockProgram;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
|
||||
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
@ -106,9 +106,13 @@ let
|
||||
CrossCompilePrefix = ${targetPrefix}
|
||||
'' + lib.optionalString (!enableProfiledLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' + lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC
|
||||
GhcRtsHcOpts += -fPIC
|
||||
'' +
|
||||
# -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
|
||||
# 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 ''
|
||||
EXTRA_CC_OPTS += -std=gnu99
|
||||
'';
|
||||
@ -167,12 +171,12 @@ assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "9.2.1";
|
||||
version = "9.2.2";
|
||||
pname = "${targetPrefix}ghc${variantSuffix}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
|
||||
sha256 = "f444012f97a136d9940f77cdff03fda48f9475e2ed0fec966c4d35c4df55f746";
|
||||
sha256 = "902463a4cc6ee479af9358b9f8b2ee3237b03e934a1ea65b6d1fcf3e0d749ea6";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -221,6 +225,9 @@ stdenv.mkDerivation (rec {
|
||||
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
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 ''
|
||||
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 ''
|
||||
@ -282,10 +289,6 @@ stdenv.mkDerivation (rec {
|
||||
autoSignDarwinBinariesHook
|
||||
] ++ lib.optionals enableDocs [
|
||||
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
|
||||
@ -328,6 +331,10 @@ stdenv.mkDerivation (rec {
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# This is used by the haskell builder to query
|
||||
# the presence of the haddock program.
|
||||
hasHaddock = enableHaddockProgram;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
@ -347,6 +347,10 @@ stdenv.mkDerivation (rec {
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# This is used by the haskell builder to query
|
||||
# the presence of the haddock program.
|
||||
hasHaddock = enableHaddockProgram;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -30,6 +30,8 @@ self: super: ({
|
||||
|
||||
double-conversion = addExtraLibrary pkgs.libcxx super.double-conversion;
|
||||
|
||||
streamly = addBuildDepend darwin.apple_sdk.frameworks.Cocoa super.streamly;
|
||||
|
||||
apecs-physics = addPkgconfigDepends [
|
||||
darwin.apple_sdk.frameworks.ApplicationServices
|
||||
] super.apecs-physics;
|
||||
@ -287,4 +289,7 @@ self: super: ({
|
||||
|
||||
# https://github.com/fpco/inline-c/issues/127
|
||||
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;
|
||||
})
|
||||
|
@ -43,15 +43,18 @@ self: super: {
|
||||
|
||||
# cabal-install needs more recent versions of Cabal and base16-bytestring.
|
||||
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
|
||||
cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_2_0; };
|
||||
# Pick right versions for GHC-specific packages
|
||||
ghc-api-compat = doDistribute self.ghc-api-compat_8_10_7;
|
||||
|
||||
# ghc versions which don‘t 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.
|
||||
base-noprelude = doJailbreak super.base-noprelude;
|
||||
system-fileio = doJailbreak super.system-fileio;
|
||||
unliftio-core = doJailbreak super.unliftio-core;
|
||||
|
||||
# Jailbreaking because monoidal-containers hasn‘t bumped it's base dependency for 8.10.
|
||||
@ -65,9 +68,6 @@ self: super: {
|
||||
shellmet = doJailbreak super.shellmet;
|
||||
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.
|
||||
language-haskell-extract = appendPatch (pkgs.fetchpatch {
|
||||
name = "language-haskell-extract-0.2.4.patch";
|
||||
@ -84,4 +84,41 @@ self: super: {
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -81,9 +81,6 @@ self: super: {
|
||||
# cabal2spec needs a recent version of Cabal
|
||||
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
|
||||
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;
|
||||
|
@ -50,7 +50,7 @@ self: super: {
|
||||
# cabal-install needs more recent versions of Cabal and random, but an older
|
||||
# version of base16-bytestring.
|
||||
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.
|
||||
@ -96,9 +96,6 @@ self: super: {
|
||||
# of issues with Cabal 3.x.
|
||||
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 = super.cabal-fmt.override { Cabal = self.Cabal_3_2_1_0; };
|
||||
|
||||
@ -121,8 +118,7 @@ self: super: {
|
||||
# additional dependency to compile successfully.
|
||||
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.
|
||||
hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
|
||||
ormolu = super.ormolu_0_2_0_0;
|
||||
|
||||
# vector 0.12.2 indroduced doctest checks that don‘t work on older compilers
|
||||
vector = dontCheck super.vector;
|
||||
@ -130,4 +126,28 @@ self: super: {
|
||||
ghc-api-compat = doDistribute super.ghc-api-compat_8_6;
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -44,10 +44,15 @@ self: super: {
|
||||
|
||||
# cabal-install needs more recent versions of Cabal and base16-bytestring.
|
||||
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
|
||||
|
||||
# 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;
|
||||
data-fix = doJailbreak super.data-fix;
|
||||
dec = doJailbreak super.dec;
|
||||
@ -60,7 +65,6 @@ self: super: {
|
||||
lukko = doJailbreak super.lukko;
|
||||
parallel = doJailbreak super.parallel;
|
||||
primitive = doJailbreak (dontCheck super.primitive);
|
||||
primitive-extras = doDistribute (self.primitive-extras_0_10_1_4);
|
||||
regex-posix = doJailbreak super.regex-posix;
|
||||
resolv = doJailbreak super.resolv;
|
||||
singleton-bool = doJailbreak super.singleton-bool;
|
||||
@ -71,23 +75,11 @@ self: super: {
|
||||
vector-binary-instances = doJailbreak super.vector-binary-instances;
|
||||
vector-th-unbox = doJailbreak super.vector-th-unbox;
|
||||
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
|
||||
autoapply = doJailbreak self.autoapply_0_4_1_1;
|
||||
|
||||
# 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;
|
||||
autoapply = doJailbreak super.autoapply;
|
||||
|
||||
doctest = dontCheck super.doctest;
|
||||
# Apply patches from head.hackage.
|
||||
doctest = dontCheck (doJailbreak super.doctest_0_18_2);
|
||||
language-haskell-extract = appendPatch (pkgs.fetchpatch {
|
||||
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
|
||||
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
|
||||
@ -99,41 +91,24 @@ self: super: {
|
||||
# The test suite seems pretty broken.
|
||||
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
|
||||
# https://github.com/snoyberg/mono-traversable/issues/192
|
||||
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
|
||||
# https://github.com/Soostone/retry/issues/71
|
||||
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.
|
||||
hiedb = overrideCabal (old: {
|
||||
libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat];
|
||||
}) 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
|
||||
# Restrictive upper bound on ormolu
|
||||
hls-ormolu-plugin = doJailbreak super.hls-ormolu-plugin;
|
||||
@ -143,18 +118,4 @@ self: super: {
|
||||
multistate = doJailbreak super.multistate;
|
||||
# https://github.com/lspitzner/butcher/issues/7
|
||||
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 don‘t 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
|
||||
});
|
||||
}
|
||||
|
@ -42,64 +42,42 @@ self: super: {
|
||||
unix = 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
|
||||
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";
|
||||
sha256 = "1g48lrmqgd88hqvfq3klz7lsrpwrir2v1931myrhh6dy0d9pqj09";
|
||||
}) super.cryptonite;
|
||||
|
||||
# cabal-install needs more recent versions of Cabal
|
||||
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
|
||||
extra = dontCheck super.extra;
|
||||
|
||||
# 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;
|
||||
async = doJailbreak super.async;
|
||||
attoparsec = super.attoparsec_0_14_4;
|
||||
base64-bytestring = doJailbreak super.base64-bytestring;
|
||||
base-compat = self.base-compat_0_12_1;
|
||||
base-compat-batteries = self.base-compat-batteries_0_12_1;
|
||||
binary-instances = doJailbreak super.binary-instances;
|
||||
binary-orphans = super.binary-orphans_1_0_2;
|
||||
ChasingBottoms = doJailbreak super.ChasingBottoms;
|
||||
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;
|
||||
cryptohash-md5 = doJailbreak super.cryptohash-md5;
|
||||
cryptohash-sha1 = doJailbreak super.cryptohash-sha1;
|
||||
data-fix = doJailbreak super.data-fix;
|
||||
dec = doJailbreak super.dec;
|
||||
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-exactprint = overrideCabal (drv: {
|
||||
# HACK: ghc-exactprint 1.4.1 is not buildable for GHC < 9.2,
|
||||
@ -115,49 +93,59 @@ self: super: {
|
||||
self.data-default
|
||||
] ++ drv.libraryHaskellDepends or [];
|
||||
}) super.ghc-exactprint;
|
||||
ghc-lib = self.ghc-lib_9_2_1_20220109;
|
||||
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109;
|
||||
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
|
||||
ghc-lib = self.ghc-lib_9_2_2_20220307;
|
||||
ghc-lib-parser = self.ghc-lib-parser_9_2_2_20220307;
|
||||
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_3;
|
||||
hackage-security = doJailbreak super.hackage-security;
|
||||
hashable = super.hashable_1_4_0_2;
|
||||
hashable-time = doJailbreak super.hashable-time_0_3;
|
||||
hedgehog = doJailbreak super.hedgehog;
|
||||
hashable-time = doJailbreak super.hashable-time;
|
||||
# 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);
|
||||
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-instances = doJailbreak super.indexed-traversable-instances;
|
||||
lifted-async = doJailbreak super.lifted-async;
|
||||
lukko = doJailbreak super.lukko;
|
||||
network = super.network_3_1_2_7;
|
||||
lzma-conduit = doJailbreak super.lzma-conduit;
|
||||
ormolu = self.ormolu_0_4_0_0;
|
||||
OneTuple = super.OneTuple_0_3_1;
|
||||
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);
|
||||
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;
|
||||
resolv = doJailbreak super.resolv;
|
||||
retrie = doDistribute (dontCheck self.retrie_1_2_0_1);
|
||||
semialign = super.semialign_1_2_0_1;
|
||||
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;
|
||||
split = doJailbreak super.split;
|
||||
splitmix = doJailbreak super.splitmix;
|
||||
tar = doJailbreak super.tar;
|
||||
tasty-hedgehog = doJailbreak super.tasty-hedgehog;
|
||||
tasty-hspec = doJailbreak super.tasty-hspec;
|
||||
th-desugar = self.th-desugar_1_13;
|
||||
these = doJailbreak super.these;
|
||||
time-compat = doJailbreak super.time-compat_1_9_6_1;
|
||||
time-compat = doJailbreak super.time-compat;
|
||||
tomland = doJailbreak super.tomland;
|
||||
type-equality = doJailbreak super.type-equality;
|
||||
unordered-containers = doJailbreak super.unordered-containers;
|
||||
vector = doJailbreak (dontCheck super.vector);
|
||||
vector = dontCheck super.vector;
|
||||
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: {
|
||||
# Cabal 3.6 seems to preserve comments when reading, which makes this test fail
|
||||
@ -167,7 +155,7 @@ self: super: {
|
||||
] ++ drv.testFlags or [];
|
||||
}) (doJailbreak super.hpack);
|
||||
|
||||
validity = pkgs.lib.pipe super.validity_0_12_0_0 [
|
||||
validity = pkgs.lib.pipe super.validity [
|
||||
# head.hackage patch
|
||||
(appendPatch (pkgs.fetchpatch {
|
||||
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
|
||||
hourglass = dontCheck super.hourglass;
|
||||
|
||||
# 1.2.1 introduced support for GHC 9.2.1, stackage has 1.2.0
|
||||
# The test suite indirectly depends on random, which leads to infinite recursion
|
||||
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 {
|
||||
# 0.17.0 introduced support for GHC 9.2.x, so when this assert fails, the whole block can be removed
|
||||
memory = assert super.memory.version == "0.16.0"; appendPatch (pkgs.fetchpatch {
|
||||
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/memory-0.16.0.patch";
|
||||
sha256 = "1kjganx729a6xfgfnrb3z7q6mvnidl042zrsd9n5n5a3i76nl5nl";
|
||||
}) (overrideCabal {
|
||||
editedCabalFile = null;
|
||||
revision = null;
|
||||
} super.memory_0_16_0);
|
||||
|
||||
# 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;
|
||||
} super.memory);
|
||||
|
||||
# Use hlint from git for GHC 9.2.1 support
|
||||
hlint = doDistribute (
|
||||
@ -229,10 +199,7 @@ self: super: {
|
||||
rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
|
||||
sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
|
||||
};
|
||||
} (super.hlint_3_3_6.overrideScope (self: super: {
|
||||
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109;
|
||||
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
|
||||
}))
|
||||
} super.hlint
|
||||
);
|
||||
|
||||
# https://github.com/sjakobi/bsb-http-chunked/issues/38
|
||||
@ -244,14 +211,14 @@ self: super: {
|
||||
some = doJailbreak super.some;
|
||||
fourmolu = super.fourmolu_0_5_0_1;
|
||||
implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
|
||||
lucid = doJailbreak super.lucid;
|
||||
hashtables = doJailbreak super.hashtables;
|
||||
primitive-extras = super.primitive-extras_0_10_1_4;
|
||||
# 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
|
||||
hashtables = assert super.hashtables.version == "1.2.4.2"; doJailbreak super.hashtables;
|
||||
hiedb = doJailbreak super.hiedb;
|
||||
|
||||
# 2022-02-05: The following plugins don‘t work yet on ghc9.2.
|
||||
# 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-class"
|
||||
"-f-eval"
|
||||
@ -260,8 +227,6 @@ self: super: {
|
||||
"-f-retrie"
|
||||
"-f-splice"
|
||||
"-f-tactics"
|
||||
"-f-brittany"
|
||||
"-f-stylish-haskell"
|
||||
] (super.haskell-language-server.override {
|
||||
hls-alternate-number-format-plugin = null;
|
||||
hls-class-plugin = null;
|
||||
@ -270,8 +235,5 @@ self: super: {
|
||||
hls-hlint-plugin = null;
|
||||
hls-retrie-plugin = null;
|
||||
hls-splice-plugin = null;
|
||||
hls-tactics-plugin = null;
|
||||
hls-brittany-plugin = null;
|
||||
hls-stylish-haskell-plugin = null;
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,38 +1,39 @@
|
||||
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml
|
||||
|
||||
compiler: ghc-8.10.7
|
||||
compiler: ghc-9.0.2
|
||||
|
||||
core-packages:
|
||||
- array-0.5.4.0
|
||||
- base-4.14.1.0
|
||||
- base-4.15.1.0
|
||||
- binary-0.8.8.0
|
||||
- bytestring-0.10.12.0
|
||||
- Cabal-3.2.1.0
|
||||
- containers-0.6.2.1
|
||||
- deepseq-1.4.4.0
|
||||
- directory-1.3.6.0
|
||||
- bytestring-0.10.12.1
|
||||
- Cabal-3.4.1.0
|
||||
- containers-0.6.4.1
|
||||
- deepseq-1.4.5.0
|
||||
- directory-1.3.6.2
|
||||
- exceptions-0.10.4
|
||||
- filepath-1.4.2.1
|
||||
- ghc-8.10.4
|
||||
- ghc-boot-8.10.4
|
||||
- ghc-boot-th-8.10.4
|
||||
- ghc-9.0.2
|
||||
- ghc-bignum-1.1
|
||||
- ghc-boot-9.0.2
|
||||
- ghc-boot-th-9.0.2
|
||||
- ghc-compact-0.1.0.0
|
||||
- ghc-heap-8.10.4
|
||||
- ghc-prim-0.6.1
|
||||
- ghci-8.10.4
|
||||
- haskeline-0.8.0.1
|
||||
- ghc-heap-9.0.2
|
||||
- ghc-prim-0.7.0
|
||||
- ghci-9.0.2
|
||||
- haskeline-0.8.2
|
||||
- hpc-0.6.1.0
|
||||
- integer-gmp-1.0.3.0
|
||||
- libiserv-8.10.4
|
||||
- integer-gmp-1.1
|
||||
- libiserv-9.0.2
|
||||
- mtl-2.2.2
|
||||
- parsec-3.1.14.0
|
||||
- pretty-1.1.3.6
|
||||
- process-1.6.9.0
|
||||
- rts-1.0
|
||||
- process-1.6.13.2
|
||||
- rts-1.0.2
|
||||
- stm-2.5.0.0
|
||||
- template-haskell-2.16.0.0
|
||||
- terminfo-0.4.1.4
|
||||
- text-1.2.4.1
|
||||
- template-haskell-2.17.0.0
|
||||
- terminfo-0.4.1.5
|
||||
- text-1.2.5.0
|
||||
- time-1.9.3
|
||||
- transformers-0.5.6.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
|
||||
# not yet available in Nixpkgs
|
||||
- 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 < 1.0.0.0
|
||||
# 2021-09-07: pin to our current GHC version
|
||||
- ghc-api-compat == 8.10.7
|
||||
# 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
|
||||
# 2022-02-18: pin to our current GHC version
|
||||
- ghc-api-compat == 9.0.*
|
||||
# 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
|
||||
# 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)”
|
||||
- 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:
|
||||
# https://github.com/NixOS/nixpkgs/pull/154461#issuecomment-1015511883
|
||||
- hnix < 0.15
|
||||
# needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
|
||||
- http-client-restricted < 0.0.5
|
||||
# Needs dhall 1.41.*, Stackage Nightly has 1.40
|
||||
- dhall-nix < 1.1.24
|
||||
|
||||
extra-packages:
|
||||
- aeson < 2 # required by pantry-0.5.2
|
||||
- base16-bytestring < 1 # required for cabal-install etc.
|
||||
- Cabal == 2.2.* # required for jailbreak-cabal 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
|
||||
- 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
|
||||
- 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
|
||||
- sbv == 7.13 # required for pkgs.petrinizer
|
||||
- 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-lib == 9.0.* # 2021-11-05: Need one GHC 9.0.2 compatible version
|
||||
- ghc-lib-parser == 9.0.* # 2021-11-05: Need one GHC 9.0.2 compatible version
|
||||
- ghc-lib-parser-ex == 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 == 8.10.7.* # 2022-02-17: preserve for GHC 8.10.7
|
||||
- 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.*
|
||||
- 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
|
||||
- ormolu == 0.3.* # 2021-12-03: for HLS with GHC 9.0.2
|
||||
- fourmolu == 0.4.* # 2022-02-05: for HLS with GHC 9.0.2
|
||||
- ormolu == 0.2.* # 2022-02-21: For ghc 8.8 and 8.10
|
||||
- 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:
|
||||
abbradar:
|
||||
@ -191,6 +149,7 @@ package-maintainers:
|
||||
- pretty-simple
|
||||
- purenix
|
||||
- spago
|
||||
- stack
|
||||
- termonad
|
||||
dalpd:
|
||||
- ghc-vis
|
||||
@ -290,7 +249,6 @@ package-maintainers:
|
||||
- cabal-fmt
|
||||
- ema
|
||||
- generic-optics
|
||||
- ghcup
|
||||
- ghcid
|
||||
- ghcide
|
||||
- haskell-language-server
|
||||
@ -436,6 +394,7 @@ unsupported-platforms:
|
||||
bindings-sane: [ x86_64-darwin, aarch64-darwin ]
|
||||
btrfs: [ x86_64-darwin, aarch64-darwin ] # depends on linux
|
||||
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
|
||||
cut-the-crap: [ x86_64-darwin, aarch64-darwin ]
|
||||
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-dbusmenu: [ 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-javascriptcore: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
|
||||
gi-ostree: [ 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-webkit2: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
|
||||
gi-wnck: [ 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-sni-tray: [ 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: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
|
||||
hcwiid: [ x86_64-darwin, aarch64-darwin ]
|
||||
HFuse: [ x86_64-darwin, aarch64-darwin ]
|
||||
hidapi: [ x86_64-darwin, aarch64-darwin ]
|
||||
@ -478,6 +439,11 @@ unsupported-platforms:
|
||||
iwlib: [ x86_64-darwin, aarch64-darwin ]
|
||||
Jazzkell: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
|
||||
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
|
||||
Kulitta: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
|
||||
LambdaHack: [ x86_64-darwin, aarch64-darwin ]
|
||||
@ -494,6 +460,7 @@ unsupported-platforms:
|
||||
linux-namespaces: [ x86_64-darwin, aarch64-darwin ]
|
||||
lio-fs: [ x86_64-darwin, aarch64-darwin ]
|
||||
logging-facade-journald: [ x86_64-darwin, aarch64-darwin ]
|
||||
longshot: [ aarch64-linux ]
|
||||
midi-alsa: [ x86_64-darwin, aarch64-darwin ]
|
||||
mpi-hs: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
|
||||
mpi-hs-binary: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user