Project import generated by Copybara.
GitOrigin-RevId: a371c1071161104d329f6a85d922fd92b7cbab63
This commit is contained in:
parent
727493fff0
commit
7cbac10661
620 changed files with 6824 additions and 3305 deletions
5
third_party/nixpkgs/.editorconfig
vendored
5
third_party/nixpkgs/.editorconfig
vendored
|
@ -76,10 +76,12 @@ trim_trailing_whitespace = unset
|
||||||
|
|
||||||
[pkgs/build-support/dotnetenv/Wrapper/**]
|
[pkgs/build-support/dotnetenv/Wrapper/**]
|
||||||
end_of_line = unset
|
end_of_line = unset
|
||||||
|
indent_style = unset
|
||||||
insert_final_newline = unset
|
insert_final_newline = unset
|
||||||
trim_trailing_whitespace = unset
|
trim_trailing_whitespace = unset
|
||||||
|
|
||||||
[pkgs/build-support/upstream-updater/**]
|
[pkgs/build-support/upstream-updater/**]
|
||||||
|
indent_style = unset
|
||||||
trim_trailing_whitespace = unset
|
trim_trailing_whitespace = unset
|
||||||
|
|
||||||
[pkgs/development/compilers/elm/registry.dat]
|
[pkgs/development/compilers/elm/registry.dat]
|
||||||
|
@ -96,6 +98,9 @@ trim_trailing_whitespace = unset
|
||||||
[pkgs/development/node-packages/composition.nix]
|
[pkgs/development/node-packages/composition.nix]
|
||||||
insert_final_newline = unset
|
insert_final_newline = unset
|
||||||
|
|
||||||
|
[pkgs/development/{perl-modules,ocaml-modules,tools/ocaml}/**]
|
||||||
|
indent_style = unset
|
||||||
|
|
||||||
[pkgs/servers/dict/wordnet_structures.py]
|
[pkgs/servers/dict/wordnet_structures.py]
|
||||||
trim_trailing_whitespace = unset
|
trim_trailing_whitespace = unset
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ name: "Checking EditorConfig"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
branches-ignore:
|
||||||
|
- 'release-**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
tests:
|
||||||
|
@ -23,5 +25,5 @@ jobs:
|
||||||
- name: Checking EditorConfig
|
- name: Checking EditorConfig
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
run: |
|
run: |
|
||||||
./bin/editorconfig-checker -disable-indentation \
|
./bin/editorconfig-checker -disable-indent-size \
|
||||||
${{ env.GIT_DIFF }}
|
${{ env.GIT_DIFF }}
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
<warning>
|
<warning>
|
||||||
<para>
|
<para>
|
||||||
The following section is a draft, and the policy for reviewing is still being discussed in issues such as <link
|
The following section is a draft, and the policy for reviewing is still being discussed in issues such as <link
|
||||||
xlink:href="https://github.com/NixOS/nixpkgs/issues/11166">#11166 </link> and <link
|
xlink:href="https://github.com/NixOS/nixpkgs/issues/11166">#11166 </link> and <link
|
||||||
xlink:href="https://github.com/NixOS/nixpkgs/issues/20836">#20836 </link>.
|
xlink:href="https://github.com/NixOS/nixpkgs/issues/20836">#20836 </link>.
|
||||||
</para>
|
</para>
|
||||||
</warning>
|
</warning>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -64,9 +64,9 @@ $ dotnet --info
|
||||||
|
|
||||||
The `dotnetCorePackages.sdk_X_Y` is preferred over the old dotnet-sdk as both major and minor version are very important for a dotnet environment. If a given minor version isn't present (or was changed), then this will likely break your ability to build a project.
|
The `dotnetCorePackages.sdk_X_Y` is preferred over the old dotnet-sdk as both major and minor version are very important for a dotnet environment. If a given minor version isn't present (or was changed), then this will likely break your ability to build a project.
|
||||||
|
|
||||||
## dotnetCorePackages.sdk vs dotnetCorePackages.netcore vs dotnetCorePackages.aspnetcore
|
## dotnetCorePackages.sdk vs vs dotnetCorePackages.net vs dotnetCorePackages.netcore vs dotnetCorePackages.aspnetcore
|
||||||
|
|
||||||
The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given version. The `netcore` and `aspnetcore` packages are meant to serve as minimal runtimes to deploy alongside already built applications.
|
The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given version. The `net`, `netcore` and `aspnetcore` packages are meant to serve as minimal runtimes to deploy alongside already built applications. For runtime versions >= .NET 5 `net` is used while `netcore` is used for older .NET Core runtime version.
|
||||||
|
|
||||||
## Packaging a Dotnet Application
|
## Packaging a Dotnet Application
|
||||||
|
|
||||||
|
|
3
third_party/nixpkgs/doc/stdenv/meta.xml
vendored
3
third_party/nixpkgs/doc/stdenv/meta.xml
vendored
|
@ -189,8 +189,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
|
||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
A list of names and e-mail addresses of the maintainers of this Nix expression. If you would like to be a maintainer of a package, you may want to add yourself to <link
|
A list of the maintainers of this Nix expression. Maintainers are defined in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix"><filename>nixpkgs/maintainers/maintainer-list.nix</filename></link>. There is no restriction to becoming a maintainer, just add yourself to that list in a separate commit titled 'maintainers: add alice', and reference maintainers with <literal>maintainers = with lib.maintainers; [ alice bob ]</literal>.
|
||||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix"><filename>nixpkgs/maintainers/maintainer-list.nix</filename></link> and write something like <literal>[ stdenv.lib.maintainers.alice stdenv.lib.maintainers.bob ]</literal>.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
8
third_party/nixpkgs/lib/strings.nix
vendored
8
third_party/nixpkgs/lib/strings.nix
vendored
|
@ -561,7 +561,9 @@ rec {
|
||||||
enableFeature false "shared"
|
enableFeature false "shared"
|
||||||
=> "--disable-shared"
|
=> "--disable-shared"
|
||||||
*/
|
*/
|
||||||
enableFeature = enable: feat: "--${if enable then "enable" else "disable"}-${feat}";
|
enableFeature = enable: feat:
|
||||||
|
assert isString feat; # e.g. passing openssl instead of "openssl"
|
||||||
|
"--${if enable then "enable" else "disable"}-${feat}";
|
||||||
|
|
||||||
/* Create an --{enable-<feat>=<value>,disable-<feat>} string that can be passed to
|
/* Create an --{enable-<feat>=<value>,disable-<feat>} string that can be passed to
|
||||||
standard GNU Autoconf scripts.
|
standard GNU Autoconf scripts.
|
||||||
|
@ -583,7 +585,9 @@ rec {
|
||||||
withFeature false "shared"
|
withFeature false "shared"
|
||||||
=> "--without-shared"
|
=> "--without-shared"
|
||||||
*/
|
*/
|
||||||
withFeature = with_: feat: "--${if with_ then "with" else "without"}-${feat}";
|
withFeature = with_: feat:
|
||||||
|
assert isString feat; # e.g. passing openssl instead of "openssl"
|
||||||
|
"--${if with_ then "with" else "without"}-${feat}";
|
||||||
|
|
||||||
/* Create an --{with-<feat>=<value>,without-<feat>} string that can be passed to
|
/* Create an --{with-<feat>=<value>,without-<feat>} string that can be passed to
|
||||||
standard GNU Autoconf scripts.
|
standard GNU Autoconf scripts.
|
||||||
|
|
|
@ -1272,6 +1272,12 @@
|
||||||
githubId = 7214361;
|
githubId = 7214361;
|
||||||
name = "Roman Gerasimenko";
|
name = "Roman Gerasimenko";
|
||||||
};
|
};
|
||||||
|
bburdette = {
|
||||||
|
email = "bburdette@protonmail.com";
|
||||||
|
github = "bburdette";
|
||||||
|
githubId = 157330;
|
||||||
|
name = "Ben Burdette";
|
||||||
|
};
|
||||||
bzizou = {
|
bzizou = {
|
||||||
email = "Bruno@bzizou.net";
|
email = "Bruno@bzizou.net";
|
||||||
github = "bzizou";
|
github = "bzizou";
|
||||||
|
@ -2833,6 +2839,12 @@
|
||||||
fingerprint = "50B7 11F4 3DFD 2018 DCE6 E8D0 8A52 A140 BEBF 7D2C";
|
fingerprint = "50B7 11F4 3DFD 2018 DCE6 E8D0 8A52 A140 BEBF 7D2C";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
fabianhjr = {
|
||||||
|
email = "fabianhjr@protonmail.com";
|
||||||
|
github = "fabianhjr";
|
||||||
|
githubId = 303897;
|
||||||
|
name = "Fabián Heredia Montiel";
|
||||||
|
};
|
||||||
fadenb = {
|
fadenb = {
|
||||||
email = "tristan.helmich+nixos@gmail.com";
|
email = "tristan.helmich+nixos@gmail.com";
|
||||||
github = "fadenb";
|
github = "fadenb";
|
||||||
|
@ -3871,6 +3883,8 @@
|
||||||
};
|
};
|
||||||
jcumming = {
|
jcumming = {
|
||||||
email = "jack@mudshark.org";
|
email = "jack@mudshark.org";
|
||||||
|
github = "jcumming";
|
||||||
|
githubId = 1982341;
|
||||||
name = "Jack Cummings";
|
name = "Jack Cummings";
|
||||||
};
|
};
|
||||||
jD91mZM2 = {
|
jD91mZM2 = {
|
||||||
|
@ -9958,4 +9972,10 @@
|
||||||
githubId = 19290397;
|
githubId = 19290397;
|
||||||
name = "Tunc Uzlu";
|
name = "Tunc Uzlu";
|
||||||
};
|
};
|
||||||
|
pulsation = {
|
||||||
|
name = "Philippe Sam-Long";
|
||||||
|
email = "1838397+pulsation@users.noreply.github.com";
|
||||||
|
github = "pulsation";
|
||||||
|
githubId = 1838397;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,16 +65,16 @@ Platform Vendor Advanced Micro Devices, Inc.</screen>
|
||||||
<title>AMD</title>
|
<title>AMD</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Modern AMD <link
|
Modern AMD <link
|
||||||
xlink:href="https://en.wikipedia.org/wiki/Graphics_Core_Next">Graphics
|
xlink:href="https://en.wikipedia.org/wiki/Graphics_Core_Next">Graphics
|
||||||
Core Next</link> (GCN) GPUs are supported through the
|
Core Next</link> (GCN) GPUs are supported through the
|
||||||
<package>rocm-opencl-icd</package> package. Adding this package to
|
<package>rocm-opencl-icd</package> package. Adding this package to
|
||||||
<xref linkend="opt-hardware.opengl.extraPackages"/> enables OpenCL
|
<xref linkend="opt-hardware.opengl.extraPackages"/> enables OpenCL
|
||||||
support:
|
support:
|
||||||
|
|
||||||
<programlisting><xref linkend="opt-hardware.opengl.extraPackages"/> = [
|
<programlisting><xref linkend="opt-hardware.opengl.extraPackages"/> = [
|
||||||
rocm-opencl-icd
|
rocm-opencl-icd
|
||||||
];</programlisting>
|
];</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -100,9 +100,9 @@ Platform Vendor Advanced Micro Devices, Inc.</screen>
|
||||||
support. For example, for Gen8 and later GPUs, the following
|
support. For example, for Gen8 and later GPUs, the following
|
||||||
configuration can be used:
|
configuration can be used:
|
||||||
|
|
||||||
<programlisting><xref linkend="opt-hardware.opengl.extraPackages"/> = [
|
<programlisting><xref linkend="opt-hardware.opengl.extraPackages"/> = [
|
||||||
intel-compute-runtime
|
intel-compute-runtime
|
||||||
];</programlisting>
|
];</programlisting>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
@ -173,31 +173,31 @@ GPU1:
|
||||||
<title>AMD</title>
|
<title>AMD</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Modern AMD <link
|
Modern AMD <link
|
||||||
xlink:href="https://en.wikipedia.org/wiki/Graphics_Core_Next">Graphics
|
xlink:href="https://en.wikipedia.org/wiki/Graphics_Core_Next">Graphics
|
||||||
Core Next</link> (GCN) GPUs are supported through either radv, which is
|
Core Next</link> (GCN) GPUs are supported through either radv, which is
|
||||||
part of <package>mesa</package>, or the <package>amdvlk</package> package.
|
part of <package>mesa</package>, or the <package>amdvlk</package> package.
|
||||||
Adding the <package>amdvlk</package> package to
|
Adding the <package>amdvlk</package> package to
|
||||||
<xref linkend="opt-hardware.opengl.extraPackages"/> makes both drivers
|
<xref linkend="opt-hardware.opengl.extraPackages"/> makes both drivers
|
||||||
available for applications and lets them choose. A specific driver can
|
available for applications and lets them choose. A specific driver can
|
||||||
be forced as follows:
|
be forced as follows:
|
||||||
|
|
||||||
<programlisting><xref linkend="opt-hardware.opengl.extraPackages"/> = [
|
<programlisting><xref linkend="opt-hardware.opengl.extraPackages"/> = [
|
||||||
pkgs.<package>amdvlk</package>
|
pkgs.<package>amdvlk</package>
|
||||||
];
|
];
|
||||||
|
|
||||||
# To enable Vulkan support for 32-bit applications, also add:
|
# To enable Vulkan support for 32-bit applications, also add:
|
||||||
<xref linkend="opt-hardware.opengl.extraPackages32"/> = [
|
<xref linkend="opt-hardware.opengl.extraPackages32"/> = [
|
||||||
pkgs.driversi686Linux.<package>amdvlk</package>
|
pkgs.driversi686Linux.<package>amdvlk</package>
|
||||||
];
|
];
|
||||||
|
|
||||||
# For amdvlk
|
# For amdvlk
|
||||||
<xref linkend="opt-environment.variables"/>.VK_ICD_FILENAMES =
|
<xref linkend="opt-environment.variables"/>.VK_ICD_FILENAMES =
|
||||||
"/run/opengl-driver/share/vulkan/icd.d/amd_icd64.json";
|
"/run/opengl-driver/share/vulkan/icd.d/amd_icd64.json";
|
||||||
# For radv
|
# For radv
|
||||||
<xref linkend="opt-environment.variables"/>.VK_ICD_FILENAMES =
|
<xref linkend="opt-environment.variables"/>.VK_ICD_FILENAMES =
|
||||||
"/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json";
|
"/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json";
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -12,7 +12,7 @@ xlink:href="https://github.com/NixOS/nixpkgs">Nixpkgs</link> repository.
|
||||||
You can quickly check your edits with the following:
|
You can quickly check your edits with the following:
|
||||||
</para>
|
</para>
|
||||||
<screen>
|
<screen>
|
||||||
<prompt>$ </prompt>cd /path/to/nixpkgs/nixos/doc/manual
|
<prompt>$ </prompt>cd /path/to/nixpkgs
|
||||||
<prompt>$ </prompt>nix-build nixos/release.nix -A manual.x86_64-linux
|
<prompt>$ </prompt>nix-build nixos/release.nix -A manual.x86_64-linux
|
||||||
</screen>
|
</screen>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -1593,30 +1593,30 @@ services.transmission.settings.rpc-bind-address = "0.0.0.0";
|
||||||
<para>
|
<para>
|
||||||
Agda has been heavily reworked.
|
Agda has been heavily reworked.
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<literal>agda.mkDerivation</literal> has been heavily changed and
|
<literal>agda.mkDerivation</literal> has been heavily changed and
|
||||||
is now located at <package>agdaPackages.mkDerivation</package>.
|
is now located at <package>agdaPackages.mkDerivation</package>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
New top-level packages <package>agda</package> and
|
New top-level packages <package>agda</package> and
|
||||||
<literal>agda.withPackages</literal> have been added, the second
|
<literal>agda.withPackages</literal> have been added, the second
|
||||||
of which sets up agda with access to chosen libraries.
|
of which sets up agda with access to chosen libraries.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
All agda libraries now live under
|
All agda libraries now live under
|
||||||
<literal>agdaPackages</literal>.
|
<literal>agdaPackages</literal>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Many broken libraries have been removed.
|
Many broken libraries have been removed.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
See the <link
|
See the <link
|
||||||
xlink:href="https://nixos.org/nixpkgs/manual/#agda">new
|
xlink:href="https://nixos.org/nixpkgs/manual/#agda">new
|
||||||
|
|
|
@ -23,6 +23,9 @@
|
||||||
Support is planned until the end of October 2021, handing over to 21.09.
|
Support is planned until the end of October 2021, handing over to 21.09.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>GNOME desktop environment was upgraded to 3.38, see its <link xlink:href="https://help.gnome.org/misc/release-notes/3.38/">release notes</link>.</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -143,6 +146,20 @@
|
||||||
<link xlink:href="http://www.mutt.org/relnotes/2.0/">release notes for Mutt 2.0</link>.
|
<link xlink:href="http://www.mutt.org/relnotes/2.0/">release notes for Mutt 2.0</link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>vim</literal> switched to Python 3, dropping all Python 2 support.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link linkend="opt-boot.zfs.forceImportAll">boot.zfs.forceImportAll</link>
|
||||||
|
previously did nothing, but has been fixed. However its default has been
|
||||||
|
changed to <literal>false</literal> to preserve the existing default
|
||||||
|
behaviour. If you have this explicitly set to <literal>true</literal>,
|
||||||
|
please note that your non-root pools will now be forcibly imported.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@ require "rexml/document"
|
||||||
include REXML
|
include REXML
|
||||||
|
|
||||||
if ARGV.length < 1 then
|
if ARGV.length < 1 then
|
||||||
$stderr.puts "Needs a filename."
|
$stderr.puts "Needs a filename."
|
||||||
exit 1
|
exit 1
|
||||||
end
|
end
|
||||||
|
|
||||||
filename = ARGV.shift
|
filename = ARGV.shift
|
||||||
|
@ -51,17 +51,17 @@ $touched = false
|
||||||
# Generates: --optionnamevalue
|
# Generates: --optionnamevalue
|
||||||
# ^^ ^^
|
# ^^ ^^
|
||||||
doc.elements.each("//varlistentry/term") do |term|
|
doc.elements.each("//varlistentry/term") do |term|
|
||||||
["varname", "function", "option", "replaceable"].each do |prev_name|
|
["varname", "function", "option", "replaceable"].each do |prev_name|
|
||||||
term.elements.each(prev_name) do |el|
|
term.elements.each(prev_name) do |el|
|
||||||
if el.next_element and
|
if el.next_element and
|
||||||
el.next_element.name == "replaceable" and
|
el.next_element.name == "replaceable" and
|
||||||
el.next_sibling_node.class == Element
|
el.next_sibling_node.class == Element
|
||||||
then
|
then
|
||||||
$touched = true
|
$touched = true
|
||||||
term.insert_after(el, Text.new(" "))
|
term.insert_after(el, Text.new(" "))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,17 +75,17 @@ end
|
||||||
# Generates: -Ipath
|
# Generates: -Ipath
|
||||||
# ^^
|
# ^^
|
||||||
doc.elements.each("//cmdsynopsis/arg") do |term|
|
doc.elements.each("//cmdsynopsis/arg") do |term|
|
||||||
["option", "replaceable"].each do |prev_name|
|
["option", "replaceable"].each do |prev_name|
|
||||||
term.elements.each(prev_name) do |el|
|
term.elements.each(prev_name) do |el|
|
||||||
if el.next_element and
|
if el.next_element and
|
||||||
el.next_element.name == "replaceable" and
|
el.next_element.name == "replaceable" and
|
||||||
el.next_sibling_node.class == Element
|
el.next_sibling_node.class == Element
|
||||||
then
|
then
|
||||||
$touched = true
|
$touched = true
|
||||||
term.insert_after(el, Text.new(" "))
|
term.insert_after(el, Text.new(" "))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# <cmdsynopsis>
|
# <cmdsynopsis>
|
||||||
|
@ -104,21 +104,21 @@ end
|
||||||
# Generates: [{--profile-name | -p }name]
|
# Generates: [{--profile-name | -p }name]
|
||||||
# ^^^^
|
# ^^^^
|
||||||
doc.elements.each("//cmdsynopsis/arg") do |term|
|
doc.elements.each("//cmdsynopsis/arg") do |term|
|
||||||
["group"].each do |prev_name|
|
["group"].each do |prev_name|
|
||||||
term.elements.each(prev_name) do |el|
|
term.elements.each(prev_name) do |el|
|
||||||
if el.next_element and
|
if el.next_element and
|
||||||
el.next_element.name == "replaceable" and
|
el.next_element.name == "replaceable" and
|
||||||
el.next_sibling_node.class == Element
|
el.next_sibling_node.class == Element
|
||||||
then
|
then
|
||||||
$touched = true
|
$touched = true
|
||||||
term.insert_after(el, Text.new(" "))
|
term.insert_after(el, Text.new(" "))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
if $touched then
|
if $touched then
|
||||||
doc.context[:attribute_quote] = :quote
|
doc.context[:attribute_quote] = :quote
|
||||||
doc.write(output: File.open(filename, "w"))
|
doc.write(output: File.open(filename, "w"))
|
||||||
end
|
end
|
||||||
|
|
|
@ -36,6 +36,8 @@ let
|
||||||
${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"}
|
${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"}
|
||||||
${addModuleIf cfg.tcp.enable (concatStringsSep " "
|
${addModuleIf cfg.tcp.enable (concatStringsSep " "
|
||||||
([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))}
|
([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))}
|
||||||
|
${addModuleIf config.services.jack.jackd.enable "module-jack-sink"}
|
||||||
|
${addModuleIf config.services.jack.jackd.enable "module-jack-source"}
|
||||||
${cfg.extraConfig}
|
${cfg.extraConfig}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -144,7 +146,9 @@ in {
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.pulseaudio;
|
default = if config.services.jack.jackd.enable
|
||||||
|
then pkgs.pulseaudioFull
|
||||||
|
else pkgs.pulseaudio;
|
||||||
defaultText = "pkgs.pulseaudio";
|
defaultText = "pkgs.pulseaudio";
|
||||||
example = literalExample "pkgs.pulseaudioFull";
|
example = literalExample "pkgs.pulseaudioFull";
|
||||||
description = ''
|
description = ''
|
||||||
|
@ -259,7 +263,7 @@ in {
|
||||||
(drv: drv.override { pulseaudio = overriddenPackage; })
|
(drv: drv.override { pulseaudio = overriddenPackage; })
|
||||||
cfg.extraModules;
|
cfg.extraModules;
|
||||||
modulePaths = builtins.map
|
modulePaths = builtins.map
|
||||||
(drv: "${drv}/lib/pulse-${overriddenPackage.version}/modules")
|
(drv: "${drv}/${overriddenPackage.pulseDir}/modules")
|
||||||
# User-provided extra modules take precedence
|
# User-provided extra modules take precedence
|
||||||
(overriddenModules ++ [ overriddenPackage ]);
|
(overriddenModules ++ [ overriddenPackage ]);
|
||||||
in lib.concatStringsSep ":" modulePaths;
|
in lib.concatStringsSep ":" modulePaths;
|
||||||
|
@ -284,6 +288,8 @@ in {
|
||||||
RestartSec = "500ms";
|
RestartSec = "500ms";
|
||||||
PassEnvironment = "DISPLAY";
|
PassEnvironment = "DISPLAY";
|
||||||
};
|
};
|
||||||
|
} // optionalAttrs config.services.jack.jackd.enable {
|
||||||
|
environment.JACK_PROMISCUOUS_SERVER = "jackaudio";
|
||||||
};
|
};
|
||||||
sockets.pulseaudio = {
|
sockets.pulseaudio = {
|
||||||
wantedBy = [ "sockets.target" ];
|
wantedBy = [ "sockets.target" ];
|
||||||
|
|
|
@ -19,6 +19,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [ acpilight ];
|
||||||
services.udev.packages = with pkgs; [ acpilight ];
|
services.udev.packages = with pkgs; [ acpilight ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -542,6 +542,7 @@
|
||||||
./services/monitoring/kapacitor.nix
|
./services/monitoring/kapacitor.nix
|
||||||
./services/monitoring/loki.nix
|
./services/monitoring/loki.nix
|
||||||
./services/monitoring/longview.nix
|
./services/monitoring/longview.nix
|
||||||
|
./services/monitoring/mackerel-agent.nix
|
||||||
./services/monitoring/monit.nix
|
./services/monitoring/monit.nix
|
||||||
./services/monitoring/munin.nix
|
./services/monitoring/munin.nix
|
||||||
./services/monitoring/nagios.nix
|
./services/monitoring/nagios.nix
|
||||||
|
|
|
@ -142,6 +142,13 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.useSTARTTLS -> cfg.useTLS;
|
||||||
|
message = "services.ssmtp.useSTARTTLS has no effect without services.ssmtp.useTLS";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.ssmtp.settings = mkMerge [
|
services.ssmtp.settings = mkMerge [
|
||||||
({
|
({
|
||||||
MailHub = cfg.hostName;
|
MailHub = cfg.hostName;
|
||||||
|
|
|
@ -246,6 +246,9 @@ in {
|
||||||
description = "JACK Audio Connection Kit";
|
description = "JACK Audio Connection Kit";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = "jackaudio";
|
User = "jackaudio";
|
||||||
|
SupplementaryGroups = lib.optional
|
||||||
|
(config.hardware.pulseaudio.enable
|
||||||
|
&& !config.hardware.pulseaudio.systemWide) "users";
|
||||||
ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}";
|
ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}";
|
||||||
LimitRTPRIO = 99;
|
LimitRTPRIO = 99;
|
||||||
LimitMEMLOCK = "infinity";
|
LimitMEMLOCK = "infinity";
|
||||||
|
|
|
@ -38,6 +38,11 @@ with lib;
|
||||||
|
|
||||||
services.dbus.packages = [ pkgs.telepathy-mission-control ];
|
services.dbus.packages = [ pkgs.telepathy-mission-control ];
|
||||||
|
|
||||||
|
# Enable runtime optional telepathy in gnome-shell
|
||||||
|
services.xserver.desktopManager.gnome3.sessionPath = with pkgs; [
|
||||||
|
telepathy-glib
|
||||||
|
telepathy-logger
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,8 @@ in {
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = mkEnableOption "support for Bluetooth";
|
enable = mkEnableOption "support for Bluetooth";
|
||||||
|
|
||||||
|
hsphfpd.enable = mkEnableOption "support for hsphfpd[-prototype] implementation";
|
||||||
|
|
||||||
powerOnBoot = mkOption {
|
powerOnBoot = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
|
@ -72,7 +74,8 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ bluez-bluetooth ];
|
environment.systemPackages = [ bluez-bluetooth ]
|
||||||
|
++ optionals cfg.hsphfpd.enable [ pkgs.hsphfpd ];
|
||||||
|
|
||||||
environment.etc."bluetooth/main.conf"= {
|
environment.etc."bluetooth/main.conf"= {
|
||||||
source = pkgs.writeText "main.conf"
|
source = pkgs.writeText "main.conf"
|
||||||
|
@ -80,7 +83,8 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.packages = [ bluez-bluetooth ];
|
services.udev.packages = [ bluez-bluetooth ];
|
||||||
services.dbus.packages = [ bluez-bluetooth ];
|
services.dbus.packages = [ bluez-bluetooth ]
|
||||||
|
++ optionals cfg.hsphfpd.enable [ pkgs.hsphfpd ];
|
||||||
systemd.packages = [ bluez-bluetooth ];
|
systemd.packages = [ bluez-bluetooth ];
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
|
@ -90,11 +94,31 @@ in {
|
||||||
# restarting can leave people without a mouse/keyboard
|
# restarting can leave people without a mouse/keyboard
|
||||||
unitConfig.X-RestartIfChanged = false;
|
unitConfig.X-RestartIfChanged = false;
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
|
// (optionalAttrs cfg.hsphfpd.enable {
|
||||||
|
hsphfpd = {
|
||||||
|
after = [ "bluetooth.service" ];
|
||||||
|
requires = [ "bluetooth.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
description = "A prototype implementation used for connecting HSP/HFP Bluetooth devices";
|
||||||
|
serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/hsphfpd.pl";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
;
|
||||||
|
|
||||||
systemd.user.services = {
|
systemd.user.services = {
|
||||||
obex.aliases = [ "dbus-org.bluez.obex.service" ];
|
obex.aliases = [ "dbus-org.bluez.obex.service" ];
|
||||||
};
|
}
|
||||||
|
// (optionalAttrs cfg.hsphfpd.enable {
|
||||||
|
telephony_client = {
|
||||||
|
wantedBy = [ "default.target"];
|
||||||
|
|
||||||
|
description = "telephony_client for hsphfpd";
|
||||||
|
serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/telephony_client.pl";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,8 @@ let
|
||||||
"fwupd/daemon.conf" = {
|
"fwupd/daemon.conf" = {
|
||||||
source = pkgs.writeText "daemon.conf" ''
|
source = pkgs.writeText "daemon.conf" ''
|
||||||
[fwupd]
|
[fwupd]
|
||||||
BlacklistDevices=${lib.concatStringsSep ";" cfg.blacklistDevices}
|
DisabledDevices=${lib.concatStringsSep ";" cfg.disabledDevices}
|
||||||
BlacklistPlugins=${lib.concatStringsSep ";" cfg.blacklistPlugins}
|
DisabledPlugins=${lib.concatStringsSep ";" cfg.disabledPlugins}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"fwupd/uefi.conf" = {
|
"fwupd/uefi.conf" = {
|
||||||
|
@ -59,21 +59,21 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
blacklistDevices = mkOption {
|
disabledDevices = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ];
|
example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ];
|
||||||
description = ''
|
description = ''
|
||||||
Allow blacklisting specific devices by their GUID
|
Allow disabling specific devices by their GUID
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
blacklistPlugins = mkOption {
|
disabledPlugins = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "udev" ];
|
example = [ "udev" ];
|
||||||
description = ''
|
description = ''
|
||||||
Allow blacklisting specific plugins
|
Allow disabling specific plugins
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -105,11 +105,15 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(mkRenamedOptionModule [ "services" "fwupd" "blacklistDevices"] [ "services" "fwupd" "disabledDevices" ])
|
||||||
|
(mkRenamedOptionModule [ "services" "fwupd" "blacklistPlugins"] [ "services" "fwupd" "disabledPlugins" ])
|
||||||
|
];
|
||||||
|
|
||||||
###### implementation
|
###### implementation
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
# Disable test related plug-ins implicitly so that users do not have to care about them.
|
# Disable test related plug-ins implicitly so that users do not have to care about them.
|
||||||
services.fwupd.blacklistPlugins = cfg.package.defaultBlacklistedPlugins;
|
services.fwupd.disabledPlugins = cfg.package.defaultDisabledPlugins;
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
|
|
|
@ -6,25 +6,14 @@ let
|
||||||
echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq 'del(._module)' > $out
|
echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq 'del(._module)' > $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
allowSystemdJournal = cfg.configuration ? scrape_configs && lib.any (v: v ? journal) cfg.configuration.scrape_configs;
|
||||||
in {
|
in {
|
||||||
options.services.promtail = with types; {
|
options.services.promtail = with types; {
|
||||||
enable = mkEnableOption "the Promtail ingresser";
|
enable = mkEnableOption "the Promtail ingresser";
|
||||||
|
|
||||||
|
|
||||||
configuration = mkOption {
|
configuration = mkOption {
|
||||||
type = with lib.types; let
|
type = (pkgs.formats.json {}).type;
|
||||||
valueType = nullOr (oneOf [
|
|
||||||
bool
|
|
||||||
int
|
|
||||||
float
|
|
||||||
str
|
|
||||||
(lazyAttrsOf valueType)
|
|
||||||
(listOf valueType)
|
|
||||||
]) // {
|
|
||||||
description = "JSON value";
|
|
||||||
emptyValue.value = {};
|
|
||||||
deprecationMessage = null;
|
|
||||||
};
|
|
||||||
in valueType;
|
|
||||||
description = ''
|
description = ''
|
||||||
Specify the configuration for Promtail in Nix.
|
Specify the configuration for Promtail in Nix.
|
||||||
'';
|
'';
|
||||||
|
@ -80,6 +69,8 @@ in {
|
||||||
RestrictRealtime = true;
|
RestrictRealtime = true;
|
||||||
MemoryDenyWriteExecute = true;
|
MemoryDenyWriteExecute = true;
|
||||||
PrivateUsers = true;
|
PrivateUsers = true;
|
||||||
|
|
||||||
|
SupplementaryGroups = lib.optional (allowSystemdJournal) "systemd-journal";
|
||||||
} // (optionalAttrs (!pkgs.stdenv.isAarch64) { # FIXME: figure out why this breaks on aarch64
|
} // (optionalAttrs (!pkgs.stdenv.isAarch64) { # FIXME: figure out why this breaks on aarch64
|
||||||
SystemCallFilter = "@system-service";
|
SystemCallFilter = "@system-service";
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,6 +6,12 @@ let
|
||||||
cfg = config.services.cfdyndns;
|
cfg = config.services.cfdyndns;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
(mkRemovedOptionModule
|
||||||
|
[ "services" "cfdyndns" "apikey" ]
|
||||||
|
"Use services.cfdyndns.apikeyFile instead.")
|
||||||
|
];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
services.cfdyndns = {
|
services.cfdyndns = {
|
||||||
enable = mkEnableOption "Cloudflare Dynamic DNS Client";
|
enable = mkEnableOption "Cloudflare Dynamic DNS Client";
|
||||||
|
@ -17,10 +23,12 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
apikey = mkOption {
|
apikeyFile = mkOption {
|
||||||
type = types.str;
|
default = null;
|
||||||
|
type = types.nullOr types.str;
|
||||||
description = ''
|
description = ''
|
||||||
The API Key to use to authenticate to CloudFlare.
|
The path to a file containing the API Key
|
||||||
|
used to authenticate with CloudFlare.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -45,13 +53,17 @@ in
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
User = config.ids.uids.cfdyndns;
|
User = config.ids.uids.cfdyndns;
|
||||||
Group = config.ids.gids.cfdyndns;
|
Group = config.ids.gids.cfdyndns;
|
||||||
ExecStart = "/bin/sh -c '${pkgs.cfdyndns}/bin/cfdyndns'";
|
|
||||||
};
|
};
|
||||||
environment = {
|
environment = {
|
||||||
CLOUDFLARE_EMAIL="${cfg.email}";
|
CLOUDFLARE_EMAIL="${cfg.email}";
|
||||||
CLOUDFLARE_APIKEY="${cfg.apikey}";
|
|
||||||
CLOUDFLARE_RECORDS="${concatStringsSep "," cfg.records}";
|
CLOUDFLARE_RECORDS="${concatStringsSep "," cfg.records}";
|
||||||
};
|
};
|
||||||
|
script = ''
|
||||||
|
${optionalString (cfg.apikeyFile != null) ''
|
||||||
|
export CLOUDFLARE_APIKEY="$(cat ${escapeShellArg cfg.apikeyFile})"
|
||||||
|
''}
|
||||||
|
${pkgs.cfdyndns}/bin/cfdyndns
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users = {
|
users.users = {
|
||||||
|
|
|
@ -39,7 +39,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
configuration = mkOption {
|
configuration = mkOption {
|
||||||
type = types.attrs;
|
type = (pkgs.formats.json {}).type;
|
||||||
default = {};
|
default = {};
|
||||||
description = ''
|
description = ''
|
||||||
Specify the configuration for Loki in Nix.
|
Specify the configuration for Loki in Nix.
|
||||||
|
@ -78,6 +78,8 @@ in {
|
||||||
'';
|
'';
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.grafana-loki ]; # logcli
|
||||||
|
|
||||||
users.groups.${cfg.group} = { };
|
users.groups.${cfg.group} = { };
|
||||||
users.users.${cfg.user} = {
|
users.users.${cfg.user} = {
|
||||||
description = "Loki Service User";
|
description = "Loki Service User";
|
||||||
|
|
111
third_party/nixpkgs/nixos/modules/services/monitoring/mackerel-agent.nix
vendored
Normal file
111
third_party/nixpkgs/nixos/modules/services/monitoring/mackerel-agent.nix
vendored
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.mackerel-agent;
|
||||||
|
settingsFmt = pkgs.formats.toml {};
|
||||||
|
in {
|
||||||
|
options.services.mackerel-agent = {
|
||||||
|
enable = mkEnableOption "mackerel.io agent";
|
||||||
|
|
||||||
|
# the upstream package runs as root, but doesn't seem to be strictly
|
||||||
|
# necessary for basic functionality
|
||||||
|
runAsRoot = mkEnableOption "Whether to run as root.";
|
||||||
|
|
||||||
|
autoRetirement = mkEnableOption ''
|
||||||
|
Whether to automatically retire the host upon OS shutdown.
|
||||||
|
'';
|
||||||
|
|
||||||
|
apiKeyFile = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = "";
|
||||||
|
example = "/run/keys/mackerel-api-key";
|
||||||
|
description = ''
|
||||||
|
Path to file containing the Mackerel API key. The file should contain a
|
||||||
|
single line of the following form:
|
||||||
|
|
||||||
|
<literallayout>apikey = "EXAMPLE_API_KEY"</literallayout>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
description = ''
|
||||||
|
Options for mackerel-agent.conf.
|
||||||
|
|
||||||
|
Documentation:
|
||||||
|
<link xlink:href="https://mackerel.io/docs/entry/spec/agent"/>
|
||||||
|
'';
|
||||||
|
|
||||||
|
default = {};
|
||||||
|
example = {
|
||||||
|
verbose = false;
|
||||||
|
silent = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
type = types.submodule {
|
||||||
|
freeformType = settingsFmt.type;
|
||||||
|
|
||||||
|
options.host_status = {
|
||||||
|
on_start = mkOption {
|
||||||
|
type = types.enum [ "working" "standby" "maintenance" "poweroff" ];
|
||||||
|
description = "Host status after agent startup.";
|
||||||
|
default = "working";
|
||||||
|
};
|
||||||
|
on_stop = mkOption {
|
||||||
|
type = types.enum [ "working" "standby" "maintenance" "poweroff" ];
|
||||||
|
description = "Host status after agent shutdown.";
|
||||||
|
default = "poweroff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
options.diagnostic =
|
||||||
|
mkEnableOption "Collect memory usage for the agent itself";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [ mackerel-agent ];
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
"mackerel-agent/mackerel-agent.conf".source =
|
||||||
|
settingsFmt.generate "mackerel-agent.conf" cfg.settings;
|
||||||
|
"mackerel-agent/conf.d/api-key.conf".source = cfg.apiKeyFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mackerel-agent.settings = {
|
||||||
|
root = mkDefault "/var/lib/mackerel-agent";
|
||||||
|
pidfile = mkDefault "/run/mackerel-agent/mackerel-agent.pid";
|
||||||
|
|
||||||
|
# conf.d stores the symlink to cfg.apiKeyFile
|
||||||
|
include = mkDefault "/etc/mackerel-agent/conf.d/*.conf";
|
||||||
|
};
|
||||||
|
|
||||||
|
# upstream service file in https://git.io/JUt4Q
|
||||||
|
systemd.services.mackerel-agent = {
|
||||||
|
description = "mackerel.io agent";
|
||||||
|
after = [ "network-online.target" "nss-lookup.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
environment = {
|
||||||
|
MACKEREL_PLUGIN_WORKDIR = mkDefault "%C/mackerel-agent";
|
||||||
|
};
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = !cfg.runAsRoot;
|
||||||
|
PrivateTmp = mkDefault true;
|
||||||
|
CacheDirectory = "mackerel-agent";
|
||||||
|
ConfigurationDirectory = "mackerel-agent";
|
||||||
|
RuntimeDirectory = "mackerel-agent";
|
||||||
|
StateDirectory = "mackerel-agent";
|
||||||
|
ExecStart = "${pkgs.mackerel-agent}/bin/mackerel-agent supervise";
|
||||||
|
ExecStopPost = mkIf cfg.autoRetirement "${pkg.mackerel-agent}/bin/mackerel-agent retire -force";
|
||||||
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
|
LimitNOFILE = mkDefault 65536;
|
||||||
|
LimitNPROC = mkDefault 65536;
|
||||||
|
};
|
||||||
|
restartTriggers = [
|
||||||
|
config.environment.etc."mackerel-agent/mackerel-agent.conf".source
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -73,6 +73,7 @@ in
|
||||||
core-os-services.enable = mkEnableOption "essential services for GNOME3";
|
core-os-services.enable = mkEnableOption "essential services for GNOME3";
|
||||||
core-shell.enable = mkEnableOption "GNOME Shell services";
|
core-shell.enable = mkEnableOption "GNOME Shell services";
|
||||||
core-utilities.enable = mkEnableOption "GNOME core utilities";
|
core-utilities.enable = mkEnableOption "GNOME core utilities";
|
||||||
|
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
|
||||||
games.enable = mkEnableOption "GNOME games";
|
games.enable = mkEnableOption "GNOME games";
|
||||||
|
|
||||||
experimental-features = {
|
experimental-features = {
|
||||||
|
@ -322,6 +323,12 @@ in
|
||||||
gnome-shell
|
gnome-shell
|
||||||
];
|
];
|
||||||
|
|
||||||
|
services.udev.packages = with pkgs.gnome3; [
|
||||||
|
# Force enable KMS modifiers for devices that require them.
|
||||||
|
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1443
|
||||||
|
mutter
|
||||||
|
];
|
||||||
|
|
||||||
services.avahi.enable = mkDefault true;
|
services.avahi.enable = mkDefault true;
|
||||||
|
|
||||||
xdg.portal.extraPortals = [
|
xdg.portal.extraPortals = [
|
||||||
|
@ -351,7 +358,7 @@ in
|
||||||
source-sans-pro
|
source-sans-pro
|
||||||
];
|
];
|
||||||
|
|
||||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-36/elements/core/meta-gnome-core-shell.bst
|
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst
|
||||||
environment.systemPackages = with pkgs.gnome3; [
|
environment.systemPackages = with pkgs.gnome3; [
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
gnome-backgrounds
|
gnome-backgrounds
|
||||||
|
@ -396,7 +403,7 @@ in
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-36/elements/core/meta-gnome-core-utilities.bst
|
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
|
||||||
(mkIf serviceCfg.core-utilities.enable {
|
(mkIf serviceCfg.core-utilities.enable {
|
||||||
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
|
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
|
||||||
baobab
|
baobab
|
||||||
|
@ -415,16 +422,15 @@ in
|
||||||
gnome-logs
|
gnome-logs
|
||||||
gnome-maps
|
gnome-maps
|
||||||
gnome-music
|
gnome-music
|
||||||
gnome-photos
|
pkgs.gnome-photos
|
||||||
gnome-screenshot
|
gnome-screenshot
|
||||||
gnome-system-monitor
|
gnome-system-monitor
|
||||||
gnome-weather
|
gnome-weather
|
||||||
nautilus
|
nautilus
|
||||||
|
pkgs.gnome-connections
|
||||||
simple-scan
|
simple-scan
|
||||||
totem
|
totem
|
||||||
yelp
|
yelp
|
||||||
# Unsure if sensible for NixOS
|
|
||||||
/* gnome-boxes */
|
|
||||||
] config.environment.gnome3.excludePackages);
|
] config.environment.gnome3.excludePackages);
|
||||||
|
|
||||||
# Enable default program modules
|
# Enable default program modules
|
||||||
|
@ -453,12 +459,43 @@ in
|
||||||
|
|
||||||
(mkIf serviceCfg.games.enable {
|
(mkIf serviceCfg.games.enable {
|
||||||
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
|
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
|
||||||
aisleriot atomix five-or-more four-in-a-row gnome-chess gnome-klotski
|
aisleriot
|
||||||
gnome-mahjongg gnome-mines gnome-nibbles gnome-robots gnome-sudoku
|
atomix
|
||||||
gnome-taquin gnome-tetravex hitori iagno lightsoff quadrapassel
|
five-or-more
|
||||||
swell-foop tali
|
four-in-a-row
|
||||||
|
gnome-chess
|
||||||
|
gnome-klotski
|
||||||
|
gnome-mahjongg
|
||||||
|
gnome-mines
|
||||||
|
gnome-nibbles
|
||||||
|
gnome-robots
|
||||||
|
gnome-sudoku
|
||||||
|
gnome-taquin
|
||||||
|
gnome-tetravex
|
||||||
|
hitori
|
||||||
|
iagno
|
||||||
|
lightsoff
|
||||||
|
quadrapassel
|
||||||
|
swell-foop
|
||||||
|
tali
|
||||||
] config.environment.gnome3.excludePackages);
|
] config.environment.gnome3.excludePackages);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst
|
||||||
|
(mkIf serviceCfg.core-developer-tools.enable {
|
||||||
|
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
|
||||||
|
dconf-editor
|
||||||
|
devhelp
|
||||||
|
pkgs.gnome-builder
|
||||||
|
# boxes would make sense in this option, however
|
||||||
|
# it doesn't function well enough to be included
|
||||||
|
# in default configurations.
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/60908
|
||||||
|
/* gnome-boxes */
|
||||||
|
] config.environment.gnome3.excludePackages);
|
||||||
|
|
||||||
|
services.sysprof.enable = true;
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -367,7 +367,7 @@ in
|
||||||
security.pam.services.sddm.enableKwallet = true;
|
security.pam.services.sddm.enableKwallet = true;
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
|
||||||
|
|
||||||
# Update the start menu for each user that is currently logged in
|
# Update the start menu for each user that is currently logged in
|
||||||
system.userActivationScripts.plasmaSetup = activationScript;
|
system.userActivationScripts.plasmaSetup = activationScript;
|
||||||
|
|
|
@ -160,7 +160,7 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
# Otherwise GDM will not be able to start correctly and display Wayland sessions
|
# Otherwise GDM will not be able to start correctly and display Wayland sessions
|
||||||
systemd.packages = with pkgs.gnome3; [ gnome-session gnome-shell ];
|
systemd.packages = with pkgs.gnome3; [ gdm gnome-session gnome-shell ];
|
||||||
environment.systemPackages = [ pkgs.gnome3.adwaita-icon-theme ];
|
environment.systemPackages = [ pkgs.gnome3.adwaita-icon-theme ];
|
||||||
|
|
||||||
systemd.services.display-manager.wants = [
|
systemd.services.display-manager.wants = [
|
||||||
|
|
|
@ -28,6 +28,20 @@ let
|
||||||
utillinux # needed for mount and mountpoint
|
utillinux # needed for mount and mountpoint
|
||||||
];
|
];
|
||||||
|
|
||||||
|
scriptType = with types;
|
||||||
|
let scriptOptions =
|
||||||
|
{ deps = mkOption
|
||||||
|
{ type = types.listOf types.str;
|
||||||
|
default = [ ];
|
||||||
|
description = "List of dependencies. The script will run after these.";
|
||||||
|
};
|
||||||
|
text = mkOption
|
||||||
|
{ type = types.lines;
|
||||||
|
description = "The content of the script.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in either str (submodule { options = scriptOptions; });
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -40,16 +54,14 @@ in
|
||||||
default = {};
|
default = {};
|
||||||
|
|
||||||
example = literalExample ''
|
example = literalExample ''
|
||||||
{ stdio = {
|
{ stdio.text =
|
||||||
text = '''
|
'''
|
||||||
# Needed by some programs.
|
# Needed by some programs.
|
||||||
ln -sfn /proc/self/fd /dev/fd
|
ln -sfn /proc/self/fd /dev/fd
|
||||||
ln -sfn /proc/self/fd/0 /dev/stdin
|
ln -sfn /proc/self/fd/0 /dev/stdin
|
||||||
ln -sfn /proc/self/fd/1 /dev/stdout
|
ln -sfn /proc/self/fd/1 /dev/stdout
|
||||||
ln -sfn /proc/self/fd/2 /dev/stderr
|
ln -sfn /proc/self/fd/2 /dev/stderr
|
||||||
''';
|
''';
|
||||||
deps = [];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -62,7 +74,7 @@ in
|
||||||
idempotent and fast.
|
idempotent and fast.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
type = types.attrsOf types.unspecified; # FIXME
|
type = types.attrsOf scriptType;
|
||||||
|
|
||||||
apply = set: {
|
apply = set: {
|
||||||
script =
|
script =
|
||||||
|
@ -125,7 +137,7 @@ in
|
||||||
idempotent and fast.
|
idempotent and fast.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
type = types.attrsOf types.unspecified;
|
type = with types; attrsOf scriptType;
|
||||||
|
|
||||||
apply = set: {
|
apply = set: {
|
||||||
script = ''
|
script = ''
|
||||||
|
|
|
@ -9,7 +9,7 @@ let
|
||||||
|
|
||||||
cfg = config.boot.plymouth;
|
cfg = config.boot.plymouth;
|
||||||
|
|
||||||
nixosBreezePlymouth = pkgs.breeze-plymouth.override {
|
nixosBreezePlymouth = pkgs.plasma5.breeze-plymouth.override {
|
||||||
logoFile = cfg.logo;
|
logoFile = cfg.logo;
|
||||||
logoName = "nixos";
|
logoName = "nixos";
|
||||||
osName = "NixOS";
|
osName = "NixOS";
|
||||||
|
|
|
@ -175,14 +175,10 @@ in
|
||||||
|
|
||||||
forceImportAll = mkOption {
|
forceImportAll = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = false;
|
||||||
description = ''
|
description = ''
|
||||||
Forcibly import all ZFS pool(s).
|
Forcibly import all ZFS pool(s).
|
||||||
|
|
||||||
This is enabled by default for backwards compatibility purposes, but it is highly
|
|
||||||
recommended to disable this option, as it bypasses some of the safeguards ZFS uses
|
|
||||||
to protect your ZFS pools.
|
|
||||||
|
|
||||||
If you set this option to <literal>false</literal> and NixOS subsequently fails to
|
If you set this option to <literal>false</literal> and NixOS subsequently fails to
|
||||||
import your non-root ZFS pool(s), you should manually import each pool with
|
import your non-root ZFS pool(s), you should manually import each pool with
|
||||||
"zpool import -f <pool-name>", and then reboot. You should only need to do
|
"zpool import -f <pool-name>", and then reboot. You should only need to do
|
||||||
|
@ -507,6 +503,7 @@ in
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
};
|
};
|
||||||
|
environment.ZFS_FORCE = optionalString cfgZfs.forceImportAll "-f";
|
||||||
script = (importLib {
|
script = (importLib {
|
||||||
# See comments at importLib definition.
|
# See comments at importLib definition.
|
||||||
zpoolCmd="${packages.zfsUser}/sbin/zpool";
|
zpoolCmd="${packages.zfsUser}/sbin/zpool";
|
||||||
|
|
|
@ -744,16 +744,19 @@ in
|
||||||
(isEnabled "VIRTIO_PCI")
|
(isEnabled "VIRTIO_PCI")
|
||||||
(isEnabled "VIRTIO_NET")
|
(isEnabled "VIRTIO_NET")
|
||||||
(isEnabled "EXT4_FS")
|
(isEnabled "EXT4_FS")
|
||||||
|
(isEnabled "NET_9P_VIRTIO")
|
||||||
|
(isEnabled "9P_FS")
|
||||||
(isYes "BLK_DEV")
|
(isYes "BLK_DEV")
|
||||||
(isYes "PCI")
|
(isYes "PCI")
|
||||||
(isYes "EXPERIMENTAL")
|
|
||||||
(isYes "NETDEVICES")
|
(isYes "NETDEVICES")
|
||||||
(isYes "NET_CORE")
|
(isYes "NET_CORE")
|
||||||
(isYes "INET")
|
(isYes "INET")
|
||||||
(isYes "NETWORK_FILESYSTEMS")
|
(isYes "NETWORK_FILESYSTEMS")
|
||||||
] ++ optional (!cfg.graphics) [
|
] ++ optionals (!cfg.graphics) [
|
||||||
(isYes "SERIAL_8250_CONSOLE")
|
(isYes "SERIAL_8250_CONSOLE")
|
||||||
(isYes "SERIAL_8250")
|
(isYes "SERIAL_8250")
|
||||||
|
] ++ optionals (cfg.writableStore) [
|
||||||
|
(isEnabled "OVERLAY_FS")
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -315,6 +315,7 @@ in
|
||||||
samba = handleTest ./samba.nix {};
|
samba = handleTest ./samba.nix {};
|
||||||
sanoid = handleTest ./sanoid.nix {};
|
sanoid = handleTest ./sanoid.nix {};
|
||||||
sbt = handleTest ./sbt.nix {};
|
sbt = handleTest ./sbt.nix {};
|
||||||
|
sbt-extras = handleTest ./sbt-extras.nix {};
|
||||||
scala = handleTest ./scala.nix {};
|
scala = handleTest ./scala.nix {};
|
||||||
sddm = handleTest ./sddm.nix {};
|
sddm = handleTest ./sddm.nix {};
|
||||||
service-runner = handleTest ./service-runner.nix {};
|
service-runner = handleTest ./service-runner.nix {};
|
||||||
|
@ -347,6 +348,7 @@ in
|
||||||
systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {};
|
systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {};
|
||||||
systemd-boot = handleTest ./systemd-boot.nix {};
|
systemd-boot = handleTest ./systemd-boot.nix {};
|
||||||
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
||||||
|
systemd-journal = handleTest ./systemd-journal.nix {};
|
||||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||||
systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
|
systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
|
||||||
systemd-networkd = handleTest ./systemd-networkd.nix {};
|
systemd-networkd = handleTest ./systemd-networkd.nix {};
|
||||||
|
|
|
@ -94,6 +94,7 @@ in
|
||||||
glib-networking = callInstalledTest ./glib-networking.nix {};
|
glib-networking = callInstalledTest ./glib-networking.nix {};
|
||||||
gnome-photos = callInstalledTest ./gnome-photos.nix {};
|
gnome-photos = callInstalledTest ./gnome-photos.nix {};
|
||||||
graphene = callInstalledTest ./graphene.nix {};
|
graphene = callInstalledTest ./graphene.nix {};
|
||||||
|
gsconnect = callInstalledTest ./gsconnect.nix {};
|
||||||
ibus = callInstalledTest ./ibus.nix {};
|
ibus = callInstalledTest ./ibus.nix {};
|
||||||
libgdata = callInstalledTest ./libgdata.nix {};
|
libgdata = callInstalledTest ./libgdata.nix {};
|
||||||
glib-testing = callInstalledTest ./glib-testing.nix {};
|
glib-testing = callInstalledTest ./glib-testing.nix {};
|
||||||
|
|
|
@ -5,7 +5,7 @@ makeInstalledTest {
|
||||||
|
|
||||||
testConfig = {
|
testConfig = {
|
||||||
services.fwupd.enable = true;
|
services.fwupd.enable = true;
|
||||||
services.fwupd.blacklistPlugins = lib.mkForce []; # don't blacklist test plugin
|
services.fwupd.disabledPlugins = lib.mkForce []; # don't disable test plugin
|
||||||
services.fwupd.enableTestRemote = true;
|
services.fwupd.enableTestRemote = true;
|
||||||
virtualisation.memorySize = 768;
|
virtualisation.memorySize = 768;
|
||||||
};
|
};
|
||||||
|
|
7
third_party/nixpkgs/nixos/tests/installed-tests/gsconnect.nix
vendored
Normal file
7
third_party/nixpkgs/nixos/tests/installed-tests/gsconnect.nix
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, makeInstalledTest, ... }:
|
||||||
|
|
||||||
|
makeInstalledTest {
|
||||||
|
tested = pkgs.gnomeExtensions.gsconnect;
|
||||||
|
|
||||||
|
withX11 = true;
|
||||||
|
}
|
2
third_party/nixpkgs/nixos/tests/loki.nix
vendored
2
third_party/nixpkgs/nixos/tests/loki.nix
vendored
|
@ -45,6 +45,8 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
|
||||||
machine.wait_for_open_port(3100)
|
machine.wait_for_open_port(3100)
|
||||||
machine.wait_for_open_port(9080)
|
machine.wait_for_open_port(9080)
|
||||||
machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog")
|
machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog")
|
||||||
|
# should not have access to journal unless specified
|
||||||
|
machine.fail("systemctl show --property=SupplementaryGroups promtail | grep -q systemd-journal")
|
||||||
machine.wait_until_succeeds(
|
machine.wait_until_succeeds(
|
||||||
"${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'"
|
"${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'"
|
||||||
)
|
)
|
||||||
|
|
16
third_party/nixpkgs/nixos/tests/sbt-extras.nix
vendored
Normal file
16
third_party/nixpkgs/nixos/tests/sbt-extras.nix
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
|
name = "sbt-extras";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ nequissimus ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ pkgs.sbt-extras ];
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
''
|
||||||
|
machine.succeed("(sbt -h)")
|
||||||
|
'';
|
||||||
|
})
|
20
third_party/nixpkgs/nixos/tests/systemd-journal.nix
vendored
Normal file
20
third_party/nixpkgs/nixos/tests/systemd-journal.nix
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "systemd-journal";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ lewo ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { pkgs, lib, ... }: {
|
||||||
|
services.journald.enableHttpGateway = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
machine.wait_for_unit("multi-user.target")
|
||||||
|
|
||||||
|
machine.succeed(
|
||||||
|
"${pkgs.curl}/bin/curl -s localhost:19531/machine | ${pkgs.jq}/bin/jq -e '.hostname == \"machine\"'"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
})
|
35
third_party/nixpkgs/nixos/tests/zfs.nix
vendored
35
third_party/nixpkgs/nixos/tests/zfs.nix
vendored
|
@ -18,7 +18,7 @@ let
|
||||||
maintainers = [ adisbladis ];
|
maintainers = [ adisbladis ];
|
||||||
};
|
};
|
||||||
|
|
||||||
machine = { pkgs, ... }: {
|
machine = { pkgs, lib, ... }: {
|
||||||
virtualisation.emptyDiskImages = [ 4096 ];
|
virtualisation.emptyDiskImages = [ 4096 ];
|
||||||
networking.hostId = "deadbeef";
|
networking.hostId = "deadbeef";
|
||||||
boot.kernelPackages = kernelPackage;
|
boot.kernelPackages = kernelPackage;
|
||||||
|
@ -26,6 +26,24 @@ let
|
||||||
boot.zfs.enableUnstable = enableUnstable;
|
boot.zfs.enableUnstable = enableUnstable;
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.parted ];
|
environment.systemPackages = [ pkgs.parted ];
|
||||||
|
|
||||||
|
# Setup regular fileSystems machinery to ensure forceImportAll can be
|
||||||
|
# tested via the regular service units.
|
||||||
|
fileSystems = lib.mkVMOverride {
|
||||||
|
"/forcepool" = {
|
||||||
|
device = "forcepool";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "noauto" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# forcepool doesn't exist at first boot, and we need to manually test
|
||||||
|
# the import after tweaking the hostId.
|
||||||
|
systemd.services.zfs-import-forcepool.wantedBy = lib.mkVMOverride [];
|
||||||
|
systemd.targets.zfs.wantedBy = lib.mkVMOverride [];
|
||||||
|
boot.zfs.forceImportAll = true;
|
||||||
|
# /dev/disk/by-id doesn't get populated in the NixOS test framework
|
||||||
|
boot.zfs.devNodes = "/dev/disk/by-uuid";
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
|
@ -57,6 +75,21 @@ let
|
||||||
"zpool destroy rpool",
|
"zpool destroy rpool",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
with subtest("boot.zfs.forceImportAll works"):
|
||||||
|
machine.succeed(
|
||||||
|
"rm /etc/hostid",
|
||||||
|
"zgenhostid deadcafe",
|
||||||
|
"zpool create forcepool /dev/vdb1 -O mountpoint=legacy",
|
||||||
|
)
|
||||||
|
machine.shutdown()
|
||||||
|
machine.start()
|
||||||
|
machine.succeed("udevadm settle")
|
||||||
|
machine.fail("zpool import forcepool")
|
||||||
|
machine.succeed(
|
||||||
|
"systemctl start zfs-import-forcepool.service",
|
||||||
|
"mount -t zfs forcepool /tmp/mnt",
|
||||||
|
)
|
||||||
'' + extraTest;
|
'' + extraTest;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
, gettext
|
, gettext
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
, libhandy
|
, libhandy_0
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, pango
|
, pango
|
||||||
|
@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
dbus
|
dbus
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk3
|
||||||
libhandy
|
libhandy_0
|
||||||
pango
|
pango
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ft2-clone";
|
pname = "ft2-clone";
|
||||||
version = "1.37";
|
version = "1.39";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "8bitbubsy";
|
owner = "8bitbubsy";
|
||||||
repo = "ft2-clone";
|
repo = "ft2-clone";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1lhpzd46mpr3bq13qhd0bq724db5fhc8jplfb684c2q7sc4v92nk";
|
sha256 = "0vc7gni24q649b53flz7rlgnc5xl2dqdklgwc2brj380a5s7g6m7";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
, python3
|
, python3
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, glib
|
, glib
|
||||||
, libhandy
|
, libhandy_0
|
||||||
, gtk3
|
, gtk3
|
||||||
, dbus
|
, dbus
|
||||||
, openssl
|
, openssl
|
||||||
|
@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk3
|
||||||
libhandy
|
libhandy_0
|
||||||
dbus
|
dbus
|
||||||
openssl
|
openssl
|
||||||
sqlite
|
sqlite
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
, python3
|
, python3
|
||||||
, gtk3
|
, gtk3
|
||||||
, gst_all_1
|
, gst_all_1
|
||||||
|
, libhandy
|
||||||
, libsecret
|
, libsecret
|
||||||
, libsoup
|
, libsoup
|
||||||
, appstream-glib
|
, appstream-glib
|
||||||
|
@ -24,7 +25,7 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "lollypop";
|
pname = "lollypop";
|
||||||
version = "1.3.2";
|
version = "1.4.5";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -33,7 +34,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
url = "https://gitlab.gnome.org/World/lollypop";
|
url = "https://gitlab.gnome.org/World/lollypop";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = "14854j1dhq67s1vzs0lqy345vbl6f5w8nb36n4i33fmpva2flsk3";
|
sha256 = "1i5qcpp3fpkda08g6nkiiff8lsjmv5xsvpa0512kigq5z0lsagrx";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -57,6 +58,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
gst-plugins-ugly
|
gst-plugins-ugly
|
||||||
gstreamer
|
gstreamer
|
||||||
gtk3
|
gtk3
|
||||||
|
libhandy
|
||||||
libsoup
|
libsoup
|
||||||
pango
|
pango
|
||||||
totem-pl-parser
|
totem-pl-parser
|
||||||
|
|
|
@ -17,13 +17,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "musikcube";
|
pname = "musikcube";
|
||||||
version = "0.93.1";
|
version = "0.94.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "clangen";
|
owner = "clangen";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "05qsxyr7x8l0vlmn4yjg4gglxvcw9raf6vfzvblsl2ngsdsrnizy";
|
sha256 = "0hifyawsr38vsx12aqw38nms4kzbaghihib1r80x56f1jjsdhww0";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -18,8 +18,12 @@
|
||||||
let
|
let
|
||||||
pulseSources = runCommand "pulseaudio-sources" {} ''
|
pulseSources = runCommand "pulseaudio-sources" {} ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
tar -xf ${pulseaudio.src}
|
if [ -d ${pulseaudio.src} ]; then
|
||||||
mv pulseaudio*/* $out/
|
ln -s ${pulseaudio.src}/* $out/
|
||||||
|
else
|
||||||
|
tar -xf ${pulseaudio.src}
|
||||||
|
mv pulseaudio*/* $out/
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
|
@ -61,7 +65,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions
|
# Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions
|
||||||
substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version}
|
substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version}
|
||||||
substituteInPlace CMakeLists.txt --replace '${"\${PulseAudio_VERSION}"}' ${pulseaudio.version}
|
substituteInPlace CMakeLists.txt --replace '${"\${PULSE_DIR}"}' ${pulseaudio.pulseDir}
|
||||||
|
|
||||||
# Fraunhofer recommends to enable afterburner but upstream has it set to false by default
|
# Fraunhofer recommends to enable afterburner but upstream has it set to false by default
|
||||||
substituteInPlace src/modules/bluetooth/a2dp/a2dp_aac.c \
|
substituteInPlace src/modules/bluetooth/a2dp/a2dp_aac.c \
|
||||||
|
@ -72,7 +76,7 @@ in stdenv.mkDerivation rec {
|
||||||
for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
|
for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
|
||||||
orig_rpath=$(patchelf --print-rpath "$so")
|
orig_rpath=$(patchelf --print-rpath "$so")
|
||||||
patchelf \
|
patchelf \
|
||||||
--set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
|
--set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg}/lib:$out/${pulseaudio.pulseDir}/modules:$orig_rpath" \
|
||||||
"$so"
|
"$so"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -8,4 +8,4 @@ index 8d20dbf..63fe7ba 100644
|
||||||
module-bluetooth-policy
|
module-bluetooth-policy
|
||||||
- LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
|
- LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
|
||||||
-
|
-
|
||||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/)
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PULSE_DIR}/modules/)
|
||||||
|
|
|
@ -29,11 +29,11 @@
|
||||||
# handle that.
|
# handle that.
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
name = "qmmp-1.4.1";
|
name = "qmmp-1.4.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
|
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
|
||||||
sha256 = "0p18r2ri75vbyjzfa7bcl1dm372m6jvn9zj2p5ia2rh1g77fbm9a";
|
sha256 = "1kvzw0n90crg3dgy8834qrjv0zb3ia5cny7virax9ax73y653jfa";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "qtractor";
|
pname = "qtractor";
|
||||||
version = "0.9.15";
|
version = "0.9.18";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0k7a6llwrzs07flr9mvzvay9ygc2x64syg8npyabsw5a4d85fwsx";
|
sha256 = "121vmygdzp37p6f93f8dbbg2m2r55j7amyiapzkqgypgn4vfdbwr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
, glib
|
, glib
|
||||||
, gst_all_1
|
, gst_all_1
|
||||||
, gtk3
|
, gtk3
|
||||||
, libhandy
|
, libhandy_0
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, openssl
|
, openssl
|
||||||
|
@ -53,7 +53,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
gdk-pixbuf
|
gdk-pixbuf
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk3
|
||||||
libhandy
|
libhandy_0
|
||||||
openssl
|
openssl
|
||||||
sqlite
|
sqlite
|
||||||
] ++ (with gst_all_1; [
|
] ++ (with gst_all_1; [
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
, coreutils
|
, coreutils
|
||||||
, libsoup
|
, libsoup
|
||||||
, libsecret
|
, libsecret
|
||||||
, libhandy
|
, libhandy_0
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, libgpgerror
|
, libgpgerror
|
||||||
, json-glib
|
, json-glib
|
||||||
|
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk3
|
||||||
libsecret
|
libsecret
|
||||||
libhandy
|
libhandy_0
|
||||||
libgpgerror
|
libgpgerror
|
||||||
json-glib
|
json-glib
|
||||||
];
|
];
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ergo";
|
pname = "ergo";
|
||||||
version = "3.3.5";
|
version = "3.3.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
|
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
|
||||||
sha256 = "0bxzpwwb42bppqli3zggx3lah7g6kwmy6k6k6dinypj6x0bafqcg";
|
sha256 = "1zi559ixjxxsrpvvjbxa1d0g96px3h9amjvy149sfhp7b8w5hhk3";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, qt4, qmake4Hook }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
version = "0.8.6-2";
|
|
||||||
pname = "freicoin";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "freicoin";
|
|
||||||
repo = "freicoin";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h";
|
|
||||||
};
|
|
||||||
|
|
||||||
enableParallelBuilding = false;
|
|
||||||
|
|
||||||
qmakeFlags = ["USE_UPNP=-"];
|
|
||||||
|
|
||||||
# I think that openssl and zlib are required, but come through other
|
|
||||||
# packages
|
|
||||||
|
|
||||||
preBuild = "unset AR";
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp freicoin-qt $out/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake4Hook ];
|
|
||||||
buildInputs = [ db boost gmp mpfr qt4 ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Peer-to-peer currency with demurrage fee";
|
|
||||||
homepage = "http://freicoi.in/";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = [ maintainers.viric ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
|
|
||||||
# upstream doesn't support newer openssl versions, use 1.0.1 for testing
|
|
||||||
broken = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -5,23 +5,23 @@
|
||||||
, llvmPackages
|
, llvmPackages
|
||||||
, openssl
|
, openssl
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
, stdenv
|
||||||
, systemd
|
, systemd
|
||||||
|
, darwin
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "openethereum";
|
pname = "openethereum";
|
||||||
version = "3.0.1";
|
version = "3.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "openethereum";
|
owner = "openethereum";
|
||||||
repo = "openethereum";
|
repo = "openethereum";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "08dkcrga1x18csh6pw6f54x5xwijppyjhg46cf4p452xc1l3a6ir";
|
sha256 = "cs84Zz0nhagGDu5sDFTaFZF3SPEgJU8F4vGX7KLihOM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1xliragihwjfc5qmfm0ng519bw8a28m1w1yqcl9mpk8zywiybaah";
|
cargoSha256 = "6suNkHw1BbISb0MkYkUaD+mpUal+kn3y1SFVqzJFqJc=";
|
||||||
|
|
||||||
cargoPatches = [ ./lock.patch ];
|
|
||||||
|
|
||||||
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -31,7 +31,9 @@ rustPlatform.buildRustPackage rec {
|
||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ openssl systemd ];
|
buildInputs = [ openssl ]
|
||||||
|
++ stdenv.lib.optionals stdenv.isLinux [ systemd ]
|
||||||
|
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
|
||||||
|
|
||||||
cargoBuildFlags = [ "--features final" ];
|
cargoBuildFlags = [ "--features final" ];
|
||||||
|
|
||||||
|
@ -43,6 +45,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
homepage = "http://parity.io/ethereum";
|
homepage = "http://parity.io/ethereum";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ akru xrelkd ];
|
maintainers = with maintainers; [ akru xrelkd ];
|
||||||
platforms = platforms.linux;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
--- /nix/store/hv764a65zmfzw5scjhz5839agv10da6x-source/Cargo.lock 1969-12-31 16:00:01.000000000 -0800
|
|
||||||
+++ ./Cargo.lock 2020-07-31 21:30:31.146750066 -0700
|
|
||||||
@@ -3113,7 +3113,7 @@
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "openethereum"
|
|
||||||
-version = "3.0.0"
|
|
||||||
+version = "3.0.1"
|
|
||||||
dependencies = [
|
|
||||||
"ansi_term",
|
|
||||||
"atty",
|
|
||||||
@@ -3562,7 +3562,7 @@
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "parity-version"
|
|
||||||
-version = "3.0.0"
|
|
||||||
+version = "3.0.1"
|
|
||||||
dependencies = [
|
|
||||||
"parity-bytes",
|
|
||||||
"rlp",
|
|
|
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
|
||||||
Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
|
Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
|
||||||
'';
|
'';
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
homepage = "https://www.dash.org";
|
homepage = "https://pivx.org";
|
||||||
maintainers = with maintainers; [ wucke13 ];
|
maintainers = with maintainers; [ wucke13 ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "polkadot";
|
pname = "polkadot";
|
||||||
version = "0.8.26";
|
version = "0.8.26-1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "paritytech";
|
owner = "paritytech";
|
||||||
repo = "polkadot";
|
repo = "polkadot";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1bvma6k3gsjqh8w76k4kf52sjg8wxn1b7a409kmnmmvmd9j6z5ia";
|
sha256 = "17ji1gjrx3gzw4msaz9kgvm132y14wgh8z183l3mfw1cj44a6kqk";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "0pacmmvvjgzmaxgg47qbfhqwl02jxj3i6vnmkjbj9npzqfmqf72d";
|
cargoSha256 = "07zwlwx02xw1y20br2c4grwv7bprhynqy7gav4qh3vw117ijpiqk";
|
||||||
|
|
||||||
nativeBuildInputs = [ clang ];
|
nativeBuildInputs = [ clang ];
|
||||||
|
|
||||||
|
|
29
third_party/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix
vendored
Normal file
29
third_party/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ stdenv, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "turbo-geth";
|
||||||
|
version = "2020.11.01";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ledgerwatch";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0hm8kqd0w231mlclsmsghf15r8pbrs5g064mkpx59qpqzk37lgss";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "0b7ldrnwkz3r1d4fw95hvvpi3bz56d9v8p2mjzdvlpk5zhl2a37p";
|
||||||
|
runVend = true;
|
||||||
|
|
||||||
|
subPackages = [
|
||||||
|
"cmd/tg"
|
||||||
|
"cmd/restapi"
|
||||||
|
"cmd/rpcdaemon"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://github.com/ledgerwatch/turbo-geth/";
|
||||||
|
description = "Ethereum node and geth fork focused on scalability and modularity";
|
||||||
|
license = with licenses; [ lgpl3 gpl3 ];
|
||||||
|
maintainers = with maintainers; [ xwvvvvwx ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -9,9 +9,9 @@ let
|
||||||
inherit buildFHSUserEnv;
|
inherit buildFHSUserEnv;
|
||||||
};
|
};
|
||||||
stableVersion = {
|
stableVersion = {
|
||||||
version = "4.1.0.19"; # "Android Studio 4.1.0"
|
version = "4.1.1.0"; # "Android Studio 4.1.1"
|
||||||
build = "201.6858069";
|
build = "201.6953283";
|
||||||
sha256Hash = "sha256-S5Uh/EpjE61l/z4UsPP7UEJ9Rk/hQidVVWX0bg/60gI=";
|
sha256Hash = "sha256-aAMhhJWcVFdvEZt8fI3tF12Eg3TzlU+kUFMNeCYN1os=";
|
||||||
};
|
};
|
||||||
betaVersion = {
|
betaVersion = {
|
||||||
version = "4.1.0.18"; # "Android Studio 4.1 RC 3"
|
version = "4.1.0.18"; # "Android Studio 4.1 RC 3"
|
||||||
|
|
|
@ -40,11 +40,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-builder";
|
pname = "gnome-builder";
|
||||||
version = "3.36.1";
|
version = "3.38.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2";
|
sha256 = "06wcyfrwcjyj2vcqyw0z3sy1r4qxpcdpwqq1qmpsaphpz8acycjn";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee
|
{ stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee
|
||||||
, tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }:
|
, tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }:
|
||||||
let
|
let
|
||||||
version = "3.36.0";
|
version = "3.38.0";
|
||||||
pname = "gnome-latex";
|
pname = "gnome-latex";
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1869kr1zhcp04mzbi67lwgk497w840dbbc7427i9yh9b9s7j6mqn";
|
sha256 = "0xqd49pgi82dygqnxj08i1v22b0vwwhx3zvdinhrx4jny339yam8";
|
||||||
};
|
};
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ source ? "default", callPackage, stdenv, ncurses, pkgconfig, gettext
|
{ source ? "default", callPackage, stdenv, ncurses, pkgconfig, gettext
|
||||||
, writeText, config, glib, gtk2-x11, gtk3-x11, lua, python, perl, tcl, ruby
|
, writeText, config, glib, gtk2-x11, gtk3-x11, lua, python3, perl, tcl, ruby
|
||||||
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
|
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
|
||||||
, libICE
|
, libICE
|
||||||
, vimPlugins
|
, vimPlugins
|
||||||
|
@ -62,8 +62,6 @@ let
|
||||||
|
|
||||||
common = callPackage ./common.nix {};
|
common = callPackage ./common.nix {};
|
||||||
|
|
||||||
isPython3 = python.isPy3 or false;
|
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "vim_configurable";
|
pname = "vim_configurable";
|
||||||
|
@ -106,9 +104,10 @@ in stdenv.mkDerivation rec {
|
||||||
"--with-luajit"
|
"--with-luajit"
|
||||||
]
|
]
|
||||||
++ stdenv.lib.optionals pythonSupport [
|
++ stdenv.lib.optionals pythonSupport [
|
||||||
"--enable-python${if isPython3 then "3" else ""}interp=yes"
|
"--enable-python3interp=yes"
|
||||||
"--with-python${if isPython3 then "3" else ""}-config-dir=${python}/lib"
|
"--with-python3-config-dir=${python3}/lib"
|
||||||
"--disable-python${if (!isPython3) then "3" else ""}interp"
|
# Disables Python 2
|
||||||
|
"--disable-pythoninterp"
|
||||||
]
|
]
|
||||||
++ stdenv.lib.optional nlsSupport "--enable-nls"
|
++ stdenv.lib.optional nlsSupport "--enable-nls"
|
||||||
++ stdenv.lib.optional perlSupport "--enable-perlinterp"
|
++ stdenv.lib.optional perlSupport "--enable-perlinterp"
|
||||||
|
@ -134,7 +133,7 @@ in stdenv.mkDerivation rec {
|
||||||
++ stdenv.lib.optional (guiSupport == "gtk3") gtk3-x11
|
++ stdenv.lib.optional (guiSupport == "gtk3") gtk3-x11
|
||||||
++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ]
|
++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ]
|
||||||
++ stdenv.lib.optional luaSupport lua
|
++ stdenv.lib.optional luaSupport lua
|
||||||
++ stdenv.lib.optional pythonSupport python
|
++ stdenv.lib.optional pythonSupport python3
|
||||||
++ stdenv.lib.optional tclSupport tcl
|
++ stdenv.lib.optional tclSupport tcl
|
||||||
++ stdenv.lib.optional rubySupport ruby;
|
++ stdenv.lib.optional rubySupport ruby;
|
||||||
|
|
||||||
|
@ -163,7 +162,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
|
ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
|
||||||
'' + stdenv.lib.optionalString wrapPythonDrv ''
|
'' + stdenv.lib.optionalString wrapPythonDrv ''
|
||||||
wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin"
|
wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin"
|
||||||
'' + stdenv.lib.optionalString (guiSupport == "gtk3") ''
|
'' + stdenv.lib.optionalString (guiSupport == "gtk3") ''
|
||||||
|
|
||||||
rewrap () {
|
rewrap () {
|
||||||
|
|
|
@ -163,8 +163,10 @@ in stdenv.mkDerivation rec {
|
||||||
# The declarations for `gimp-with-plugins` wrapper,
|
# The declarations for `gimp-with-plugins` wrapper,
|
||||||
# used for determining plug-in installation paths
|
# used for determining plug-in installation paths
|
||||||
majorVersion = "${lib.versions.major version}.0";
|
majorVersion = "${lib.versions.major version}.0";
|
||||||
targetPluginDir = "lib/gimp/${majorVersion}/plug-ins";
|
targetLibDir = "lib/gimp/${majorVersion}";
|
||||||
targetScriptDir = "share/gimp/${majorVersion}/scripts";
|
targetDataDir = "share/gimp/${majorVersion}";
|
||||||
|
targetPluginDir = "${targetLibDir}/plug-ins";
|
||||||
|
targetScriptDir = "${targetDataDir}/scripts";
|
||||||
|
|
||||||
# probably its a good idea to use the same gtk in plugins ?
|
# probably its a good idea to use the same gtk in plugins ?
|
||||||
gtk = gtk2;
|
gtk = gtk2;
|
||||||
|
|
|
@ -1,33 +1,51 @@
|
||||||
# install these packages into your profile. Then add
|
# Use `gimp-with-plugins` package for GIMP with all plug-ins.
|
||||||
# ~/.nix-profile/gimp-version-plugins to your plugin list you can find at
|
# If you just want a subset of plug-ins, you can specify them explicitly:
|
||||||
# preferences -> Folders -> Plug-ins
|
# `gimp-with-plugins.override { plugins = with gimpPlugins; [ gap ]; }`.
|
||||||
# same applies for the scripts
|
|
||||||
|
{ config, lib, pkgs }:
|
||||||
|
|
||||||
{ config, pkgs, gimp }:
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) stdenv fetchurl pkgconfig intltool glib fetchFromGitHub;
|
inherit (pkgs) stdenv fetchurl pkg-config intltool glib fetchFromGitHub;
|
||||||
inherit (gimp) targetPluginDir targetScriptDir;
|
in
|
||||||
|
|
||||||
pluginDerivation = a: let
|
lib.makeScope pkgs.newScope (self:
|
||||||
name = a.name or "${a.pname}-${a.version}";
|
|
||||||
|
let
|
||||||
|
# Use GIMP from the scope.
|
||||||
|
inherit (self) gimp;
|
||||||
|
|
||||||
|
pluginDerivation = attrs: let
|
||||||
|
name = attrs.name or "${attrs.pname}-${attrs.version}";
|
||||||
in stdenv.mkDerivation ({
|
in stdenv.mkDerivation ({
|
||||||
prePhases = "extraLib";
|
prePhases = "extraLib";
|
||||||
extraLib = ''
|
extraLib = ''
|
||||||
installScripts(){
|
installScripts(){
|
||||||
mkdir -p $out/${targetScriptDir}/${name};
|
mkdir -p $out/${gimp.targetScriptDir}/${name};
|
||||||
for p in "$@"; do cp "$p" -r $out/${targetScriptDir}/${name}; done
|
for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
|
||||||
}
|
}
|
||||||
installPlugins(){
|
installPlugins(){
|
||||||
mkdir -p $out/${targetPluginDir}/${name};
|
mkdir -p $out/${gimp.targetPluginDir}/${name};
|
||||||
for p in "$@"; do cp "$p" -r $out/${targetPluginDir}/${name}; done
|
for p in "$@"; do cp "$p" -r $out/${gimp.targetPluginDir}/${name}; done
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Override installation paths.
|
||||||
|
PKG_CONFIG_GIMP_2_0_GIMPLIBDIR = "${placeholder "out"}/${gimp.targetLibDir}";
|
||||||
|
PKG_CONFIG_GIMP_2_0_GIMPDATADIR = "${placeholder "out"}/${gimp.targetDataDir}";
|
||||||
}
|
}
|
||||||
// a
|
// attrs
|
||||||
// {
|
// {
|
||||||
name = "gimp-plugin-${name}";
|
name = "gimp-plugin-${name}";
|
||||||
buildInputs = [ gimp gimp.gtk glib ] ++ (a.buildInputs or []);
|
buildInputs = [
|
||||||
nativeBuildInputs = [ pkgconfig intltool ] ++ (a.nativeBuildInputs or []);
|
gimp
|
||||||
|
gimp.gtk
|
||||||
|
glib
|
||||||
|
] ++ (attrs.buildInputs or []);
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
intltool
|
||||||
|
] ++ (attrs.nativeBuildInputs or []);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -35,10 +53,11 @@ let
|
||||||
phases = [ "extraLib" "installPhase" ];
|
phases = [ "extraLib" "installPhase" ];
|
||||||
installPhase = "installScripts ${src}";
|
installPhase = "installScripts ${src}";
|
||||||
} // attrs);
|
} // attrs);
|
||||||
|
|
||||||
in
|
in
|
||||||
|
{
|
||||||
|
# Allow overriding GIMP package in the scope.
|
||||||
|
inherit (pkgs) gimp;
|
||||||
|
|
||||||
stdenv.lib.makeScope pkgs.newScope (self: with self; {
|
|
||||||
gap = pluginDerivation {
|
gap = pluginDerivation {
|
||||||
/* menu:
|
/* menu:
|
||||||
Video
|
Video
|
||||||
|
@ -49,10 +68,6 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
|
||||||
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
|
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
|
||||||
};
|
};
|
||||||
NIX_LDFLAGS = "-lm";
|
NIX_LDFLAGS = "-lm";
|
||||||
patchPhase = ''
|
|
||||||
sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \
|
|
||||||
-e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure
|
|
||||||
'';
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "The GIMP Animation Package";
|
description = "The GIMP Animation Package";
|
||||||
|
@ -99,7 +114,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
|
||||||
version = "2.0.3";
|
version = "2.0.3";
|
||||||
buildInputs = with pkgs; [ fftw ];
|
buildInputs = with pkgs; [ fftw ];
|
||||||
nativeBuildInputs = with pkgs; [ autoreconfHook ];
|
nativeBuildInputs = with pkgs; [ autoreconfHook ];
|
||||||
makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/lib/gimp/2.0" ];
|
makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/${gimp.targetLibDir}" ];
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bootchk";
|
owner = "bootchk";
|
||||||
repo = "resynthesizer";
|
repo = "resynthesizer";
|
||||||
|
@ -127,24 +142,25 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
|
||||||
name = "wavelet-sharpen-0.1.2";
|
name = "wavelet-sharpen-0.1.2";
|
||||||
NIX_LDFLAGS = "-lm";
|
NIX_LDFLAGS = "-lm";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
|
url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
|
||||||
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
|
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
|
||||||
};
|
};
|
||||||
installPhase = "installPlugins src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
|
installPhase = "installPlugins src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
|
||||||
};
|
};
|
||||||
|
|
||||||
lqrPlugin = pluginDerivation {
|
lqrPlugin = pluginDerivation rec {
|
||||||
/* menu:
|
/* menu:
|
||||||
Layer/Liquid Rescale
|
Layer/Liquid Rescale
|
||||||
*/
|
*/
|
||||||
name = "lqr-plugin-0.6.1";
|
pname = "lqr-plugin";
|
||||||
|
version = "0.7.2";
|
||||||
buildInputs = with pkgs; [ liblqr1 ];
|
buildInputs = with pkgs; [ liblqr1 ];
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2";
|
owner = "carlobaldassi";
|
||||||
sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
|
repo = "gimp-lqr-plugin";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo=";
|
||||||
};
|
};
|
||||||
#postInstall = ''mkdir -p $out/nix-support; echo "${liblqr1}" > "$out/nix-support/propagated-user-env-packages"'';
|
|
||||||
installPhase = "installPlugins src/gimp-lqr-plugin";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gmic = pkgs.gmic-qt.override {
|
gmic = pkgs.gmic-qt.override {
|
||||||
|
@ -196,37 +212,8 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
|
||||||
lightning = scriptDerivation {
|
lightning = scriptDerivation {
|
||||||
name = "Lightning";
|
name = "Lightning";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://registry.gimp.org/files/Lightning.scm";
|
url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/Lightning.scm";
|
||||||
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
|
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/* space in name trouble ?
|
|
||||||
|
|
||||||
rainbowPlasma = scriptDerivation {
|
|
||||||
# http://registry.gimp.org/node/164
|
|
||||||
name = "rainbow-plasma";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://registry.gimp.org/files/Rainbow Plasma.scm";
|
|
||||||
sha256 = "34308d4c9441f9e7bafa118af7ec9540f10ea0df75e812e2f3aa3fd7b5344c23";
|
|
||||||
name = "Rainbow-Plasma.scm"; # nix doesn't like spaces, does it?
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* doesn't seem to be working :-(
|
|
||||||
lightningGate = scriptDerivation {
|
|
||||||
# http://registry.gimp.org/node/153
|
|
||||||
name = "lightning-gate";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://registry.gimp.org/files/LightningGate.scm";
|
|
||||||
sha256 = "181w1zi9a99kn2mfxjp43wkwcgw5vbb6iqjas7a9mhm8p04csys2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
} // stdenv.lib.optionalAttrs (config.allowAliases or true) {
|
|
||||||
|
|
||||||
resynthesizer2 = resynthesizer;
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
|
allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
|
||||||
selectedPlugins = if plugins == null then allPlugins else plugins;
|
selectedPlugins = lib.filter (pkg: pkg != gimpPlugins.gimp) (if plugins == null then allPlugins else plugins);
|
||||||
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
||||||
versionBranch = stdenv.lib.versions.majorMinor gimp.version;
|
versionBranch = stdenv.lib.versions.majorMinor gimp.version;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
|
, fetchpatch
|
||||||
, at-spi2-core
|
, at-spi2-core
|
||||||
, babl
|
, babl
|
||||||
, dbus
|
, dbus
|
||||||
|
@ -35,17 +36,32 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-photos";
|
pname = "gnome-photos";
|
||||||
version = "3.34.2";
|
version = "3.38.0";
|
||||||
|
|
||||||
outputs = [ "out" "installedTests" ];
|
outputs = [ "out" "installedTests" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w";
|
sha256 = "1i64w69kk3sdf9vn7npnwrhy8qjwn0vizq200x3pgmbrfm3kjzv6";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./installed-tests-path.patch
|
./installed-tests-path.patch
|
||||||
|
|
||||||
|
# Port to Tracker 3
|
||||||
|
# https://gitlab.gnome.org/GNOME/gnome-photos/-/merge_requests/135
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/f39a85bb1a82093f4ba615494ff7e95609674fc2.patch";
|
||||||
|
sha256 = "M5r5WuB1JpUBVN3KxNvpMiPWj0pIpT+ImQMOiGtUgT4=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/3d847ff80d429cadf0bc59aa50caa37bf27c0201.patch";
|
||||||
|
sha256 = "zGjSL1qpWVJ/5Ifgh2CbhFSBR/WDAra8F+YUOemyxyU=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/2eb923726147b05c936dee64b205d833525db1df.patch";
|
||||||
|
sha256 = "vCA6NXHzmNf2GoLqzWwIyziC6puJgJ0QTLeKWsAEFAE=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
|
[ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
|
||||||
zlib libtool libwebp
|
zlib libtool libwebp
|
||||||
]
|
];
|
||||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ xz ];
|
nativeBuildInputs = [ xz ]
|
||||||
|
++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lightburn";
|
pname = "lightburn";
|
||||||
version = "0.9.16";
|
version = "0.9.18";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
p7zip
|
p7zip
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
|
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
|
||||||
sha256 = "0xmpglfzff3jpxbr304czsa24fbp497b69yd8kjkjdp2cd0l70qc";
|
sha256 = "0inl6zmc1726gmj85jbvq3ra4zphd2ikhrnqphgy2b0c72yh4pf7";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "pdfcpu";
|
pname = "pdfcpu";
|
||||||
version = "0.3.6";
|
version = "0.3.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pdfcpu";
|
owner = "pdfcpu";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0cbbbf93gxx768fs6pldy25xk46k7mc8k94r3f7cd83f1qd3s5zn";
|
sha256 = "13b1ncpx189ca0h70j5cdp0jwlj95kasysryz1l6g13cwn9n6mii";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1i0w4284icbl40yrjny9qd5iqrq18x63lrs7p1gz58nybc606azx";
|
vendorSha256 = "11w9i1829hk1qb9w24dyxv1bi49358a274g60x11fp5x5cw7bqa7";
|
||||||
|
|
||||||
# No tests
|
# No tests
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qview";
|
pname = "qview";
|
||||||
version = "3.0";
|
version = "4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jurplel";
|
owner = "jurplel";
|
||||||
repo = "qView";
|
repo = "qView";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7";
|
sha256 = "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake ];
|
nativeBuildInputs = [ qmake ];
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{ buildGoModule, fetchFromGitHub, installShellFiles, stdenv }:
|
{ buildGoModule, fetchFromGitHub, installShellFiles, stdenv }:
|
||||||
|
|
||||||
let
|
let
|
||||||
humioCtlVersion = "0.27.0";
|
humioCtlVersion = "0.28.1";
|
||||||
sha256 = "1h65g10dxcaw4wk0gyyyqj9f94xlphj30lp9w6rsfrk4pi3irzr4";
|
sha256 = "0vy07nzafqhc14i179sfrzb795yh4pcyjj3py9fwq0nwnmxndby4";
|
||||||
vendorSha256 = "0anvah2rpqvxgmdrdj73k3vbf8073nmsl3aykgvb1nraf3gz3bpk";
|
vendorSha256 = "0anvah2rpqvxgmdrdj73k3vbf8073nmsl3aykgvb1nraf3gz3bpk";
|
||||||
in buildGoModule {
|
in buildGoModule {
|
||||||
name = "humioctl-${humioCtlVersion}";
|
name = "humioctl-${humioCtlVersion}";
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "cheat";
|
pname = "cheat";
|
||||||
version = "4.1.0";
|
version = "4.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cheat";
|
owner = "cheat";
|
||||||
repo = "cheat";
|
repo = "cheat";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0x6msbbqkwxs6msqacpqw4wlw7c9ilf8n6jqmx297ij6isswgksh";
|
sha256 = "0mraraby0s213ay2ahqsdvnyg76awbqllrkkx17mrx9z3ykba62d";
|
||||||
};
|
};
|
||||||
|
|
||||||
subPackages = [ "cmd/cheat" ];
|
subPackages = [ "cmd/cheat" ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dstask";
|
pname = "dstask";
|
||||||
version = "0.23";
|
version = "0.23.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "naggie";
|
owner = "naggie";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "15hr0ivwvm2lzpi8l5y5a3hya3i7r85pxna961m24gd4f8gs4cjl";
|
sha256 = "0rfz8jim0xqcwdb5n28942v9r3hbvhjrwdgzvbwc9f9psqg2s8d2";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Set vendorSha256 to null because dstask vendors its dependencies (meaning
|
# Set vendorSha256 to null because dstask vendors its dependencies (meaning
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.0.3";
|
version = "4.0.4";
|
||||||
|
|
||||||
# electrum is not compatible with dnspython 2.0.0 yet
|
# electrum is not compatible with dnspython 2.0.0 yet
|
||||||
# use the latest 1.x release instead
|
# use the latest 1.x release instead
|
||||||
|
@ -43,7 +43,7 @@ let
|
||||||
owner = "spesmilo";
|
owner = "spesmilo";
|
||||||
repo = "electrum";
|
repo = "electrum";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1r40i0v7nm35m3pzbd0l5z4qphl13s31l9v5njmyvpfjirdmhjbv";
|
sha256 = "0bzvyfqnd0r0l8syf95hr3nsh8rmmmcs74bvc7v04v0nm5m0fmf1";
|
||||||
|
|
||||||
extraPostFetch = ''
|
extraPostFetch = ''
|
||||||
mv $out ./all
|
mv $out ./all
|
||||||
|
@ -58,7 +58,7 @@ py.pkgs.buildPythonApplication {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||||
sha256 = "0q891fgzxvyzjxfczynx92hvclfs8i3nr5nr9sgbvz13hsg4s6lg";
|
sha256 = "03dc5jwgp18sism5v4lbqfyn2zljchng8j2yi07yf8i01ivy2mmv";
|
||||||
};
|
};
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
|
|
|
@ -14,15 +14,16 @@
|
||||||
, libdazzle
|
, libdazzle
|
||||||
, gnome3
|
, gnome3
|
||||||
, tracker
|
, tracker
|
||||||
|
, libhandy
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-usage";
|
pname = "gnome-usage";
|
||||||
version = "3.33.2";
|
version = "3.38.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0w3ppfaf15il8mad64qyc9hj1rmlvzs5dyzrxhq7r50k4kyiwmk4";
|
sha256 = "0mqs39yi2cqwkzlmmgzrszsva5hbdpws6zk4lbi4w2cjzl185mcl";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -43,6 +44,7 @@ stdenv.mkDerivation rec {
|
||||||
libdazzle
|
libdazzle
|
||||||
libgtop
|
libgtop
|
||||||
tracker
|
tracker
|
||||||
|
libhandy
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3,
|
{ stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gexiv2,
|
||||||
pango, gobject-introspection, wrapGAppsHook, gettext,
|
pango, gobject-introspection, wrapGAppsHook, gettext,
|
||||||
# Optional packages:
|
# Optional packages:
|
||||||
enableOSM ? true, osm-gps-map,
|
enableOSM ? true, osm-gps-map,
|
||||||
|
@ -9,11 +9,11 @@
|
||||||
let
|
let
|
||||||
inherit (pythonPackages) python buildPythonApplication;
|
inherit (pythonPackages) python buildPythonApplication;
|
||||||
in buildPythonApplication rec {
|
in buildPythonApplication rec {
|
||||||
version = "5.0.1";
|
version = "5.1.3";
|
||||||
pname = "gramps";
|
pname = "gramps";
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook gettext ];
|
nativeBuildInputs = [ wrapGAppsHook gettext ];
|
||||||
buildInputs = [ intltool gtk3 gobject-introspection pango gnome3.gexiv2 ]
|
buildInputs = [ intltool gtk3 gobject-introspection pango gexiv2 ]
|
||||||
# Map support
|
# Map support
|
||||||
++ stdenv.lib.optional enableOSM osm-gps-map
|
++ stdenv.lib.optional enableOSM osm-gps-map
|
||||||
# Graphviz support
|
# Graphviz support
|
||||||
|
@ -26,7 +26,7 @@ in buildPythonApplication rec {
|
||||||
owner = "gramps-project";
|
owner = "gramps-project";
|
||||||
repo = "gramps";
|
repo = "gramps";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1jz1fbjj6byndvir7qxzhd2ryirrd5h2kwndxpp53xdc05z1i8g7";
|
sha256 = "109dwkswz2h2328xkqk2zj736d117s9pp7rz5cc1qg2vxn1lpm93";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
|
pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "hugo";
|
pname = "hugo";
|
||||||
version = "0.78.0";
|
version = "0.78.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gohugoio";
|
owner = "gohugoio";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0la1c6yj9dq9rqxk6m8n8l4cabgzlk0r3was8mvgd80g3x3zn55v";
|
sha256 = "1rzv6az7fb1xvjxxq31rs42waqpwvks4h03lzjxv0kj8i43z116k";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "09fvvs85rvvh0z4px2bj5908xf1mrcslkzsz09p0gy5i3zaqfnp9";
|
vendorSha256 = "06cw3qj57nhrxrbbxcyrqn53j6g11rd2q7bxw89fdn901mc26s03";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
, cmake, pkgconfig, zlib, libpng, makeWrapper
|
, cmake, pkgconfig, zlib, libpng, makeWrapper
|
||||||
, enableGSL ? true, gsl
|
, enableGSL ? true, gsl
|
||||||
, enableGhostScript ? true, ghostscript
|
, enableGhostScript ? true, ghostscript
|
||||||
, enableMuPDF ? true, mupdf
|
, enableMuPDF ? true, mupdf_1_17
|
||||||
, enableDJVU ? true, djvulibre
|
, enableDJVU ? true, djvulibre
|
||||||
, enableGOCR ? false, gocr # Disabled by default due to crashes
|
, enableGOCR ? false, gocr # Disabled by default due to crashes
|
||||||
, enableTesseract ? true, leptonica, tesseract4
|
, enableTesseract ? true, leptonica, tesseract4
|
||||||
|
@ -89,7 +89,7 @@ in stdenv.mkDerivation rec {
|
||||||
cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/
|
cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
mupdf_modded = mupdf.overrideAttrs ({ patches ? [], ... }: {
|
mupdf_modded = mupdf_1_17.overrideAttrs ({ patches ? [], ... }: {
|
||||||
patches = patches ++ [ mupdf_patch ];
|
patches = patches ++ [ mupdf_patch ];
|
||||||
# This function is missing in font.c, see font-win32.c
|
# This function is missing in font.c, see font-win32.c
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, mkDerivation, fetchFromGitHub, fetchpatch
|
{ lib, mkDerivation, fetchFromGitHub, fetchpatch
|
||||||
, python, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
|
, python, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
|
||||||
, which, perl, makeWrapper, fixDarwinDylibNames
|
, which, perl, makeWrapper
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
|
{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, jbig2dec, openjpeg, libjpeg , lcms2, harfbuzz,
|
||||||
libGLU, libGL, freetype, xclip, inotify-tools, procps }:
|
libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps }:
|
||||||
|
|
||||||
assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
|
assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "llpp";
|
pname = "llpp";
|
||||||
version = "32";
|
version = "33";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://repo.or.cz/llpp.git";
|
url = "git://repo.or.cz/llpp.git";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1h1zysm5cz8laq8li49djl6929cnrjlflag9hw0c1dcr4zaxk32y";
|
sha256 = "0shqzhaflm2yhkx6c0csq9lxp1s1r7lh5kgpx9q5k06xya2a7yvs";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||||
});
|
});
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ];
|
buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ];
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
diff --git a/build.bash b/build.bash
|
diff --git a/build.bash b/build.bash
|
||||||
index 7c278b6..41494c5 100755
|
index 7c278b6..41494c5 100755
|
||||||
|
with manual adjustments
|
||||||
--- a/build.bash
|
--- a/build.bash
|
||||||
+++ b/build.bash
|
+++ b/build.bash
|
||||||
@@ -29,7 +29,6 @@ srcd="$(dirname $0)"
|
@@ -30,7 +30,6 @@ srcd="$(dirname $0)"
|
||||||
mudir=$outd/mupdf
|
mudir=$outd/mupdf
|
||||||
muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include"
|
muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include"
|
||||||
|
|
||||||
|
@ -10,25 +11,25 @@ index 7c278b6..41494c5 100755
|
||||||
|
|
||||||
mkdir -p $outd/{$wsid,lablGL}
|
mkdir -p $outd/{$wsid,lablGL}
|
||||||
:>$outd/ordered
|
:>$outd/ordered
|
||||||
@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
|
@@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
|
||||||
mbt=${mbt:-native}
|
mulibst="$mudir/build/$mbt/libs"
|
||||||
mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a
|
mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a"
|
||||||
|
|
||||||
-keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs"
|
-keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs"
|
||||||
-isfresh "$mulibs" "$(eval $keycmd)" || (
|
-isfresh "$mulibst" "$(eval $keycmd)" || (
|
||||||
- make -C "$mudir" build=$mbt -j $mjobs libs
|
- make -C "$mudir" build=$mbt -j $mjobs libs
|
||||||
- eval $keycmd >$mudir/build/$mbt/libmupdf.a.past
|
- eval $keycmd >${mulibst}.past
|
||||||
-) && vecho "fresh mupdf"
|
-) && vecho "fresh mupdf"
|
||||||
-
|
-
|
||||||
oincs() {
|
oincs() {
|
||||||
local i=
|
local i=
|
||||||
local incs1=
|
local incs1=
|
||||||
@@ -89,34 +82,6 @@ mflags() {
|
@@ -100,35 +93,6 @@ mflags() {
|
||||||
}
|
}
|
||||||
|
|
||||||
overs="$(ocamlc -vnum 2>/dev/null)" || overs=""
|
overs="$(ocamlc -vnum 2>/dev/null)" || overs=""
|
||||||
-test "$overs" = "4.10.0" || {
|
-test "$overs" = "4.11.1" || {
|
||||||
- url=https://caml.inria.fr/pub/distrib/ocaml-4.10/ocaml-4.10.0.tar.xz
|
- url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz
|
||||||
- txz=$outd/$(basename $url)
|
- txz=$outd/$(basename $url)
|
||||||
- keycmd="printf $url; digest $txz;"
|
- keycmd="printf $url; digest $txz;"
|
||||||
- isfresh $txz "$(eval $keycmd)" || {
|
- isfresh $txz "$(eval $keycmd)" || {
|
||||||
|
@ -48,7 +49,8 @@ index 7c278b6..41494c5 100755
|
||||||
- tar xf $txz -C $outd
|
- tar xf $txz -C $outd
|
||||||
- bn=$(basename $url)
|
- bn=$(basename $url)
|
||||||
- cd $outd/${bn%.tar.xz}
|
- cd $outd/${bn%.tar.xz}
|
||||||
- ./configure --disable-ocamldoc --enable-debugger=no --prefix=$absprefix
|
- ./configure --disable-ocamldoc --disable-ocamltest \
|
||||||
|
- --enable-debugger=no --prefix=$absprefix
|
||||||
- make -j $mjobs world
|
- make -j $mjobs world
|
||||||
- make install
|
- make install
|
||||||
- eval $keycmd >$absprefix/bin/ocamlc.past
|
- eval $keycmd >$absprefix/bin/ocamlc.past
|
||||||
|
@ -58,7 +60,7 @@ index 7c278b6..41494c5 100755
|
||||||
|
|
||||||
ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \
|
ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \
|
||||||
{ read _ c; echo $c; })}
|
{ read _ c; echo $c; })}
|
||||||
@@ -230,7 +195,7 @@ bobjc() {
|
@@ -243,7 +208,7 @@ bobjc() {
|
||||||
} && vecho "fresh $o"
|
} && vecho "fresh $o"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,12 +69,12 @@ index 7c278b6..41494c5 100755
|
||||||
|
|
||||||
cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)"
|
cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)"
|
||||||
keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"
|
keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"
|
||||||
@@ -284,7 +249,7 @@ for m in ml_gl ml_glarray ml_raw; do
|
@@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do
|
||||||
done
|
done
|
||||||
|
|
||||||
libs="str.cma unix.cma"
|
libs="str.cma unix.cma"
|
||||||
-clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread"
|
-clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread"
|
||||||
+clibs="-lmupdf -lfreetype -lpthread"
|
+clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz"
|
||||||
if $darwin; then
|
if $darwin; then
|
||||||
mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; })
|
mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; })
|
||||||
clibs="$clibs -framework Cocoa -framework OpenGL"
|
clibs="$clibs -framework Cocoa -framework OpenGL"
|
||||||
|
|
95
third_party/nixpkgs/pkgs/applications/misc/mupdf/1.17.nix
vendored
Normal file
95
third_party/nixpkgs/pkgs/applications/misc/mupdf/1.17.nix
vendored
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
|
||||||
|
, jbig2dec, libjpeg , darwin
|
||||||
|
, enableX11 ? true, libX11, libXext, libXi, libXrandr
|
||||||
|
, enableCurl ? true, curl, openssl
|
||||||
|
, enableGL ? true, freeglut, libGLU
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
# OpenJPEG version is hardcoded in package source
|
||||||
|
openJpegVersion = with stdenv;
|
||||||
|
lib.versions.majorMinor (lib.getVersion openjpeg);
|
||||||
|
|
||||||
|
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
version = "1.17.0";
|
||||||
|
pname = "mupdf";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
|
||||||
|
sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches =
|
||||||
|
# Use shared libraries to decrease size
|
||||||
|
stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
|
||||||
|
++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
|
||||||
|
;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
|
||||||
|
'';
|
||||||
|
|
||||||
|
makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
|
||||||
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
|
||||||
|
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
|
||||||
|
++ lib.optionals enableCurl [ curl openssl ]
|
||||||
|
++ lib.optionals enableGL (
|
||||||
|
if stdenv.isDarwin then
|
||||||
|
with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
|
||||||
|
else
|
||||||
|
[ freeglut libGLU ])
|
||||||
|
;
|
||||||
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
# Don't remove mujs because upstream version is incompatible
|
||||||
|
rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p "$out/lib/pkgconfig"
|
||||||
|
cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
|
||||||
|
prefix=$out
|
||||||
|
libdir=$out/lib
|
||||||
|
includedir=$out/include
|
||||||
|
|
||||||
|
Name: mupdf
|
||||||
|
Description: Library for rendering PDF documents
|
||||||
|
Version: ${version}
|
||||||
|
Libs: -L$out/lib -lmupdf -lmupdf-third
|
||||||
|
Cflags: -I$dev/include
|
||||||
|
EOF
|
||||||
|
|
||||||
|
moveToOutput "bin" "$bin"
|
||||||
|
ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
|
||||||
|
mkdir -p $bin/share/applications
|
||||||
|
cat > $bin/share/applications/mupdf.desktop <<EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Version=1.0
|
||||||
|
Name=mupdf
|
||||||
|
Comment=PDF viewer
|
||||||
|
Exec=$bin/bin/mupdf-x11 %f
|
||||||
|
Terminal=false
|
||||||
|
MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://mupdf.com";
|
||||||
|
repositories.git = "git://git.ghostscript.com/mupdf.git";
|
||||||
|
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
|
||||||
|
license = licenses.agpl3Plus;
|
||||||
|
maintainers = with maintainers; [ vrthra fpletz ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
knownVulnerabilities = [
|
||||||
|
"CVE-2020-26519: denial of service when parsing JBIG2"
|
||||||
|
"CVE-2017-5991: NULL pointer dereference"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
|
{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
|
||||||
, jbig2dec, libjpeg , darwin
|
, jbig2dec, libjpeg , darwin
|
||||||
|
, gumbo
|
||||||
, enableX11 ? true, libX11, libXext, libXi, libXrandr
|
, enableX11 ? true, libX11, libXext, libXi, libXrandr
|
||||||
, enableCurl ? true, curl, openssl
|
, enableCurl ? true, curl, openssl
|
||||||
, enableGL ? true, freeglut, libGLU
|
, enableGL ? true, freeglut, libGLU
|
||||||
|
@ -13,27 +14,43 @@ let
|
||||||
|
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
version = "1.17.0";
|
version = "1.18.0";
|
||||||
pname = "mupdf";
|
pname = "mupdf";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
|
url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
|
||||||
sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
|
sha256 = "0rljl44y8p8hgaqializlyrgpij1wbnrzyp0ll5kcg7w05nylq48";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches =
|
patches =
|
||||||
# Use shared libraries to decrease size
|
stdenv.lib.optional stdenv.isDarwin ./darwin.patch ++ [
|
||||||
stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
|
(fetchpatch {
|
||||||
++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
|
name = "pdfocr.patch";
|
||||||
;
|
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=a507b139adf37d2c742e039815601cdc2aa00a84";
|
||||||
|
sha256 = "1fx6pdgwrbk3bqsx53764d61llfj9s5q8lxqkna7mjnp7mg4krj3";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "pdf-layer.patch";
|
||||||
|
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54";
|
||||||
|
sha256 = "0ma8jq8d9a0mf26qjklgi4gdaflpjik1br1nhafzvjz7ccl56ksm";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "pixmap.patch";
|
||||||
|
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=32e4e8b4bcbacbf92af7c88337efae21986d9603";
|
||||||
|
sha256 = "1zqkxgwrhcwsdya98pcmpq2815jjmv3fwsp0sba9f5nq5xi6whbj";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
|
sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Use shared libraries to decrease size
|
||||||
|
buildFlags = [ "shared" ];
|
||||||
|
|
||||||
makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
|
makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
|
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU gumbo ]
|
||||||
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
|
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
|
||||||
++ lib.optionals enableCurl [ curl openssl ]
|
++ lib.optionals enableCurl [ curl openssl ]
|
||||||
++ lib.optionals enableGL (
|
++ lib.optionals enableGL (
|
||||||
|
|
|
@ -35,13 +35,13 @@
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "orca";
|
pname = "orca";
|
||||||
version = "3.36.5";
|
version = "3.38.0";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0nyb33p4y6nmln41pi70c8hiyjyasaryy10mazi7b2s6fy9pk25x";
|
sha256 = "1vkg6p1dlrgx1yyscmy0m58inaq4ljshbdxw0nhi1nwqk3bpjchw";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, fetchFromGitHub, pkgs, pythonPackages, wrapGAppsHook}:
|
{ stdenv, fetchFromGitHub, pkgs, python3, wrapGAppsHook}:
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication {
|
python3.pkgs.buildPythonApplication {
|
||||||
pname = "pdf-quench";
|
pname = "pdf-quench";
|
||||||
version = "1.0.5";
|
version = "1.0.5";
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication {
|
||||||
goocanvas2
|
goocanvas2
|
||||||
poppler_gi
|
poppler_gi
|
||||||
];
|
];
|
||||||
propagatedBuildInputs = with pythonPackages; [ pygobject3 pypdf2 ];
|
propagatedBuildInputs = with python3.pkgs; [ pygobject3 pypdf2 ];
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl
|
{ stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl
|
||||||
, wxGTK31, libXext, libXi, libXt, libXtst, xercesc
|
, wxGTK30, libXext, libXi, libXt, libXtst, xercesc
|
||||||
, qrencode, libuuid, libyubikey, yubikey-personalization
|
, qrencode, libuuid, libyubikey, yubikey-personalization
|
||||||
, curl, openssl, file
|
, curl, openssl, file
|
||||||
}:
|
}:
|
||||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||||
cmake gettext perl pkgconfig zip
|
cmake gettext perl pkgconfig zip
|
||||||
];
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libXext libXi libXt libXtst wxGTK31
|
libXext libXi libXt libXtst wxGTK30
|
||||||
curl qrencode libuuid openssl xercesc
|
curl qrencode libuuid openssl xercesc
|
||||||
libyubikey yubikey-personalization
|
libyubikey yubikey-personalization
|
||||||
file
|
file
|
||||||
|
|
32
third_party/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
vendored
Normal file
32
third_party/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
vendored
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "spicetify-cli";
|
||||||
|
version = "1.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "khanhas";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "08rnwj7ggh114n3mhhm8hb8fm1njgb4j6vba3hynp8x1c2ngidff";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "0k06c3jw5z8rw8nk4qf794kyfipylmz6x6l126a2snvwi0lmc601";
|
||||||
|
|
||||||
|
# used at runtime, but not installed by default
|
||||||
|
postInstall = ''
|
||||||
|
cp -r ${src}/jsHelper $out/bin/jsHelper
|
||||||
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
$out/bin/spicetify-cli --help > /dev/null
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Command-line tool to customize Spotify client";
|
||||||
|
homepage = "https://github.com/khanhas/spicetify-cli/";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ jonringer ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -20,14 +20,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
pname = "syncthingtray";
|
pname = "syncthingtray";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Martchus";
|
owner = "Martchus";
|
||||||
repo = "syncthingtray";
|
repo = "syncthingtray";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-mB23UOUrOfEmbFfVsAXyi3iod0NAfp/sl7Gkklqfmbo=";
|
sha256 = "1dln5gh3p8nz9qmg07cw2s0lpzp3rfhyrwdhczj89g27bwk0lr4k";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ qtbase cpp-utilities qtutilities ]
|
buildInputs = [ qtbase cpp-utilities qtutilities ]
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "amfora";
|
pname = "amfora";
|
||||||
version = "1.5.0";
|
version = "1.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "makeworld-the-better-one";
|
owner = "makeworld-the-better-one";
|
||||||
repo = "amfora";
|
repo = "amfora";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "011h5xzwiafh3fdp9wil8n618p45ph9swa66lw6s82ijpiizz79s";
|
sha256 = "1f5r12hmdgj26p4ss5pcpfcvqlcn19fr9xvvvk2izckcr48p4fy7";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "10f3bh3r3jc1185r8r1ihg8rprdpl8qwg5b6wqwsda96ydkbpi2b";
|
vendorSha256 = "0mkk7xxfxxp1w9890mkmag11mzxhy2zmh8v1macpyp1zmzgs21f8";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
sed -i "s:amfora:$out/bin/amfora:" amfora.desktop
|
sed -i "s:amfora:$out/bin/amfora:" amfora.desktop
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"stable": {
|
"stable": {
|
||||||
"version": "86.0.4240.183",
|
"version": "86.0.4240.193",
|
||||||
"sha256": "1g39i82js7fm4fqb8i66d6xs0kzqjxzi4vzvvwz5y9rkbikcc4ma",
|
"sha256": "0d55xkw3fygqpa3a5bvz7vqmzb0d9w1kis72h54cnwsqgw4xag90",
|
||||||
"sha256bin64": "1r0dxqsx6j19hgwr3v2sdlb2vd7gb961c4wba4ymd8wy8j8pzly9",
|
"sha256bin64": "1x1f8fv0fi965apk2a5v6jmhz8j5m3rz0k5x5vmkwqprvlblfjpw",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2020-08-07",
|
"version": "2020-08-07",
|
||||||
|
@ -13,9 +13,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"version": "87.0.4280.40",
|
"version": "87.0.4280.47",
|
||||||
"sha256": "07xh76fl257np68way6i5rf64qbvirkfddy7m5gvqb0fzcqd7dp3",
|
"sha256": "0a3c4kz85857wrbcxqknbqmai250d36nq332l66a83r8sidhbxfq",
|
||||||
"sha256bin64": "1b2z0aqlh28pqrk6dmabxp1d4mvp9iyfmi4kqmns4cdpg0qgaf41",
|
"sha256bin64": "0bjls2airr4p448rx7im1a7gff68yfnfb5vymr4bin4kz0s38mpw",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2020-09-09",
|
"version": "2020-09-09",
|
||||||
|
@ -26,15 +26,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dev": {
|
"dev": {
|
||||||
"version": "88.0.4300.0",
|
"version": "88.0.4315.5",
|
||||||
"sha256": "00cfs2rp4h8ybn2snr1d8ygg635hx7q5gv2aqriy1j6f8a1pgh1b",
|
"sha256": "0k6man2xq8vmnk73dqv3fcc9929agqq8j6s6nvc9z653q4jdphkw",
|
||||||
"sha256bin64": "110r1m14h91212nx6pfhn8wkics7wlwx1608l5cqsxxcpvpzl3pv",
|
"sha256bin64": "0m139w8lwaawridk8in24ss1g1i6ah5298xky226k3vhk5i4mn3j",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2020-09-09",
|
"version": "2020-10-21",
|
||||||
"url": "https://gn.googlesource.com/gn",
|
"url": "https://gn.googlesource.com/gn",
|
||||||
"rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
|
"rev": "f5f465b52e5df6d4de9fbe67cc79f1914ba4dbfc",
|
||||||
"sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
|
"sha256": "1xb31vsvg27ivvcdyiq93h8wj4d90qdrpagfh1dvm6xszkajsca1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -344,7 +344,12 @@ let
|
||||||
patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary"
|
patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.updateScript = ./update.py;
|
passthru = {
|
||||||
|
updateScript = ./update.py;
|
||||||
|
chromiumDeps = {
|
||||||
|
gn = gnChromium;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Remove some extraAttrs we supplied to the base attributes already.
|
# Remove some extraAttrs we supplied to the base attributes already.
|
||||||
|
|
|
@ -37,26 +37,15 @@ let
|
||||||
inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs
|
inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs
|
||||||
cupsSupport pulseSupport useOzone;
|
cupsSupport pulseSupport useOzone;
|
||||||
inherit ungoogled;
|
inherit ungoogled;
|
||||||
# TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
|
|
||||||
gnChromium = gn.overrideAttrs (oldAttrs: {
|
gnChromium = gn.overrideAttrs (oldAttrs: {
|
||||||
version = "2020-07-20";
|
inherit (upstream-info.deps.gn) version;
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://gn.googlesource.com/gn";
|
inherit (upstream-info.deps.gn) url rev sha256;
|
||||||
rev = "3028c6a426a4aaf6da91c4ebafe716ae370225fe";
|
|
||||||
sha256 = "0h3wf4152zdvrbb0jbj49q6814lfl3rcy5mj8b2pl9s0ahvkbc6q";
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
} // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "87") {
|
} // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "87") {
|
||||||
useOzone = true; # YAY: https://chromium-review.googlesource.com/c/chromium/src/+/2382834 \o/
|
useOzone = true; # YAY: https://chromium-review.googlesource.com/c/chromium/src/+/2382834 \o/
|
||||||
useVaapi = !stdenv.isAarch64; # TODO: Might be best to not set use_vaapi anymore (default is fine)
|
useVaapi = !stdenv.isAarch64; # TODO: Might be best to not set use_vaapi anymore (default is fine)
|
||||||
gnChromium = gn.overrideAttrs (oldAttrs: {
|
|
||||||
version = "2020-08-17";
|
|
||||||
src = fetchgit {
|
|
||||||
url = "https://gn.googlesource.com/gn";
|
|
||||||
rev = "6f13aaac55a977e1948910942675c69f2b4f7a94";
|
|
||||||
sha256 = "01hpma1sllpdx09mvr4d6073sg6zmk6iv44kd3r28khymcj4s251";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
browser = callPackage ./browser.nix { inherit channel enableWideVine; };
|
browser = callPackage ./browser.nix { inherit channel enableWideVine; };
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"86.0.4240.111" = {
|
"86.0.4240.183" = {
|
||||||
rev = "86.0.4240.111-1";
|
rev = "86.0.4240.183-1";
|
||||||
sha256 = "0fkk0lxbvik8q8d5njxmwiam64qz5g74hlb56w24nh5mh1jm59a8";
|
sha256 = "0528l2wr5bpl1cwsxzl5zxz1gw91kffkh5j1kzmc5n7m4mscqxyc";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
#! /usr/bin/env nix-shell
|
#! /usr/bin/env nix-shell
|
||||||
#! nix-shell -i python -p python3 nix
|
#! nix-shell -i python -p python3 nix nix-prefetch-git
|
||||||
|
|
||||||
import csv
|
import csv
|
||||||
import json
|
import json
|
||||||
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from codecs import iterdecode
|
from codecs import iterdecode
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
from datetime import datetime
|
||||||
from os.path import abspath, dirname
|
from os.path import abspath, dirname
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
|
|
||||||
|
@ -26,6 +28,30 @@ def nix_prefetch_url(url, algo='sha256'):
|
||||||
out = subprocess.check_output(['nix-prefetch-url', '--type', algo, url])
|
out = subprocess.check_output(['nix-prefetch-url', '--type', algo, url])
|
||||||
return out.decode('utf-8').rstrip()
|
return out.decode('utf-8').rstrip()
|
||||||
|
|
||||||
|
def nix_prefetch_git(url, rev):
|
||||||
|
print(f'nix-prefetch-git {url} {rev}')
|
||||||
|
out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev])
|
||||||
|
return json.loads(out)
|
||||||
|
|
||||||
|
def get_file_revision(revision, file_path):
|
||||||
|
url = f'https://raw.githubusercontent.com/chromium/chromium/{revision}/{file_path}'
|
||||||
|
with urlopen(url) as http_response:
|
||||||
|
return http_response.read()
|
||||||
|
|
||||||
|
def get_channel_dependencies(channel):
|
||||||
|
deps = get_file_revision(channel['version'], 'DEPS')
|
||||||
|
gn_pattern = b"'gn_version': 'git_revision:([0-9a-f]{40})'"
|
||||||
|
gn_commit = re.search(gn_pattern, deps).group(1).decode()
|
||||||
|
gn = nix_prefetch_git('https://gn.googlesource.com/gn', gn_commit)
|
||||||
|
return {
|
||||||
|
'gn': {
|
||||||
|
'version': datetime.fromisoformat(gn['date']).date().isoformat(),
|
||||||
|
'url': gn['url'],
|
||||||
|
'rev': gn['rev'],
|
||||||
|
'sha256': gn['sha256']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
channels = {}
|
channels = {}
|
||||||
last_channels = load_json(JSON_PATH)
|
last_channels = load_json(JSON_PATH)
|
||||||
|
|
||||||
|
@ -58,6 +84,8 @@ with urlopen(HISTORY_URL) as resp:
|
||||||
# the next one.
|
# the next one.
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
channel['deps'] = get_channel_dependencies(channel)
|
||||||
|
|
||||||
channels[channel_name] = channel
|
channels[channel_name] = channel
|
||||||
|
|
||||||
with open(JSON_PATH, 'w') as out:
|
with open(JSON_PATH, 'w') as out:
|
||||||
|
|
|
@ -1,17 +1,41 @@
|
||||||
{
|
{
|
||||||
"stable": {
|
"stable": {
|
||||||
"version": "86.0.4240.111",
|
"version": "86.0.4240.183",
|
||||||
"sha256": "05y7lwr89awkhvgmwkx3br9j4ap2aypg2wsc0nz8mi7kxc1dnyzj",
|
"sha256": "1g39i82js7fm4fqb8i66d6xs0kzqjxzi4vzvvwz5y9rkbikcc4ma",
|
||||||
"sha256bin64": "10aqiiydw4i3jxnw8xxdgkgcqbfqc67n1fbrg40y54kg0v5dz8l6"
|
"sha256bin64": "1r0dxqsx6j19hgwr3v2sdlb2vd7gb961c4wba4ymd8wy8j8pzly9",
|
||||||
|
"deps": {
|
||||||
|
"gn": {
|
||||||
|
"version": "2020-08-07",
|
||||||
|
"url": "https://gn.googlesource.com/gn",
|
||||||
|
"rev": "e327ffdc503815916db2543ec000226a8df45163",
|
||||||
|
"sha256": "0kvlfj3www84zp1vmxh76x8fdjm9hyk8lkh2vdsidafpmm75fphr"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"version": "87.0.4280.27",
|
"version": "87.0.4280.40",
|
||||||
"sha256": "0w0asxj7jlsw69cssfia8km4q9cx1c2mliks2rmhf4jk0hsghasm",
|
"sha256": "07xh76fl257np68way6i5rf64qbvirkfddy7m5gvqb0fzcqd7dp3",
|
||||||
"sha256bin64": "1lsx4mhy8nachfb8c9f3mrx5nqw2bi046dqirb4lnv7y80jjjs1k"
|
"sha256bin64": "1b2z0aqlh28pqrk6dmabxp1d4mvp9iyfmi4kqmns4cdpg0qgaf41",
|
||||||
|
"deps": {
|
||||||
|
"gn": {
|
||||||
|
"version": "2020-09-09",
|
||||||
|
"url": "https://gn.googlesource.com/gn",
|
||||||
|
"rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
|
||||||
|
"sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"dev": {
|
"dev": {
|
||||||
"version": "88.0.4298.4",
|
"version": "88.0.4300.0",
|
||||||
"sha256": "0ka11gmpkyrmifajaxm66c16hrj3xakdvhjqg04slyp2sv0nlhrl",
|
"sha256": "00cfs2rp4h8ybn2snr1d8ygg635hx7q5gv2aqriy1j6f8a1pgh1b",
|
||||||
"sha256bin64": "0768y31jqbl1znp7yp6mvl5j12xl1nwjkh2l8zdga81q0wz52hh6"
|
"sha256bin64": "110r1m14h91212nx6pfhn8wkics7wlwx1608l5cqsxxcpvpzl3pv",
|
||||||
|
"deps": {
|
||||||
|
"gn": {
|
||||||
|
"version": "2020-09-09",
|
||||||
|
"url": "https://gn.googlesource.com/gn",
|
||||||
|
"rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
|
||||||
|
"sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, libhandy
|
, libhandy_0
|
||||||
, modemmanager
|
, modemmanager
|
||||||
, gtk3
|
, gtk3
|
||||||
, gom
|
, gom
|
||||||
|
@ -43,13 +43,12 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
modemmanager
|
modemmanager
|
||||||
libhandy
|
libhandy_0
|
||||||
evolution-data-server
|
evolution-data-server
|
||||||
folks
|
folks
|
||||||
gom
|
gom
|
||||||
gsound
|
gsound
|
||||||
gtk3
|
gtk3
|
||||||
libhandy
|
|
||||||
libpeas
|
libpeas
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -19,13 +19,13 @@ let
|
||||||
in
|
in
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "argo";
|
pname = "argo";
|
||||||
version = "2.11.6";
|
version = "2.11.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "argoproj";
|
owner = "argoproj";
|
||||||
repo = "argo";
|
repo = "argo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1vlz1f4hyzgz1x9xgzlmpnbjba8xyhpx9ybia0pwilfg7mwfq92r";
|
sha256 = "1i7qgghnb39bibnk07f47k64qpkb1k8mi3bbfnx6mxl0jlq335af";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1ca0ssvbi4vrsn9ljc783hnh9bmf5p8nr1lz5wm8g3gbrrrf1ray";
|
vendorSha256 = "1ca0ssvbi4vrsn9ljc783hnh9bmf5p8nr1lz5wm8g3gbrrrf1ray";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "helmfile";
|
pname = "helmfile";
|
||||||
version = "0.132.1";
|
version = "0.134.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "roboll";
|
owner = "roboll";
|
||||||
repo = "helmfile";
|
repo = "helmfile";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "03i9pl3iwqk5az73qm9rxdq8c5nd9l4w3c28yk55bfgpwpnxcwjc";
|
sha256 = "0s64l3dj5ydal7rfyg1avckb2ri7a34y2x7rhbplam8lk0vdzx03";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "0r4p4nwhmxg06qyf86gd2g61l4r1mlpblh4vhsc1shbz9iigykzi";
|
vendorSha256 = "1p5m5v5lpdyzywq2ybsa9zkygixdkaifn2szxj7v8x162bzf16r5";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "helmsman";
|
pname = "helmsman";
|
||||||
version = "3.4.6";
|
version = "3.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Praqma";
|
owner = "Praqma";
|
||||||
repo = "helmsman";
|
repo = "helmsman";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "018bkl6q6q8njv9qy87affs0g6c716vmhcqv2czv8qz454hn7i5h";
|
sha256 = "0vng0ra8bjxmfq6xvdxn72f5bcjrv8i72dams80lf0mq3l7wjl7c";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "05vnysr5r3hbayss1pyifgp989kjw81h95iack8ady62k6ys5njl";
|
vendorSha256 = "05vnysr5r3hbayss1pyifgp989kjw81h95iack8ady62k6ys5njl";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "k9s";
|
pname = "k9s";
|
||||||
version = "0.23.3";
|
version = "0.23.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "derailed";
|
owner = "derailed";
|
||||||
repo = "k9s";
|
repo = "k9s";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0jdrjsv6miprw0bj964rgkbci4xdwfi536z3px93i2n9zrhhawpn";
|
sha256 = "0nfgi67ja36mymhcyh4902680pkfnk4g8j8nbajksx9nfp53n91v";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildFlagsArray = ''
|
buildFlagsArray = ''
|
||||||
|
@ -18,7 +18,7 @@ buildGoModule rec {
|
||||||
-X github.com/derailed/k9s/cmd.commit=${src.rev}
|
-X github.com/derailed/k9s/cmd.commit=${src.rev}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vendorSha256 = "105vmy8agl3ppgi28wg7djx0jrfam7nxfvvlps9ycgyrv2qpjh2n";
|
vendorSha256 = "116aidry55917ays7rn5r5kj17nbgb9qi16bplml9kxfkjv072kz";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kube3d";
|
pname = "kube3d";
|
||||||
version = "3.1.5";
|
version = "3.2.0";
|
||||||
k3sVersion = "1.18.9-k3s1";
|
k3sVersion = "1.18.9-k3s1";
|
||||||
|
|
||||||
excludedPackages = ''tools'';
|
excludedPackages = ''tools'';
|
||||||
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
||||||
owner = "rancher";
|
owner = "rancher";
|
||||||
repo = "k3d";
|
repo = "k3d";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0aspkar9im323d8117k48fvh1yylyspi2p2l2f5rdg1ilpa6hm53";
|
sha256 = "0jy0l8rvmwi0qznnvv97v50lfkpc2bwjmbnq4pxnmf9ih970wjwh";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildFlagsArray = ''
|
buildFlagsArray = ''
|
||||||
|
@ -23,12 +23,11 @@ buildGoModule rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
# TODO: Move to enhanced installShellCompletion when in master: PR #83630
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
$out/bin/k3d completion bash > k3d.bash
|
installShellCompletion --cmd k3d \
|
||||||
$out/bin/k3d completion fish > k3d.fish
|
--bash <($out/bin/k3d completion bash) \
|
||||||
$out/bin/k3d completion zsh > _k3d
|
--fish <($out/bin/k3d completion fish) \
|
||||||
installShellCompletion k3d.{bash,fish} --zsh _k3d
|
--zsh <($out/bin/k3d completion zsh)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue