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

7
.github/CODEOWNERS vendored
View file

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

View file

@ -186,7 +186,7 @@ with import <nixpkgs> {};
androidenv.emulateApp {
name = "emulate-MyAndroidApp";
platformVersion = "28";
abiVersion = "x86_64"; # armeabi-v7a, mips, x86
abiVersion = "x86"; # armeabi-v7a, mips, x86_64
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>
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>
</section>

View file

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

View file

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

View file

@ -2404,6 +2404,12 @@
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 = {
email = "evanjsx@gmail.com";
github = "evanjs";
@ -3233,6 +3239,12 @@
githubId = 4458;
name = "Ivan Kozik";
};
ivan-timokhin = {
email = "nixpkgs@ivan.timokhin.name";
name = "Ivan Timokhin";
github = "ivan-timokhin";
githubId = 9802104;
};
ivan-tkatchev = {
email = "tkatchev@gmail.com";
name = "Ivan Tkatchev";
@ -5594,6 +5606,12 @@
githubId = 101514;
name = "Orivej Desh";
};
oro = {
email = "marco@orovecchia.at";
github = "oro";
githubId = 357005;
name = "Marco Orovecchia";
};
osener = {
email = "ozan@ozansener.com";
github = "osener";
@ -6521,6 +6539,12 @@
githubId = 766350;
name = "Richard Zetterberg";
};
s1341 = {
email = "s1341@shmarya.net";
name = "Shmarya Rubenstein";
github = "s1341";
githubId = 5682183;
};
samdoshi = {
email = "sam@metal-fish.co.uk";
github = "samdoshi";
@ -8197,6 +8221,11 @@
fingerprint = "85F8 E850 F8F2 F823 F934 535B EC50 6589 9AEA AF4C";
}];
};
yvesf = {
email = "yvesf+nix@xapek.org";
github = "yvesf";
name = "Yves Fischer";
};
yvt = {
email = "i@yvt.jp";
github = "yvt";
@ -8397,4 +8426,10 @@
github = "ymeister";
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.";
};
podman = {
members = [
saschagrunert
vdemeester
zowoq
];
scope = "Maintain podman related packages.";
};
}

View file

@ -75,6 +75,24 @@ services.xserver.displayManager.defaultSession = "xfce+icewm";
</programlisting>
</para>
</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>
</section>
@ -127,6 +145,17 @@ services.xserver.displayManager.defaultSession = "xfce+icewm";
</para>
<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>
<para>
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>
<para>
Deploy a newer version of Hydra to activate the DB optimizations. You can choose from
either <package>hydra-unstable</package> (latest <literal>master</literal> compiled
against <package>nixUnstable</package>) and <package>hydra-flakes</package> (latest
version with flake-support).
Deploy a newer version of Hydra to activate the DB optimizations. This can be done by
using <package>hydra-unstable</package>. This package already includes
<link xlink:href="https://github.com/nixos/rfcs/pull/49">flake-support</link> and is
therefore compiled against <package>pkgs.nixFlakes</package>.
<warning>
<para>
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>
<para>
Predicatbly named network-interfaces get renamed in stage-1. This means that it's possible
to use the proper interface name for e.g. dropbear-setups.
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.
</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>.

View file

@ -128,6 +128,81 @@
documentation for instructions.
</para>
</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>
</section>
@ -140,7 +215,13 @@
<itemizedlist>
<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>
</itemizedlist>
</section>

View file

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

View file

@ -387,7 +387,7 @@ class Machine:
if state != require_state:
raise Exception(
"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]:

View file

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

View file

@ -7,6 +7,8 @@ with lib;
{
imports = [ ./installation-cd-graphical-base.nix ];
isoImage.edition = "gnome";
services.xserver.desktopManager.gnome3.enable = true;
# 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 ];
isoImage.edition = "plasma5";
services.xserver = {
desktopManager.plasma5 = {
enable = true;

View file

@ -8,5 +8,7 @@
[ ./installation-cd-base.nix
];
isoImage.edition = "minimal";
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 {
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 = ''
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
@ -515,6 +524,19 @@ in
};
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;

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
if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") {
@ -562,7 +559,6 @@ my $hwConfig = <<EOF;
boot.kernelModules = [$kernelModules ];
boot.extraModulePackages = [$modulePackages ];
$fsAndSwap
nix.maxJobs = lib.mkDefault $cpus;
${\join "", (map { " $_\n" } (uniq @attrs))}}
EOF

View file

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

View file

@ -301,7 +301,7 @@ in
# StateDirectory must be relative, and will be created under /var/lib by systemd
lpath = "acme/${cert}";
apath = "/var/lib/${lpath}";
spath = "/var/lib/acme/.lego";
spath = "/var/lib/acme/.lego/${cert}";
fileMode = if data.allowKeysForGroup then "640" else "600";
globalOpts = [ "-d" data.domain "--email" data.email "--path" "." "--key-type" data.keyType ]
++ optionals (cfg.acceptTerms) [ "--accept-tos" ]
@ -330,7 +330,7 @@ in
User = data.user;
Group = data.group;
PrivateTmp = true;
StateDirectory = "acme/.lego ${lpath}";
StateDirectory = "acme/.lego/${cert} ${lpath}";
StateDirectoryMode = if data.allowKeysForGroup then "750" else "700";
WorkingDirectory = spath;
# 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) ''
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
to run `hydra-backfill-ids` and set `services.hydra.package` to either `pkgs.hydra-unstable`
or `pkgs.hydra-flakes` after that.
to run `hydra-backfill-ids` and set `services.hydra.package` to `pkgs.hydra-unstable`
after that.
[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
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
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`
explicitly to `pkgs.hydra` and make sure you know what you're doing.

View file

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

View file

@ -12,7 +12,7 @@ with lib;
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 {
environment.systemPackages = [ pkgs.malcontent ];
environment.systemPackages = with pkgs; [
malcontent
malcontent-ui
];
services.dbus.packages = [ pkgs.malcontent ];
services.accounts-daemon.enable = true;
};
}

View file

@ -92,13 +92,14 @@ in
maxJobs = mkOption {
type = types.either types.int (types.enum ["auto"]);
default = 1;
default = "auto";
example = 64;
description = ''
This option defines the maximum number of jobs that Nix will try
to build in parallel. The default is 1. You should generally
set it to the total number of logical cores in your system (e.g., 16
for two CPUs with 4 cores each and hyper-threading).
This option defines the maximum number of jobs that Nix will try to
build in parallel. The default is auto, which means it will use all
available logical cores. It is recommend to set it to the total
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}";
ExecReload = "${pkgs.utillinux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
TimeoutStopSec = 60;
Restart = "on-failure";
# User and group
User = cfg.user;
Group = cfg.group;

View file

@ -17,7 +17,7 @@ in {
example = [ "eth0" ];
description = ''
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.
'';
};

View file

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

View file

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

View file

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

View file

@ -89,22 +89,6 @@ switchboard-with-plugs.override {
</para>
</listitem>
</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">
<term>
I cannot enable both GNOME 3 and Pantheon.

View file

@ -188,6 +188,9 @@ in
"systemd-machined.service"
# setSessionScript wants AccountsService
"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 = [
@ -197,6 +200,7 @@ in
"getty@tty${gdm.initialVT}.service"
"plymouth-quit.service"
"plymouth-start.service"
"systemd-udev-settle.service"
];
systemd.services.display-manager.conflicts = [
"getty@tty${gdm.initialVT}.service"

View file

@ -138,7 +138,7 @@ in
assertion = cfg.hostKeys != [];
message = ''
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.
'';
}

View file

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

View file

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

View file

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

View file

@ -183,15 +183,15 @@ let
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
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 rename multi-node-test 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.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(
"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",

View file

@ -143,12 +143,12 @@ let
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
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 rename single-node-test 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(
"ceph osd getcrushmap -o crush",
"crushtool -d crush -o decrushed",
@ -158,7 +158,7 @@ let
"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 '100 active+clean'")
monA.wait_until_succeeds("ceph -s | grep '128 active+clean'")
monA.fail(
"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",

View file

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

View file

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

View file

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

View file

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

View file

@ -61,14 +61,14 @@ in {
testScript = let
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 1 --value 11211 --type integer
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
'';
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.stdenv.shell}
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
@ -76,12 +76,12 @@ in {
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.stdenv.shell}
#!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-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)
'';
in ''

View file

@ -60,14 +60,14 @@ in {
testScript = let
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 'port' --value 6379 --type integer
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
'';
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.stdenv.shell}
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
@ -76,12 +76,12 @@ in {
"''${@}"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.stdenv.shell}
#!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-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)
'';
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 testString = "can-use-subgroups"; in
import ./make-test-python.nix ({ ...}: {
let
testString = "can-use-subgroups";
in import ../make-test-python.nix ({ ...}: {
name = "php-httpd-pcre-jit-test";
machine = { lib, pkgs, ... }: {
time.timeZone = "UTC";
@ -10,15 +9,13 @@ import ./make-test-python.nix ({ ...}: {
adminAddr = "please@dont.contact";
enablePHP = true;
phpOptions = "pcre.jit = true";
extraConfig =
let
extraConfig = let
testRoot = pkgs.writeText "index.php"
''
<?php
''
<?php
preg_match('/(${testString})/', '${testString}', $result);
var_dump($result);
?>
'';
'';
in
''
Alias / ${testRoot}/
@ -30,11 +27,11 @@ import ./make-test-python.nix ({ ...}: {
};
};
testScript = { ... }:
''
machine.wait_for_unit("httpd.service")
# Ensure php evaluation by matching on the var_dump syntax
assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed(
"curl -vvv -s http://127.0.0.1:80/index.php"
)
'';
''
machine.wait_for_unit("httpd.service")
# Ensure php evaluation by matching on the var_dump syntax
assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed(
"curl -vvv -s http://127.0.0.1:80/index.php"
)
'';
})

View file

@ -15,7 +15,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
machine.wait_for_unit("rabbitmq.service")
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
# switch-to-configuration is hidden by the success of `tee`.
stderrRunner = pkgs.writeScript "stderr-runner" ''
#! ${pkgs.stdenv.shell}
#! ${pkgs.runtimeShell}
set -e
set -o pipefail
exec env -i "$@" | tee /dev/stderr

View file

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

View file

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

View file

@ -23,7 +23,7 @@ let
guestAdditions = pkgs.linuxPackages.virtualboxGuestAdditions;
miniInit = ''
#!${pkgs.stdenv.shell} -xe
#!${pkgs.runtimeShell} -xe
export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}"
mkdir -p /run/dbus
@ -80,7 +80,7 @@ let
touch /mnt-root/boot-done
hostname "${vmName}"
mkdir -p /nix/store
unshare -m ${escapeShellArg pkgs.stdenv.shell} -c '
unshare -m ${escapeShellArg pkgs.runtimeShell} -c '
mount -t vboxsf nixstore /nix/store
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 {
name = "lingot-0.9.1";
stdenv.mkDerivation rec {
pname = "lingot";
version = "1.0.1";
src = fetchurl {
url = mirror://savannah/lingot/lingot-0.9.1.tar.gz;
sha256 = "0ygras6ndw2fylwxx86ac11pcr2y2bcfvvgiwrh92z6zncx254gc";
url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
sha256 = "cbjHe7mI6DhKDsv0yGHYOPe5hShKjhj3VTKrmBbGoA8=";
};
hardeningDisable = [ "format" ];
nativeBuildInputs = [
pkg-config
intltool
wrapGAppsHook
];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool gtk2 alsaLib libglade ];
buildInputs = [
gtk3
alsaLib
libpulseaudio
fftw
];
configureFlags = [ "--disable-jack" ];
configureFlags = [
"--disable-jack"
];
meta = {
description = "Not a Guitar-Only tuner";
homepage = https://www.nongnu.org/lingot/;
homepage = "https://www.nongnu.org/lingot/";
license = stdenv.lib.licenses.gpl2Plus;
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 {
pname = "mopidy";
version = "3.0.1";
version = "3.0.2";
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
rev = "v${version}";
sha256 = "0fpjprjw143ixak68iwxjpscdjgyb7rsr1cxj7fsdrw6hc83nq4z";
sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
};
nativeBuildInputs = [ wrapGAppsHook ];
@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
'';
meta = with stdenv.lib; {
homepage = https://www.mopidy.com/;
homepage = "https://www.mopidy.com/";
description = ''
An extensible music server that plays music from local disk, Spotify,
SoundCloud, Google Play Music, and more

View file

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

View file

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

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "rofi-mpd";
version = "2.0.1";
version = "2.2.0";
src = fetchFromGitHub {
owner = "JakeStanger";
repo = "Rofi_MPD";
rev = "v${version}";
sha256 = "12zzx0m2nwyzxzzqgzq30a27k015kcw4ylvs7cyalf5gf6sg27kl";
sha256 = "1b0y8706mmrxhiyz8g6znisllc35j8g7sz8gfjll9svysjmvb6lc";
};
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 {
name = "snd-20.1";
name = "snd-20.2";
src = fetchurl {
url = "mirror://sourceforge/snd/${name}.tar.gz";
sha256 = "0v7zhavkkbh1bagzy3l08kb235hhdqn28y0m4znkd3k31p4l4dz8";
sha256 = "0ip4sfyxqlbghlggipmvvqjqs1a7qas0zcmzw8d1nwg6krjkfj0r";
};
nativeBuildInputs = [ pkgconfig ];

View file

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

View file

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

View file

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

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "dit";
version = "0.5";
version = "0.6";
src = fetchurl {
url = "https://hisham.hm/dit/releases/${version}/${pname}-${version}.tar.gz";
sha256 = "05vhr1gl3bb5fg49v84xhmjaqdjw6djampvylw10ydvbpnpvjvjc";
sha256 = "0ryvm54xxkg2gcgz4r8zdxrl6j2h8mgg9nfqmdmdr31qkcj8wjsq";
};
buildInputs = [ ncurses lua ]
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
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;
platforms = with platforms; linux;
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 =
callPackage ./ess-R-object-popup { };

View file

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

View file

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

View file

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

View file

@ -1,38 +1,47 @@
{ stdenv, appimage-run, fetchurl, runtimeShell }:
{ stdenv, appimageTools, autoPatchelfHook, desktop-file-utils
, fetchurl, runtimeShell }:
let
version = "3.0.15";
version = "3.3.3";
pname = "standardnotes";
name = "${pname}-${version}";
plat = {
i386-linux = "i386";
x86_64-linux = "x86_64";
i386-linux = "-i386";
x86_64-linux = "";
}.${stdenv.hostPlatform.system};
sha256 = {
i386-linux = "0v2nsis6vb1lnhmjd28vrfxqwwpycv02j0nvjlfzcgj4b3400j7a";
x86_64-linux = "130n586cw0836zsbwqcz3pp3h0d4ny74ngqs4k4cvfb92556r7xh";
i386-linux = "2ccdf23588b09d645811e562d4fd7e02ac0e367bf2b34e373d8470d48544036d";
x86_64-linux = "6366d0a37cbf2cf51008a666e40bada763dd1539173de01e093bcbe4146a6bd8";
}.${stdenv.hostPlatform.system};
in
stdenv.mkDerivation {
pname = "standardnotes";
inherit version;
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;
};
buildInputs = [ appimage-run ];
appimageContents = appimageTools.extract {
inherit name src;
};
dontUnpack = true;
nativeBuildInputs = [ autoPatchelfHook desktop-file-utils ];
installPhase = ''
mkdir -p $out/{bin,share}
cp $src $out/share/standardNotes.AppImage
echo "#!${runtimeShell}" > $out/bin/standardnotes
echo "${appimage-run}/bin/appimage-run $out/share/standardNotes.AppImage" >> $out/bin/standardnotes
chmod +x $out/bin/standardnotes $out/share/standardNotes.AppImage
in appimageTools.wrapType2 rec {
inherit name src;
extraInstallCommands = ''
# directory in /nix/store so readonly
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; {

View file

@ -11,8 +11,8 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0i8dmh9w7xgzfjii4m116lavydpfpcp7fxs4bcykf0a779pzwv87";
x86_64-darwin = "0z0r0dmmzk3k095g7jbrrk9gl1jpb3cai973xrjw17ank1lddcjf";
x86_64-linux = "0q1fk5a4ymndnyxzps8960y1rl657q95i2rydbqyjl37y79wmllx";
x86_64-darwin = "02ybgp6v1ray4a867hihp2fvc872ilqla6z52qv90dfjx69g77ib";
}.${system};
in
callPackage ./generic.nix rec {
@ -21,7 +21,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.43.0";
version = "1.44.0";
pname = "vscode";
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";
sha256 = {
x86_64-linux = "139sqaixlcqlpcrn2vkcp9fxvcjgnhn2dwxclxq3bnb814pw7rba";
x86_64-darwin = "0jkd3p1jqg38z9l22k5w7b45fdnxwrhzlgyhinw7wlqz7zvflkn1";
x86_64-linux = "1prv4rzr5z905s6jnmkmd97zr5kz8nn4m9bil483bnx4wqr2k10g";
x86_64-darwin = "1p0a94i80s7fq6ars01bvr41qxiq35s0r6crfv857ma01g9ia7k3";
}.${system};
sourceRoot = {
@ -27,7 +27,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.43.0";
version = "1.44.0";
pname = "vscodium";
executableName = "codium";

View file

@ -4,7 +4,7 @@
stdenv.mkDerivation {
pname = "saga";
version = "7.6.1";
version = "7.6.2";
# See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
# 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";
src = fetchurl {
url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.6.1/saga-7.6.1.tar.gz";
sha256 = "1i0cp1lms6cmjl7f5vgr9pl3qc02fmappn4kq21y0dn2gy7j2mkn";
url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.6.2/saga-7.6.2.tar.gz";
sha256 = "09j5magmayq2y620kqa490mfd1kpdp3lng2ifcgbrmssc079ybm0";
};
meta = with stdenv.lib; {

View file

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

View file

@ -20,4 +20,4 @@ DEPENDENCIES
image_optim
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 {
pname = "shotwell";
version = "0.31.0";
version = "0.31.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1pwq953wl7h9cvw7rvlr6pcbq9w28kkr7ddb8x2si81ngp0imwyx";
sha256 = "0mbgrad4d4snffw2z3rkhwqq1bkxdgy52pblx99vjadvpgspb034";
};
nativeBuildInputs = [

View file

@ -78,6 +78,7 @@ let
dolphin = callPackage ./dolphin.nix {};
dolphin-plugins = callPackage ./dolphin-plugins.nix {};
dragon = callPackage ./dragon.nix {};
elisa = callPackage ./elisa.nix {};
eventviews = callPackage ./eventviews.nix {};
ffmpegthumbs = callPackage ./ffmpegthumbs.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 }:
with python3.pkgs; buildPythonApplication rec {
version = "4.2.2";
version = "4.3";
pname = "buku";
src = fetchFromGitHub {
owner = "jarun";
repo = "buku";
rev = "v${version}";
sha256 = "1wy5i1av1s98yr56ybiq66kv0vg48zci3fp91zfgj04nh2966w1w";
sha256 = "1cq508ymak3g5fhi1n4bdiiqkc86s2l3k4dvzw842vv2x0441cac";
};
checkInputs = [
@ -31,6 +31,7 @@ with python3.pkgs; buildPythonApplication rec {
flask-api
flask-bootstrap
flask-paginate
flask-reverse-proxy-fix
flask_wtf
arrow
werkzeug

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,59 +1,106 @@
GEM
remote: https://rubygems.org/
specs:
charlock_holmes (0.7.7)
diff-lcs (1.3)
gemojione (3.3.0)
backports (3.17.0)
concurrent-ruby (1.1.6)
crass (1.0.6)
execjs (2.7.0)
ffi (1.12.2)
gemojione (4.3.2)
json
github-markup (1.7.0)
gitlab-grit (2.8.3)
charlock_holmes (~> 0.7)
diff-lcs (~> 1.1)
mime-types (>= 1.16, < 3)
posix-spawn (~> 0.3)
gollum (4.1.4)
gemojione (~> 3.2)
gollum-lib (~> 4.2, >= 4.2.10)
kramdown (~> 1.9.0)
github-markup (3.0.4)
gollum (5.0.1)
gemojione (~> 4.1)
gollum-lib (~> 5.0)
kramdown (~> 2.1.0)
kramdown-parser-gfm (~> 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)
gollum-grit_adapter (1.0.1)
gitlab-grit (~> 2.7, >= 2.7.1)
gollum-lib (4.2.10)
gemojione (~> 3.2)
github-markup (~> 1.6)
gollum-grit_adapter (~> 1.0)
nokogiri (>= 1.6.1, < 2.0)
rouge (~> 2.1)
sanitize (~> 2.1.1, >= 2.1.1)
stringex (~> 2.6)
gollum-lib (5.0.3)
gemojione (~> 4.1)
github-markup (~> 3.0)
gollum-rugged_adapter (~> 0.99.4, >= 0.99.4)
loofah (~> 2.3)
nokogiri (~> 1.8)
octicons (~> 8.5)
rouge (~> 3.1)
twitter-text (= 1.14.7)
gollum-rugged_adapter (0.99.4)
mime-types (>= 1.15)
rugged (~> 0.99)
json (2.3.0)
kramdown (1.9.0)
mime-types (2.99.3)
kramdown (2.1.0)
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)
multi_json (1.14.1)
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)
posix-spawn (0.3.13)
rack (1.6.13)
rack-protection (1.5.5)
octicons (8.5.0)
nokogiri (>= 1.6.3.1)
rack (2.2.2)
rack-protection (2.0.8.1)
rack
rouge (2.2.1)
sanitize (2.1.1)
nokogiri (>= 1.4.4)
sinatra (1.4.8)
rack (~> 1.5)
rack-protection (~> 1.4)
tilt (>= 1.3, < 3)
stringex (2.8.5)
rb-fsevent (0.10.3)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.4)
rouge (3.17.0)
rss (0.2.9)
rexml
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)
twitter-text (1.14.7)
unf (~> 0.1.0)
uglifier (3.2.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.6)
unf_ext (0.0.7.7)
useragent (0.16.10)
PLATFORMS
@ -63,4 +110,4 @@ DEPENDENCIES
gollum
BUNDLED WITH
1.17.3
2.1.4

View file

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

View file

@ -1,23 +1,53 @@
{
charlock_holmes = {
backports = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
sha256 = "13ywgyyxzlgks7nb17gwqjmdqjjmhc8si3iliv8jhf51lb3s865v";
type = "gem";
};
version = "0.7.7";
version = "3.17.0";
};
diff-lcs = {
concurrent-ruby = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
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 = {
dependencies = ["json"];
@ -25,64 +55,53 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ayk8r147k1s38nj18pwk76npx1p7jhi86silk800nj913pjvrhj";
sha256 = "097mrsahv1h67kjrk1cpiqc1cbrfgvlp2rqwmzdzxrq0kx50461w";
type = "gem";
};
version = "3.3.0";
version = "4.3.2";
};
github-markup = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp";
sha256 = "14991x92v8s60hfqv7162jfmdqa20fifn2bz0km3k5cgi01pf9rs";
type = "gem";
};
version = "1.7.0";
};
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";
version = "3.0.4";
};
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"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ik1b0f73lcxfwfml1h84dp6br79g0z9v6x54wvl46n9d1ndrhl7";
sha256 = "1f9p1230xmrvcb7ii2gkcvhpgcaqvvd47gy3c58nn730jkv471dr";
type = "gem";
};
version = "4.1.4";
};
gollum-grit_adapter = {
dependencies = ["gitlab-grit"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
type = "gem";
};
version = "1.0.1";
version = "5.0.1";
};
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"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1699wiir6f2a8yawk3qg0xn3zdc10mz783v53ri1ivfnzdrm3dvf";
sha256 = "0r59fyf7i4rlp6wj9ilnqd9pmgpkafv0yl4jmrxa6hr2p4cmnf1g";
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 = {
groups = ["default"];
@ -99,20 +118,53 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12sral2xli39mnr4b9m2sxdlgam4ni0a1mkxawc5311z107zj3p0";
sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
type = "gem";
};
version = "1.9.0";
version = "2.1.0";
};
mime-types = {
kramdown-parser-gfm = {
dependencies = ["kramdown"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9";
sha256 = "0ykna2apphld9llmjnz0210fipp4fkmj2ja18l7iz9xikg0h0ihi";
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 = {
groups = ["default"];
@ -124,6 +176,16 @@
};
version = "2.4.0";
};
multi_json = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
type = "gem";
};
version = "1.14.1";
};
mustache = {
groups = ["default"];
platforms = [];
@ -134,36 +196,48 @@
};
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 = {
dependencies = ["mini_portile2"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
type = "gem";
};
version = "1.10.8";
version = "1.10.9";
};
posix-spawn = {
octicons = {
dependencies = ["nokogiri"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw";
sha256 = "0fy6shpfmla58dxx3kb2zi1hs7vmdw6pqrksaa8yrva05s4l3y75";
type = "gem";
};
version = "0.3.13";
version = "8.5.0";
};
rack = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0";
sha256 = "10mp9s48ssnw004aksq90gvhdvwczh8j6q82q2kqiqq92jd1zxbp";
type = "gem";
};
version = "1.6.13";
version = "2.2.2";
};
rack-protection = {
dependencies = ["rack"];
@ -171,52 +245,169 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss";
sha256 = "1zyj97bfr1shfgwk4ddmdbw0mdkm4qdyh9s1hl0k7accf3kxx1yi";
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 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs";
sha256 = "0xl7k5paf66p57sphm4nfa4k86yf93lhdzzr0cv0l4divq12g2pr";
type = "gem";
};
version = "2.2.1";
version = "3.17.0";
};
sanitize = {
dependencies = ["nokogiri"];
rss = {
dependencies = ["rexml"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12ip1d80r0dgc621qn7c32bk12xxgkkg3w6q21s1ckxivcd7r898";
sha256 = "1b1zx07kr64kkpm4lssd4r1a1qyr829ppmfl85i4adcvx9mqfid0";
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 = {
dependencies = ["rack" "rack-protection" "tilt"];
dependencies = ["mustermann" "rack" "rack-protection" "tilt"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq";
sha256 = "0riy3hwjab1mr73jcqx3brmbmwspnw3d193j06a5f0fy1w35z15q";
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"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15ns7j5smw04w6w7bqd5mm2qcl7w9lhwykyb974i4isgg9yc23ys";
sha256 = "1mmrfm4pqh98f3irjpkvfpazhcx6q42bnx6bbms9dqvmck3mid28";
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 = {
groups = ["default"];
@ -239,6 +430,17 @@
};
version = "1.14.7";
};
uglifier = {
dependencies = ["execjs"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wmqvn4xncw6h3d5gp2a44170zwxfyj3iq4rsjp16zarvzbdmgnz";
type = "gem";
};
version = "3.2.0";
};
unf = {
dependencies = ["unf_ext"];
groups = ["default"];
@ -255,10 +457,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf";
sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
type = "gem";
};
version = "0.0.7.6";
version = "0.0.7.7";
};
useragent = {
groups = ["default"];

View file

@ -1,16 +1,16 @@
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre8 }:
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }:
stdenv.mkDerivation rec {
pname = "gpsprune";
version = "19.2";
version = "20";
src = fetchurl {
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
sha256 = "1q2kpkkh75b9l1x7fkmv88s8k84gzcdnrg5sgf8ih0zrp49lawg9";
sha256 = "1i9p6h98azgradrrkcwx18zwz4c6zkxp4bfykpa2imi1z3ry5q2b";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre8 ];
buildInputs = [ jdk11 ];
desktopItem = makeDesktopItem {
name = "gpsprune";
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
buildCommand = ''
mkdir -p $out/bin $out/share/java
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"
mkdir -p $out/share/applications
cp $desktopItem/share/applications"/"* $out/share/applications
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
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;
maintainers = [ maintainers.rycee ];
platforms = platforms.all;

View file

@ -4,11 +4,11 @@ with python3Packages;
buildPythonApplication rec {
pname = "img2pdf";
version = "0.3.3";
version = "0.3.4";
src = fetchPypi {
inherit pname version;
sha256 = "1ksn33j9d9df04n4jx7dli70d700rafbm37gjaz6lwsswrzc2xwx";
sha256 = "0jgfk191vvxn2r6bbdknvw5v510mx9g0xrgnmcghaxkv65zjnj0b";
};
doCheck = false; # needs pdfrw
@ -19,7 +19,7 @@ buildPythonApplication rec {
meta = with stdenv.lib; {
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;
platforms = platforms.unix;
maintainers = [ maintainers.veprbl ];

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -35,13 +35,13 @@
buildPythonApplication rec {
pname = "orca";
version = "3.36.0";
version = "3.36.1";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0yrkl0j1mm4fd5zib8jvbfgm2iyanlx05vhhnmjcmvpm464c7pf9";
sha256 = "07w3k0f791zd1pj9j6d27k7gk7c6hx112ngrdz18h573df5n9b61";
};
patches = [

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