Merge branch 'staging-next' into staging

This commit is contained in:
Jan Tojnar 2020-04-10 12:13:27 +02:00
commit 55a5c128d4
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
697 changed files with 10696 additions and 8013 deletions

1
.github/CODEOWNERS vendored
View File

@ -178,6 +178,7 @@
/nixos/tests/prometheus-exporters.nix @WilliButz /nixos/tests/prometheus-exporters.nix @WilliButz
# PHP # PHP
/doc/languages-frameworks/php.section.md @etu
/pkgs/development/interpreters/php @etu /pkgs/development/interpreters/php @etu
/pkgs/top-level/php-packages.nix @etu /pkgs/top-level/php-packages.nix @etu
/pkgs/build-support/build-pecl.nix @etu /pkgs/build-support/build-pecl.nix @etu

View File

@ -186,7 +186,7 @@ with import <nixpkgs> {};
androidenv.emulateApp { androidenv.emulateApp {
name = "emulate-MyAndroidApp"; name = "emulate-MyAndroidApp";
platformVersion = "28"; platformVersion = "28";
abiVersion = "x86_64"; # armeabi-v7a, mips, x86 abiVersion = "x86"; # armeabi-v7a, mips, x86_64
systemImageType = "google_apis_playstore"; systemImageType = "google_apis_playstore";
} }
``` ```

View File

@ -0,0 +1,112 @@
# PHP
## User Guide
### Using PHP
#### Overview
Several versions of PHP are available on Nix, each of which having a
wide variety of extensions and libraries available.
The attribute `php` refers to the version of PHP considered most
stable and thoroughly tested in nixpkgs for any given release of
NixOS. Note that while this version of PHP may not be the latest major
release from upstream, any version of PHP supported in nixpkgs may be
utilized by specifying the desired attribute by version, such as
`php74`.
Only versions of PHP that are supported by upstream for the entirety
of a given NixOS release will be included in that release of
NixOS. See [PHP Supported
Versions](https://www.php.net/supported-versions.php).
Interactive tools built on PHP are put in `php.packages`; composer is
for example available at `php.packages.composer`.
Most extensions that come with PHP, as well as some popular
third-party ones, are available in `php.extensions`; for example, the
opcache extension shipped with PHP is available at
`php.extensions.opcache` and the third-party ImageMagick extension at
`php.extensions.imagick`.
The different versions of PHP that nixpkgs provides is located under
attributes named based on major and minor version number; e.g.,
`php74` is PHP 7.4 with commonly used extensions installed,
`php74base` is the same PHP runtime without extensions.
#### Installing PHP with packages
A PHP package with specific extensions enabled can be built using
`php.withExtensions`. This is a function which accepts an anonymous
function as its only argument; the function should take one argument,
the set of all extensions, and return a list of wanted extensions. For
example, a PHP package with the opcache and ImageMagick extensions
enabled:
```nix
php.withExtensions (e: with e; [ imagick opcache ])
```
Note that this will give you a package with _only_ opcache and
ImageMagick, none of the other extensions which are enabled by default
in the `php` package will be available.
To enable building on a previous PHP package, the currently enabled
extensions are made available in its `enabledExtensions`
attribute. For example, to generate a package with all default
extensions enabled, except opcache, but with ImageMagick:
```nix
php.withExtensions (e:
(lib.filter (e: e != php.extensions.opcache) php.enabledExtensions)
++ [ e.imagick ])
```
If you want a PHP build with extra configuration in the `php.ini`
file, you can use `php.buildEnv`. This function takes two named and
optional parameters: `extensions` and `extraConfig`. `extensions`
takes an extension specification equivalent to that of
`php.withExtensions`, `extraConfig` a string of additional `php.ini`
configuration parameters. For example, a PHP package with the opcache
and ImageMagick extensions enabled, and `memory_limit` set to `256M`:
```nix
php.buildEnv {
extensions = e: with e; [ imagick opcache ];
extraConfig = "memory_limit=256M";
}
```
##### Example setup for `phpfpm`
You can use the previous examples in a `phpfpm` pool called `foo` as
follows:
```nix
let
myPhp = php.withExtensions (e: with e; [ imagick opcache ]);
in {
services.phpfpm.pools."foo".phpPackage = myPhp;
};
```
```nix
let
myPhp = php.buildEnv {
extensions = e: with e; [ imagick opcache ];
extraConfig = "memory_limit=256M";
};
in {
services.phpfpm.pools."foo".phpPackage = myPhp;
};
```
##### Example usage with `nix-shell`
This brings up a temporary environment that contains a PHP interpreter
with the extensions `imagick` and `opcache` enabled.
```sh
nix-shell -p 'php.buildEnv { extensions = e: with e; [ imagick opcache ]; }'
```

View File

@ -106,7 +106,7 @@
</para> </para>
<para> <para>
The reason for why <literal>glibc</literal> deviates from the convention is because referencing a library provided by <literal>glibc</literal> is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of <literal>glibc</literal> libraries from Nix packages (please see the documentation on <link xlink:href="https://nixos.org/patchelf.html">patchelf</link> for more details). The reason for why <literal>glibc</literal> deviates from the convention is because referencing a library provided by <literal>glibc</literal> is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of <literal>glibc</literal> libraries from Nix packages (please see the documentation on <link xlink:href="https://github.com/NixOS/patchelf/blob/master/README">patchelf</link> for more details).
</para> </para>
</section> </section>

View File

@ -141,7 +141,7 @@ let
mergeAttrsWithFunc mergeAttrsConcatenateValues mergeAttrsWithFunc mergeAttrsConcatenateValues
mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults
mergeAttrsByFuncDefaultsClean mergeAttrBy mergeAttrsByFuncDefaultsClean mergeAttrBy
fakeSha256 fakeSha512 fakeSri fakeSha256 fakeSha512
nixType imap; nixType imap;
inherit (versions) inherit (versions)
splitVersion; splitVersion;

View File

@ -272,6 +272,7 @@ rec {
imap = imap1; imap = imap1;
# Fake hashes. Can be used as hash placeholders, when computing hash ahead isn't trivial # Fake hashes. Can be used as hash placeholders, when computing hash ahead isn't trivial
fakeSri = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
fakeSha256 = "0000000000000000000000000000000000000000000000000000000000000000"; fakeSha256 = "0000000000000000000000000000000000000000000000000000000000000000";
fakeSha512 = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; fakeSha512 = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
} }

View File

@ -2404,6 +2404,12 @@
fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F"; fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F";
}]; }];
}; };
euank = {
email = "euank-nixpkg@euank.com";
github = "euank";
githubId = 2147649;
name = "Euan Kemp";
};
evanjs = { evanjs = {
email = "evanjsx@gmail.com"; email = "evanjsx@gmail.com";
github = "evanjs"; github = "evanjs";
@ -3233,6 +3239,12 @@
githubId = 4458; githubId = 4458;
name = "Ivan Kozik"; name = "Ivan Kozik";
}; };
ivan-timokhin = {
email = "nixpkgs@ivan.timokhin.name";
name = "Ivan Timokhin";
github = "ivan-timokhin";
githubId = 9802104;
};
ivan-tkatchev = { ivan-tkatchev = {
email = "tkatchev@gmail.com"; email = "tkatchev@gmail.com";
name = "Ivan Tkatchev"; name = "Ivan Tkatchev";
@ -5594,6 +5606,12 @@
githubId = 101514; githubId = 101514;
name = "Orivej Desh"; name = "Orivej Desh";
}; };
oro = {
email = "marco@orovecchia.at";
github = "oro";
githubId = 357005;
name = "Marco Orovecchia";
};
osener = { osener = {
email = "ozan@ozansener.com"; email = "ozan@ozansener.com";
github = "osener"; github = "osener";
@ -6521,6 +6539,12 @@
githubId = 766350; githubId = 766350;
name = "Richard Zetterberg"; name = "Richard Zetterberg";
}; };
s1341 = {
email = "s1341@shmarya.net";
name = "Shmarya Rubenstein";
github = "s1341";
githubId = 5682183;
};
samdoshi = { samdoshi = {
email = "sam@metal-fish.co.uk"; email = "sam@metal-fish.co.uk";
github = "samdoshi"; github = "samdoshi";
@ -8197,6 +8221,11 @@
fingerprint = "85F8 E850 F8F2 F823 F934 535B EC50 6589 9AEA AF4C"; fingerprint = "85F8 E850 F8F2 F823 F934 535B EC50 6589 9AEA AF4C";
}]; }];
}; };
yvesf = {
email = "yvesf+nix@xapek.org";
github = "yvesf";
name = "Yves Fischer";
};
yvt = { yvt = {
email = "i@yvt.jp"; email = "i@yvt.jp";
github = "yvt"; github = "yvt";
@ -8397,4 +8426,10 @@
github = "ymeister"; github = "ymeister";
githubId = 47071325; githubId = 47071325;
}; };
cpcloud = {
name = "Phillip Cloud";
email = "417981+cpcloud@users.noreply.github.com";
github = "cpcloud";
githubId = 417981;
};
} }

View File

@ -30,4 +30,13 @@ with lib.maintainers; {
]; ];
scope = "Maintain GNOME desktop environment and platform."; scope = "Maintain GNOME desktop environment and platform.";
}; };
podman = {
members = [
saschagrunert
vdemeester
zowoq
];
scope = "Maintain podman related packages.";
};
} }

View File

@ -75,6 +75,24 @@ services.xserver.displayManager.defaultSession = "xfce+icewm";
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The testing driver implementation in NixOS is now in Python <filename>make-test-python.nix</filename>.
This was done by Jacek Galowicz (<link xlink:href="https://github.com/tfc">@tfc</link>), and with the
collaboration of Julian Stecklina (<link xlink:href="https://github.com/blitz">@blitz</link>) and
Jana Traue (<link xlink:href="https://github.com/jtraue">@jtraue</link>). All documentation has been updated to use this
testing driver, and a vast majority of the 286 tests in NixOS were ported to python driver. In 20.09 the Perl driver implementation,
<filename>make-test.nix</filename>, is slated for removal. This should give users of the NixOS integration framework
a transitory period to rewrite their tests to use the Python implementation. Users of the Perl driver will see
this warning everytime they use it:
<screen>
<prompt>$ </prompt>warning: Perl VM tests are deprecated and will be removed for 20.09.
Please update your tests to use the python test driver.
See https://github.com/NixOS/nixpkgs/pull/71684 for details.
</screen>
API compatibility is planned to be kept for at least the next release with the perl driver.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
@ -127,6 +145,17 @@ services.xserver.displayManager.defaultSession = "xfce+icewm";
</para> </para>
<itemizedlist> <itemizedlist>
<listitem>
<para>
The <package>dhcpcd</package> package <link xlink:href="https://roy.marples.name/archives/dhcpcd-discuss/0002621.html">
does not request IPv4 addresses for tap and bridge interfaces anymore by default</link>.
In order to still get an address on a bridge interface, one has to disable
<literal>networking.useDHCP</literal> and explicitly enable
<literal>networking.interfaces.&lt;name&gt;.useDHCP</literal> on
every interface, that should get an address via DHCP. This way, dhcpcd
is configured in an explicit way about which interface to run on.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
GnuPG is now built without support for a graphical passphrase entry GnuPG is now built without support for a graphical passphrase entry
@ -730,10 +759,10 @@ auth required pam_succeed_if.so uid >= 1000 quiet
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Deploy a newer version of Hydra to activate the DB optimizations. You can choose from Deploy a newer version of Hydra to activate the DB optimizations. This can be done by
either <package>hydra-unstable</package> (latest <literal>master</literal> compiled using <package>hydra-unstable</package>. This package already includes
against <package>nixUnstable</package>) and <package>hydra-flakes</package> (latest <link xlink:href="https://github.com/nixos/rfcs/pull/49">flake-support</link> and is
version with flake-support). therefore compiled against <package>pkgs.nixFlakes</package>.
<warning> <warning>
<para> <para>
If your <link linkend="opt-system.stateVersion">stateVersion</link> is set to If your <link linkend="opt-system.stateVersion">stateVersion</link> is set to
@ -827,8 +856,8 @@ auth required pam_succeed_if.so uid >= 1000 quiet
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Predicatbly named network-interfaces get renamed in stage-1. This means that it's possible Predictably named network interfaces get renamed in stage-1. This means that it is possible
to use the proper interface name for e.g. dropbear-setups. to use the proper interface name for e.g. Dropbear setups.
</para> </para>
<para> <para>
For further reference, please read <link xlink:href="https://github.com/NixOS/nixpkgs/pull/68953">#68953</link> or the corresponding <link xlink:href="https://discourse.nixos.org/t/predictable-network-interface-names-in-initrd/4055">discourse thread</link>. For further reference, please read <link xlink:href="https://github.com/NixOS/nixpkgs/pull/68953">#68953</link> or the corresponding <link xlink:href="https://discourse.nixos.org/t/predictable-network-interface-names-in-initrd/4055">discourse thread</link>.

View File

@ -128,6 +128,81 @@
documentation for instructions. documentation for instructions.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Since this release there's an easy way to customize your PHP install to get a much smaller
base PHP with only wanted extensions enabled. See the following snippet installing a smaller PHP
with the extensions <literal>imagick</literal>, <literal>opcache</literal> and
<literal>pdo_mysql</literal> loaded:
<programlisting>
environment.systemPackages = [
(pkgs.php.buildEnv { extensions = pp: with pp; [
imagick
opcache
pdo_mysql
]; })
];</programlisting>
The default <literal>php</literal> attribute hasn't lost any extensions -
the <literal>opcache</literal> extension was added there.
All upstream PHP extensions are available under <package><![CDATA[php.extensions.<name?>]]></package>.
</para>
<para>
The updated <literal>php</literal> attribute is now easily customizable to your liking
by using extensions instead of writing config files or changing configure flags.
Therefore we have removed the following configure flags:
<itemizedlist>
<title>PHP <literal>config</literal> flags that we don't read anymore:</title>
<listitem><para><literal>config.php.argon2</literal></para></listitem>
<listitem><para><literal>config.php.bcmath</literal></para></listitem>
<listitem><para><literal>config.php.bz2</literal></para></listitem>
<listitem><para><literal>config.php.calendar</literal></para></listitem>
<listitem><para><literal>config.php.curl</literal></para></listitem>
<listitem><para><literal>config.php.exif</literal></para></listitem>
<listitem><para><literal>config.php.ftp</literal></para></listitem>
<listitem><para><literal>config.php.gd</literal></para></listitem>
<listitem><para><literal>config.php.gettext</literal></para></listitem>
<listitem><para><literal>config.php.gmp</literal></para></listitem>
<listitem><para><literal>config.php.imap</literal></para></listitem>
<listitem><para><literal>config.php.intl</literal></para></listitem>
<listitem><para><literal>config.php.ldap</literal></para></listitem>
<listitem><para><literal>config.php.libxml2</literal></para></listitem>
<listitem><para><literal>config.php.libzip</literal></para></listitem>
<listitem><para><literal>config.php.mbstring</literal></para></listitem>
<listitem><para><literal>config.php.mysqli</literal></para></listitem>
<listitem><para><literal>config.php.mysqlnd</literal></para></listitem>
<listitem><para><literal>config.php.openssl</literal></para></listitem>
<listitem><para><literal>config.php.pcntl</literal></para></listitem>
<listitem><para><literal>config.php.pdo_mysql</literal></para></listitem>
<listitem><para><literal>config.php.pdo_odbc</literal></para></listitem>
<listitem><para><literal>config.php.pdo_pgsql</literal></para></listitem>
<listitem><para><literal>config.php.phpdbg</literal></para></listitem>
<listitem><para><literal>config.php.postgresql</literal></para></listitem>
<listitem><para><literal>config.php.readline</literal></para></listitem>
<listitem><para><literal>config.php.soap</literal></para></listitem>
<listitem><para><literal>config.php.sockets</literal></para></listitem>
<listitem><para><literal>config.php.sodium</literal></para></listitem>
<listitem><para><literal>config.php.sqlite</literal></para></listitem>
<listitem><para><literal>config.php.tidy</literal></para></listitem>
<listitem><para><literal>config.php.xmlrpc</literal></para></listitem>
<listitem><para><literal>config.php.xsl</literal></para></listitem>
<listitem><para><literal>config.php.zip</literal></para></listitem>
<listitem><para><literal>config.php.zlib</literal></para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
Gollum received a major update to version 5.x and you may have to change
some links in your wiki when migrating from gollum 4.x. More information
can be found
<link xlink:href="https://github.com/gollum/gollum/wiki/5.0-release-notes#migrating-your-wiki">here</link>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
@ -140,7 +215,13 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para /> <para>
The <package>notmuch</package> package move its emacs-related binaries and
emacs lisp files to a separate output. They're not part
of the default <literal>out</literal> output anymore - if you relied on the
<literal>notmuch-emacs-mua</literal> binary or the emacs lisp files, access them via
the <literal>notmuch.emacs</literal> output.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -107,6 +107,7 @@ xorriso="xorriso
-publisher nixos -publisher nixos
-graft-points -graft-points
-full-iso9660-filenames -full-iso9660-filenames
-joliet
${isoBootFlags} ${isoBootFlags}
${usbBootFlags} ${usbBootFlags}
${efiBootFlags} ${efiBootFlags}

View File

@ -387,7 +387,7 @@ class Machine:
if state != require_state: if state != require_state:
raise Exception( raise Exception(
"Expected unit {} to to be in state ".format(unit) "Expected unit {} to to be in state ".format(unit)
+ "'active' but it is in state {}".format(state) + "'{}' but it is in state {}".format(require_state, state)
) )
def execute(self, command: str) -> Tuple[int, str]: def execute(self, command: str) -> Tuple[int, str]:

View File

@ -18,8 +18,6 @@ with lib;
# ISO naming. # ISO naming.
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso"; isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso";
isoImage.volumeID = substring 0 11 "NIXOS_ISO";
# EFI booting # EFI booting
isoImage.makeEfiBootable = true; isoImage.makeEfiBootable = true;

View File

@ -7,6 +7,8 @@ with lib;
{ {
imports = [ ./installation-cd-graphical-base.nix ]; imports = [ ./installation-cd-graphical-base.nix ];
isoImage.edition = "gnome";
services.xserver.desktopManager.gnome3.enable = true; services.xserver.desktopManager.gnome3.enable = true;
# Wayland can be problematic for some hardware like Nvidia graphics cards. # Wayland can be problematic for some hardware like Nvidia graphics cards.

View File

@ -8,6 +8,8 @@ with lib;
{ {
imports = [ ./installation-cd-graphical-base.nix ]; imports = [ ./installation-cd-graphical-base.nix ];
isoImage.edition = "plasma5";
services.xserver = { services.xserver = {
desktopManager.plasma5 = { desktopManager.plasma5 = {
enable = true; enable = true;

View File

@ -8,5 +8,7 @@
[ ./installation-cd-base.nix [ ./installation-cd-base.nix
]; ];
isoImage.edition = "minimal";
fonts.fontconfig.enable = false; fonts.fontconfig.enable = false;
} }

View File

@ -417,8 +417,17 @@ in
''; '';
}; };
isoImage.edition = mkOption {
default = "";
description = ''
Specifies which edition string to use in the volume ID of the generated
ISO image.
'';
};
isoImage.volumeID = mkOption { isoImage.volumeID = mkOption {
default = "NIXOS_BOOT_CD"; # nixos-$EDITION-$RELEASE-$ARCH
default = "nixos${optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}"}-${config.system.nixos.release}-${pkgs.stdenv.hostPlatform.uname.processor}";
description = '' description = ''
Specifies the label or volume ID of the generated ISO image. Specifies the label or volume ID of the generated ISO image.
Note that the label is used by stage 1 of the boot process to Note that the label is used by stage 1 of the boot process to
@ -515,6 +524,19 @@ in
}; };
config = { config = {
assertions = [
{
assertion = !(stringLength config.isoImage.volumeID > 32);
# https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor
# Volume Identifier can only be 32 bytes
message = let
length = stringLength config.isoImage.volumeID;
howmany = toString length;
toomany = toString (length - 32);
in
"isoImage.volumeID ${config.isoImage.volumeID} is ${howmany} characters. That is ${toomany} characters longer than the limit of 32.";
}
];
boot.loader.grub.version = 2; boot.loader.grub.version = 2;

View File

@ -91,9 +91,6 @@ sub hasCPUFeature {
} }
# Detect the number of CPU cores.
my $cpus = scalar (grep {/^processor\s*:/} (split '\n', $cpuinfo));
# Determine CPU governor to use # Determine CPU governor to use
if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") { if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") {
@ -562,7 +559,6 @@ my $hwConfig = <<EOF;
boot.kernelModules = [$kernelModules ]; boot.kernelModules = [$kernelModules ];
boot.extraModulePackages = [$modulePackages ]; boot.extraModulePackages = [$modulePackages ];
$fsAndSwap $fsAndSwap
nix.maxJobs = lib.mkDefault $cpus;
${\join "", (map { " $_\n" } (uniq @attrs))}} ${\join "", (map { " $_\n" } (uniq @attrs))}}
EOF EOF

View File

@ -23,8 +23,6 @@ with lib;
security.allowUserNamespaces = mkDefault false; security.allowUserNamespaces = mkDefault false;
nix.useSandbox = mkDefault false;
security.protectKernelImage = mkDefault true; security.protectKernelImage = mkDefault true;
security.allowSimultaneousMultithreading = mkDefault false; security.allowSimultaneousMultithreading = mkDefault false;

View File

@ -301,7 +301,7 @@ in
# StateDirectory must be relative, and will be created under /var/lib by systemd # StateDirectory must be relative, and will be created under /var/lib by systemd
lpath = "acme/${cert}"; lpath = "acme/${cert}";
apath = "/var/lib/${lpath}"; apath = "/var/lib/${lpath}";
spath = "/var/lib/acme/.lego"; spath = "/var/lib/acme/.lego/${cert}";
fileMode = if data.allowKeysForGroup then "640" else "600"; fileMode = if data.allowKeysForGroup then "640" else "600";
globalOpts = [ "-d" data.domain "--email" data.email "--path" "." "--key-type" data.keyType ] globalOpts = [ "-d" data.domain "--email" data.email "--path" "." "--key-type" data.keyType ]
++ optionals (cfg.acceptTerms) [ "--accept-tos" ] ++ optionals (cfg.acceptTerms) [ "--accept-tos" ]
@ -330,7 +330,7 @@ in
User = data.user; User = data.user;
Group = data.group; Group = data.group;
PrivateTmp = true; PrivateTmp = true;
StateDirectory = "acme/.lego ${lpath}"; StateDirectory = "acme/.lego/${cert} ${lpath}";
StateDirectoryMode = if data.allowKeysForGroup then "750" else "700"; StateDirectoryMode = if data.allowKeysForGroup then "750" else "700";
WorkingDirectory = spath; WorkingDirectory = spath;
# Only try loading the credentialsFile if the dns challenge is enabled # Only try loading the credentialsFile if the dns challenge is enabled

View File

@ -198,8 +198,8 @@ in
warnings = optional (cfg.package.migration or false) '' warnings = optional (cfg.package.migration or false) ''
You're currently deploying an older version of Hydra which is needed to You're currently deploying an older version of Hydra which is needed to
make some required database changes[1]. As soon as this is done, it's recommended make some required database changes[1]. As soon as this is done, it's recommended
to run `hydra-backfill-ids` and set `services.hydra.package` to either `pkgs.hydra-unstable` to run `hydra-backfill-ids` and set `services.hydra.package` to `pkgs.hydra-unstable`
or `pkgs.hydra-flakes` after that. after that.
[1] https://github.com/NixOS/hydra/pull/711 [1] https://github.com/NixOS/hydra/pull/711
''; '';
@ -212,7 +212,7 @@ in
due to an overlay. To upgrade Hydra, you need to take two steps as some due to an overlay. To upgrade Hydra, you need to take two steps as some
bigger changes in the database schema were implemented recently[1]. You first bigger changes in the database schema were implemented recently[1]. You first
need to deploy `pkgs.hydra-migration`, run `hydra-backfill-ids` on the server need to deploy `pkgs.hydra-migration`, run `hydra-backfill-ids` on the server
and then deploy either `pkgs.hydra-unstable` or `pkgs.hydra-flakes`. and then deploy `pkgs.hydra-unstable`.
If you want to use `pkgs.hydra` from your overlay, please set `services.hydra.package` If you want to use `pkgs.hydra` from your overlay, please set `services.hydra.package`
explicitly to `pkgs.hydra` and make sure you know what you're doing. explicitly to `pkgs.hydra` and make sure you know what you're doing.

View File

@ -17,6 +17,8 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome3.gnome-remote-desktop.enable { config = mkIf config.services.gnome3.gnome-remote-desktop.enable {
services.pipewire.enable = true;
systemd.packages = [ pkgs.gnome3.gnome-remote-desktop ]; systemd.packages = [ pkgs.gnome3.gnome-remote-desktop ];
}; };
} }

View File

@ -12,7 +12,7 @@ with lib;
services.malcontent = { services.malcontent = {
enable = mkEnableOption "Malcontent"; enable = mkEnableOption "Malcontent, parental control support for applications";
}; };
@ -23,10 +23,15 @@ with lib;
config = mkIf config.services.malcontent.enable { config = mkIf config.services.malcontent.enable {
environment.systemPackages = [ pkgs.malcontent ]; environment.systemPackages = with pkgs; [
malcontent
malcontent-ui
];
services.dbus.packages = [ pkgs.malcontent ]; services.dbus.packages = [ pkgs.malcontent ];
services.accounts-daemon.enable = true;
}; };
} }

View File

@ -92,13 +92,14 @@ in
maxJobs = mkOption { maxJobs = mkOption {
type = types.either types.int (types.enum ["auto"]); type = types.either types.int (types.enum ["auto"]);
default = 1; default = "auto";
example = 64; example = 64;
description = '' description = ''
This option defines the maximum number of jobs that Nix will try This option defines the maximum number of jobs that Nix will try to
to build in parallel. The default is 1. You should generally build in parallel. The default is auto, which means it will use all
set it to the total number of logical cores in your system (e.g., 16 available logical cores. It is recommend to set it to the total
for two CPUs with 4 cores each and hyper-threading). number of logical cores in your system (e.g., 16 for two CPUs with 4
cores each and hyper-threading).
''; '';
}; };

View File

@ -154,6 +154,7 @@ in {
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}"; ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}";
ExecReload = "${pkgs.utillinux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID"; ExecReload = "${pkgs.utillinux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
TimeoutStopSec = 60; TimeoutStopSec = 60;
Restart = "on-failure";
# User and group # User and group
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;

View File

@ -17,7 +17,7 @@ in {
example = [ "eth0" ]; example = [ "eth0" ];
description = '' description = ''
Enable RDMA on the listed interfaces. The corresponding virtual Enable RDMA on the listed interfaces. The corresponding virtual
RDMA interfaces will be named rxe_<interface>. RDMA interfaces will be named rxe_&lt;interface&gt;.
UDP port 4791 must be open on the respective ethernet interfaces. UDP port 4791 must be open on the respective ethernet interfaces.
''; '';
}; };

View File

@ -6,30 +6,31 @@ let
cfg = config.services.nextcloud; cfg = config.services.nextcloud;
fpm = config.services.phpfpm.pools.nextcloud; fpm = config.services.phpfpm.pools.nextcloud;
phpPackage = pkgs.php73; phpPackage =
phpPackages = pkgs.php73Packages; let
base = pkgs.php74;
in
base.buildEnv {
extensions = e: with e;
base.enabledExtensions ++ [
apcu redis memcached imagick
];
extraConfig = phpOptionsStr;
};
toKeyValue = generators.toKeyValue { toKeyValue = generators.toKeyValue {
mkKeyValue = generators.mkKeyValueDefault {} " = "; mkKeyValue = generators.mkKeyValueDefault {} " = ";
}; };
phpOptionsExtensions = ''
${optionalString cfg.caching.apcu "extension=${phpPackages.apcu}/lib/php/extensions/apcu.so"}
${optionalString cfg.caching.redis "extension=${phpPackages.redis}/lib/php/extensions/redis.so"}
${optionalString cfg.caching.memcached "extension=${phpPackages.memcached}/lib/php/extensions/memcached.so"}
extension=${phpPackages.imagick}/lib/php/extensions/imagick.so
zend_extension = opcache.so
opcache.enable = 1
'';
phpOptions = { phpOptions = {
upload_max_filesize = cfg.maxUploadSize; upload_max_filesize = cfg.maxUploadSize;
post_max_size = cfg.maxUploadSize; post_max_size = cfg.maxUploadSize;
memory_limit = cfg.maxUploadSize; memory_limit = cfg.maxUploadSize;
} // cfg.phpOptions; } // cfg.phpOptions;
phpOptionsStr = phpOptionsExtensions + (toKeyValue phpOptions); phpOptionsStr = toKeyValue phpOptions;
occ = pkgs.writeScriptBin "nextcloud-occ" '' occ = pkgs.writeScriptBin "nextcloud-occ" ''
#! ${pkgs.stdenv.shell} #! ${pkgs.runtimeShell}
cd ${cfg.package} cd ${cfg.package}
sudo=exec sudo=exec
if [[ "$USER" != nextcloud ]]; then if [[ "$USER" != nextcloud ]]; then
@ -38,7 +39,6 @@ let
export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config" export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config"
$sudo \ $sudo \
${phpPackage}/bin/php \ ${phpPackage}/bin/php \
-c ${pkgs.writeText "php.ini" phpOptionsStr}\
occ $* occ $*
''; '';

View File

@ -38,7 +38,7 @@ in
pkgs.gtk2 # To get GTK's themes. pkgs.gtk2 # To get GTK's themes.
pkgs.tango-icon-theme pkgs.tango-icon-theme
pkgs.gnome2.gnome_icon_theme pkgs.gnome-icon-theme
pkgs.xorg.xcursorthemes pkgs.xorg.xcursorthemes
]; ];

View File

@ -181,7 +181,6 @@ in
hicolor-icon-theme hicolor-icon-theme
lightlocker lightlocker
onboard onboard
plank
qgnomeplatform qgnomeplatform
shared-mime-info shared-mime-info
sound-theme-freedesktop sound-theme-freedesktop
@ -195,6 +194,7 @@ in
# Desktop # Desktop
elementary-default-settings elementary-default-settings
elementary-dock
elementary-session-settings elementary-session-settings
elementary-shortcut-overlay elementary-shortcut-overlay
gala gala
@ -206,9 +206,9 @@ in
}) })
# Services # Services
cerbere
elementary-capnet-assist elementary-capnet-assist
elementary-dpms-helper elementary-dpms-helper
elementary-notifications
elementary-settings-daemon elementary-settings-daemon
pantheon-agent-geoclue2 pantheon-agent-geoclue2
pantheon-agent-polkit pantheon-agent-polkit

View File

@ -89,22 +89,6 @@ switchboard-with-plugs.override {
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry xml:id="sec-pantheon-faq-slow-shutdown">
<term>
Using Pantheon sometimes makes my shutdown take a long time.
</term>
<listitem>
<para>
We have not yet determined what processes fight with systemd during shutdown, there are many reports. In elementary OS the default system timeout is lowered to lessen the impact of the issue. If you'd like to do this in NixOS, set
<programlisting>
<xref linkend="opt-systemd.extraConfig"/> = ''
DefaultTimeoutStopSec=10s
DefaultTimeoutStartSec=10s
'';
</programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="sec-pantheon-faq-gnome3-and-pantheon"> <varlistentry xml:id="sec-pantheon-faq-gnome3-and-pantheon">
<term> <term>
I cannot enable both GNOME 3 and Pantheon. I cannot enable both GNOME 3 and Pantheon.

View File

@ -188,6 +188,9 @@ in
"systemd-machined.service" "systemd-machined.service"
# setSessionScript wants AccountsService # setSessionScript wants AccountsService
"accounts-daemon.service" "accounts-daemon.service"
# Failed to open gpu '/dev/dri/card0': GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted
# https://github.com/NixOS/nixpkgs/pull/25311#issuecomment-609417621
"systemd-udev-settle.service"
]; ];
systemd.services.display-manager.after = [ systemd.services.display-manager.after = [
@ -197,6 +200,7 @@ in
"getty@tty${gdm.initialVT}.service" "getty@tty${gdm.initialVT}.service"
"plymouth-quit.service" "plymouth-quit.service"
"plymouth-start.service" "plymouth-start.service"
"systemd-udev-settle.service"
]; ];
systemd.services.display-manager.conflicts = [ systemd.services.display-manager.conflicts = [
"getty@tty${gdm.initialVT}.service" "getty@tty${gdm.initialVT}.service"

View File

@ -138,7 +138,7 @@ in
assertion = cfg.hostKeys != []; assertion = cfg.hostKeys != [];
message = '' message = ''
You must now pre-generate the host keys for initrd SSH. You must now pre-generate the host keys for initrd SSH.
See the boot.inird.network.ssh.hostKeys documentation See the boot.initrd.network.ssh.hostKeys documentation
for instructions. for instructions.
''; '';
} }

View File

@ -38,98 +38,102 @@ in rec {
nixpkgs = nixpkgsSrc; nixpkgs = nixpkgsSrc;
})) [ "unstable" ]; })) [ "unstable" ];
tested = pkgs.releaseTools.aggregate { tested =
let
onFullSupported = x: map (system: "${x}.${system}") supportedSystems;
onAllSupported = x: map (system: "${x}.${system}") (supportedSystems ++ limitedSupportedSystems);
onSystems = systems: x: map (system: "${x}.${system}")
(pkgs.lib.intersectLists systems (supportedSystems ++ limitedSupportedSystems));
in pkgs.releaseTools.aggregate {
name = "nixos-${nixos.channel.version}"; name = "nixos-${nixos.channel.version}";
meta = { meta = {
description = "Release-critical builds for the NixOS channel"; description = "Release-critical builds for the NixOS channel";
maintainers = with pkgs.lib.maintainers; [ eelco fpletz ]; maintainers = with pkgs.lib.maintainers; [ eelco fpletz ];
}; };
constituents = [ constituents = pkgs.lib.concatLists [
"nixos.channel" [ "nixos.channel" ]
"nixos.dummy.x86_64-linux" (onFullSupported "nixos.dummy")
"nixos.iso_minimal.aarch64-linux" (onAllSupported "nixos.iso_minimal")
"nixos.iso_minimal.i686-linux" (onSystems ["x86_64-linux"] "nixos.iso_plasma5")
"nixos.iso_minimal.x86_64-linux" (onFullSupported "nixos.manual")
"nixos.iso_plasma5.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.ova")
"nixos.manual.x86_64-linux" (onSystems ["aarch64-linux"] "nixos.sd_image")
"nixos.ova.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.boot.biosCdrom")
"nixos.sd_image.aarch64-linux" (onSystems ["x86_64-linux"] "nixos.tests.boot.biosUsb")
"nixos.tests.boot.biosCdrom.x86_64-linux" (onFullSupported "nixos.tests.boot-stage1")
"nixos.tests.boot.biosUsb.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.boot.uefiCdrom")
"nixos.tests.boot-stage1.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.boot.uefiUsb")
"nixos.tests.boot.uefiCdrom.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.chromium")
"nixos.tests.boot.uefiUsb.x86_64-linux" (onFullSupported "nixos.tests.containers-imperative")
"nixos.tests.chromium.x86_64-linux" (onFullSupported "nixos.tests.containers-ip")
"nixos.tests.containers-imperative.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.docker")
"nixos.tests.containers-ip.x86_64-linux" (onFullSupported "nixos.tests.ecryptfs")
"nixos.tests.docker.x86_64-linux" (onFullSupported "nixos.tests.env")
"nixos.tests.ecryptfs.x86_64-linux" (onFullSupported "nixos.tests.firefox-esr")
"nixos.tests.env.x86_64-linux" (onFullSupported "nixos.tests.firefox")
"nixos.tests.firefox-esr.x86_64-linux" (onFullSupported "nixos.tests.firewall")
"nixos.tests.firefox.x86_64-linux" (onFullSupported "nixos.tests.fontconfig-default-fonts")
"nixos.tests.firewall.x86_64-linux" (onFullSupported "nixos.tests.gnome3")
"nixos.tests.fontconfig-default-fonts.x86_64-linux" (onFullSupported "nixos.tests.gnome3-xorg")
"nixos.tests.gnome3.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.hibernate")
"nixos.tests.gnome3-xorg.x86_64-linux" (onFullSupported "nixos.tests.i3wm")
"nixos.tests.hibernate.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSimple")
"nixos.tests.i3wm.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvolDefault")
"nixos.tests.installer.btrfsSimple.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvols")
"nixos.tests.installer.btrfsSubvolDefault.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.luksroot")
"nixos.tests.installer.btrfsSubvols.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.lvm")
"nixos.tests.installer.luksroot.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.separateBootFat")
"nixos.tests.installer.lvm.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.separateBoot")
"nixos.tests.installer.separateBootFat.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.simpleLabels")
"nixos.tests.installer.separateBoot.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.simpleProvided")
"nixos.tests.installer.simpleLabels.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.simpleUefiSystemdBoot")
"nixos.tests.installer.simpleProvided.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.simple")
"nixos.tests.installer.simpleUefiSystemdBoot.x86_64-linux" (onSystems ["x86_64-linux"] "nixos.tests.installer.swraid")
"nixos.tests.installer.simple.x86_64-linux" (onFullSupported "nixos.tests.ipv6")
"nixos.tests.installer.swraid.x86_64-linux" (onFullSupported "nixos.tests.keymap.azerty")
"nixos.tests.ipv6.x86_64-linux" (onFullSupported "nixos.tests.keymap.colemak")
"nixos.tests.keymap.azerty.x86_64-linux" (onFullSupported "nixos.tests.keymap.dvorak")
"nixos.tests.keymap.colemak.x86_64-linux" (onFullSupported "nixos.tests.keymap.dvp")
"nixos.tests.keymap.dvorak.x86_64-linux" (onFullSupported "nixos.tests.keymap.neo")
"nixos.tests.keymap.dvp.x86_64-linux" (onFullSupported "nixos.tests.keymap.qwertz")
"nixos.tests.keymap.neo.x86_64-linux" (onFullSupported "nixos.tests.lightdm")
"nixos.tests.keymap.qwertz.x86_64-linux" (onFullSupported "nixos.tests.login")
"nixos.tests.lightdm.x86_64-linux" (onFullSupported "nixos.tests.misc")
"nixos.tests.login.x86_64-linux" (onFullSupported "nixos.tests.mutableUsers")
"nixos.tests.misc.x86_64-linux" (onFullSupported "nixos.tests.nat.firewall-conntrack")
"nixos.tests.mutableUsers.x86_64-linux" (onFullSupported "nixos.tests.nat.firewall")
"nixos.tests.nat.firewall-conntrack.x86_64-linux" (onFullSupported "nixos.tests.nat.standalone")
"nixos.tests.nat.firewall.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.bond")
"nixos.tests.nat.standalone.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.bridge")
"nixos.tests.networking.scripted.bond.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.dhcpOneIf")
"nixos.tests.networking.scripted.bridge.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.dhcpSimple")
"nixos.tests.networking.scripted.dhcpOneIf.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.loopback")
"nixos.tests.networking.scripted.dhcpSimple.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.macvlan")
"nixos.tests.networking.scripted.loopback.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.sit")
"nixos.tests.networking.scripted.macvlan.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.static")
"nixos.tests.networking.scripted.sit.x86_64-linux" (onFullSupported "nixos.tests.networking.scripted.vlan")
"nixos.tests.networking.scripted.static.x86_64-linux" (onFullSupported "nixos.tests.nfs3.simple")
"nixos.tests.networking.scripted.vlan.x86_64-linux" (onFullSupported "nixos.tests.nfs4.simple")
"nixos.tests.nfs3.simple.x86_64-linux" (onFullSupported "nixos.tests.openssh")
"nixos.tests.nfs4.simple.x86_64-linux" (onFullSupported "nixos.tests.pantheon")
"nixos.tests.openssh.x86_64-linux" (onFullSupported "nixos.tests.php.fpm")
"nixos.tests.pantheon.x86_64-linux" (onFullSupported "nixos.tests.php.pcre")
"nixos.tests.php-pcre.x86_64-linux" (onFullSupported "nixos.tests.plasma5")
"nixos.tests.plasma5.x86_64-linux" (onFullSupported "nixos.tests.predictable-interface-names.predictableNetworkd")
"nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux" (onFullSupported "nixos.tests.predictable-interface-names.predictable")
"nixos.tests.predictable-interface-names.predictable.x86_64-linux" (onFullSupported "nixos.tests.predictable-interface-names.unpredictableNetworkd")
"nixos.tests.predictable-interface-names.unpredictableNetworkd.x86_64-linux" (onFullSupported "nixos.tests.predictable-interface-names.unpredictable")
"nixos.tests.predictable-interface-names.unpredictable.x86_64-linux" (onFullSupported "nixos.tests.printing")
"nixos.tests.printing.x86_64-linux" (onFullSupported "nixos.tests.proxy")
"nixos.tests.proxy.x86_64-linux" (onFullSupported "nixos.tests.sddm.default")
"nixos.tests.sddm.default.x86_64-linux" (onFullSupported "nixos.tests.simple")
"nixos.tests.simple.x86_64-linux" (onFullSupported "nixos.tests.switchTest")
"nixos.tests.switchTest.x86_64-linux" (onFullSupported "nixos.tests.udisks2")
"nixos.tests.udisks2.x86_64-linux" (onFullSupported "nixos.tests.xfce")
"nixos.tests.xfce.x86_64-linux" (onSystems ["i686-linux"] "nixos.tests.zfs.installer")
"nixos.tests.zfs.installer.i686-linux" (onFullSupported "nixpkgs.emacs")
"nixpkgs.emacs.x86_64-linux" (onFullSupported "nixpkgs.jdk")
"nixpkgs.jdk.x86_64-linux" ["nixpkgs.tarball"]
"nixpkgs.tarball"
]; ];
}; };
} }

View File

@ -40,7 +40,7 @@ in rec {
nat nat
nfs3 nfs3
openssh openssh
php-pcre php
predictable-interface-names predictable-interface-names
proxy proxy
simple; simple;
@ -108,7 +108,8 @@ in rec {
"nixos.tests.nat.standalone.x86_64-linux" "nixos.tests.nat.standalone.x86_64-linux"
"nixos.tests.nfs3.simple.x86_64-linux" "nixos.tests.nfs3.simple.x86_64-linux"
"nixos.tests.openssh.x86_64-linux" "nixos.tests.openssh.x86_64-linux"
"nixos.tests.php-pcre.x86_64-linux" "nixos.tests.php.fpm.x86_64-linux"
"nixos.tests.php.pcre.x86_64-linux"
"nixos.tests.predictable-interface-names.predictable.x86_64-linux" "nixos.tests.predictable-interface-names.predictable.x86_64-linux"
"nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux" "nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux"
"nixos.tests.predictable-interface-names.unpredictable.x86_64-linux" "nixos.tests.predictable-interface-names.unpredictable.x86_64-linux"

View File

@ -241,7 +241,7 @@ in
peerflix = handleTest ./peerflix.nix {}; peerflix = handleTest ./peerflix.nix {};
pgjwt = handleTest ./pgjwt.nix {}; pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {}; pgmanage = handleTest ./pgmanage.nix {};
php-pcre = handleTest ./php-pcre.nix {}; php = handleTest ./php {};
plasma5 = handleTest ./plasma5.nix {}; plasma5 = handleTest ./plasma5.nix {};
plotinus = handleTest ./plotinus.nix {}; plotinus = handleTest ./plotinus.nix {};
postgis = handleTest ./postgis.nix {}; postgis = handleTest ./postgis.nix {};

View File

@ -183,15 +183,15 @@ let
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
monA.succeed( monA.succeed(
"ceph osd pool create multi-node-test 100 100", "ceph osd pool create multi-node-test 128 128",
"ceph osd pool ls | grep 'multi-node-test'", "ceph osd pool ls | grep 'multi-node-test'",
"ceph osd pool rename multi-node-test multi-node-other-test", "ceph osd pool rename multi-node-test multi-node-other-test",
"ceph osd pool ls | grep 'multi-node-other-test'", "ceph osd pool ls | grep 'multi-node-other-test'",
) )
monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'") monA.wait_until_succeeds("ceph -s | grep '1 pools, 128 pgs'")
monA.succeed("ceph osd pool set multi-node-other-test size 2") monA.succeed("ceph osd pool set multi-node-other-test size 2")
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
monA.wait_until_succeeds("ceph -s | grep '100 active+clean'") monA.wait_until_succeeds("ceph -s | grep '128 active+clean'")
monA.fail( monA.fail(
"ceph osd pool ls | grep 'multi-node-test'", "ceph osd pool ls | grep 'multi-node-test'",
"ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it", "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it",

View File

@ -143,12 +143,12 @@ let
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
monA.succeed( monA.succeed(
"ceph osd pool create single-node-test 100 100", "ceph osd pool create single-node-test 128 128",
"ceph osd pool ls | grep 'single-node-test'", "ceph osd pool ls | grep 'single-node-test'",
"ceph osd pool rename single-node-test single-node-other-test", "ceph osd pool rename single-node-test single-node-other-test",
"ceph osd pool ls | grep 'single-node-other-test'", "ceph osd pool ls | grep 'single-node-other-test'",
) )
monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'") monA.wait_until_succeeds("ceph -s | grep '1 pools, 128 pgs'")
monA.succeed( monA.succeed(
"ceph osd getcrushmap -o crush", "ceph osd getcrushmap -o crush",
"crushtool -d crush -o decrushed", "crushtool -d crush -o decrushed",
@ -158,7 +158,7 @@ let
"ceph osd pool set single-node-other-test size 2", "ceph osd pool set single-node-other-test size 2",
) )
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
monA.wait_until_succeeds("ceph -s | grep '100 active+clean'") monA.wait_until_succeeds("ceph -s | grep '128 active+clean'")
monA.fail( monA.fail(
"ceph osd pool ls | grep 'multi-node-test'", "ceph osd pool ls | grep 'multi-node-test'",
"ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it", "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it",

View File

@ -8,7 +8,7 @@ import ./make-test-python.nix {
services.dovecot2.protocols = [ "imap" "pop3" ]; services.dovecot2.protocols = [ "imap" "pop3" ];
environment.systemPackages = let environment.systemPackages = let
sendTestMail = pkgs.writeScriptBin "send-testmail" '' sendTestMail = pkgs.writeScriptBin "send-testmail" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
exec sendmail -vt <<MAIL exec sendmail -vt <<MAIL
From: root@localhost From: root@localhost
To: alice@localhost To: alice@localhost
@ -19,7 +19,7 @@ import ./make-test-python.nix {
''; '';
sendTestMailViaDeliveryAgent = pkgs.writeScriptBin "send-lda" '' sendTestMailViaDeliveryAgent = pkgs.writeScriptBin "send-lda" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
exec ${pkgs.dovecot}/libexec/dovecot/deliver -d bob <<MAIL exec ${pkgs.dovecot}/libexec/dovecot/deliver -d bob <<MAIL
From: root@localhost From: root@localhost

View File

@ -11,7 +11,7 @@ let
inherit (import ./common.nix { inherit system; }) baseConfig; inherit (import ./common.nix { inherit system; }) baseConfig;
hydraPkgs = { hydraPkgs = {
inherit (pkgs) hydra-migration hydra-unstable hydra-flakes; inherit (pkgs) hydra-migration hydra-unstable;
}; };
makeHydraTest = with pkgs.lib; name: package: makeTest { makeHydraTest = with pkgs.lib; name: package: makeTest {

View File

@ -77,7 +77,7 @@ let
+ "--from-beginning --max-messages 1" + "--from-beginning --max-messages 1"
) )
''); '');
}) {}); }) { inherit system; });
in with pkgs; { in with pkgs; {
kafka_0_9 = makeKafkaTest "kafka_0_9" apacheKafka_0_9; kafka_0_9 = makeKafkaTest "kafka_0_9" apacheKafka_0_9;

View File

@ -32,7 +32,7 @@ in {
testScript = let testScript = let
withRcloneEnv = pkgs.writeScript "with-rclone-env" '' withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/" export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud" export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
@ -41,12 +41,12 @@ in {
"''${@}" "''${@}"
''; '';
copySharedFile = pkgs.writeScript "copy-shared-file" '' copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
echo 'hi' | ${withRcloneEnv} ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file echo 'hi' | ${withRcloneEnv} ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
''; '';
diffSharedFile = pkgs.writeScript "diff-shared-file" '' diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file) diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
''; '';
in '' in ''

View File

@ -61,14 +61,14 @@ in {
testScript = let testScript = let
configureMemcached = pkgs.writeScript "configure-memcached" '' configureMemcached = pkgs.writeScript "configure-memcached" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
nextcloud-occ config:system:set memcached_servers 0 0 --value 127.0.0.1 --type string nextcloud-occ config:system:set memcached_servers 0 0 --value 127.0.0.1 --type string
nextcloud-occ config:system:set memcached_servers 0 1 --value 11211 --type integer nextcloud-occ config:system:set memcached_servers 0 1 --value 11211 --type integer
nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\APCu' --type string nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\APCu' --type string
nextcloud-occ config:system:set memcache.distributed --value '\OC\Memcache\Memcached' --type string nextcloud-occ config:system:set memcache.distributed --value '\OC\Memcache\Memcached' --type string
''; '';
withRcloneEnv = pkgs.writeScript "with-rclone-env" '' withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/" export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud" export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
@ -76,12 +76,12 @@ in {
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})" export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
''; '';
copySharedFile = pkgs.writeScript "copy-shared-file" '' copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
''; '';
diffSharedFile = pkgs.writeScript "diff-shared-file" '' diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file) diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
''; '';
in '' in ''

View File

@ -60,14 +60,14 @@ in {
testScript = let testScript = let
configureRedis = pkgs.writeScript "configure-redis" '' configureRedis = pkgs.writeScript "configure-redis" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
nextcloud-occ config:system:set redis 'host' --value 'localhost' --type string nextcloud-occ config:system:set redis 'host' --value 'localhost' --type string
nextcloud-occ config:system:set redis 'port' --value 6379 --type integer nextcloud-occ config:system:set redis 'port' --value 6379 --type integer
nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\Redis' --type string nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\Redis' --type string
nextcloud-occ config:system:set memcache.locking --value '\OC\Memcache\Redis' --type string nextcloud-occ config:system:set memcache.locking --value '\OC\Memcache\Redis' --type string
''; '';
withRcloneEnv = pkgs.writeScript "with-rclone-env" '' withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/" export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud" export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
@ -76,12 +76,12 @@ in {
"''${@}" "''${@}"
''; '';
copySharedFile = pkgs.writeScript "copy-shared-file" '' copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
''; '';
diffSharedFile = pkgs.writeScript "diff-shared-file" '' diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file) diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
''; '';
in '' in ''

View File

@ -0,0 +1,7 @@
{ system ? builtins.currentSystem,
config ? {},
pkgs ? import ../../.. { inherit system config; }
}: {
fpm = import ./fpm.nix { inherit system pkgs; };
pcre = import ./pcre.nix { inherit system pkgs; };
}

55
nixos/tests/php/fpm.nix Normal file
View File

@ -0,0 +1,55 @@
import ../make-test-python.nix ({pkgs, ...}: {
name = "php-fpm-nginx-test";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ];
machine = { config, lib, pkgs, ... }: {
services.nginx = {
enable = true;
virtualHosts."phpfpm" = let
testdir = pkgs.writeTextDir "web/index.php" "<?php phpinfo();";
in {
root = "${testdir}/web";
locations."~ \.php$".extraConfig = ''
fastcgi_pass unix:${config.services.phpfpm.pools.foobar.socket};
fastcgi_index index.php;
include ${pkgs.nginx}/conf/fastcgi_params;
include ${pkgs.nginx}/conf/fastcgi.conf;
'';
locations."/" = {
tryFiles = "$uri $uri/ index.php";
index = "index.php index.html index.htm";
};
};
};
services.phpfpm.pools."foobar" = {
user = "nginx";
settings = {
"listen.group" = "nginx";
"listen.mode" = "0600";
"listen.owner" = "nginx";
"pm" = "dynamic";
"pm.max_children" = 5;
"pm.max_requests" = 500;
"pm.max_spare_servers" = 3;
"pm.min_spare_servers" = 1;
"pm.start_servers" = 2;
};
};
};
testScript = { ... }: ''
machine.wait_for_unit("nginx.service")
machine.wait_for_unit("phpfpm-foobar.service")
# Check so we get an evaluated PHP back
assert "PHP Version ${pkgs.php.version}" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
# Check so we have database and some other extensions loaded
assert "json" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
assert "opcache" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
assert "pdo_mysql" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
assert "pdo_pgsql" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
assert "pdo_sqlite" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
'';
})

View File

@ -1,7 +1,6 @@
let
let testString = "can-use-subgroups"; in testString = "can-use-subgroups";
in import ../make-test-python.nix ({ ...}: {
import ./make-test-python.nix ({ ...}: {
name = "php-httpd-pcre-jit-test"; name = "php-httpd-pcre-jit-test";
machine = { lib, pkgs, ... }: { machine = { lib, pkgs, ... }: {
time.timeZone = "UTC"; time.timeZone = "UTC";
@ -10,14 +9,12 @@ import ./make-test-python.nix ({ ...}: {
adminAddr = "please@dont.contact"; adminAddr = "please@dont.contact";
enablePHP = true; enablePHP = true;
phpOptions = "pcre.jit = true"; phpOptions = "pcre.jit = true";
extraConfig = extraConfig = let
let
testRoot = pkgs.writeText "index.php" testRoot = pkgs.writeText "index.php"
'' ''
<?php <?php
preg_match('/(${testString})/', '${testString}', $result); preg_match('/(${testString})/', '${testString}', $result);
var_dump($result); var_dump($result);
?>
''; '';
in in
'' ''

View File

@ -15,7 +15,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
machine.wait_for_unit("rabbitmq.service") machine.wait_for_unit("rabbitmq.service")
machine.wait_until_succeeds( machine.wait_until_succeeds(
'su -s ${pkgs.stdenv.shell} rabbitmq -c "rabbitmqctl status"' 'su -s ${pkgs.runtimeShell} rabbitmq -c "rabbitmqctl status"'
) )
''; '';
}) })

View File

@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
# Ensures failures pass through using pipefail, otherwise failing to # Ensures failures pass through using pipefail, otherwise failing to
# switch-to-configuration is hidden by the success of `tee`. # switch-to-configuration is hidden by the success of `tee`.
stderrRunner = pkgs.writeScript "stderr-runner" '' stderrRunner = pkgs.writeScript "stderr-runner" ''
#! ${pkgs.stdenv.shell} #! ${pkgs.runtimeShell}
set -e set -e
set -o pipefail set -o pipefail
exec env -i "$@" | tee /dev/stderr exec env -i "$@" | tee /dev/stderr

View File

@ -3,14 +3,14 @@ import ./make-test.nix {
machine = { pkgs, lib, ... }: let machine = { pkgs, lib, ... }: let
testServer = pkgs.writeScript "testserver.sh" '' testServer = pkgs.writeScript "testserver.sh" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
export PATH=${lib.escapeShellArg "${pkgs.coreutils}/bin"} export PATH=${lib.escapeShellArg "${pkgs.coreutils}/bin"}
${lib.escapeShellArg pkgs.stdenv.shell} 2>&1 ${lib.escapeShellArg pkgs.runtimeShell} 2>&1
echo "exit-status:$?" echo "exit-status:$?"
''; '';
testClient = pkgs.writeScriptBin "chroot-exec" '' testClient = pkgs.writeScriptBin "chroot-exec" ''
#!${pkgs.stdenv.shell} -e #!${pkgs.runtimeShell} -e
output="$(echo "$@" | nc -NU "/run/test$(< /teststep).sock")" output="$(echo "$@" | nc -NU "/run/test$(< /teststep).sock")"
ret="$(echo "$output" | sed -nre '$s/^exit-status:([0-9]+)$/\1/p')" ret="$(echo "$output" | sed -nre '$s/^exit-status:([0-9]+)$/\1/p')"
echo "$output" | head -n -1 echo "$output" | head -n -1

View File

@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
systemd.shutdown.test = pkgs.writeScript "test.shutdown" '' systemd.shutdown.test = pkgs.writeScript "test.shutdown" ''
#!${pkgs.stdenv.shell} #!${pkgs.runtimeShell}
PATH=${lib.makeBinPath (with pkgs; [ utillinux coreutils ])} PATH=${lib.makeBinPath (with pkgs; [ utillinux coreutils ])}
mount -t 9p shared -o trans=virtio,version=9p2000.L /tmp/shared mount -t 9p shared -o trans=virtio,version=9p2000.L /tmp/shared
touch /tmp/shared/shutdown-test touch /tmp/shared/shutdown-test

View File

@ -23,7 +23,7 @@ let
guestAdditions = pkgs.linuxPackages.virtualboxGuestAdditions; guestAdditions = pkgs.linuxPackages.virtualboxGuestAdditions;
miniInit = '' miniInit = ''
#!${pkgs.stdenv.shell} -xe #!${pkgs.runtimeShell} -xe
export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}" export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}"
mkdir -p /run/dbus mkdir -p /run/dbus
@ -80,7 +80,7 @@ let
touch /mnt-root/boot-done touch /mnt-root/boot-done
hostname "${vmName}" hostname "${vmName}"
mkdir -p /nix/store mkdir -p /nix/store
unshare -m ${escapeShellArg pkgs.stdenv.shell} -c ' unshare -m ${escapeShellArg pkgs.runtimeShell} -c '
mount -t vboxsf nixstore /nix/store mount -t vboxsf nixstore /nix/store
exec "$stage2Init" exec "$stage2Init"
' '

View File

@ -1,38 +0,0 @@
{ stdenv, fetchurl, zlib, guile, libart_lgpl, pkgconfig, intltool
, gtk2, glib, libogg, libvorbis, libgnomecanvas, gettext, perl }:
stdenv.mkDerivation rec {
name = "beast-0.7.1";
src = fetchurl {
url = "https://ftp.gtk.org/pub/beast/v0.7/${name}.tar.bz2";
sha256 = "0jyl1i1918rsn4296w07fsf6wx3clvad522m3bzgf8ms7gxivg5l";
};
buildInputs =
[ zlib guile libart_lgpl pkgconfig intltool gtk2 glib
libogg libvorbis libgnomecanvas gettext
];
patchPhase = ''
unset patchPhase; patchPhase
sed 's=-DG_DISABLE_DEPRECATED==g' -i `find -type f` # the patches didn't remove all occurences
sed 's=/bin/bash=/${stdenv.shell}=g' -i `find -type f`
sed 's=/usr/bin/perl=/${perl}/bin/perl=g' -i `find -type f`
'';
patches =
[ (fetchurl {
url = mirror://gentoo/distfiles/beast-0.7.1-guile-1.8.diff.bz2;
sha256 = "dc5194deff4b0a0eec368a69090db682d0c3113044ce2c2ed017ddfec9d3814e";
})
./patch.patch # patches taken from gentoo
];
meta = with stdenv.lib; {
description = "A music composition and modular synthesis application";
homepage = http://beast.gtk.org;
license = with licenses; [ gpl2 lgpl21 ];
broken = true;
};
}

View File

@ -1,37 +0,0 @@
{ mkDerivation, fetchFromGitHub, lib
, extra-cmake-modules, kdoctools, wrapGAppsHook
, qtmultimedia, qtquickcontrols2, qtwebsockets
, kconfig, kcmutils, kcrash, kdeclarative, kfilemetadata, kinit, kirigami2
, baloo, vlc
}:
mkDerivation rec {
pname = "elisa";
version = "19.12.3";
src = fetchFromGitHub {
owner = "KDE";
repo = "elisa";
rev = "v${version}";
sha256 = "0s1sixkrx4czckzg0llkrbp8rp397ljsq1c309z23m277jsmnnb6";
};
buildInputs = [ vlc ];
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
propagatedBuildInputs = [
qtmultimedia qtquickcontrols2 qtwebsockets
kconfig kcmutils kcrash kdeclarative kfilemetadata kinit kirigami2
baloo
];
enableParallelBuilding = true;
meta = with lib; {
description = "Elisa Music Player";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];
inherit (kconfig.meta) platforms;
};
}

View File

@ -1,25 +1,45 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, alsaLib, libglade }: { stdenv
, fetchurl
, pkg-config
, intltool
, gtk3
, wrapGAppsHook
, alsaLib
, libpulseaudio
, fftw
}:
stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "lingot-0.9.1"; pname = "lingot";
version = "1.0.1";
src = fetchurl { src = fetchurl {
url = mirror://savannah/lingot/lingot-0.9.1.tar.gz; url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
sha256 = "0ygras6ndw2fylwxx86ac11pcr2y2bcfvvgiwrh92z6zncx254gc"; sha256 = "cbjHe7mI6DhKDsv0yGHYOPe5hShKjhj3VTKrmBbGoA8=";
}; };
hardeningDisable = [ "format" ]; nativeBuildInputs = [
pkg-config
intltool
wrapGAppsHook
];
nativeBuildInputs = [ pkgconfig ]; buildInputs = [
buildInputs = [ intltool gtk2 alsaLib libglade ]; gtk3
alsaLib
libpulseaudio
fftw
];
configureFlags = [ "--disable-jack" ]; configureFlags = [
"--disable-jack"
];
meta = { meta = {
description = "Not a Guitar-Only tuner"; description = "Not a Guitar-Only tuner";
homepage = https://www.nongnu.org/lingot/; homepage = "https://www.nongnu.org/lingot/";
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with stdenv.lib.maintainers; [ viric ];
}; };
} }

View File

@ -4,13 +4,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "mopidy"; pname = "mopidy";
version = "3.0.1"; version = "3.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mopidy"; owner = "mopidy";
repo = "mopidy"; repo = "mopidy";
rev = "v${version}"; rev = "v${version}";
sha256 = "0fpjprjw143ixak68iwxjpscdjgyb7rsr1cxj7fsdrw6hc83nq4z"; sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
}; };
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook ];
@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://www.mopidy.com/; homepage = "https://www.mopidy.com/";
description = '' description = ''
An extensible music server that plays music from local disk, Spotify, An extensible music server that plays music from local disk, Spotify,
SoundCloud, Google Play Music, and more SoundCloud, Google Play Music, and more

View File

@ -14,16 +14,16 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ncspot"; pname = "ncspot";
version = "0.1.2"; version = "0.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hrkfdn"; owner = "hrkfdn";
repo = "ncspot"; repo = "ncspot";
rev = "v${version}"; rev = "v${version}";
sha256 = "10jp2yh8jlvdwh297658q9fi3i62vwsbd9fbwjsir7s1c9bgdy8k"; sha256 = "144a7wn5l64fhvj8vgwl7z4bp8lbq0pb0dl38x9y4wkqmdh6wrli";
}; };
cargoSha256 = "0081wc3xw11hivz0nwy4my3y4a53ch857bq989dr0pm9p2pirvj1"; cargoSha256 = "19gn0v7j1ly3ywgflfj27pnrwjiiy17m3g1z0kzagxpjy2xi2qxy";
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ]; cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];

View File

@ -29,11 +29,11 @@
# handle that. # handle that.
mkDerivation rec { mkDerivation rec {
name = "qmmp-1.3.6"; name = "qmmp-1.3.7";
src = fetchurl { src = fetchurl {
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
sha256 = "0dihy6v6j1cfx4qgwgajdn8rx6nf8x5srk8yjki9xh1mlcaanhp8"; sha256 = "13mk8p7bfl3fkavpqyhpcxkxb8a4f5d4qc1lasyf7wls3ghrdag7";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
@ -55,7 +55,7 @@ mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Qt-based audio player that looks like Winamp"; description = "Qt-based audio player that looks like Winamp";
homepage = http://qmmp.ylsoftware.com/; homepage = "http://qmmp.ylsoftware.com/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ]; maintainers = [ maintainers.bjornfor ];

View File

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "rofi-mpd"; pname = "rofi-mpd";
version = "2.0.1"; version = "2.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "JakeStanger"; owner = "JakeStanger";
repo = "Rofi_MPD"; repo = "Rofi_MPD";
rev = "v${version}"; rev = "v${version}";
sha256 = "12zzx0m2nwyzxzzqgzq30a27k015kcw4ylvs7cyalf5gf6sg27kl"; sha256 = "1b0y8706mmrxhiyz8g6znisllc35j8g7sz8gfjll9svysjmvb6lc";
}; };
propagatedBuildInputs = with python3Packages; [ mutagen mpd2 toml appdirs ]; propagatedBuildInputs = with python3Packages; [ mutagen mpd2 toml appdirs ];

View File

@ -0,0 +1,87 @@
{ stdenv
, fetchFromGitLab
, cargo
, dbus
, desktop-file-utils
, gdk-pixbuf
, gettext
, glib
, gst_all_1
, gtk3
, libhandy
, meson
, ninja
, openssl
, pkg-config
, python3
, rust
, rustc
, rustPlatform
, sqlite
, wrapGAppsHook
}:
rustPlatform.buildRustPackage rec {
pname = "shortwave";
version = "1.0.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "Shortwave";
rev = version;
sha256 = "13lhlh75vw02vkcknl4nvy0yvpdf0qx811mmyja8bzs4rj1j9kr8";
};
cargoSha256 = "0aph5z54a6i5p8ga5ghhx1c9hjc8zdw5pkv9inmanca0bq3hkdlh";
nativeBuildInputs = [
cargo
desktop-file-utils
gettext
glib # for glib-compile-schemas
meson
ninja
pkg-config
python3
rustc
wrapGAppsHook
];
buildInputs = [
dbus
gdk-pixbuf
glib
gtk3
libhandy
openssl
sqlite
] ++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
]);
# Don't use buildRustPackage phases, only use it for rust deps setup
configurePhase = null;
buildPhase = null;
checkPhase = null;
installPhase = null;
postPatch = ''
patchShebangs build-aux/meson/postinstall.py
'';
meta = with stdenv.lib; {
homepage = "https://gitlab.gnome.org/World/Shortwave";
description = "Find and listen to internet radio stations";
longDescription = ''
Shortwave is a streaming audio player designed for the GNOME
desktop. It is the successor to the older Gradio application.
'';
maintainers = with maintainers; [ lasandell ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}

View File

@ -4,11 +4,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "snd-20.1"; name = "snd-20.2";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/snd/${name}.tar.gz"; url = "mirror://sourceforge/snd/${name}.tar.gz";
sha256 = "0v7zhavkkbh1bagzy3l08kb235hhdqn28y0m4znkd3k31p4l4dz8"; sha256 = "0ip4sfyxqlbghlggipmvvqjqs1a7qas0zcmzw8d1nwg6krjkfj0r";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -10,4 +10,4 @@ DEPENDENCIES
taglib-ruby taglib-ruby
BUNDLED WITH BUNDLED WITH
1.16.3 2.1.4

View File

@ -7,6 +7,7 @@
, pantheon , pantheon
, gtk3 , gtk3
, glib , glib
, glib-networking
, libxml2 , libxml2
, webkitgtk , webkitgtk
, clutter-gtk , clutter-gtk
@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
pantheon.granite pantheon.granite
sqlite sqlite
webkitgtk webkitgtk
glib-networking
]; ];
passthru = { passthru = {

View File

@ -13,9 +13,9 @@ let
sha256Hash = "04r4iwlmns1lf3wfd32cqmndbdz9rf7hfbi5r6qmvpi8j83fghvr"; sha256Hash = "04r4iwlmns1lf3wfd32cqmndbdz9rf7hfbi5r6qmvpi8j83fghvr";
}; };
betaVersion = { betaVersion = {
version = "4.0.0.12"; # "Android Studio 4.0 Beta 3" version = "4.0.0.13"; # "Android Studio 4.0 Beta 4"
build = "193.6296804"; build = "193.6348893";
sha256Hash = "072rvh20xkn7izh6f2r2bspy06jrvcibj2hc12hz76m8cwzf4v0m"; sha256Hash = "0lchi3l50826n1af1z24yclpf27v2q5p1zjbvcmn37wz46d4s4g2";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "4.1.0.4"; # "Android Studio 4.1 Canary 4" version = "4.1.0.4"; # "Android Studio 4.1 Canary 4"

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dit"; pname = "dit";
version = "0.5"; version = "0.6";
src = fetchurl { src = fetchurl {
url = "https://hisham.hm/dit/releases/${version}/${pname}-${version}.tar.gz"; url = "https://hisham.hm/dit/releases/${version}/${pname}-${version}.tar.gz";
sha256 = "05vhr1gl3bb5fg49v84xhmjaqdjw6djampvylw10ydvbpnpvjvjc"; sha256 = "0ryvm54xxkg2gcgz4r8zdxrl6j2h8mgg9nfqmdmdr31qkcj8wjsq";
}; };
buildInputs = [ ncurses lua ] buildInputs = [ ncurses lua ]
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A console text editor for Unix that you already know how to use"; description = "A console text editor for Unix that you already know how to use";
homepage = https://hisham.hm/dit/; homepage = "https://hisham.hm/dit/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = with platforms; linux; platforms = with platforms; linux;
maintainers = with maintainers; [ davidak ]; maintainers = with maintainers; [ davidak ];

View File

@ -52,6 +52,19 @@
}; };
}; };
agda-input = self.trivialBuild {
pname = "agda-input";
inherit (external.Agda) src version;
postUnpack = "mv $sourceRoot/src/data/emacs-mode/agda-input.el $sourceRoot";
meta = {
description = "Standalone package providing the agda-input method without building Agda.";
inherit (external.Agda.meta) homepage license;
};
};
ess-R-object-popup = ess-R-object-popup =
callPackage ./ess-R-object-popup { }; callPackage ./ess-R-object-popup { };

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
''; '';
meta = { meta = {
homepage = http://kakoune.org/; homepage = "http://kakoune.org/";
description = "A vim inspired text editor"; description = "A vim inspired text editor";
license = licenses.publicDomain; license = licenses.publicDomain;
maintainers = with maintainers; [ vrthra ]; maintainers = with maintainers; [ vrthra ];

View File

@ -1,19 +1,19 @@
{ stdenv, python3, fetchFromGitHub, makeWrapper, makeDesktopItem }: { lib, mkDerivation, python3, fetchFromGitHub, makeWrapper, wrapQtAppsHook, makeDesktopItem }:
stdenv.mkDerivation rec { mkDerivation rec {
pname = "leo-editor"; pname = "leo-editor";
version = "5.7.3"; version = "6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "leo-editor"; owner = "leo-editor";
repo = "leo-editor"; repo = "leo-editor";
rev = version; rev = version;
sha256 = "0ri6l6cxwva450l05af5vs1lsgrz6ciwd02njdgphs9pm1vwxbl9"; sha256 = "07f10qwvi3p7bskzxnx5rlhlfrh7rx8v0xdlc4vs2271438j1j2z";
}; };
dontBuild = true; dontBuild = true;
nativeBuildInputs = [ makeWrapper python3 ]; nativeBuildInputs = [ wrapQtAppsHook makeWrapper python3 ];
propagatedBuildInputs = with python3.pkgs; [ pyqt5 docutils ]; propagatedBuildInputs = with python3.pkgs; [ pyqt5 docutils ];
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -24,11 +24,11 @@ stdenv.mkDerivation rec {
comment = meta.description; comment = meta.description;
desktopName = "Leo"; desktopName = "Leo";
genericName = "Text Editor"; genericName = "Text Editor";
categories = stdenv.lib.concatStringsSep ";" [ categories = lib.concatStringsSep ";" [
"Application" "Development" "IDE" "QT" "Application" "Development" "IDE"
]; ];
startupNotify = "false"; startupNotify = "false";
mimeType = stdenv.lib.concatStringsSep ";" [ mimeType = lib.concatStringsSep ";" [
"text/plain" "text/asp" "text/x-c" "text/x-script.elisp" "text/x-fortran" "text/plain" "text/asp" "text/x-c" "text/x-script.elisp" "text/x-fortran"
"text/html" "application/inf" "text/x-java-source" "application/x-javascript" "text/html" "application/inf" "text/x-java-source" "application/x-javascript"
"application/javascript" "text/ecmascript" "application/x-ksh" "text/x-script.ksh" "application/javascript" "text/ecmascript" "application/x-ksh" "text/x-script.ksh"
@ -53,10 +53,12 @@ stdenv.mkDerivation rec {
makeWrapper ${python3.interpreter} $out/bin/leo \ makeWrapper ${python3.interpreter} $out/bin/leo \
--set PYTHONPATH "$PYTHONPATH:$out/share/leo-editor" \ --set PYTHONPATH "$PYTHONPATH:$out/share/leo-editor" \
--add-flags "-O $out/share/leo-editor/launchLeo.py" --add-flags "-O $out/share/leo-editor/launchLeo.py"
wrapQtApp $out/bin/leo
''; '';
meta = with stdenv.lib; { meta = with lib; {
homepage = http://leoeditor.com; homepage = "http://leoeditor.com";
description = "A powerful folding editor"; description = "A powerful folding editor";
longDescription = "Leo is a PIM, IDE and outliner that accelerates the work flow of programmers, authors and web designers."; longDescription = "Leo is a PIM, IDE and outliner that accelerates the work flow of programmers, authors and web designers.";
license = licenses.mit; license = licenses.mit;

View File

@ -14,4 +14,4 @@ DEPENDENCIES
neovim neovim
BUNDLED WITH BUNDLED WITH
1.17.2 2.1.4

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "quilter"; pname = "quilter";
version = "2.1.2"; version = "2.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lainsce"; owner = "lainsce";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1nk6scn98kb43h056ajycpj71jkx7b9p5g05khgl6bwj9hvjvcbw"; sha256 = "1bgsbcx09ca063kdqfc7nigly99d7xgx2cbkpk1nkhr0hvkyg9l9";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,38 +1,47 @@
{ stdenv, appimage-run, fetchurl, runtimeShell }: { stdenv, appimageTools, autoPatchelfHook, desktop-file-utils
, fetchurl, runtimeShell }:
let let
version = "3.0.15"; version = "3.3.3";
pname = "standardnotes";
name = "${pname}-${version}";
plat = { plat = {
i386-linux = "i386"; i386-linux = "-i386";
x86_64-linux = "x86_64"; x86_64-linux = "";
}.${stdenv.hostPlatform.system}; }.${stdenv.hostPlatform.system};
sha256 = { sha256 = {
i386-linux = "0v2nsis6vb1lnhmjd28vrfxqwwpycv02j0nvjlfzcgj4b3400j7a"; i386-linux = "2ccdf23588b09d645811e562d4fd7e02ac0e367bf2b34e373d8470d48544036d";
x86_64-linux = "130n586cw0836zsbwqcz3pp3h0d4ny74ngqs4k4cvfb92556r7xh"; x86_64-linux = "6366d0a37cbf2cf51008a666e40bada763dd1539173de01e093bcbe4146a6bd8";
}.${stdenv.hostPlatform.system}; }.${stdenv.hostPlatform.system};
in
stdenv.mkDerivation {
pname = "standardnotes";
inherit version;
src = fetchurl { src = fetchurl {
url = "https://github.com/standardnotes/desktop/releases/download/v${version}/standard-notes-${version}-${plat}.AppImage"; url = "https://github.com/standardnotes/desktop/releases/download/v${version}/standard-notes-${version}${plat}.AppImage";
inherit sha256; inherit sha256;
}; };
buildInputs = [ appimage-run ]; appimageContents = appimageTools.extract {
inherit name src;
};
dontUnpack = true; nativeBuildInputs = [ autoPatchelfHook desktop-file-utils ];
installPhase = '' in appimageTools.wrapType2 rec {
mkdir -p $out/{bin,share} inherit name src;
cp $src $out/share/standardNotes.AppImage
echo "#!${runtimeShell}" > $out/bin/standardnotes extraInstallCommands = ''
echo "${appimage-run}/bin/appimage-run $out/share/standardNotes.AppImage" >> $out/bin/standardnotes # directory in /nix/store so readonly
chmod +x $out/bin/standardnotes $out/share/standardNotes.AppImage cp -r ${appimageContents}/* $out
cd $out
chmod -R +w $out
mv $out/bin/${name} $out/bin/${pname}
# fixup and install desktop file
${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
--set-key Exec --set-value ${pname} standard-notes.desktop
rm usr/lib/* AppRun standard-notes.desktop .so*
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -11,8 +11,8 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "0i8dmh9w7xgzfjii4m116lavydpfpcp7fxs4bcykf0a779pzwv87"; x86_64-linux = "0q1fk5a4ymndnyxzps8960y1rl657q95i2rydbqyjl37y79wmllx";
x86_64-darwin = "0z0r0dmmzk3k095g7jbrrk9gl1jpb3cai973xrjw17ank1lddcjf"; x86_64-darwin = "02ybgp6v1ray4a867hihp2fvc872ilqla6z52qv90dfjx69g77ib";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
@ -21,7 +21,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.43.0"; version = "1.44.0";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View File

@ -11,8 +11,8 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "139sqaixlcqlpcrn2vkcp9fxvcjgnhn2dwxclxq3bnb814pw7rba"; x86_64-linux = "1prv4rzr5z905s6jnmkmd97zr5kz8nn4m9bil483bnx4wqr2k10g";
x86_64-darwin = "0jkd3p1jqg38z9l22k5w7b45fdnxwrhzlgyhinw7wlqz7zvflkn1"; x86_64-darwin = "1p0a94i80s7fq6ars01bvr41qxiq35s0r6crfv857ma01g9ia7k3";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
@ -27,7 +27,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.43.0"; version = "1.44.0";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";

View File

@ -4,7 +4,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "saga"; pname = "saga";
version = "7.6.1"; version = "7.6.2";
# See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
# for why the have additional buildInputs on darwin # for why the have additional buildInputs on darwin
@ -18,8 +18,8 @@ stdenv.mkDerivation {
CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing"; CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
src = fetchurl { src = fetchurl {
url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.6.1/saga-7.6.1.tar.gz"; url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.6.2/saga-7.6.2.tar.gz";
sha256 = "1i0cp1lms6cmjl7f5vgr9pl3qc02fmappn4kq21y0dn2gy7j2mkn"; sha256 = "09j5magmayq2y620kqa490mfd1kpdp3lng2ifcgbrmssc079ybm0";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "drawio"; pname = "drawio";
version = "12.9.3"; version = "12.9.9";
src = fetchurl { src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm"; url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
sha256 = "1jhw3p5r9dgn7320ca9n6hzyv2x557a8m9mh80vgrccd6i2mgm5i"; sha256 = "07lx99fd4vkgdhagshzawrh8ncbv19hvxjpzgd3yjdj0nalvmxin";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -20,4 +20,4 @@ DEPENDENCIES
image_optim image_optim
BUNDLED WITH BUNDLED WITH
1.16.3 2.1.4

View File

@ -0,0 +1,27 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, avahi, libsoup, libjpeg
, sane-backends, meson, ninja }:
stdenv.mkDerivation rec {
pname = "sane-airscan";
version = "0.9.17";
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ avahi libsoup libjpeg sane-backends ];
src = fetchFromGitHub {
owner = "alexpevzner";
repo = pname;
rev = version;
sha256 = "03y0c1z5s3wbvxa9nvji62w42cmvcgm2sw72j7wm831995q3abmx";
};
meta = with lib; {
homepage = "https://github.com/alexpevzner/sane-airscan";
description = "Scanner Access Now Easy - Apple AirScan (eSCL) driver";
longDescription = ''
sane-airscan: Linux support of Apple AirScan (eSCL) compatible document scanners.
'';
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ zaninime ];
};
}

View File

@ -39,11 +39,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "shotwell"; pname = "shotwell";
version = "0.31.0"; version = "0.31.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 = "1pwq953wl7h9cvw7rvlr6pcbq9w28kkr7ddb8x2si81ngp0imwyx"; sha256 = "0mbgrad4d4snffw2z3rkhwqq1bkxdgy52pblx99vjadvpgspb034";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -78,6 +78,7 @@ let
dolphin = callPackage ./dolphin.nix {}; dolphin = callPackage ./dolphin.nix {};
dolphin-plugins = callPackage ./dolphin-plugins.nix {}; dolphin-plugins = callPackage ./dolphin-plugins.nix {};
dragon = callPackage ./dragon.nix {}; dragon = callPackage ./dragon.nix {};
elisa = callPackage ./elisa.nix {};
eventviews = callPackage ./eventviews.nix {}; eventviews = callPackage ./eventviews.nix {};
ffmpegthumbs = callPackage ./ffmpegthumbs.nix { }; ffmpegthumbs = callPackage ./ffmpegthumbs.nix { };
filelight = callPackage ./filelight.nix {}; filelight = callPackage ./filelight.nix {};

View File

@ -0,0 +1,46 @@
{ mkDerivation
, fetchFromGitHub
, lib
, extra-cmake-modules
, kdoctools
, qtmultimedia
, qtquickcontrols2
, qtwebsockets
, kconfig
, kcmutils
, kcrash
, kdeclarative
, kfilemetadata
, kinit
, kirigami2
, baloo
, vlc
}:
mkDerivation rec {
name = "elisa";
buildInputs = [ vlc ];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
baloo
kcmutils
kconfig
kcrash
kdeclarative
kfilemetadata
kinit
kirigami2
qtmultimedia
qtquickcontrols2
qtwebsockets
];
meta = with lib; {
description = "A simple media player for KDE";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];
};
}

View File

@ -1,14 +1,14 @@
{ stdenv, python3, fetchFromGitHub }: { stdenv, python3, fetchFromGitHub }:
with python3.pkgs; buildPythonApplication rec { with python3.pkgs; buildPythonApplication rec {
version = "4.2.2"; version = "4.3";
pname = "buku"; pname = "buku";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = "buku"; repo = "buku";
rev = "v${version}"; rev = "v${version}";
sha256 = "1wy5i1av1s98yr56ybiq66kv0vg48zci3fp91zfgj04nh2966w1w"; sha256 = "1cq508ymak3g5fhi1n4bdiiqkc86s2l3k4dvzw842vv2x0441cac";
}; };
checkInputs = [ checkInputs = [
@ -31,6 +31,7 @@ with python3.pkgs; buildPythonApplication rec {
flask-api flask-api
flask-bootstrap flask-bootstrap
flask-paginate flask-paginate
flask-reverse-proxy-fix
flask_wtf flask_wtf
arrow arrow
werkzeug werkzeug

View File

@ -1,18 +1,25 @@
{ stdenv, fetchFromGitHub, buildGoModule }: { stdenv, fetchFromGitHub
, buildGoModule, installShellFiles }:
buildGoModule rec { buildGoModule rec {
pname = "cheat"; pname = "cheat";
version = "3.8.0"; version = "3.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cheat"; owner = "cheat";
repo = "cheat"; repo = "cheat";
rev = version; rev = version;
sha256 = "062dlc54x9qwb3hsxp20h94dpwsa1nzpjln9cqmvwjhvp434l97r"; sha256 = "0jbqflkcfdrinx1lk45klm8ml0n4cgp43nzls1376cd3hfayby1y";
}; };
subPackages = [ "cmd/cheat" ]; subPackages = [ "cmd/cheat" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion scripts/cheat.{bash,fish,zsh}
'';
modSha256 = "1is19qca5wgzya332rmpk862nnivxzgxchkllv629f5fwwdvdgmg"; modSha256 = "1is19qca5wgzya332rmpk862nnivxzgxchkllv629f5fwwdvdgmg";
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -7,7 +7,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dbeaver-ce"; pname = "dbeaver-ce";
version = "7.0.1"; version = "7.0.2";
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "dbeaver"; name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "1kq0ingzfl6q2yz3y5nj9k35y9f1izg1idgbgvpz784gn7937m64"; sha256 = "0p75kvs9ng5i5x5cpdqxlf18y3k83pqsvrkab0i1azk3x4lfkzmd";
}; };
installPhase = '' installPhase = ''

View File

@ -1,40 +1,38 @@
{stdenv, fetchFromGitHub, python3}: { stdenv, fetchFromGitHub, python3, installShellFiles }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.7"; version = "1.8";
pname = "ddgr"; pname = "ddgr";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = "ddgr"; repo = "ddgr";
rev = "v${version}"; rev = "v${version}";
sha256 = "0kcl8z9w8iwn3pxay1pfahhw6vs2l1dp60yfv3i19in4ac9va7m0"; sha256 = "1cyaindcg2vc3ij0p6b35inr01c6ys04izxsn1h70ixhsz46qg8z";
}; };
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ python3 ]; buildInputs = [ python3 ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
preBuild = '' # Version 1.8 was released as 1.7
# Version 1.7 was released as 1.6 postPatch = ''
# https://github.com/jarun/ddgr/pull/95 substituteInPlace ddgr --replace "_VERSION_ = '1.7'" "_VERSION_ = '${version}'"
sed -i "s/_VERSION_ = '1.6'/_VERSION_ = '1.7'/" ddgr
''; '';
postInstall = '' postInstall = ''
mkdir -p "$out/share/bash-completion/completions/" installShellCompletion --bash --name ddgr.bash auto-completion/bash/ddgr-completion.bash
cp "auto-completion/bash/ddgr-completion.bash" "$out/share/bash-completion/completions/" installShellCompletion --fish auto-completion/fish/ddgr.fish
mkdir -p "$out/share/fish/vendor_completions.d/" installShellCompletion --zsh auto-completion/zsh/_ddgr
cp "auto-completion/fish/ddgr.fish" "$out/share/fish/vendor_completions.d/"
mkdir -p "$out/share/zsh/site-functions/"
cp "auto-completion/zsh/_ddgr" "$out/share/zsh/site-functions/"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/jarun/ddgr; homepage = "https://github.com/jarun/ddgr";
description = "Search DuckDuckGo from the terminal"; description = "Search DuckDuckGo from the terminal";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ ceedubs markus1189 ]; maintainers = with maintainers; [ ceedubs markus1189 ];
platforms = platforms.unix; platforms = python3.meta.platforms;
}; };
} }

View File

@ -22,4 +22,4 @@ DEPENDENCIES
doing (= 1.0.10pre) doing (= 1.0.10pre)
BUNDLED WITH BUNDLED WITH
1.14.6 2.1.4

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, openssl }: { stdenv, fetchurl, openssl }:
let let
version = "6.4.2"; version = "6.4.3";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "fetchmail"; pname = "fetchmail";
@ -9,7 +9,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz"; url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
sha256 = "0c563if3kribnj771l14aj06irmrlhm61dc68w6dp7zj4qrnn7z2"; sha256 = "1r6k14m40ni9114i3j1lr6zwpxky6k89mycgxxg0cpdap4a0wdmh";
}; };
buildInputs = [ openssl ]; buildInputs = [ openssl ];
@ -17,7 +17,7 @@ stdenv.mkDerivation {
configureFlags = [ "--with-ssl=${openssl.dev}" ]; configureFlags = [ "--with-ssl=${openssl.dev}" ];
meta = { meta = {
homepage = https://www.fetchmail.info/; homepage = "https://www.fetchmail.info/";
description = "A full-featured remote-mail retrieval and forwarding utility"; description = "A full-featured remote-mail retrieval and forwarding utility";
longDescription = '' longDescription = ''
A full-featured, robust, well-documented remote-mail retrieval and A full-featured, robust, well-documented remote-mail retrieval and

View File

@ -1,59 +1,106 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
charlock_holmes (0.7.7) backports (3.17.0)
diff-lcs (1.3) concurrent-ruby (1.1.6)
gemojione (3.3.0) crass (1.0.6)
execjs (2.7.0)
ffi (1.12.2)
gemojione (4.3.2)
json json
github-markup (1.7.0) github-markup (3.0.4)
gitlab-grit (2.8.3) gollum (5.0.1)
charlock_holmes (~> 0.7) gemojione (~> 4.1)
diff-lcs (~> 1.1) gollum-lib (~> 5.0)
mime-types (>= 1.16, < 3) kramdown (~> 2.1.0)
posix-spawn (~> 0.3) kramdown-parser-gfm (~> 1.0.0)
gollum (4.1.4)
gemojione (~> 3.2)
gollum-lib (~> 4.2, >= 4.2.10)
kramdown (~> 1.9.0)
mustache (>= 0.99.5, < 1.0.0) mustache (>= 0.99.5, < 1.0.0)
sinatra (~> 1.4, >= 1.4.4) octicons (~> 8.5)
rss (~> 0.2.9)
sass (~> 3.5)
sinatra (~> 2.0)
sinatra-contrib (~> 2.0)
sprockets (~> 3.7)
sprockets-helpers (~> 1.2)
therubyrhino (~> 2.1.0)
uglifier (~> 3.2)
useragent (~> 0.16.2) useragent (~> 0.16.2)
gollum-grit_adapter (1.0.1) gollum-lib (5.0.3)
gitlab-grit (~> 2.7, >= 2.7.1) gemojione (~> 4.1)
gollum-lib (4.2.10) github-markup (~> 3.0)
gemojione (~> 3.2) gollum-rugged_adapter (~> 0.99.4, >= 0.99.4)
github-markup (~> 1.6) loofah (~> 2.3)
gollum-grit_adapter (~> 1.0) nokogiri (~> 1.8)
nokogiri (>= 1.6.1, < 2.0) octicons (~> 8.5)
rouge (~> 2.1) rouge (~> 3.1)
sanitize (~> 2.1.1, >= 2.1.1)
stringex (~> 2.6)
twitter-text (= 1.14.7) twitter-text (= 1.14.7)
gollum-rugged_adapter (0.99.4)
mime-types (>= 1.15)
rugged (~> 0.99)
json (2.3.0) json (2.3.0)
kramdown (1.9.0) kramdown (2.1.0)
mime-types (2.99.3) kramdown-parser-gfm (1.0.1)
kramdown (~> 2.0)
loofah (2.5.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.1009)
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
multi_json (1.14.1)
mustache (0.99.8) mustache (0.99.8)
nokogiri (1.10.8) mustermann (1.1.1)
ruby2_keywords (~> 0.0.1)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
posix-spawn (0.3.13) octicons (8.5.0)
rack (1.6.13) nokogiri (>= 1.6.3.1)
rack-protection (1.5.5) rack (2.2.2)
rack-protection (2.0.8.1)
rack rack
rouge (2.2.1) rb-fsevent (0.10.3)
sanitize (2.1.1) rb-inotify (0.10.1)
nokogiri (>= 1.4.4) ffi (~> 1.0)
sinatra (1.4.8) rexml (3.2.4)
rack (~> 1.5) rouge (3.17.0)
rack-protection (~> 1.4) rss (0.2.9)
tilt (>= 1.3, < 3) rexml
stringex (2.8.5) ruby2_keywords (0.0.2)
rugged (0.99.0)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sinatra (2.0.8.1)
mustermann (~> 1.0)
rack (~> 2.0)
rack-protection (= 2.0.8.1)
tilt (~> 2.0)
sinatra-contrib (2.0.8.1)
backports (>= 2.8.2)
multi_json
mustermann (~> 1.0)
rack-protection (= 2.0.8.1)
sinatra (= 2.0.8.1)
tilt (~> 2.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-helpers (1.2.3)
sprockets (>= 2.2)
therubyrhino (2.1.2)
therubyrhino_jar (>= 1.7.4, < 1.7.9)
therubyrhino_jar (1.7.8)
tilt (2.0.10) tilt (2.0.10)
twitter-text (1.14.7) twitter-text (1.14.7)
unf (~> 0.1.0) unf (~> 0.1.0)
uglifier (3.2.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4) unf (0.1.4)
unf_ext unf_ext
unf_ext (0.0.7.6) unf_ext (0.0.7.7)
useragent (0.16.10) useragent (0.16.10)
PLATFORMS PLATFORMS
@ -63,4 +110,4 @@ DEPENDENCIES
gollum gollum
BUNDLED WITH BUNDLED WITH
1.17.3 2.1.4

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gollum"; pname = "gollum";
# nix-shell -p bundix icu zlib # nix-shell -p bundix icu zlib cmake pkg-config openssl
version = (import ./gemset.nix).gollum.version; version = (import ./gemset.nix).gollum.version;
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
@ -20,13 +20,16 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper ${env}/bin/gollum $out/bin/gollum \ makeWrapper ${env}/bin/gollum $out/bin/gollum \
--prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]} --prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]}
makeWrapper ${env}/bin/gollum-migrate-tags $out/bin/gollum-migrate-tags \
--prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]}
''; '';
passthru.updateScript = bundlerUpdateScript "gollum"; passthru.updateScript = bundlerUpdateScript "gollum";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A simple, Git-powered wiki"; description = "A simple, Git-powered wiki with a sweet API and local frontend";
homepage = https://github.com/gollum/gollum; homepage = "https://github.com/gollum/gollum";
changelog = "https://github.com/gollum/gollum/blob/v${version}/HISTORY.md";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ jgillich primeos nicknovitski ]; maintainers = with maintainers; [ jgillich primeos nicknovitski ];
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -1,23 +1,53 @@
{ {
charlock_holmes = { backports = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p"; sha256 = "13ywgyyxzlgks7nb17gwqjmdqjjmhc8si3iliv8jhf51lb3s865v";
type = "gem"; type = "gem";
}; };
version = "0.7.7"; version = "3.17.0";
}; };
diff-lcs = { concurrent-ruby = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
type = "gem"; type = "gem";
}; };
version = "1.3"; version = "1.1.6";
};
crass = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw";
type = "gem";
};
version = "1.0.6";
};
execjs = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1";
type = "gem";
};
version = "2.7.0";
};
ffi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
type = "gem";
};
version = "1.12.2";
}; };
gemojione = { gemojione = {
dependencies = ["json"]; dependencies = ["json"];
@ -25,64 +55,53 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ayk8r147k1s38nj18pwk76npx1p7jhi86silk800nj913pjvrhj"; sha256 = "097mrsahv1h67kjrk1cpiqc1cbrfgvlp2rqwmzdzxrq0kx50461w";
type = "gem"; type = "gem";
}; };
version = "3.3.0"; version = "4.3.2";
}; };
github-markup = { github-markup = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp"; sha256 = "14991x92v8s60hfqv7162jfmdqa20fifn2bz0km3k5cgi01pf9rs";
type = "gem"; type = "gem";
}; };
version = "1.7.0"; version = "3.0.4";
};
gitlab-grit = {
dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xvcizc4856xlvara1zzwl6j61vxxshzcrdagp58xzfl68vbi63p";
type = "gem";
};
version = "2.8.3";
}; };
gollum = { gollum = {
dependencies = ["gemojione" "gollum-lib" "kramdown" "mustache" "sinatra" "useragent"]; dependencies = ["gemojione" "gollum-lib" "kramdown" "kramdown-parser-gfm" "mustache" "octicons" "rss" "sass" "sinatra" "sinatra-contrib" "sprockets" "sprockets-helpers" "therubyrhino" "uglifier" "useragent"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ik1b0f73lcxfwfml1h84dp6br79g0z9v6x54wvl46n9d1ndrhl7"; sha256 = "1f9p1230xmrvcb7ii2gkcvhpgcaqvvd47gy3c58nn730jkv471dr";
type = "gem"; type = "gem";
}; };
version = "4.1.4"; version = "5.0.1";
};
gollum-grit_adapter = {
dependencies = ["gitlab-grit"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
type = "gem";
};
version = "1.0.1";
}; };
gollum-lib = { gollum-lib = {
dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex" "twitter-text"]; dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1699wiir6f2a8yawk3qg0xn3zdc10mz783v53ri1ivfnzdrm3dvf"; sha256 = "0r59fyf7i4rlp6wj9ilnqd9pmgpkafv0yl4jmrxa6hr2p4cmnf1g";
type = "gem"; type = "gem";
}; };
version = "4.2.10"; version = "5.0.3";
};
gollum-rugged_adapter = {
dependencies = ["mime-types" "rugged"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0016yfac3b3sy34k9wrqg422mjm8cpd1jd1m4gdn4x2d4jxhxkzq";
type = "gem";
};
version = "0.99.4";
}; };
json = { json = {
groups = ["default"]; groups = ["default"];
@ -99,20 +118,53 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "12sral2xli39mnr4b9m2sxdlgam4ni0a1mkxawc5311z107zj3p0"; sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
type = "gem"; type = "gem";
}; };
version = "1.9.0"; version = "2.1.0";
}; };
mime-types = { kramdown-parser-gfm = {
dependencies = ["kramdown"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9"; sha256 = "0ykna2apphld9llmjnz0210fipp4fkmj2ja18l7iz9xikg0h0ihi";
type = "gem"; type = "gem";
}; };
version = "2.99.3"; version = "1.0.1";
};
loofah = {
dependencies = ["crass" "nokogiri"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jk9fgn5ayzbqvzqm11gbkqvas77zdbpkvynlylyiwynclgrn040";
type = "gem";
};
version = "2.5.0";
};
mime-types = {
dependencies = ["mime-types-data"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
type = "gem";
};
version = "3.3.1";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
type = "gem";
};
version = "3.2019.1009";
}; };
mini_portile2 = { mini_portile2 = {
groups = ["default"]; groups = ["default"];
@ -124,6 +176,16 @@
}; };
version = "2.4.0"; version = "2.4.0";
}; };
multi_json = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
type = "gem";
};
version = "1.14.1";
};
mustache = { mustache = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
@ -134,36 +196,48 @@
}; };
version = "0.99.8"; version = "0.99.8";
}; };
mustermann = {
dependencies = ["ruby2_keywords"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
type = "gem";
};
version = "1.1.1";
};
nokogiri = { nokogiri = {
dependencies = ["mini_portile2"]; dependencies = ["mini_portile2"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8"; sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
type = "gem"; type = "gem";
}; };
version = "1.10.8"; version = "1.10.9";
}; };
posix-spawn = { octicons = {
dependencies = ["nokogiri"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw"; sha256 = "0fy6shpfmla58dxx3kb2zi1hs7vmdw6pqrksaa8yrva05s4l3y75";
type = "gem"; type = "gem";
}; };
version = "0.3.13"; version = "8.5.0";
}; };
rack = { rack = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0"; sha256 = "10mp9s48ssnw004aksq90gvhdvwczh8j6q82q2kqiqq92jd1zxbp";
type = "gem"; type = "gem";
}; };
version = "1.6.13"; version = "2.2.2";
}; };
rack-protection = { rack-protection = {
dependencies = ["rack"]; dependencies = ["rack"];
@ -171,52 +245,169 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; sha256 = "1zyj97bfr1shfgwk4ddmdbw0mdkm4qdyh9s1hl0k7accf3kxx1yi";
type = "gem"; type = "gem";
}; };
version = "1.5.5"; version = "2.0.8.1";
};
rb-fsevent = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
type = "gem";
};
version = "0.10.3";
};
rb-inotify = {
dependencies = ["ffi"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
type = "gem";
};
version = "0.10.1";
};
rexml = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
type = "gem";
};
version = "3.2.4";
}; };
rouge = { rouge = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs"; sha256 = "0xl7k5paf66p57sphm4nfa4k86yf93lhdzzr0cv0l4divq12g2pr";
type = "gem"; type = "gem";
}; };
version = "2.2.1"; version = "3.17.0";
}; };
sanitize = { rss = {
dependencies = ["nokogiri"]; dependencies = ["rexml"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "12ip1d80r0dgc621qn7c32bk12xxgkkg3w6q21s1ckxivcd7r898"; sha256 = "1b1zx07kr64kkpm4lssd4r1a1qyr829ppmfl85i4adcvx9mqfid0";
type = "gem"; type = "gem";
}; };
version = "2.1.1"; version = "0.2.9";
};
ruby2_keywords = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l";
type = "gem";
};
version = "0.0.2";
};
rugged = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04rkxwzaa6897da3mnm70g720gpxwyh71krfn6ag1dkk80x8a8yz";
type = "gem";
};
version = "0.99.0";
};
sass = {
dependencies = ["sass-listen"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
type = "gem";
};
version = "3.7.4";
};
sass-listen = {
dependencies = ["rb-fsevent" "rb-inotify"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
type = "gem";
};
version = "4.0.0";
}; };
sinatra = { sinatra = {
dependencies = ["rack" "rack-protection" "tilt"]; dependencies = ["mustermann" "rack" "rack-protection" "tilt"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; sha256 = "0riy3hwjab1mr73jcqx3brmbmwspnw3d193j06a5f0fy1w35z15q";
type = "gem"; type = "gem";
}; };
version = "1.4.8"; version = "2.0.8.1";
}; };
stringex = { sinatra-contrib = {
dependencies = ["backports" "multi_json" "mustermann" "rack-protection" "sinatra" "tilt"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "15ns7j5smw04w6w7bqd5mm2qcl7w9lhwykyb974i4isgg9yc23ys"; sha256 = "1mmrfm4pqh98f3irjpkvfpazhcx6q42bnx6bbms9dqvmck3mid28";
type = "gem"; type = "gem";
}; };
version = "2.8.5"; version = "2.0.8.1";
};
sprockets = {
dependencies = ["concurrent-ruby" "rack"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
type = "gem";
};
version = "3.7.2";
};
sprockets-helpers = {
dependencies = ["sprockets"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hy67dwz76n5db00d9n3qy59ici96c2g25c9xpmp2nh8ilvha338";
type = "gem";
};
version = "1.2.3";
};
therubyrhino = {
dependencies = ["therubyrhino_jar"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "034mzpkxm3zjsi4rwa45dhhgq2b9vkabs5bnzbl1d3ka7210b3fc";
type = "gem";
};
version = "2.1.2";
};
therubyrhino_jar = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "149a5lsvn2n7k7vcfs77n836q1alv8yjh0503sf9cs65p974ah25";
type = "gem";
};
version = "1.7.8";
}; };
tilt = { tilt = {
groups = ["default"]; groups = ["default"];
@ -239,6 +430,17 @@
}; };
version = "1.14.7"; version = "1.14.7";
}; };
uglifier = {
dependencies = ["execjs"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wmqvn4xncw6h3d5gp2a44170zwxfyj3iq4rsjp16zarvzbdmgnz";
type = "gem";
};
version = "3.2.0";
};
unf = { unf = {
dependencies = ["unf_ext"]; dependencies = ["unf_ext"];
groups = ["default"]; groups = ["default"];
@ -255,10 +457,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"; sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
type = "gem"; type = "gem";
}; };
version = "0.0.7.6"; version = "0.0.7.7";
}; };
useragent = { useragent = {
groups = ["default"]; groups = ["default"];

View File

@ -1,16 +1,16 @@
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre8 }: { fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gpsprune"; pname = "gpsprune";
version = "19.2"; version = "20";
src = fetchurl { src = fetchurl {
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar"; url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
sha256 = "1q2kpkkh75b9l1x7fkmv88s8k84gzcdnrg5sgf8ih0zrp49lawg9"; sha256 = "1i9p6h98azgradrrkcwx18zwz4c6zkxp4bfykpa2imi1z3ry5q2b";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre8 ]; buildInputs = [ jdk11 ];
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "gpsprune"; name = "gpsprune";
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
buildCommand = '' buildCommand = ''
mkdir -p $out/bin $out/share/java mkdir -p $out/bin $out/share/java
cp -v $src $out/share/java/gpsprune.jar cp -v $src $out/share/java/gpsprune.jar
makeWrapper ${jre8}/bin/java $out/bin/gpsprune \ makeWrapper ${jdk11}/bin/java $out/bin/gpsprune \
--add-flags "-jar $out/share/java/gpsprune.jar" --add-flags "-jar $out/share/java/gpsprune.jar"
mkdir -p $out/share/applications mkdir -p $out/share/applications
cp $desktopItem/share/applications"/"* $out/share/applications cp $desktopItem/share/applications"/"* $out/share/applications
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Application for viewing, editing and converting GPS coordinate data"; description = "Application for viewing, editing and converting GPS coordinate data";
homepage = https://activityworkshop.net/software/gpsprune/; homepage = "https://activityworkshop.net/software/gpsprune/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers.rycee ]; maintainers = [ maintainers.rycee ];
platforms = platforms.all; platforms = platforms.all;

View File

@ -4,11 +4,11 @@ with python3Packages;
buildPythonApplication rec { buildPythonApplication rec {
pname = "img2pdf"; pname = "img2pdf";
version = "0.3.3"; version = "0.3.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1ksn33j9d9df04n4jx7dli70d700rafbm37gjaz6lwsswrzc2xwx"; sha256 = "0jgfk191vvxn2r6bbdknvw5v510mx9g0xrgnmcghaxkv65zjnj0b";
}; };
doCheck = false; # needs pdfrw doCheck = false; # needs pdfrw
@ -19,7 +19,7 @@ buildPythonApplication rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Convert images to PDF via direct JPEG inclusion"; description = "Convert images to PDF via direct JPEG inclusion";
homepage = https://gitlab.mister-muffin.de/josch/img2pdf; homepage = "https://gitlab.mister-muffin.de/josch/img2pdf";
license = licenses.lgpl2; license = licenses.lgpl2;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.veprbl ]; maintainers = [ maintainers.veprbl ];

View File

@ -98,4 +98,4 @@ DEPENDENCIES
jemoji jemoji
BUNDLED WITH BUNDLED WITH
1.17.3 2.1.4

View File

@ -149,4 +149,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4) yajl-ruby (~> 1.4)
BUNDLED WITH BUNDLED WITH
1.17.3 2.1.4

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "josm"; pname = "josm";
version = "15937"; version = "16239";
src = fetchurl { src = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "1mwrmhs5k3b3pvl3cmq78h8gh8zna06l4sym1a4vvlcx6j26a01f"; sha256 = "041n81mnd587043f8wwjv8ckbx0hlsqf3pc7hzbns1y89xdghms1";
}; };
buildInputs = [ jdk11 makeWrapper ]; buildInputs = [ jdk11 makeWrapper ];
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An extensible editor for OpenStreetMap"; description = "An extensible editor for OpenStreetMap";
homepage = https://josm.openstreetmap.de/; homepage = "https://josm.openstreetmap.de/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers.rycee ]; maintainers = [ maintainers.rycee ];
platforms = platforms.all; platforms = platforms.all;

View File

@ -1,12 +1,12 @@
{ stdenv, glibcLocales, python3 }: { stdenv, glibcLocales, python3 }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
version = "0.15.1"; version = "0.16.0";
pname = "khard"; pname = "khard";
src = python3.pkgs.fetchPypi { src = python3.pkgs.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w"; sha256 = "0a1zpkq0pplmn9flxczq2wafs6zc07r9xx9qi6dqmyv9mhy9d87f";
}; };
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [
@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
''; '';
meta = { meta = {
homepage = https://github.com/scheibler/khard; homepage = "https://github.com/scheibler/khard";
description = "Console carddav client"; description = "Console carddav client";
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];

View File

@ -1,7 +1,7 @@
{ buildPythonApplication, lib, fetchFromGitHub, fetchpatch { buildPythonApplication, lib, fetchFromGitHub, fetchpatch
, wrapGAppsHook, gobject-introspection, gnome-desktop, libnotify, libgnome-keyring, pango , wrapGAppsHook, gobject-introspection, gnome-desktop, libnotify, libgnome-keyring, pango
, gdk-pixbuf, atk, webkitgtk, gst_all_1 , gdk-pixbuf, atk, webkitgtk, gst_all_1
, evdev, pyyaml, pygobject3, requests, pillow , dbus-python, evdev, pyyaml, pygobject3, requests, pillow
, xrandr, pciutils, psmisc, glxinfo, vulkan-tools, xboxdrv, pulseaudio, p7zip, xgamma , xrandr, pciutils, psmisc, glxinfo, vulkan-tools, xboxdrv, pulseaudio, p7zip, xgamma
, libstrangle, wine, fluidsynth, xorgserver , libstrangle, wine, fluidsynth, xorgserver
}: }:
@ -31,22 +31,15 @@ let
in buildPythonApplication rec { in buildPythonApplication rec {
pname = "lutris-original"; pname = "lutris-original";
version = "0.5.4"; version = "0.5.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lutris"; owner = "lutris";
repo = "lutris"; repo = "lutris";
rev = "v${version}"; rev = "v${version}";
sha256 = "0i4i6g3pys1vf2q1pbs1fkywgapj4qfxrjrvim98hzw9al4l06y9"; sha256 = "1g093g0difnkjmnm91p20issdsxn9ri4c56zzddj5wfrbmhwdfag";
}; };
patches = [(
fetchpatch {
url = "https://github.com/lutris/lutris/pull/2558.patch";
sha256 = "1wbsplri5ii06gzv6mzhiic61zkgsp9bkjkaknkd83203p0i9b2d";
}
)];
buildInputs = [ buildInputs = [
wrapGAppsHook gobject-introspection gnome-desktop libnotify libgnome-keyring pango wrapGAppsHook gobject-introspection gnome-desktop libnotify libgnome-keyring pango
gdk-pixbuf atk webkitgtk gdk-pixbuf atk webkitgtk
@ -57,7 +50,7 @@ in buildPythonApplication rec {
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
evdev pyyaml pygobject3 requests pillow evdev pyyaml pygobject3 requests pillow dbus-python
]; ];
preCheck = "export HOME=$PWD"; preCheck = "export HOME=$PWD";

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }: { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "19.09"; version = "20.03";
pname = "mediainfo"; pname = "mediainfo";
src = fetchurl { src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "1a2ssklg12sjsw09y8my9kf35mizi3zj7w002nspcmw28apb1x82"; sha256 = "1f1shnycf0f1fwka9k9s250l228xjkg0k4k73h8bpld8msighgnw";
}; };
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
MediaInfo is a convenient unified display of the most relevant technical MediaInfo is a convenient unified display of the most relevant technical
and tag data for video and audio files. and tag data for video and audio files.
''; '';
homepage = https://mediaarea.net/; homepage = "https://mediaarea.net/";
license = licenses.bsd2; license = licenses.bsd2;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.devhell ]; maintainers = [ maintainers.devhell ];

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "minder"; pname = "minder";
version = "1.7.1"; version = "1.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "phase1geo"; owner = "phase1geo";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0y30gdnx270m857iijhgdv7a2nqxmmd8w6kfhd80763ygk17xk1r"; sha256 = "0pfp0dglj2ig2p1h000137dxw777mjvzzqj3gcnbxjxqz3m6fzc0";
}; };
nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ]; nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pythonPackages }: { stdenv, fetchurl, pythonPackages }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.7.7"; version = "0.7.8";
pname = "mwic"; pname = "mwic";
src = fetchurl { src = fetchurl {
url = "https://github.com/jwilk/mwic/releases/download/${version}/${pname}-${version}.tar.gz"; url = "https://github.com/jwilk/mwic/releases/download/${version}/${pname}-${version}.tar.gz";
sha256 = "0l4anwiiqclymx0awwn4hzaj8n26ycg8nz76wjphsyscn7z2awad"; sha256 = "0nnhziz9v523hpciylnxfajmxabh2ig5iawzwrfpf7aww70v330x";
}; };
makeFlags=["PREFIX=\${out}"]; makeFlags=["PREFIX=\${out}"];

View File

@ -29,11 +29,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "obinskit"; pname = "obinskit";
version = "1.1.1"; version = "1.1.4";
src = fetchurl { src = fetchurl {
url = "http://releases.obins.net/occ/linux/tar/ObinsKit_${version}_x64.tar.gz"; url = "http://releases.obins.net/occ/linux/tar/ObinsKit_${version}_x64.tar.gz";
sha256 = "0052m4msslc4k9g3i5vl933cz5q2n1affxhnm433w4apajr8h28h"; sha256 = "0q422rmfn4k4ww1qlgrwdmxz4l10dxkd6piynbcw5cr4i5icnh2l";
}; };
unpackPhase = "tar -xzf $src"; unpackPhase = "tar -xzf $src";

View File

@ -35,13 +35,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "orca"; pname = "orca";
version = "3.36.0"; version = "3.36.1";
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 = "0yrkl0j1mm4fd5zib8jvbfgm2iyanlx05vhhnmjcmvpm464c7pf9"; sha256 = "07w3k0f791zd1pj9j6d27k7gk7c6hx112ngrdz18h573df5n9b61";
}; };
patches = [ patches = [

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