Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2019-04-16 18:54:15 +02:00
commit bae32a9f5c
548 changed files with 16308 additions and 7742 deletions

View file

@ -2754,9 +2754,9 @@ addEnvHooks "$hostOffset" myBashFunction
<listitem>
<para>
Overrides the configure, build, and install phases. This will run the
"waf" script used by many projects. If waf doesnt exist, it will copy
the version of waf available in Nixpkgs wafFlags can be used to pass
flags to the waf script.
"waf" script used by many projects. If wafPath (default ./waf) doesnt
exist, it will copy the version of waf available in Nixpkgs. wafFlags can
be used to pass flags to the waf script.
</para>
</listitem>
</varlistentry>

View file

@ -633,8 +633,7 @@ rec {
else
let
x = head list;
xs = unique (drop 1 list);
in [x] ++ remove x xs;
in [x] ++ unique (remove x list);
/* Intersects list 'e' and another list. O(nm) complexity.

View file

@ -12,8 +12,8 @@ rec {
# Bring in a path as a source, filtering out all Subversion and CVS
# directories, as well as backup files (*~).
cleanSourceFilter = name: type: let baseName = baseNameOf (toString name); in ! (
# Filter out Subversion and CVS directories.
(type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) ||
# Filter out version control software files/directories
(baseName == ".git" || type == "directory" && (baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) ||
# Filter out editor backup / swap files.
lib.hasSuffix "~" baseName ||
builtins.match "^\\.sw[a-z]$" baseName != null ||

View file

@ -2905,6 +2905,11 @@
email = "markus@wotringer.de";
name = "Markus Wotringer";
};
marius851000 = {
email = "mariusdavid@laposte.net";
name = "Marius David";
github = "marius851000";
};
marsam = {
email = "marsam@users.noreply.github.com";
github = "marsam";

View file

@ -175,6 +175,12 @@
<literal>git tag -s -a -m &quot;Release 15.09&quot; 15.09</literal>
</para>
</listitem>
<listitem>
<para>
Update "Chapter 4. Upgrading NixOS" section of the manual to match
new stable release version.
</para>
</listitem>
<listitem>
<para>
Update http://nixos.org/nixos/download.html and

View file

@ -14,11 +14,11 @@
<para>
<emphasis>Stable channels</emphasis>, such as
<literal
xlink:href="https://nixos.org/channels/nixos-17.03">nixos-17.03</literal>.
xlink:href="https://nixos.org/channels/nixos-19.03">nixos-19.03</literal>.
These only get conservative bug fixes and package upgrades. For instance,
a channel update may cause the Linux kernel on your system to be upgraded
from 4.9.16 to 4.9.17 (a minor bug fix), but not from
4.9.<replaceable>x</replaceable> to 4.11.<replaceable>x</replaceable> (a
from 4.19.34 to 4.19.38 (a minor bug fix), but not from
4.19.<replaceable>x</replaceable> to 4.20.<replaceable>x</replaceable> (a
major change that has the potential to break things). Stable channels are
generally maintained until the next stable branch is created.
</para>
@ -38,7 +38,7 @@
<para>
<emphasis>Small channels</emphasis>, such as
<literal
xlink:href="https://nixos.org/channels/nixos-17.03-small">nixos-17.03-small</literal>
xlink:href="https://nixos.org/channels/nixos-19.03-small">nixos-19.03-small</literal>
or
<literal
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
@ -63,8 +63,8 @@
<para>
When you first install NixOS, youre automatically subscribed to the NixOS
channel that corresponds to your installation source. For instance, if you
installed from a 17.03 ISO, you will be subscribed to the
<literal>nixos-17.03</literal> channel. To see which NixOS channel youre
installed from a 19.03 ISO, you will be subscribed to the
<literal>nixos-19.03</literal> channel. To see which NixOS channel youre
subscribed to, run the following as root:
<screen>
# nix-channel --list | grep nixos
@ -75,13 +75,13 @@ nixos https://nixos.org/channels/nixos-unstable
# nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
</screen>
(Be sure to include the <literal>nixos</literal> parameter at the end.) For
instance, to use the NixOS 17.03 stable channel:
instance, to use the NixOS 19.03 stable channel:
<screen>
# nix-channel --add https://nixos.org/channels/nixos-17.03 nixos
# nix-channel --add https://nixos.org/channels/nixos-19.03 nixos
</screen>
If you have a server, you may want to use the “small” channel instead:
<screen>
# nix-channel --add https://nixos.org/channels/nixos-17.03-small nixos
# nix-channel --add https://nixos.org/channels/nixos-19.03-small nixos
</screen>
And if you want to live on the bleeding edge:
<screen>
@ -127,7 +127,7 @@ nixos https://nixos.org/channels/nixos-unstable
current channel. (To see when the service runs, see <command>systemctl
list-timers</command>.) You can also specify a channel explicitly, e.g.
<programlisting>
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-17.03;
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.03;
</programlisting>
</para>
</section>

View file

@ -24,8 +24,14 @@
<arg>
<option>--help</option>
</arg>
</arg>
<arg>
<option>--option</option>
<replaceable>name</replaceable>
<replaceable>value</replaceable>
</arg>
<arg choice="plain">
<replaceable>network.nix</replaceable>
</arg>
@ -115,6 +121,18 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--option</option> <replaceable>name</replaceable> <replaceable>value</replaceable>
</term>
<listitem>
<para>Set the Nix configuration option
<replaceable>name</replaceable> to <replaceable>value</replaceable>.
This overrides settings in the Nix configuration file (see
<citerefentry><refentrytitle>nix.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
</refentry>

View file

@ -35,21 +35,6 @@
The following new services were added since the last release:
</para>
<itemizedlist>
<listitem>
<para>
Besides the existing <option>services.prometheus</option> module which
targets Prometheus-1 a new <option>services.prometheus2</option> module
has been added which targets Prometheus-2.
</para>
<para>
Both modules can be enabled at the same time. In fact
<link xlink:href="https://prometheus.io/docs/prometheus/latest/migration/#storage">
this is needed for upgrading existing Prometheus-1 data to Prometheus-2
</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xmlns="http://docbook.org/ns/docbook"
@ -82,25 +67,6 @@
accordingly.
</para>
</listitem>
<listitem>
<para>
The directory where Prometheus will store its metric data is now
managed by systemd's StateDirectory mechanism. It still defaults
to <literal>/var/lib/prometheus</literal>.
</para>
<para>
Its location can be specified by the new
<option>services.prometheus.stateDir</option> option which
defaults to <literal>prometheus</literal>. Note that this should
be a directory relative to <literal>/var/lib/</literal>.
</para>
<para>
The option <option>services.prometheus.dataDir</option> has been
deprecated. You can still set it but it's now required to have
<literal>/var/lib/</literal> as a prefix and you can't set
<option>services.prometheus.stateDir</option> at the same time.
</para>
</listitem>
<listitem>
<para>
The options <option>services.prometheus.alertmanager.user</option> and
@ -154,6 +120,21 @@
Accelerated Video Playback</link> for better transcoding performance.
</para>
</listitem>
<listitem>
<para>
The following changes apply if the <literal>stateVersion</literal> is
changed to 19.09 or higher. For <literal>stateVersion = "19.03"</literal>
or lower the old behavior is preserved.
</para>
<itemizedlist>
<listitem>
<para>
<literal>solr.package</literal> defaults to
<literal>pkgs.solr_8</literal>.
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -1,6 +1,6 @@
{
x86_64-linux = "/nix/store/pid1yakjasch4pwl63nzbj22z9zf0q26-nix-2.2";
i686-linux = "/nix/store/qpkl0cxy0xh4h432lv2qsjrmhvx5x2vy-nix-2.2";
aarch64-linux = "/nix/store/0jg7h94x986d8cskg6gcfza9x67spdbp-nix-2.2";
x86_64-darwin = "/nix/store/a48whqkmxnsfhwbk6nay74iyc1cf0lr2-nix-2.2";
x86_64-linux = "/nix/store/hbhdjn5ik3byg642d1m11k3k3s0kn3py-nix-2.2.2";
i686-linux = "/nix/store/fz5cikwvj3n0a6zl44h6l2z3cin64mda-nix-2.2.2";
aarch64-linux = "/nix/store/2gba4cyl4wvxzfbhmli90jy4n5aj0kjj-nix-2.2.2";
x86_64-darwin = "/nix/store/87i4fp46jfw9yl8c7i9gx75m5yph7irl-nix-2.2.2";
}

View file

@ -9,49 +9,44 @@ showUsage() {
# Parse valid argument options
PARAMS=`getopt -n $0 -o h -l no-out-link,show-trace,help -- "$@"`
nixBuildArgs=()
networkExpr=
if [ $? != 0 ]
then
showUsage
exit 1
fi
eval set -- "$PARAMS"
# Evaluate valid options
while [ "$1" != "--" ]
do
while [ $# -gt 0 ]; do
case "$1" in
--no-out-link)
noOutLinkArg="--no-out-link"
;;
--show-trace)
showTraceArg="--show-trace"
;;
-h|--help)
showUsage
exit 0
;;
--no-out-link)
nixBuildArgs+=("--no-out-link")
;;
--show-trace)
nixBuildArgs+=("--show-trace")
;;
-h|--help)
showUsage
exit 0
;;
--option)
shift
nixBuildArgs+=("--option" "$1" "$2"); shift
;;
*)
if [ ! -z "$networkExpr" ]; then
echo "Network expression already set!"
showUsage
exit 1
fi
networkExpr="$(readlink -f $1)"
;;
esac
shift
done
shift
# Validate the given options
if [ "$1" = "" ]
if [ -z "$networkExpr" ]
then
echo "ERROR: A network expression must be specified!" >&2
exit 1
else
networkExpr=$(readlink -f $1)
fi
# Build a network of VMs
nix-build '<nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix>' \
--argstr networkExpr $networkExpr $noOutLinkArg $showTraceArg
--argstr networkExpr $networkExpr "${nixBuildArgs[@]}"

View file

@ -255,6 +255,8 @@
./services/databases/virtuoso.nix
./services/desktops/accountsservice.nix
./services/desktops/bamf.nix
./services/desktops/deepin/dde-daemon.nix
./services/desktops/deepin/deepin-menu.nix
./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix
./services/desktops/pantheon/contractor.nix
@ -268,6 +270,7 @@
./services/desktops/gnome3/evince.nix
./services/desktops/gnome3/evolution-data-server.nix
./services/desktops/gnome3/file-roller.nix
./services/desktops/gnome3/glib-networking.nix
./services/desktops/gnome3/gnome-disks.nix
./services/desktops/gnome3/gnome-documents.nix
./services/desktops/gnome3/gnome-keyring.nix
@ -488,6 +491,7 @@
./services/monitoring/prometheus/default.nix
./services/monitoring/prometheus/alertmanager.nix
./services/monitoring/prometheus/exporters.nix
./services/monitoring/prometheus/pushgateway.nix
./services/monitoring/riemann.nix
./services/monitoring/riemann-dash.nix
./services/monitoring/riemann-tools.nix
@ -672,6 +676,7 @@
./services/networking/tinydns.nix
./services/networking/tftpd.nix
./services/networking/tox-bootstrapd.nix
./services/networking/tox-node.nix
./services/networking/toxvpn.nix
./services/networking/tvheadend.nix
./services/networking/unbound.nix
@ -749,6 +754,7 @@
./services/web-apps/icingaweb2/icingaweb2.nix
./services/web-apps/icingaweb2/module-monitoring.nix
./services/web-apps/mattermost.nix
./services/web-apps/miniflux.nix
./services/web-apps/nextcloud.nix
./services/web-apps/nexus.nix
./services/web-apps/pgpkeyserver-lite.nix

View file

@ -410,6 +410,8 @@ let
"password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"}
${optionalString config.services.samba.syncPasswordsByPam
"password optional ${pkgs.samba}/lib/security/pam_smbpass.so nullok use_authtok try_first_pass"}
${optionalString cfg.enableGnomeKeyring
"password optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok"}
# Session management.
${optionalString cfg.setEnvironment ''

View file

@ -15,7 +15,7 @@ in {
enable = mkEnableOption "ympd, the MPD Web GUI";
webPort = mkOption {
type = types.string;
type = types.either types.str types.port; # string for backwards compat
default = "8080";
description = "The port where ympd's web interface will be available.";
example = "ssl://8080:/path/to/ssl-private-key.pem";
@ -49,7 +49,7 @@ in {
systemd.services.ympd = {
description = "Standalone MPD Web GUI written in C";
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${cfg.webPort} --user nobody";
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${toString cfg.webPort} --user nobody";
};
};

View file

@ -0,0 +1,41 @@
# dde-daemon
{ config, pkgs, lib, ... }:
{
###### interface
options = {
services.deepin.dde-daemon = {
enable = lib.mkEnableOption
"A daemon for handling Deepin Desktop Environment session settings";
};
};
###### implementation
config = lib.mkIf config.services.deepin.dde-daemon.enable {
environment.systemPackages = [ pkgs.deepin.dde-daemon ];
services.dbus.packages = [ pkgs.deepin.dde-daemon ];
systemd.packages = [ pkgs.deepin.dde-daemon ];
users.groups.dde-daemon = { };
users.users.dde-daemon = {
description = "Deepin daemon user";
group = "dde-daemon";
isSystemUser = true;
};
};
}

View file

@ -0,0 +1,29 @@
# deepin-menu
{ config, pkgs, lib, ... }:
{
###### interface
options = {
services.deepin.deepin-menu = {
enable = lib.mkEnableOption
"DBus service for unified menus in Deepin Desktop Environment";
};
};
###### implementation
config = lib.mkIf config.services.deepin.deepin-menu.enable {
services.dbus.packages = [ pkgs.deepin.deepin-menu ];
};
}

View file

@ -0,0 +1,33 @@
# GLib Networking
{ config, pkgs, lib, ... }:
with lib;
{
###### interface
options = {
services.gnome3.glib-networking = {
enable = mkEnableOption "network extensions for GLib";
};
};
###### implementation
config = mkIf config.services.gnome3.glib-networking.enable {
services.dbus.packages = [ pkgs.gnome3.glib-networking ];
systemd.packages = [ pkgs.gnome3.glib-networking ];
environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.glib-networking.out}/lib/gio/modules" ];
};
}

View file

@ -35,6 +35,8 @@ with lib;
services.dbus.packages = [ pkgs.gnome3.gnome-keyring pkgs.gcr ];
security.pam.services.login.enableGnomeKeyring = true;
};
}

View file

@ -54,7 +54,7 @@ let
rule_files = map (promtoolCheck "check-rules" "rules") (cfg.ruleFiles ++ [
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
]);
scrape_configs = cfg.scrapeConfigs;
scrape_configs = filterEmpty cfg.scrapeConfigs;
};
generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
@ -81,7 +81,7 @@ let
rule_files = map (prom2toolCheck "check rules" "rules") (cfg2.ruleFiles ++ [
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg2.rules))
]);
scrape_configs = cfg2.scrapeConfigs;
scrape_configs = filterEmpty cfg2.scrapeConfigs;
alerting = optionalAttrs (cfg2.alertmanagerURL != []) {
alertmanagers = [{
static_configs = [{
@ -108,6 +108,21 @@ let
] ++
optional (cfg2.webExternalUrl != null) "--web.external-url=${cfg2.webExternalUrl}";
filterEmpty = filterAttrsListRecursive (_n: v: !(v == null || v == [] || v == {}));
filterAttrsListRecursive = pred: x:
if isAttrs x then
listToAttrs (
concatMap (name:
let v = x.${name}; in
if pred name v then [
(nameValuePair name (filterAttrsListRecursive pred v))
] else []
) (attrNames x)
)
else if isList x then
map (filterAttrsListRecursive pred) x
else x;
promTypes.globalConfig = types.submodule {
options = {
scrape_interval = mkOption {
@ -237,6 +252,14 @@ let
Optional http login credentials for metrics scraping.
'';
};
tls_config = mkOption {
type = types.nullOr promTypes.tls_config;
default = null;
apply = x: mapNullable _filter x;
description = ''
Configures the scrape request's TLS settings.
'';
};
dns_sd_configs = mkOption {
type = types.listOf promTypes.dns_sd_config;
default = [];
@ -269,6 +292,14 @@ let
List of labeled target groups for this job.
'';
};
ec2_sd_configs = mkOption {
type = types.listOf promTypes.ec2_sd_config;
default = [];
apply = x: map _filter x;
description = ''
List of EC2 service discovery configurations.
'';
};
relabel_configs = mkOption {
type = types.listOf promTypes.relabel_config;
default = [];
@ -298,6 +329,96 @@ let
};
};
promTypes.ec2_sd_config = types.submodule {
options = {
region = mkOption {
type = types.str;
description = ''
The AWS Region.
'';
};
endpoint = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Custom endpoint to be used.
'';
};
access_key = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The AWS API key id. If blank, the environment variable
<literal>AWS_ACCESS_KEY_ID</literal> is used.
'';
};
secret_key = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The AWS API key secret. If blank, the environment variable
<literal>AWS_SECRET_ACCESS_KEY</literal> is used.
'';
};
profile = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Named AWS profile used to connect to the API.
'';
};
role_arn = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
AWS Role ARN, an alternative to using AWS API keys.
'';
};
refresh_interval = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Refresh interval to re-read the instance list.
'';
};
port = mkOption {
type = types.int;
default = 80;
description = ''
The port to scrape metrics from. If using the public IP
address, this must instead be specified in the relabeling
rule.
'';
};
filters = mkOption {
type = types.nullOr (types.listOf promTypes.filter);
default = null;
description = ''
Filters can be used optionally to filter the instance list by other criteria.
'';
};
};
};
promTypes.filter = types.submodule {
options = {
name = mkOption {
type = types.str;
description = ''
See <link xlink:href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">this list</link>
for the available filters.
'';
};
value = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Value of the filter.
'';
};
};
};
promTypes.dns_sd_config = types.submodule {
options = {
names = mkOption {
@ -431,6 +552,47 @@ let
};
};
promTypes.tls_config = types.submodule {
options = {
ca_file = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
CA certificate to validate API server certificate with.
'';
};
cert_file = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Certificate file for client cert authentication to the server.
'';
};
key_file = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Key file for client cert authentication to the server.
'';
};
server_name = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
ServerName extension to indicate the name of the server.
http://tools.ietf.org/html/rfc4366#section-3.1
'';
};
insecure_skip_verify = mkOption {
type = types.bool;
default = false;
description = ''
Disable validation of the server certificate.
'';
};
};
};
in {
options = {
services.prometheus = {

View file

@ -0,0 +1,166 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.prometheus.pushgateway;
cmdlineArgs =
opt "web.listen-address" cfg.web.listen-address
++ opt "web.telemetry-path" cfg.web.telemetry-path
++ opt "web.external-url" cfg.web.external-url
++ opt "web.route-prefix" cfg.web.route-prefix
++ optional cfg.persistMetrics ''--persistence.file="/var/lib/${cfg.stateDir}/metrics"''
++ opt "persistence.interval" cfg.persistence.interval
++ opt "log.level" cfg.log.level
++ opt "log.format" cfg.log.format
++ cfg.extraFlags;
opt = k : v : optional (v != null) ''--${k}="${v}"'';
in {
options = {
services.prometheus.pushgateway = {
enable = mkEnableOption "Prometheus Pushgateway";
package = mkOption {
type = types.package;
default = pkgs.prometheus-pushgateway;
defaultText = "pkgs.prometheus-pushgateway";
description = ''
Package that should be used for the prometheus pushgateway.
'';
};
web.listen-address = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Address to listen on for the web interface, API and telemetry.
<literal>null</literal> will default to <literal>:9091</literal>.
'';
};
web.telemetry-path = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Path under which to expose metrics.
<literal>null</literal> will default to <literal>/metrics</literal>.
'';
};
web.external-url = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The URL under which Pushgateway is externally reachable.
'';
};
web.route-prefix = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Prefix for the internal routes of web endpoints.
Defaults to the path of
<option>services.prometheus.pushgateway.web.external-url</option>.
'';
};
persistence.interval = mkOption {
type = types.nullOr types.str;
default = null;
example = "10m";
description = ''
The minimum interval at which to write out the persistence file.
<literal>null</literal> will default to <literal>5m</literal>.
'';
};
log.level = mkOption {
type = types.nullOr (types.enum ["debug" "info" "warn" "error" "fatal"]);
default = null;
description = ''
Only log messages with the given severity or above.
<literal>null</literal> will default to <literal>info</literal>.
'';
};
log.format = mkOption {
type = types.nullOr types.str;
default = null;
example = "logger:syslog?appname=bob&local=7";
description = ''
Set the log target and format.
<literal>null</literal> will default to <literal>logger:stderr</literal>.
'';
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Extra commandline options when launching the Pushgateway.
'';
};
persistMetrics = mkOption {
type = types.bool;
default = false;
description = ''
Whether to persist metrics to a file.
When enabled metrics will be saved to a file called
<literal>metrics</literal> in the directory
<literal>/var/lib/pushgateway</literal>. The directory below
<literal>/var/lib</literal> can be set using
<option>services.prometheus.pushgateway.stateDir</option>.
'';
};
stateDir = mkOption {
type = types.str;
default = "pushgateway";
description = ''
Directory below <literal>/var/lib</literal> to store metrics.
This directory will be created automatically using systemd's
StateDirectory mechanism when
<option>services.prometheus.pushgateway.persistMetrics</option>
is enabled.
'';
};
};
};
config = mkIf cfg.enable {
assertions = [
{
assertion = !hasPrefix "/" cfg.stateDir;
message =
"The option services.prometheus.pushgateway.stateDir" +
" shouldn't be an absolute directory." +
" It should be a directory relative to /var/lib.";
}
];
systemd.services.pushgateway = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Restart = "always";
DynamicUser = true;
ExecStart = "${cfg.package}/bin/pushgateway" +
optionalString (length cmdlineArgs != 0) (" \\\n " +
concatStringsSep " \\\n " cmdlineArgs);
StateDirectory = if cfg.persistMetrics then cfg.stateDir else null;
};
};
};
}

View file

@ -26,4 +26,6 @@
}];
};
meta.maintainers = [ lib.maintainers.yarny ];
}

View file

@ -4,7 +4,7 @@
{
ModemGroup = [ ''"any:.*"'' ];
ModemGroup = [ ''"any:0:.*"'' ];
ServerTracing = "0x78701";
SessionTracing = "0x78701";
UUCPLockDir = "/var/lock";

View file

@ -54,7 +54,7 @@ in
enable = mkEnableOption "strongSwan";
secrets = mkOption {
type = types.listOf types.path;
type = types.listOf types.str;
default = [];
example = [ "/run/keys/ipsec-foo.secret" ];
description = ''

View file

@ -0,0 +1,95 @@
{ lib, pkgs, config, ... }:
with lib;
let
pkg = pkgs.tox-node;
cfg = config.services.tox-node;
homeDir = "/var/lib/tox-node";
configFile = let
# fetchurl should be switched to getting this file from tox-node.src once
# the dpkg directory is in a release
src = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/tox-rs/tox-node/master/dpkg/config.yml";
sha256 = "1431wzpzm786mcvyzk1rp7ar418n45dr75hdggxvlm7pkpam31xa";
};
confJSON = pkgs.writeText "config.json" (
builtins.toJSON {
log-type = cfg.logType;
keys-file = cfg.keysFile;
udp-address = cfg.udpAddress;
tcp-addresses = cfg.tcpAddresses;
tcp-connections-limit = cfg.tcpConnectionLimit;
lan-discovery = cfg.lanDiscovery;
threads = cfg.threads;
motd = cfg.motd;
}
);
in with pkgs; runCommand "config.yml" {} ''
${remarshal}/bin/remarshal -if yaml -of json ${src} -o src.json
${jq}/bin/jq -s '(.[0] | with_entries( select(.key == "bootstrap-nodes"))) * .[1]' src.json ${confJSON} > $out
'';
in {
options.services.tox-node = {
enable = mkEnableOption "Tox Node service";
logType = mkOption {
type = types.enum [ "Stderr" "Stdout" "Syslog" "None" ];
default = "Stderr";
description = "Logging implementation.";
};
keysFile = mkOption {
type = types.str;
default = "${homeDir}/keys";
description = "Path to the file where DHT keys are stored.";
};
udpAddress = mkOption {
type = types.str;
default = "0.0.0.0:33445";
description = "UDP address to run DHT node.";
};
tcpAddresses = mkOption {
type = types.listOf types.str;
default = [ "0.0.0.0:33445" ];
description = "TCP addresses to run TCP relay.";
};
tcpConnectionLimit = mkOption {
type = types.int;
default = 8192;
description = "Maximum number of active TCP connections relay can hold";
};
lanDiscovery = mkOption {
type = types.bool;
default = true;
description = "Enable local network discovery.";
};
threads = mkOption {
type = types.int;
default = 1;
description = "Number of threads for execution";
};
motd = mkOption {
type = types.str;
default = "Hi from tox-rs! I'm up {{uptime}}. TCP: incoming {{tcp_packets_in}}, outgoing {{tcp_packets_out}}, UDP: incoming {{udp_packets_in}}, outgoing {{udp_packets_out}}";
description = "Message of the day";
};
};
config = lib.mkIf cfg.enable {
systemd.services.tox-node = {
description = "Tox Node";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkg}/bin/tox-node config ${configFile}";
StateDirectory = "tox-node";
DynamicUser = true;
Restart = "always";
};
};
};
}

View file

@ -151,7 +151,7 @@ in
'';
description = ''
Configuration for ZNC, see
<literal>https://wiki.znc.in/Configuration</literal> for details. The
<link xlink:href="https://wiki.znc.in/Configuration"/> for details. The
Nix value declared here will be translated directly to the xml-like
format ZNC expects. This is much more flexible than the legacy options
under <option>services.znc.confOptions.*</option>, but also can't do

View file

@ -5,6 +5,9 @@ with lib;
let
cfg = config.services.kibana;
ge7 = builtins.compareVersions cfg.package.version "7" >= 0;
lt6_6 = builtins.compareVersions cfg.package.version "6.6" < 0;
cfgFile = pkgs.writeText "kibana.json" (builtins.toJSON (
(filterAttrsRecursive (n: v: v != null) ({
server.host = cfg.listenAddress;
@ -16,6 +19,7 @@ let
kibana.defaultAppId = cfg.defaultAppId;
elasticsearch.url = cfg.elasticsearch.url;
elasticsearch.hosts = cfg.elasticsearch.hosts;
elasticsearch.username = cfg.elasticsearch.username;
elasticsearch.password = cfg.elasticsearch.password;
@ -67,9 +71,30 @@ in {
elasticsearch = {
url = mkOption {
description = "Elasticsearch url";
default = "http://localhost:9200";
type = types.str;
description = ''
Elasticsearch url.
Defaults to <literal>"http://localhost:9200"</literal>.
Don't set this when using Kibana >= 7.0.0 because it will result in a
configuration error. Use <option>services.kibana.elasticsearch.hosts</option>
instead.
'';
default = null;
type = types.nullOr types.str;
};
hosts = mkOption {
description = ''
The URLs of the Elasticsearch instances to use for all your queries.
All nodes listed here must be on the same cluster.
Defaults to <literal>[ "http://localhost:9200" ]</literal>.
This option is only valid when using kibana >= 6.6.
'';
default = null;
type = types.nullOr (types.listOf types.str);
};
username = mkOption {
@ -143,6 +168,19 @@ in {
};
config = mkIf (cfg.enable) {
assertions = [
{
assertion = ge7 -> cfg.elasticsearch.url == null;
message =
"The option services.kibana.elasticsearch.url has been removed when using kibana >= 7.0.0. " +
"Please use option services.kibana.elasticsearch.hosts instead.";
}
{
assertion = lt6_6 -> cfg.elasticsearch.hosts == null;
message =
"The option services.kibana.elasticsearch.hosts is only valid for kibana >= 6.6.";
}
];
systemd.services.kibana = {
description = "Kibana Service";
wantedBy = [ "multi-user.target" ];

View file

@ -13,11 +13,19 @@ in
services.solr = {
enable = mkEnableOption "Enables the solr service.";
# default to the 8.x series not forcing major version upgrade of those on the 7.x series
package = mkOption {
type = types.package;
default = pkgs.solr;
default = if versionAtLeast config.system.stateVersion "19.09"
then pkgs.solr_8
else pkgs.solr_7
;
defaultText = "pkgs.solr";
description = "Which Solr package to use.";
description = ''
Which Solr package to use. This defaults to version 7.x if
<literal>system.stateVersion &lt; 19.09</literal> and version 8.x
otherwise.
'';
};
port = mkOption {

View file

@ -0,0 +1,97 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.miniflux;
dbUser = "miniflux";
dbPassword = "miniflux";
dbHost = "localhost";
dbName = "miniflux";
defaultCredentials = pkgs.writeText "miniflux-admin-credentials" ''
ADMIN_USERNAME=admin
ADMIN_PASSWORD=password
'';
pgsu = "${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser}";
pgbin = "${config.services.postgresql.package}/bin";
preStart = pkgs.writeScript "miniflux-pre-start" ''
#!${pkgs.runtimeShell}
db_exists() {
[ "$(${pgsu} ${pgbin}/psql -Atc "select 1 from pg_database where datname='$1'")" == "1" ]
}
if ! db_exists "${dbName}"; then
${pgsu} ${pgbin}/psql postgres -c "CREATE ROLE ${dbUser} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${dbPassword}'"
${pgsu} ${pgbin}/createdb --owner "${dbUser}" "${dbName}"
${pgsu} ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore"
fi
'';
in
{
options = {
services.miniflux = {
enable = mkEnableOption "miniflux";
config = mkOption {
type = types.attrsOf types.str;
example = literalExample ''
{
CLEANUP_FREQUENCY = "48";
LISTEN_ADDR = "localhost:8080";
}
'';
description = ''
Configuration for Miniflux, refer to
<link xlink:href="http://docs.miniflux.app/en/latest/configuration.html"/>
for documentation on the supported values.
'';
};
adminCredentialsFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
File containing the ADMIN_USERNAME, default is "admin", and
ADMIN_PASSWORD (length >= 6), default is "password"; in the format of
an EnvironmentFile=, as described by systemd.exec(5).
'';
example = "/etc/nixos/miniflux-admin-credentials";
};
};
};
config = mkIf cfg.enable {
services.miniflux.config = {
LISTEN_ADDR = mkDefault "localhost:8080";
DATABASE_URL = "postgresql://${dbUser}:${dbPassword}@${dbHost}/${dbName}?sslmode=disable";
RUN_MIGRATIONS = "1";
CREATE_ADMIN = "1";
};
services.postgresql.enable = true;
systemd.services.miniflux = {
description = "Miniflux service";
wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ];
after = [ "network.target" "postgresql.service" ];
serviceConfig = {
ExecStart = "${pkgs.miniflux}/bin/miniflux";
ExecStartPre = "+${preStart}";
DynamicUser = true;
RuntimeDirectory = "miniflux";
RuntimeDirectoryMode = "0700";
EnvironmentFile = if isNull cfg.adminCredentialsFile
then defaultCredentials
else cfg.adminCredentialsFile;
};
environment = cfg.config;
};
environment.systemPackages = [ pkgs.miniflux ];
};
}

View file

@ -129,6 +129,7 @@ in {
services.gnome3.evince.enable = mkDefault true;
services.gnome3.evolution-data-server.enable = true;
services.gnome3.file-roller.enable = mkDefault true;
services.gnome3.glib-networking.enable = true;
services.gnome3.gnome-disks.enable = mkDefault true;
services.gnome3.gnome-documents.enable = mkDefault true;
services.gnome3.gnome-keyring.enable = true;
@ -205,7 +206,6 @@ in {
services.xserver.updateDbusEnvironment = true;
environment.variables.GIO_EXTRA_MODULES = [ "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
"${pkgs.gnome3.glib-networking.out}/lib/gio/modules"
"${pkgs.gnome3.gvfs}/lib/gio/modules" ];
environment.systemPackages = pkgs.gnome3.corePackages ++ cfg.sessionPath
++ (pkgs.gnome3.removePackagesByName pkgs.gnome3.optionalPackages config.environment.gnome3.excludePackages) ++ [

View file

@ -126,6 +126,7 @@ in
services.gnome3.evolution-data-server.enable = true;
services.gnome3.file-roller.enable = mkDefault true;
# TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
services.gnome3.glib-networking.enable = true;
services.gnome3.gnome-keyring.enable = true;
services.gnome3.gnome-settings-daemon.enable = true;
services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon;
@ -153,7 +154,6 @@ in
environment.variables.GIO_EXTRA_MODULES = [
"${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
"${pkgs.gnome3.glib-networking.out}/lib/gio/modules"
"${pkgs.gnome3.gvfs}/lib/gio/modules"
];

View file

@ -208,76 +208,25 @@ in
session optional pam_permit.so
'';
gdm.text = ''
auth requisite pam_nologin.so
auth required pam_env.so envfile=${config.system.build.pamEnvironment}
auth required pam_succeed_if.so uid >= 1000 quiet
auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so
auth ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth
${optionalString config.security.pam.enableEcryptfs
"auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
${optionalString (! config.security.pam.enableEcryptfs)
"auth required pam_deny.so"}
account sufficient pam_unix.so
password requisite pam_unix.so nullok sha512
${optionalString config.security.pam.enableEcryptfs
"password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
session required pam_env.so envfile=${config.system.build.pamEnvironment}
session required pam_unix.so
${optionalString config.security.pam.enableEcryptfs
"session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
session required pam_loginuid.so
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
'';
gdm-password.text = ''
auth requisite pam_nologin.so
auth required pam_env.so envfile=${config.system.build.pamEnvironment}
auth required pam_succeed_if.so uid >= 1000 quiet
auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so
auth ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth
${optionalString config.security.pam.enableEcryptfs
"auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
${optionalString (! config.security.pam.enableEcryptfs)
"auth required pam_deny.so"}
account sufficient pam_unix.so
password requisite pam_unix.so nullok sha512
${optionalString config.security.pam.enableEcryptfs
"password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
session required pam_env.so envfile=${config.system.build.pamEnvironment}
session required pam_unix.so
${optionalString config.security.pam.enableEcryptfs
"session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
session required pam_loginuid.so
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
auth substack login
account include login
password substack login
session include login
'';
gdm-autologin.text = ''
auth requisite pam_nologin.so
auth requisite pam_nologin.so
auth required pam_succeed_if.so uid >= 1000 quiet
auth required pam_permit.so
auth required pam_succeed_if.so uid >= 1000 quiet
auth required pam_permit.so
account sufficient pam_unix.so
account sufficient pam_unix.so
password requisite pam_unix.so nullok sha512
password requisite pam_unix.so nullok sha512
session optional pam_keyinit.so revoke
session required pam_env.so envfile=${config.system.build.pamEnvironment}
session required pam_unix.so
session required pam_loginuid.so
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
session optional pam_keyinit.so revoke
session include login
'';
};

View file

@ -11,7 +11,9 @@ let
udev = config.systemd.package;
modulesTree = config.system.modulesTree;
kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; };
firmware = config.hardware.firmware;
@ -290,6 +292,7 @@ let
# The closure of the init script of boot stage 1 is what we put in
# the initial RAM disk.
initialRamdisk = pkgs.makeInitrd {
name = "initrd-${kernel-name}";
inherit (config.boot.initrd) compressor prepend;
contents =

View file

@ -138,6 +138,7 @@ in
matrix-synapse = handleTest ./matrix-synapse.nix {};
memcached = handleTest ./memcached.nix {};
mesos = handleTest ./mesos.nix {};
miniflux = handleTest ./miniflux.nix {};
minio = handleTest ./minio.nix {};
misc = handleTest ./misc.nix {};
mongodb = handleTest ./mongodb.nix {};

View file

@ -12,7 +12,9 @@ with pkgs.lib;
let
esUrl = "http://localhost:9200";
mkElkTest = name : elk : makeTest {
mkElkTest = name : elk :
let elasticsearchGe7 = builtins.compareVersions elk.elasticsearch.version "7" >= 0;
in makeTest {
inherit name;
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ eelco offline basvandijk ];
@ -69,11 +71,11 @@ let
kibana = {
enable = true;
package = elk.kibana;
elasticsearch.url = esUrl;
};
elasticsearch-curator = {
enable = true;
# The current version of curator (5.6) doesn't support elasticsearch >= 7.0.0.
enable = !elasticsearchGe7;
actionYAML = ''
---
actions:
@ -126,7 +128,7 @@ let
# See if logstash messages arive in elasticsearch.
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"flowers\"}}}' | jq .hits.total | grep -v 0");
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"dragons\"}}}' | jq .hits.total | grep 0");
'' + optionalString (!elasticsearchGe7) ''
# Test elasticsearch-curator.
$one->systemctl("stop logstash");
$one->systemctl("start elasticsearch-curator");
@ -151,4 +153,16 @@ in mapAttrs mkElkTest {
logstash = pkgs.logstash6-oss;
kibana = pkgs.kibana6-oss;
};
"ELK-7" =
if enableUnfree
then {
elasticsearch = pkgs.elasticsearch7;
logstash = pkgs.logstash7;
kibana = pkgs.kibana7;
}
else {
elasticsearch = pkgs.elasticsearch7-oss;
logstash = pkgs.logstash7-oss;
kibana = pkgs.kibana7-oss;
};
}

52
nixos/tests/miniflux.nix Normal file
View file

@ -0,0 +1,52 @@
import ./make-test.nix ({ pkgs, lib, ... }:
let
port = 3142;
username = "alice";
password = "correcthorsebatterystaple";
defaultPort = 8080;
defaultUsername = "admin";
defaultPassword = "password";
in
with lib;
{
name = "miniflux";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bricewge ];
nodes = {
default =
{ ... }:
{
services.miniflux.enable = true;
};
customized =
{ ... }:
{
services.miniflux = {
enable = true;
config = {
CLEANUP_FREQUENCY = "48";
LISTEN_ADDR = "localhost:${toString port}";
};
adminCredentialsFile = pkgs.writeText "admin-credentials" ''
ADMIN_USERNAME=${username}
ADMIN_PASSWORD=${password}
'';
};
};
};
testScript = ''
startAll;
$default->waitForUnit('miniflux.service');
$default->waitForOpenPort(${toString defaultPort});
$default->succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK");
$default->succeed("curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
$customized->waitForUnit('miniflux.service');
$customized->waitForOpenPort(${toString port});
$customized->succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK");
$customized->succeed("curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
'';
})

View file

@ -3,15 +3,29 @@ import ./make-test.nix {
nodes = {
one = { pkgs, ... }: {
environment.systemPackages = [ pkgs.jq ];
services.prometheus2 = {
enable = true;
scrapeConfigs = [{
job_name = "prometheus";
static_configs = [{
targets = [ "127.0.0.1:9090" ];
labels = { instance = "localhost"; };
}];
}];
scrapeConfigs = [
{
job_name = "prometheus";
static_configs = [
{
targets = [ "127.0.0.1:9090" ];
labels = { instance = "localhost"; };
}
];
}
{
job_name = "pushgateway";
scrape_interval = "1s";
static_configs = [
{
targets = [ "127.0.0.1:9091" ];
}
];
}
];
rules = [
''
groups:
@ -22,6 +36,12 @@ import ./make-test.nix {
''
];
};
services.prometheus.pushgateway = {
enable = true;
persistMetrics = true;
persistence.interval = "1s";
stateDir = "prometheus-pushgateway";
};
};
};
@ -30,5 +50,18 @@ import ./make-test.nix {
$one->waitForUnit("prometheus2.service");
$one->waitForOpenPort(9090);
$one->succeed("curl -s http://127.0.0.1:9090/metrics");
# Let's test if pushing a metric to the pushgateway succeeds
# and whether that metric gets ingested by prometheus.
$one->waitForUnit("pushgateway.service");
$one->succeed(
"echo 'some_metric 3.14' | " .
"curl --data-binary \@- http://127.0.0.1:9091/metrics/job/some_job");
$one->waitUntilSucceeds(
"curl -sf 'http://127.0.0.1:9090/api/v1/query?query=some_metric' " .
"| jq '.data.result[0].value[1]' | grep '\"3.14\"'");
# Let's test if the pushgateway persists metrics to the configured location.
$one->waitUntilSucceeds("test -e /var/lib/prometheus-pushgateway/metrics");
'';
}

View file

@ -1,47 +1,65 @@
import ./make-test.nix ({ pkgs, lib, ... }:
{ system ? builtins.currentSystem,
config ? {},
pkgs ? import ../.. { inherit system config; }
}:
with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib;
let
solrTest = package: makeTest {
machine =
{ config, pkgs, ... }:
{
# Ensure the virtual machine has enough memory for Solr to avoid the following error:
#
# OpenJDK 64-Bit Server VM warning:
# INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
# failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
virtualisation.memorySize = 2000;
services.solr.enable = true;
services.solr.package = package;
};
testScript = ''
startAll;
$machine->waitForUnit('solr.service');
$machine->waitForOpenPort('8983');
$machine->succeed('curl --fail http://localhost:8983/solr/');
# adapted from pkgs.solr/examples/films/README.txt
$machine->succeed('sudo -u solr solr create -c films');
$machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
"add-field" : {
"name":"name",
"type":"text_general",
"multiValued":false,
"stored":true
},
"add-field" : {
"name":"initial_release_date",
"type":"pdate",
"stored":true
}
}')) =~ /"status":0/ or die;
$machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
$machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
'';
};
in
{
name = "solr";
meta.maintainers = [ lib.maintainers.aanderse ];
solr_7 = solrTest pkgs.solr_7 // {
name = "solr_7";
meta.maintainers = [ lib.maintainers.aanderse ];
};
machine =
{ config, pkgs, ... }:
{
# Ensure the virtual machine has enough memory for Solr to avoid the following error:
#
# OpenJDK 64-Bit Server VM warning:
# INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
# failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
virtualisation.memorySize = 2000;
services.solr.enable = true;
};
testScript = ''
startAll;
$machine->waitForUnit('solr.service');
$machine->waitForOpenPort('8983');
$machine->succeed('curl --fail http://localhost:8983/solr/');
# adapted from pkgs.solr/examples/films/README.txt
$machine->succeed('sudo -u solr solr create -c films');
$machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
"add-field" : {
"name":"name",
"type":"text_general",
"multiValued":false,
"stored":true
},
"add-field" : {
"name":"initial_release_date",
"type":"pdate",
"stored":true
}
}')) =~ /"status":0/ or die;
$machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
$machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
'';
})
solr_8 = solrTest pkgs.solr_8 // {
name = "solr_8";
meta.maintainers = [ lib.maintainers.aanderse ];
};
}

View file

@ -4,7 +4,7 @@
}:
let
version = "0.12.8.0";
version = "0.12.9.0";
in
stdenv.mkDerivation {
name = "aeon-${version}";
@ -14,7 +14,7 @@ stdenv.mkDerivation {
repo = "aeon";
rev = "v${version}-aeon";
fetchSubmodules = true;
sha256 = "1qmlz820mjs0b60d7i90lxcwwxmsdy6swq67v6n8mbb79zmcx8ii";
sha256 = "194nxf8c8ihkmdsxyhkhrxc2xiinipifk0ng1rmxiiyr2gjgxzga";
};
nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ];

View file

@ -1,4 +1,4 @@
{ callPackage, boost155, boost165, openssl_1_1, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3, buildGo110Package }:
{ callPackage, boost155, boost165, openssl_1_1, haskellPackages, darwin, libsForQt5, libsForQt59, miniupnpc_2, python3, buildGo110Package }:
rec {
@ -75,6 +75,9 @@ rec {
namecoin = callPackage ./namecoin.nix { withGui = true; };
namecoind = callPackage ./namecoin.nix { withGui = false; };
pivx = libsForQt59.callPackage ./pivx.nix { withGui = true; };
pivxd = callPackage ./pivx.nix { withGui = false; };
ethabi = callPackage ./ethabi.nix { };
stellar-core = callPackage ./stellar-core.nix { };

View file

@ -0,0 +1,54 @@
{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
, openssl, db48, boost, zlib, miniupnpc, gmp
, qrencode, glib, protobuf, yasm, libevent
, utillinux, qtbase ? null, qttools ? null
, enableUpnp ? false
, disableWallet ? false
, disableDaemon ? false
, withGui ? false }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "pivx-${version}";
version = "3.2.0";
src = fetchFromGitHub {
owner = "PIVX-Project";
repo= "PIVX";
rev = "v${version}";
sha256 = "1sym6254vhq8qqpxq9qhy10m5167v7x93kqaj1gixc1vwwbxyazy";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf utillinux ]
++ optionals withGui [ qtbase qttools qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optional enableUpnp "--enable-upnp-default"
++ optional disableWallet "--disable-wallet"
++ optional disableDaemon "--disable-daemon"
++ optionals withGui [ "--with-gui=yes"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
enableParallelBuilding = true;
doChecks = true;
postBuild = ''
mkdir -p $out/share/applications $out/share/icons
cp contrib/debian/pivx-qt.desktop $out/share/applications/
cp share/pixmaps/*128.png $out/share/icons/
'';
meta = with stdenv.lib; {
description = "An open source crypto-currency focused on fast private transactions";
longDescription = ''
PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
ultra fast transactions, low fees, high network decentralization, and
Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
'';
license = licenses.mit;
homepage = https://www.dash.org;
maintainers = with maintainers; [ wucke13 ];
platforms = platforms.unix;
};
}

View file

@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
patchShebangs ./tools/
'';
configureFlags = [
wafConfigureFlags = [
"--optimize"
"--docs"
"--with-backends=jack,alsa,dummy"

View file

@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
production, performance and DJing, with a focus on flexible
editing tools and a super-fast workflow.
'';
homepage = http://www.bitwig.com/;
homepage = https://www.bitwig.com/;
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ michalrus mrVanDalo ];

View file

@ -1,4 +1,10 @@
{ config, stdenv, fetchurl, intltool, pkgconfig, jansson
{ config, stdenv, fetchFromGitHub
, autoconf
, automake
, libtool
, intltool
, pkgconfig
, jansson
# deadbeef can use either gtk2 or gtk3
, gtk2Support ? false, gtk2 ? null
, gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null
@ -9,7 +15,7 @@
, wavSupport ? true, libsndfile ? null
, cdaSupport ? true, libcdio ? null, libcddb ? null
, aacSupport ? true, faad2 ? null
, midiSupport ? false, wildmidi ? null
, opusSupport ? true, opusfile ? null
, wavpackSupport ? false, wavpack ? null
, ffmpegSupport ? false, ffmpeg ? null
, apeSupport ? true, yasm ? null
@ -37,6 +43,7 @@ assert flacSupport -> flac != null;
assert wavSupport -> libsndfile != null;
assert cdaSupport -> (libcdio != null && libcddb != null);
assert aacSupport -> faad2 != null;
assert opusSupport -> opusfile != null;
assert zipSupport -> libzip != null;
assert ffmpegSupport -> ffmpeg != null;
assert apeSupport -> yasm != null;
@ -47,19 +54,27 @@ assert alsaSupport -> alsaLib != null;
assert pulseSupport -> libpulseaudio != null;
assert resamplerSupport -> libsamplerate != null;
assert overloadSupport -> zlib != null;
assert midiSupport -> wildmidi != null;
assert wavpackSupport -> wavpack != null;
assert remoteSupport -> curl != null;
stdenv.mkDerivation rec {
name = "deadbeef-${version}";
version = "0.7.2";
pname = "deadbeef";
version = "1.8.0";
src = fetchurl {
url = "mirror://sourceforge/project/deadbeef/${name}.tar.bz2";
sha256 = "1168hgr1nf27pf24n1rlfh1kx1wiscwhpbhqw0rprwy203gsnqwa";
src = fetchFromGitHub {
owner = "DeaDBeeF-Player";
repo = "deadbeef";
rev = version;
sha256 = "126i5qlkpv7pvi1mmc9y0jhqs6jjspsj7j615n2ddvsb2jsps81c";
};
patches = [
# Fix broken symbol name
# https://github.com/NixOS/nixpkgs/pull/59187#issuecomment-480977993
# will be fixed in deadbeef 1.8.1
./fix-wildmidi.patch
];
buildInputs = with stdenv.lib; [ jansson ]
++ optional gtk2Support gtk2
++ optionals gtk3Support [ gtk3 gsettings-desktop-schemas ]
@ -69,6 +84,7 @@ stdenv.mkDerivation rec {
++ optional wavSupport libsndfile
++ optionals cdaSupport [ libcdio libcddb ]
++ optional aacSupport faad2
++ optional opusSupport opusfile
++ optional zipSupport libzip
++ optional ffmpegSupport ffmpeg
++ optional apeSupport yasm
@ -79,16 +95,24 @@ stdenv.mkDerivation rec {
++ optional pulseSupport libpulseaudio
++ optional resamplerSupport libsamplerate
++ optional overloadSupport zlib
++ optional midiSupport wildmidi
++ optional wavpackSupport wavpack
++ optional remoteSupport curl
;
nativeBuildInputs = with stdenv.lib; [ intltool pkgconfig ]
++ optional gtk3Support wrapGAppsHook;
nativeBuildInputs = [
autoconf
automake
intltool
libtool
pkgconfig
] ++ stdenv.lib.optional gtk3Support wrapGAppsHook;
enableParallelBuilding = true;
preConfigure = ''
./autogen.sh
'';
meta = with stdenv.lib; {
description = "Ultimate Music Player for GNU/Linux";
homepage = http://deadbeef.sourceforge.net/;

View file

@ -0,0 +1,19 @@
--- a/plugins/wildmidi/src/wildmidi_lib.c
+++ b/plugins/wildmidi/src/wildmidi_lib.c
@@ -394,11 +394,11 @@ free_gauss (void) {
}
}
-unsigned long int delay_size[4][2];
-signed long int a[5][2];
-signed long int b[5][2];
-signed long int gain_in[4];
-signed long int gain_out[4];
+static unsigned long int delay_size[4][2];
+static signed long int a[5][2];
+static signed long int b[5][2];
+static signed long int gain_in[4];
+static signed long int gain_out[4];
void init_lowpass (void) {
float c = 0;

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "deadbeef-mpris2-plugin-${version}";
version = "1.11";
version = "1.12";
src = fetchurl {
url = "https://github.com/Serranya/deadbeef-mpris2-plugin/releases/download/v${version}/${name}.tar.xz";
sha256 = "1j631z34rwxf6wdjpsf8c2f1saq6qas1qmkgsg63m6zzpwqyizw0";
sha256 = "0s3y4ka4qf38cypc0xspy79q0g5y1kqx6ldad7yr6a45nw6j95jh";
};
nativeBuildInputs = [ pkgconfig ];

View file

@ -1,31 +0,0 @@
{ stdenv, fetchFromBitbucket, opusfile, libopus, libogg, openssl, deadbeef }:
stdenv.mkDerivation rec {
name = "deadbeef-opus-plugin-${version}";
version = "0.8";
src = fetchFromBitbucket {
owner = "Lithopsian";
repo = "deadbeef-opus";
rev = "v${version}";
sha256 = "057rgsw4563gs63k05s7zsdc0n4djxwlbyqabf7c88f23z35ryyi";
};
makeFlags = [
"PREFIX=$(out)"
];
NIX_CFLAGS_COMPILE = [
"-I${opusfile}/include/opus"
];
buildInputs = [ deadbeef opusfile libopus libogg openssl ];
meta = with stdenv.lib; {
description = "Ogg Opus decoder plugin for the DeaDBeeF music player";
homepage = https://bitbucket.org/Lithopsian/deadbeef-opus;
license = licenses.gpl2; # There are three files, each licensed under different license: zlib, gpl2Plus and lgpl2
maintainers = [ maintainers.jtojnar ];
platforms = platforms.linux;
};
}

View file

@ -5,16 +5,20 @@
python3Packages.buildPythonApplication rec {
pname = "gpodder";
version = "3.10.7";
version = "3.10.8";
format = "other";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "0sx9rj6dpvd2xz7lak2yi0zlgr3lp2ng1fw23s39la9ly4g1835j";
sha256 = "0sx5z9qjl76fi0m8vmars0yasfaq6znq434d8zjwla22k5wflmwm";
};
patches = [
./disable-autoupdate.patch
];
postPatch = with stdenv.lib; ''
sed -i -re 's,^( *gpodder_dir *= *).*,\1"'"$out"'",' bin/gpodder
'';

View file

@ -0,0 +1,55 @@
--- a/share/gpodder/ui/gtk/menus.ui
+++ b/share/gpodder/ui/gtk/menus.ui
@@ -13,10 +13,6 @@
<attribute name="action">app.gotoMygpo</attribute>
<attribute name="label" translatable="yes">Go to gpodder.net</attribute>
</item>
- <item>
- <attribute name="action">app.checkForUpdates</attribute>
- <attribute name="label" translatable="yes">Software updates</attribute>
- </item>
</section>
<section>
<item>
@@ -201,4 +197,4 @@
</submenu>
</menu>
</interface>
-<!-- :noTabs=true:tabSize=2:indentSize=2: -->
\ No newline at end of file
+<!-- :noTabs=true:tabSize=2:indentSize=2: -->
--- a/src/gpodder/config.py
+++ b/src/gpodder/config.py
@@ -91,13 +91,6 @@
'retries': 3, # number of retries when downloads time out
},
- # Software updates from gpodder.org
- 'software_update': {
- 'check_on_startup': True, # check for updates on start
- 'last_check': 0, # unix timestamp of last update check
- 'interval': 5, # interval (in days) to check for updates
- },
-
'ui': {
# Settings for the Command-Line Interface
'cli': {
--- a/src/gpodder/gtkui/main.py
+++ b/src/gpodder/gtkui/main.py
@@ -224,7 +224,7 @@
util.idle_add(self.subscribe_to_url, self.options.subscribe)
elif not self.channels:
self.on_itemUpdate_activate()
- elif self.config.software_update.check_on_startup:
+ elif False and self.config.software_update.check_on_startup:
# Check for software updates from gpodder.org
diff = time.time() - self.config.software_update.last_check
if diff > (60 * 60 * 24) * self.config.software_update.interval:
@@ -3288,6 +3288,7 @@
If silent=False, a message will be shown even if no updates are
available (set silent=False when the check is manually triggered).
"""
+ return
try:
up_to_date, version, released, days = util.get_update_info()
except Exception as e:

View file

@ -12,11 +12,11 @@ in
stdenv.mkDerivation rec {
name = "guitarix-${version}";
version = "0.37.3";
version = "0.38.1";
src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac";
sha256 = "0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80";
};
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ];
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
zita-resampler curl
];
configureFlags = [
wafConfigureFlags = [
"--shared-lib"
"--no-desktop-update"
"--enable-nls"

View file

@ -152,7 +152,7 @@ stdenv.mkDerivation rec {
- Delay Compensator Stereo - Verzögerungsausgleicher Stereo
- Delay Compensator x2 Stereo - Verzögerungsausgleicher x2 Stereo
'';
homepage = http://lsp-plug.in;
homepage = https://lsp-plug.in;
maintainers = with maintainers; [ magnetophon ];
license = licenses.gpl2;
platforms = platforms.linux;

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "ncmpc-${version}";
version = "0.33";
version = "0.34";
src = fetchFromGitHub {
owner = "MusicPlayerDaemon";
repo = "ncmpc";
rev = "v${version}";
sha256 = "1ymnxb85v2pc0qpk0yz5gdxayc0ialk82ba521lgdw66li7fr4as";
sha256 = "0ffby37qdg251c1w0vl6rmd13akbydnf12468z4vrl0ybwfd7fc4";
};
buildInputs = [ glib ncurses mpd_clientlib boost ];

View file

@ -7,6 +7,7 @@
, patchelf
, fdk_aac
, libtool
, ldacbt
, cmake
, bluez
, dbus
@ -23,14 +24,13 @@ let
in stdenv.mkDerivation rec {
name = "pulseaudio-modules-bt-${version}";
version = "unstable-2019-03-15";
version = "1.1.99";
src = fetchFromGitHub {
owner = "EHfive";
repo = "pulseaudio-modules-bt";
rev = "0b397c26eb4fd5dc611bd3e2baa79776de646856";
sha256 = "09q0xh9iz0crik6xpln9lijirf62aljxa1jrds1i1zgflyfidd0z";
fetchSubmodules = true;
rev = "v${version}";
sha256 = "0x670xbd62r3fs9a8pa5p4ppvxn6m64hvlrqa702gvikcvyrmwcg";
};
patches = [
@ -48,6 +48,7 @@ in stdenv.mkDerivation rec {
ffmpeg_4
fdk_aac
libtool
ldacbt
bluez
dbus
sbc
@ -67,7 +68,7 @@ in stdenv.mkDerivation rec {
for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
orig_rpath=$(patchelf --print-rpath "$so")
patchelf \
--set-rpath "${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
--set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
"$so"
done
'';

View file

@ -47,13 +47,13 @@ let
];
in stdenv.mkDerivation rec {
pname = "pulseeffects";
version = "4.5.5";
version = "4.5.9";
src = fetchFromGitHub {
owner = "wwmm";
repo = "pulseeffects";
rev = "v${version}";
sha256 = "0ll85c9xll2i42r1bdgbnxi5mc5jq2vxgp179jj2iq7wczq5psj1";
sha256 = "19pqi9wix359hdrslzmi9sz0dzz03pdwqvdyzw3i5rdny01skdfw";
};
nativeBuildInputs = [

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "qsynth-${version}";
version = "0.5.5";
version = "0.5.6";
src = fetchurl {
url = "mirror://sourceforge/qsynth/${name}.tar.gz";
sha256 = "08x7znvbwi9miavcarymi7dsv8njmxzwzma20dbmz8j2aswm53w5";
sha256 = "0h4hhja8qbyzd6v24flw9wr4mwl03nplryx1gyrppn7sg13l1sx6";
};
nativeBuildInputs = [ autoconf pkgconfig ];

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "qtractor";
version = "0.9.5";
version = "0.9.6";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "1zsikhqj5xzhw2x3b6pqlmcwz3hxx07lbbif8v3m3j41snzjic22";
sha256 = "06sa4wl8zr0k8dnjiil0gjwnhrkq95h50xv56ih1y8jgyzxchaxp";
};
nativeBuildInputs = [

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "samplv1-${version}";
version = "0.9.5";
version = "0.9.6";
src = fetchurl {
url = "mirror://sourceforge/samplv1/${name}.tar.gz";
sha256 = "0402rdr46za21w34m7ajzbwiiqcd1h0da3b0ldsr2z5g2mrkzxv8";
sha256 = "16a5xix9pn0gl3fr6bv6zl1l9vrzgvy1q7xd8yxzfr3vi5s8x4z9";
};
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "synthv1-${version}";
version = "0.9.5";
version = "0.9.6";
src = fetchurl {
url = "mirror://sourceforge/synthv1/${name}.tar.gz";
sha256 = "1b9w4cml3cmcg09kh852cahas6l9ks8wl3gzp1az8rzxz4229yg1";
sha256 = "1hcngk7mxfrqf8v3r759x3wd0p02nc3q83j8m3k58p408y3mx7nr";
};
buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];

View file

@ -4,7 +4,7 @@
}:
let
version = "0.18.0";
version = "0.18.1";
in mkDerivation rec {
name = "sddm-${version}";
@ -13,7 +13,7 @@ in mkDerivation rec {
owner = "sddm";
repo = "sddm";
rev = "v${version}";
sha256 = "16xnm02iqgy4hydzd6my0widq981glbazbhxnihhclgsaczh8mfq";
sha256 = "0an1zafz0yhxd9jgd3gzdwmaw5f9vs4c924q56lp2yxxddbmzjcq";
};
patches = [
@ -41,11 +41,11 @@ in mkDerivation rec {
# not supported anyway.
"-DUID_MIN=1000"
"-DUID_MAX=29999"
];
preConfigure = ''
export cmakeFlags="$cmakeFlags -DQT_IMPORTS_DIR=$out/$qtQmlPrefix -DCMAKE_INSTALL_SYSCONFDIR=$out/etc -DSYSTEMD_SYSTEM_UNIT_DIR=$out/lib/systemd/system"
'';
"-DQT_IMPORTS_DIR=${placeholder "out"}/${qtbase.qtQmlPrefix}"
"-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc"
"-DSYSTEMD_SYSTEM_UNIT_DIR=${placeholder "out"}/lib/systemd/system"
];
postInstall = ''
# remove empty scripts

View file

@ -18,21 +18,11 @@ let
sha256Hash = "1v4apc73jdhavhzj8j46mzh15rw08w1hd9y9ykarj3b5q7i2vyq1";
};
latestVersion = { # canary & dev
version = "3.5.0.9"; # "Android Studio 3.5 Canary 10"
build = "191.5416148";
sha256Hash = "03d2x6bqasw417dxc7b8y65rral73xm2ci512gprmsvwy42k3mqi";
version = "3.5.0.10"; # "Android Studio 3.5 Canary 11"
build = "191.5455988";
sha256Hash = "1g24a8fwnrfzdf093wdmqly3mzjddk5ndgi51qj98amn7kclsdpf";
};
in rec {
# Old alias (TODO @primeos: Remove after 19.03 is branched off):
preview = throw ''
The attributes "android-studio-preview" and "androidStudioPackages.preview"
are now deprecated and will be removed soon, please use
"androidStudioPackages.beta" instead. This attribute corresponds to the
beta channel, if you want the latest release you can use
"androidStudioPackages.dev" or "androidStudioPackages.canary" instead
(currently, there is no difference between both channels).
'';
# Attributes are named by their corresponding release channels
stable = mkStudio (stableVersion // {

View file

@ -19,10 +19,10 @@
elpaBuild {
pname = "ack";
ename = "ack";
version = "1.5";
version = "1.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ack-1.5.tar";
sha256 = "0sljshiy44z27idy0rxjs2fx4smlm4v607wic7md1vihp6qp4l9r";
url = "https://elpa.gnu.org/packages/ack-1.8.tar";
sha256 = "1d4218km7j1bx1fsna29j3gi3k2ak2fzbk1gyki327pnnlma6bav";
};
packageRequires = [];
meta = {
@ -39,10 +39,10 @@
elpaBuild {
pname = "ada-mode";
ename = "ada-mode";
version = "6.0.1";
version = "6.1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ada-mode-6.0.1.tar";
sha256 = "12ryblyqnhqibaffibs7qq3xq9rf5d4y9dishq82pbbh9y8s17hj";
url = "https://elpa.gnu.org/packages/ada-mode-6.1.0.tar";
sha256 = "1qa4kjv5xxlj50fghg5516cxn8ckv8vlyarcab2isxjnnxnb6g7s";
};
packageRequires = [ cl-lib emacs wisi ];
meta = {
@ -54,10 +54,10 @@
elpaBuild {
pname = "ada-ref-man";
ename = "ada-ref-man";
version = "2012.3";
version = "2012.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ada-ref-man-2012.3.tar";
sha256 = "0w88xw51jb85nmqbi3i9kj9kx2fa6zlazk3x7afll7njc6g4105z";
url = "https://elpa.gnu.org/packages/ada-ref-man-2012.5.tar";
sha256 = "0n7izqc44i3l6fxbzkq9gwwlcf04rr9g1whrk8biz84jhbyh23x8";
};
packageRequires = [];
meta = {
@ -204,16 +204,16 @@
license = lib.licenses.free;
};
}) {};
auctex = callPackage ({ elpaBuild, fetchurl, lib }:
auctex = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "auctex";
ename = "auctex";
version = "12.1.1";
version = "12.1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-12.1.1.tar";
sha256 = "10l96569dy9pfp8bm64pndhk1skg65kqhsyllwfa0zvb7mjkm70l";
url = "https://elpa.gnu.org/packages/auctex-12.1.2.tar";
sha256 = "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n";
};
packageRequires = [];
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/auctex.html";
license = lib.licenses.free;
@ -324,6 +324,25 @@
license = lib.licenses.free;
};
}) {};
buffer-expose = callPackage ({ cl-lib ? null
, elpaBuild
, emacs
, fetchurl
, lib }:
elpaBuild {
pname = "buffer-expose";
ename = "buffer-expose";
version = "0.4.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/buffer-expose-0.4.1.el";
sha256 = "05b1mhcv3860g93a7myqqrhmb9gpp19b4bcxhmdbmf4m0f7p9fw4";
};
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/buffer-expose.html";
license = lib.licenses.free;
};
}) {};
bug-hunter = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, seq }:
elpaBuild {
pname = "bug-hunter";
@ -429,6 +448,21 @@
license = lib.licenses.free;
};
}) {};
clipboard-collector = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "clipboard-collector";
ename = "clipboard-collector";
version = "0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/clipboard-collector-0.2.el";
sha256 = "19scspkxgm3b1jkv10jy6nw9gv1q6sfjys09l37mvsva3djxa1dl";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/clipboard-collector.html";
license = lib.licenses.free;
};
}) {};
cobol-mode = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "cobol-mode";
@ -621,10 +655,10 @@
elpaBuild {
pname = "darkroom";
ename = "darkroom";
version = "0.1";
version = "0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/darkroom-0.1.el";
sha256 = "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak";
url = "https://elpa.gnu.org/packages/darkroom-0.2.el";
sha256 = "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0";
};
packageRequires = [ cl-lib ];
meta = {
@ -664,18 +698,19 @@
}) {};
debbugs = callPackage ({ cl-lib ? null
, elpaBuild
, emacs
, fetchurl
, lib
, soap-client }:
elpaBuild {
pname = "debbugs";
ename = "debbugs";
version = "0.16";
version = "0.17";
src = fetchurl {
url = "https://elpa.gnu.org/packages/debbugs-0.16.tar";
sha256 = "0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p";
url = "https://elpa.gnu.org/packages/debbugs-0.17.tar";
sha256 = "0zclh2nxj5p10n214sxyxy3ca07l5s9p5spk0xp1smr6nzn0w7gb";
};
packageRequires = [ cl-lib soap-client ];
packageRequires = [ cl-lib emacs soap-client ];
meta = {
homepage = "https://elpa.gnu.org/packages/debbugs.html";
license = lib.licenses.free;
@ -715,10 +750,10 @@
elpaBuild {
pname = "diff-hl";
ename = "diff-hl";
version = "1.8.5";
version = "1.8.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/diff-hl-1.8.5.tar";
sha256 = "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d";
url = "https://elpa.gnu.org/packages/diff-hl-1.8.6.tar";
sha256 = "02hvi5jxv2anf62lw878bdz6xk7xjhjd5q85pqihmadbpj6i6pfq";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -745,10 +780,10 @@
elpaBuild {
pname = "dired-du";
ename = "dired-du";
version = "0.5.1";
version = "0.5.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/dired-du-0.5.1.tar";
sha256 = "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766";
url = "https://elpa.gnu.org/packages/dired-du-0.5.2.tar";
sha256 = "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -756,6 +791,36 @@
license = lib.licenses.free;
};
}) {};
dired-git-info = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "dired-git-info";
ename = "dired-git-info";
version = "0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/dired-git-info-0.2.el";
sha256 = "1pxn6kmgnynil13gp3m0y8hhkvciy3dcd55psj70pkrj50555dqx";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/dired-git-info.html";
license = lib.licenses.free;
};
}) {};
disk-usage = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "disk-usage";
ename = "disk-usage";
version = "1.3.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/disk-usage-1.3.1.el";
sha256 = "1jkwlg7w4090a7byfjh30mjz1libls8n71pphmn3973hqwaclnr7";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/disk-usage.html";
license = lib.licenses.free;
};
}) {};
dismal = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "dismal";
@ -835,10 +900,10 @@
elpaBuild {
pname = "ebdb";
ename = "ebdb";
version = "0.6.2";
version = "0.6.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-0.6.2.tar";
sha256 = "1b37962mvm80vk5sdk9kfvvxsxn83z5z6zvm20m9997ggl5dv4dz";
url = "https://elpa.gnu.org/packages/ebdb-0.6.6.tar";
sha256 = "1jgx099z9xg47v698qjbk5q70bakfw7zxaj25z4jz1mq64fvk6b5";
};
packageRequires = [ cl-lib emacs seq ];
meta = {
@ -900,10 +965,10 @@
elpaBuild {
pname = "eglot";
ename = "eglot";
version = "1.3";
version = "1.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eglot-1.3.tar";
sha256 = "0hndqabxvrq4ak5kx2xlds5pkayi2bfd1f1xk8aidzk5i70f7yry";
url = "https://elpa.gnu.org/packages/eglot-1.4.tar";
sha256 = "1f2p08ly17jcjyh8bif5zhmzhx3z5y9z20v6z24z939bqk8c1pdq";
};
packageRequires = [ emacs flymake jsonrpc ];
meta = {
@ -920,10 +985,10 @@
elpaBuild {
pname = "el-search";
ename = "el-search";
version = "1.8.8";
version = "1.11.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/el-search-1.8.8.tar";
sha256 = "1yv91vzpxn29rr8rkrihcbf26pafnxj25j7g38rss9qigswjkpnk";
url = "https://elpa.gnu.org/packages/el-search-1.11.4.tar";
sha256 = "152kx9s72h94n6nsrn84cmfb264cdw61ny5fn0n3fa581ipy34nm";
};
packageRequires = [ cl-print emacs stream ];
meta = {
@ -1037,10 +1102,10 @@
elpaBuild {
pname = "exwm";
ename = "exwm";
version = "0.21";
version = "0.22.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/exwm-0.21.tar";
sha256 = "07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj";
url = "https://elpa.gnu.org/packages/exwm-0.22.1.tar";
sha256 = "1ggb8vgxxml8c5bvamv9jgz80gs6h9xirjgphq8gwkywwd5xyiq4";
};
packageRequires = [ xelb ];
meta = {
@ -1097,10 +1162,10 @@
elpaBuild {
pname = "flymake";
ename = "flymake";
version = "1.0.3";
version = "1.0.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/flymake-1.0.3.el";
sha256 = "1algny2zhcl4vc7kp5czcqvxzpgqfjnz2rnkv26r0ylxig3s98v7";
url = "https://elpa.gnu.org/packages/flymake-1.0.5.el";
sha256 = "1zxzad84gcbdfh3pp606sspy8zkgxvngbzbimc2cam4pjcmwfx1y";
};
packageRequires = [ emacs ];
meta = {
@ -1112,10 +1177,10 @@
elpaBuild {
pname = "fountain-mode";
ename = "fountain-mode";
version = "2.6.1";
version = "2.6.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/fountain-mode-2.6.1.el";
sha256 = "0p0h28cmryhsgrp2ghk28i1xkfz4gvdwaa38galn4jksn9dh0dyb";
url = "https://elpa.gnu.org/packages/fountain-mode-2.6.2.el";
sha256 = "0ysxk9ap919scg2zz0psw8hk1dj35ys9p0havswsjzm46k43xd6z";
};
packageRequires = [ emacs ];
meta = {
@ -1138,6 +1203,21 @@
license = lib.licenses.free;
};
}) {};
frog-menu = callPackage ({ avy, elpaBuild, emacs, fetchurl, lib, posframe }:
elpaBuild {
pname = "frog-menu";
ename = "frog-menu";
version = "0.2.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/frog-menu-0.2.2.el";
sha256 = "0kv31p42gmi01xalbvwksk10l28ascdr214bmv1z22dipv0zm30i";
};
packageRequires = [ avy emacs posframe ];
meta = {
homepage = "https://elpa.gnu.org/packages/frog-menu.html";
license = lib.licenses.free;
};
}) {};
fsm = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "fsm";
@ -1278,6 +1358,41 @@
license = lib.licenses.free;
};
}) {};
greader = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "greader";
ename = "greader";
version = "0.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/greader-0.1.tar";
sha256 = "0mwhmidzv9vnmx6xls8pq4ra4m0f4yg677xgv34ivv34vsgg1mhb";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/greader.html";
license = lib.licenses.free;
};
}) {};
guess-language = callPackage ({ advice
, cl-lib ? null
, elpaBuild
, emacs
, fetchurl
, lib }:
elpaBuild {
pname = "guess-language";
ename = "guess-language";
version = "0.0.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/guess-language-0.0.1.el";
sha256 = "11a6m2337j4ncppaf59yr2vavvvsph2qh51d12zmq58g9wh3d7wz";
};
packageRequires = [ advice cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/guess-language.html";
license = lib.licenses.free;
};
}) {};
heap = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "heap";
@ -1430,14 +1545,29 @@
license = lib.licenses.free;
};
}) {};
ivy-explorer = callPackage ({ elpaBuild, emacs, fetchurl, ivy, lib }:
elpaBuild {
pname = "ivy-explorer";
ename = "ivy-explorer";
version = "0.3.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ivy-explorer-0.3.2.el";
sha256 = "0q9gy9w22hnq30bfmnpqknk0qc1rcbjcybpjgb8hnlldvcci95l7";
};
packageRequires = [ emacs ivy ];
meta = {
homepage = "https://elpa.gnu.org/packages/ivy-explorer.html";
license = lib.licenses.free;
};
}) {};
javaimp = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "javaimp";
ename = "javaimp";
version = "0.6";
version = "0.6.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/javaimp-0.6.tar";
sha256 = "015kchx6brsjk7q6lz9y44a18n5imapd95czx50hqdscjczmj2ff";
url = "https://elpa.gnu.org/packages/javaimp-0.6.1.tar";
sha256 = "1piaj3sgw6a05g9dhkbrn5n490w01z1rxa7axh3vg1xqbs6rv7lw";
};
packageRequires = [];
meta = {
@ -1464,10 +1594,10 @@
elpaBuild {
pname = "js2-mode";
ename = "js2-mode";
version = "20180301";
version = "20190219";
src = fetchurl {
url = "https://elpa.gnu.org/packages/js2-mode-20180301.tar";
sha256 = "0kcs70iygbpaxs094q6agsjs56sz03jy4fwk178f9hr93x95pynx";
url = "https://elpa.gnu.org/packages/js2-mode-20190219.tar";
sha256 = "0jgqs7cwykw5ihdq9wp5qc05y6br9gsyfiylqhjq43z59673chcc";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -1655,6 +1785,21 @@
license = lib.licenses.free;
};
}) {};
map = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "map";
ename = "map";
version = "2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/map-2.0.el";
sha256 = "1djygpvk1qgldg9my0lh8n2z1n6acz3y5ws7sv2w08hvxdlxz857";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/map.html";
license = lib.licenses.free;
};
}) {};
markchars = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "markchars";
@ -1908,10 +2053,10 @@
elpaBuild {
pname = "nlinum";
ename = "nlinum";
version = "1.8.1";
version = "1.9";
src = fetchurl {
url = "https://elpa.gnu.org/packages/nlinum-1.8.1.el";
sha256 = "0fx560yfjy6nqgs1d3fiv0h46i8q3r592clsia7nihkriah7rlwf";
url = "https://elpa.gnu.org/packages/nlinum-1.9.el";
sha256 = "03zqlz58fvh4cpfl43h7py2fpnc7m37f1ys8zhrc511ccq9cwkdn";
};
packageRequires = [];
meta = {
@ -1979,6 +2124,21 @@
license = lib.licenses.free;
};
}) {};
objed = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "objed";
ename = "objed";
version = "0.8.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/objed-0.8.1.tar";
sha256 = "06jfvz7avh28p1ghyd1aik5lz8k9fnv1fcxh9npm1iyvh810y5zj";
};
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/objed.html";
license = lib.licenses.free;
};
}) {};
omn-mode = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "omn-mode";
@ -2013,10 +2173,10 @@
elpaBuild {
pname = "org";
ename = "org";
version = "9.2";
version = "9.2.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-9.2.tar";
sha256 = "14ydwh2r360fpi6v2g9rgf0zazy2ddq1pcdxvzn73h65glnnclz9";
url = "https://elpa.gnu.org/packages/org-9.2.3.tar";
sha256 = "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw";
};
packageRequires = [];
meta = {
@ -2028,10 +2188,10 @@
elpaBuild {
pname = "org-edna";
ename = "org-edna";
version = "1.0.1";
version = "1.0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-edna-1.0.1.tar";
sha256 = "0xzyzx3pq1q6d66qcqx38pgxzn160y9yrzpy0ka8ap5xsm7ngn7m";
url = "https://elpa.gnu.org/packages/org-edna-1.0.2.tar";
sha256 = "005pmnqr41s2w72gahq9bf4l5kw601i19ypiqfnb8aq0f4acjr3d";
};
packageRequires = [ emacs org seq ];
meta = {
@ -2129,6 +2289,21 @@
license = lib.licenses.free;
};
}) {};
peg = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "peg";
ename = "peg";
version = "1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/peg-1.0.tar";
sha256 = "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/peg.html";
license = lib.licenses.free;
};
}) {};
pinentry = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "pinentry";
@ -2163,10 +2338,10 @@
elpaBuild {
pname = "posframe";
ename = "posframe";
version = "0.4.2";
version = "0.4.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/posframe-0.4.2.el";
sha256 = "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds";
url = "https://elpa.gnu.org/packages/posframe-0.4.3.el";
sha256 = "06q0p4qim6lha2xr9fxaspbzw01xn01ik9gxlld6hdhh19b65cmi";
};
packageRequires = [ emacs ];
meta = {
@ -2337,6 +2512,21 @@
license = lib.licenses.free;
};
}) {};
relint = callPackage ({ elpaBuild, fetchurl, lib, xr }:
elpaBuild {
pname = "relint";
ename = "relint";
version = "1.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/relint-1.6.el";
sha256 = "17nyy3zqpqgs22lrrpdm0k56xnhj5l3y2y3lnmhcqw63xksgbsyk";
};
packageRequires = [ xr ];
meta = {
homepage = "https://elpa.gnu.org/packages/relint.html";
license = lib.licenses.free;
};
}) {};
rich-minority = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "rich-minority";
@ -2508,16 +2698,16 @@
license = lib.licenses.free;
};
}) {};
sokoban = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
sokoban = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "sokoban";
ename = "sokoban";
version = "1.4.6";
version = "1.4.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/sokoban-1.4.6.tar";
sha256 = "112cl1l36zn5q9cw81rxi96zflf7ddp3by1h7fsz48yjfidpfbzn";
url = "https://elpa.gnu.org/packages/sokoban-1.4.8.tar";
sha256 = "1w3vrkg239x1saqka21zbl380fxqmbz3lr7820spxd8p5w9v55pn";
};
packageRequires = [ emacs ];
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/sokoban.html";
license = lib.licenses.free;
@ -2877,6 +3067,24 @@
license = lib.licenses.free;
};
}) {};
visual-filename-abbrev = callPackage ({ elpaBuild
, emacs
, fetchurl
, lib }:
elpaBuild {
pname = "visual-filename-abbrev";
ename = "visual-filename-abbrev";
version = "1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/visual-filename-abbrev-1.0.el";
sha256 = "086cmyv08jd3qadjrd14b7c932i8msxjdvxxa36pyac18d3i50kj";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/visual-filename-abbrev.html";
license = lib.licenses.free;
};
}) {};
visual-fill = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "visual-fill";
@ -2967,6 +3175,21 @@
license = lib.licenses.free;
};
}) {};
webfeeder = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "webfeeder";
ename = "webfeeder";
version = "1.0.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/webfeeder-1.0.0.tar";
sha256 = "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/webfeeder.html";
license = lib.licenses.free;
};
}) {};
websocket = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "websocket";
@ -3016,10 +3239,10 @@
elpaBuild {
pname = "wisi";
ename = "wisi";
version = "2.0.1";
version = "2.1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/wisi-2.0.1.tar";
sha256 = "1h0g6y33jrafcabgyi7j700hpv4p56v84c2mlqb334k1g9rq3709";
url = "https://elpa.gnu.org/packages/wisi-2.1.0.tar";
sha256 = "143xfdr7agyc52wz9zsx67rvvnjs4rlj7j3cbdhvs6wyl7whyg38";
};
packageRequires = [ cl-lib emacs seq ];
meta = {
@ -3046,10 +3269,10 @@
elpaBuild {
pname = "xclip";
ename = "xclip";
version = "1.7";
version = "1.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/xclip-1.7.el";
sha256 = "0jpy3zzbyb16vqa9l6m45crzlypwvscvs76h8lci7kvp91kq954r";
url = "https://elpa.gnu.org/packages/xclip-1.8.el";
sha256 = "1ymc9dhpwbh92ad7w64p8xlrjdws5c9h90h47ckh6479h8r697xg";
};
packageRequires = [];
meta = {
@ -3061,10 +3284,10 @@
elpaBuild {
pname = "xelb";
ename = "xelb";
version = "0.16";
version = "0.17";
src = fetchurl {
url = "https://elpa.gnu.org/packages/xelb-0.16.tar";
sha256 = "03wsr1jr7f7zfd80h864rd4makwh4widdnj1kjv2xyjwdgap9rl8";
url = "https://elpa.gnu.org/packages/xelb-0.17.tar";
sha256 = "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml";
};
packageRequires = [ cl-generic emacs ];
meta = {
@ -3087,6 +3310,21 @@
license = lib.licenses.free;
};
}) {};
xr = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "xr";
ename = "xr";
version = "1.10";
src = fetchurl {
url = "https://elpa.gnu.org/packages/xr-1.10.tar";
sha256 = "16p68rj5h609pnbp7y0jiiq1zkbksh4qqi1q8yby3ldj5x9sfpwc";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/xr.html";
license = lib.licenses.free;
};
}) {};
yasnippet = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "yasnippet";
@ -3124,10 +3362,10 @@
elpaBuild {
pname = "zones";
ename = "zones";
version = "2018.11.21";
version = "2018.12.28";
src = fetchurl {
url = "https://elpa.gnu.org/packages/zones-2018.11.21.el";
sha256 = "0s68mnynjd08gyga7xdnb0zy3irsxl1jryidpcrkzg821vfrk11i";
url = "https://elpa.gnu.org/packages/zones-2018.12.28.el";
sha256 = "1jd7wy5w96xppdlcl4dzq4wqhr2x6f4hzjps9f4kz256l4ia6hm0";
};
packageRequires = [];
meta = {

View file

@ -45,6 +45,7 @@ self:
stream = markBroken super.stream; # requires emacs-25
cl-lib = null; # builtin
tle = null; # builtin
advice = null; # builtin
};
elpaPackages = super // overrides;

File diff suppressed because it is too large Load diff

View file

@ -133,11 +133,7 @@ self:
maxframe = markBroken super.maxframe;
magit =
(super.magit.override {
# version of magit-popup needs to match magit
# https://github.com/magit/magit/issues/3286
inherit (self.melpaPackages) magit-popup;
}).overrideAttrs (attrs: {
super.magit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
Dump temacs in an empty environment to prevent -dev paths from ending
up in the dumped image.
diff -ru -x '*~' emacs-25.3/src/Makefile.in emacs-25.3-new/src/Makefile.in
--- emacs-25.3/src/Makefile.in 2017-04-14 17:02:47.000000000 +0200
+++ emacs-25.3-new/src/Makefile.in 2017-09-25 19:03:02.173861038 +0200
@@ -532,7 +532,7 @@
ifeq ($(CANNOT_DUMP),yes)
ln -f temacs$(EXEEXT) $@
else
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
ifneq ($(PAXCTL_dumped),)
$(PAXCTL_dumped) $@
endif

View file

@ -1,13 +1,13 @@
Dump temacs in an empty environment to prevent -dev paths from ending
up in the dumped image.
diff -ru -x '*~' emacs-25.3/src/Makefile.in emacs-25.3-new/src/Makefile.in
--- emacs-25.3/src/Makefile.in 2017-04-14 17:02:47.000000000 +0200
+++ emacs-25.3-new/src/Makefile.in 2017-09-25 19:03:02.173861038 +0200
@@ -532,7 +532,7 @@
ifeq ($(CANNOT_DUMP),yes)
diff --git a/src/Makefile.in b/src/Makefile.in
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes)
ln -f temacs$(EXEEXT) $@
else
unset EMACS_HEAP_EXEC; \
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
ifneq ($(PAXCTL_dumped),)

View file

@ -31,12 +31,12 @@ let
in
stdenv.mkDerivation rec {
name = "emacs-${version}${versionModifier}";
version = "26.1";
version = "26.2";
versionModifier = "";
src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.xz";
sha256 = "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w";
sha256 = "13n5m60i47k96mpv5pp6km2ph9rv2m5lmbpzj929v02vpsfyc70m";
};
enableParallelBuilding = true;
@ -44,13 +44,6 @@ stdenv.mkDerivation rec {
patches = [
./clean-env.patch
./tramp-detect-wrapped-gvfsd.patch
# should drop this at next package update
(fetchpatch {
name = "support-hunspell-1.7.0-in-ispell.el.patch";
url = "https://git.savannah.gnu.org/cgit/emacs.git/patch/?id=2925ce5a7ec1424cfaea9f2f86bd3cab27832584";
sha256 = "0w7cgw6zgr7phbivb98innps1rlqf5q2lhwkrwdmai8sbca5bd11";
})
];
postPatch = lib.optionalString srcRepo ''

View file

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
sha256 = "0f2wzdw2a3ac581322b2y79rlj3c9f33ddrq9allj97r1si6v5xk";
};
patches = [ ./clean-env.patch ];
patches = [ ./clean-env-macport.patch ];
enableParallelBuilding = true;

View file

@ -4,14 +4,14 @@ with stdenv.lib;
pythonPackages.buildPythonApplication rec {
pname = "neovim-remote";
version = "2.1.5";
version = "2.1.7";
disabled = !pythonPackages.isPy3k;
src = fetchFromGitHub {
owner = "mhinz";
repo = "neovim-remote";
rev = "v${version}";
sha256 = "1h05b68ka1ka217f6svq8yxvnscwf9sl5cx46c0b6ygcbz1vr3ba";
sha256 = "014c8xvb7shy00vjx0b1k8zr7iknxskqab1aqvz9md3bn5rwkxm5";
};
propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "okteta-${version}";
version = "0.26.0";
version = "0.26.1";
src = fetchurl {
url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz";
sha256 = "0rxvbllisz4zl687zgpb9jj2nbxgfhhf2bj8bnsfaab5jb6jpi2y";
sha256 = "1bqq3ax47xym3ikwn6xsshs1b5gpfg5djrnkzszqnp127f1fxi54";
};
nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];

View file

@ -18,16 +18,16 @@ let
}.${system};
sha256 = {
"i686-linux" = "0yfnsmixw3kh7lhb8npqhyihy146a31c1k90smn4kqvmlvm06jir";
"x86_64-linux" = "002bbwj4hxr58lbhjc05s3l9aw37ak06kp98hs8fpmznjsa5x14y";
"x86_64-darwin" = "1f9hkydlyjh2z5d99pwpsqg9yf05pgi5y0mbprgbxacayqcrq2nr";
"i686-linux" = "0n2k134yx0zirddi5xig4zihn73s8xiga11pwk90f01wp1i0hygg";
"x86_64-linux" = "0ljijcqfyrfck5imldis3hx9d9iacnspgnm58kvlziam8y0imwzv";
"x86_64-darwin" = "00fg106rggsbng90k1jjp1c6nmnwni5s0fgmbz6k45shfa3iqamc";
}.${system};
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
in
stdenv.mkDerivation rec {
name = "vscode-${version}";
version = "1.33.0";
version = "1.33.1";
src = fetchurl {
name = "VSCode_${version}_${plat}.${archive_fmt}";

View file

@ -10,12 +10,12 @@ let
[ qscintilla-qt5 gdal jinja2 numpy psycopg2
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
in stdenv.mkDerivation rec {
version = "3.4.5";
version = "3.4.6";
name = "qgis-unwrapped-${version}";
src = fetchurl {
url = "http://qgis.org/downloads/qgis-${version}.tar.bz2";
sha256 = "0myw1jgz8v8wncmrjsszn9ixylx84hafn0281c4hqhz623n3lxgx";
sha256 = "1skdimcbcv41hi4ii7iq8ka29k2zizzqv04fwidzfbxqclz7300h";
};
passthru = {

View file

@ -7,12 +7,12 @@
}:
stdenv.mkDerivation rec {
version = "2.6.1";
version = "2.6.2";
name = "darktable-${version}";
src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "09ihbj0602spgc5lfbskf9am38n03gam2r8v3kj4dyfgxqr37ib3";
sha256 = "0igvgyd042j7hm4y8fcm6dc1qqjs4d1r7y6f0pzpa0x416xyzfcw";
};
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];

View file

@ -1,48 +1,89 @@
{ stdenv
, fetchurl
, cmake
, qtbase
, qtsvg
, qtmultimedia
, qttools
, kdnssd
, karchive
, libsodium
, libmicrohttpd
, giflib
, miniupnpc
, extra-cmake-modules
# common deps
, karchive
# client deps
, qtbase
, qtmultimedia
, qtsvg
, qttools
# optional client deps
, giflib
, kdnssd
, libvpx
, miniupnpc
, qtx11extras # kis
# optional server deps
, libmicrohttpd
, libsodium
# options
, buildClient ? true
, buildServer ? true
, buildServerGui ? true # if false builds a headless server
, buildExtraTools ? false
, enableKisTablet ? false # enable improved graphics tablet support
}:
stdenv.mkDerivation rec {
name = "drawpile-${version}";
version = "2.1.6";
src = fetchurl {
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
sha256 = "0vwsdvphigrq1daiazi411qflahlvgx8x8ssp581bng2lbq1vrbd";
};
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
# common deps:
cmake
qtbase qtsvg qtmultimedia qttools
with stdenv.lib;
let
commonDeps = [
karchive
# optional deps:
# server-specific:
libsodium # ext-auth support
libmicrohttpd # HTTP admin api
# client-specific:
];
clientDeps = [
qtbase
qtmultimedia
qtsvg
qttools
# optional:
giflib # gif animation export support
miniupnpc # automatic port forwarding
kdnssd # local server discovery with Zeroconf
libvpx # WebM video export
miniupnpc # automatic port forwarding
];
serverDeps = [
# optional:
libmicrohttpd # HTTP admin api
libsodium # ext-auth support
];
kisDeps = [
qtx11extras
];
configurePhase = "cmake -DCMAKE_INSTALL_PREFIX=$out .";
meta = with stdenv.lib; {
in stdenv.mkDerivation rec {
name = "drawpile-${version}";
version = "2.1.7";
src = fetchurl {
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
sha256 = "1nk1rb1syrlkxq7qs101ifaf012mq42nmq1dbkssnx6niydi3bbd";
};
nativeBuildInputs = [
cmake
extra-cmake-modules
];
buildInputs =
commonDeps ++
optionals buildClient clientDeps ++
optionals buildServer serverDeps ++
optionals enableKisTablet kisDeps ;
cmakeFlags =
optional (!buildClient ) "-DCLIENT=off" ++
optional (!buildServer ) "-DSERVER=off" ++
optional (!buildServerGui ) "-DSERVERGUI=off" ++
optional ( buildExtraTools) "-DTOOLS=on" ++
optional ( enableKisTablet) "-DKIS_TABLET=on";
meta = {
description = "A collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously";
homepage = https://drawpile.net/;
downloadPage = https://drawpile.net/download/;

View file

@ -34,7 +34,7 @@ in pythonPackages.buildPythonApplication rec {
propagatedBuildInputs = with pythonPackages; [ pillow lxml pyGtkGlade pyexiv2 fbida ];
meta = {
homepage = http://manatlan.com/jbrout/;
homepage = https://manatlan.com/jbrout/;
description = "Photo manager";
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2Plus;

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Optimize JPEG files";
homepage = http://www.kokkonen.net/tjko/projects.html ;
homepage = https://www.kokkonen.net/tjko/projects.html ;
license = licenses.gpl2;
maintainers = [ maintainers.aristid ];
platforms = platforms.all;

View file

@ -1,16 +1,16 @@
{ stdenv, fetchurl, python3Packages
, file, intltool, gobject-introspection, libgudev
, udisks, glib, gnome3, gst_all_1, libnotify
, exiv2, exiftool, qt5, gdk_pixbuf
, udisks, gexiv2, gst_all_1, libnotify
, exiftool, gdk_pixbuf, libmediainfo
}:
python3Packages.buildPythonApplication rec {
pname = "rapid-photo-downloader";
version = "0.9.13";
version = "0.9.14";
src = fetchurl {
url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz";
sha256 = "1517w18sxil1gwd78jjbbixcd1b0sp05imnnd5h5lr8wl3f0szj0";
sha256 = "1nywkkyxlpzq3s9anza9k67j5689pfclfha218frih36qdb0j258";
};
# Disable version check and fix install tests
@ -19,24 +19,34 @@ python3Packages.buildPythonApplication rec {
--replace "disable_version_check = False" "disable_version_check = True"
substituteInPlace raphodo/rescan.py \
--replace "from preferences" "from raphodo.preferences"
substituteInPlace raphodo/copyfiles.py \
--replace "import problemnotification" "import raphodo.problemnotification"
'';
nativeBuildInputs = [ file intltool gobject-introspection ];
nativeBuildInputs = [
file
intltool
];
# Package has no generally usable unit tests.
# The included doctests expect specific, hardcoded hardware to be present.
doCheck = false;
# NOTE: Without gobject-introspection in buildInputs, launching fails with
# "Namespace [Notify / GExiv2 / GUdev] not available"
buildInputs = [
libgudev
udisks
glib
gnome3.gexiv2
gst_all_1.gstreamer
libnotify
exiv2
exiftool
qt5.qtimageformats
gdk_pixbuf
] ++ (with python3Packages; [
gexiv2
gobject-introspection
gst_all_1.gst-libav
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
gst_all_1.gstreamer.dev
libgudev
libnotify
udisks
];
propagatedBuildInputs = with python3Packages; [
pyqt5
pygobject3
gphoto2
@ -54,11 +64,14 @@ python3Packages.buildPythonApplication rec {
requests
colorlog
pyprind
]);
];
makeWrapperArgs = [
"--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
"--set PYTHONPATH \"$PYTHONPATH\""
"--prefix PATH : ${stdenv.lib.makeBinPath [ exiftool ]}"
"--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libmediainfo ]}"
"--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
];
meta = with stdenv.lib; {

View file

@ -21,7 +21,7 @@ in stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "Enjoy the mysteries of the sea from the safety of your own terminal!";
homepage = https://robobunny.com/projects/asciiquarium/html;
homepage = https://robobunny.com/projects/asciiquarium/html/;
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ maintainers.utdemir ];

View file

@ -0,0 +1,36 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, perl
, fribidi
, kbd
, xkbutils
}:
stdenv.mkDerivation rec {
pname = "bicon";
version = "unstable-2018-09-10";
src = fetchFromGitHub {
owner = "behdad";
repo = pname;
rev = "38725c062a83ab19c4e4b4bc20eb9535561aa76c";
sha256 = "0hdslrci8pq300f3rrjsvl5psfrxdwyxf9g2m5g789sr049dksnq";
};
buildInputs = [ fribidi kbd xkbutils perl ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
preConfigure = ''
patchShebangs .
'';
meta = with stdenv.lib; {
description = "A bidirectional console";
homepage = https://github.com/behdad/bicon;
license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ];
maintainers = [ maintainers.linarcx ];
platforms = platforms.linux;
};
}

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
name = "CopyQ-${version}";
version = "3.7.3";
version = "3.8.0";
src = fetchFromGitHub {
owner = "hluk";
repo = "CopyQ";
rev = "v${version}";
sha256 = "1nxxxq0lfs4r673i70dh2xwdn3chcjl913bkz14kyna29i6n1nwm";
sha256 = "0kbhgg0j6iqfrpixvwl1mk3m0bz5s8bd6npk5xqcgzp1giywdc4i";
};
nativeBuildInputs = [ cmake ];

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
, fontconfig, freetype, glib, gtk2
, fontconfig, freetype, glib, gtk3
, jdk, libX11, libXrender, libXtst, zlib }:
# The build process is almost like eclipse's.
@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
name = "dbeaver-ce-${version}";
version = "6.0.0";
version = "6.0.2";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
fontconfig freetype glib gtk2
fontconfig freetype glib gtk3
jdk libX11 libXrender libXtst zlib
];
@ -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 = "1v7zvvphkyw7x5ziysk4gs2rpgc4dr108fn4ja80kijs1jmj5dxr";
sha256 = "12zqz9zi4jryvlk1rjxfl4jdj4a6n00018yyk95glfdrxda2xyib";
};
installPhase = ''
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ])} \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
# Create desktop item.

View file

@ -1,25 +1,25 @@
{ stdenv, fetchFromGitHub, makeWrapper
, pkgconfig, which, perl, libXrandr
, cairo, dbus, systemd, gdk_pixbuf, glib, libX11, libXScrnSaver
, libXinerama, libnotify, libxdg_basedir, pango, xorgproto, librsvg, dunstify ? false
, libXinerama, libnotify, pango, xorgproto, librsvg, dunstify ? false
}:
stdenv.mkDerivation rec {
name = "dunst-${version}";
version = "1.3.2";
version = "1.4.0";
src = fetchFromGitHub {
owner = "dunst-project";
repo = "dunst";
rev = "v${version}";
sha256 = "1kqlshaflp306yrjjmc28pghi1y5p24vdx4bxf8i4n9khdawb514";
sha256 = "1rwbylygd88r61yrxc7ckg9svgq8b1i2falr0mk9sabqxzn9050s";
};
nativeBuildInputs = [ perl pkgconfig which systemd makeWrapper ];
buildInputs = [
cairo dbus gdk_pixbuf glib libX11 libXScrnSaver
libXinerama libnotify libxdg_basedir pango xorgproto librsvg libXrandr
libXinerama libnotify pango xorgproto librsvg libXrandr
];
outputs = [ "out" "man" ];

View file

@ -3,11 +3,11 @@ librsvg, glib, gtk2, libXext, libXxf86vm, poppler, xineLib, ghostscript, makeWra
stdenv.mkDerivation rec {
name = "eaglemode-${version}";
version = "0.94.0";
version = "0.94.1";
src = fetchurl {
url = "mirror://sourceforge/eaglemode/${name}.tar.bz2";
sha256 = "1sr3bd9y9j2svqvdwhrak29yy9cxf92w9vq2cim7a8hzwi9qfy9k";
sha256 = "0mpnk0fzy02jxbafipkdkj48m6k38h42j599gw4sdnag7ymlms89";
};
nativeBuildInputs = [ pkgconfig ];

View file

@ -2,7 +2,7 @@
buildGoModule rec {
name = "hugo-${version}";
version = "0.54.0";
version = "0.55.0";
goPackagePath = "github.com/gohugoio/hugo";
@ -10,10 +10,10 @@ buildGoModule rec {
owner = "gohugoio";
repo = "hugo";
rev = "v${version}";
sha256 = "01grfbr3kpd4qf5cbcmzc6yfq34cm0nkak4pqzgrn46r254y0ymv";
sha256 = "063z79m9rganzjzqvy7bg6b29m877asm5haxp0d5cb5ac7cx55rj";
};
modSha256 = "01gni3ksw9whf388c6cj0vcbpsyhdrwfl8cyw85kjx8r56dv88y5";
modSha256 = "0yrwkaaasj9ihjjfbywnzkppix1y2znagg3dkyikk21sl5n0nz23";
buildFlags = "-tags extended";

View file

@ -1,17 +1,10 @@
{ lib, bundlerEnv, ruby
{ lib, bundlerApp, ruby
, withOptionalDependencies ? false
}:
# Bundix:
# nix-shell -p bundix zlib
bundlerEnv rec {
name = pname + "-" + version;
bundlerApp rec {
pname = "jekyll";
version = (import
(if withOptionalDependencies
then ./full/gemset.nix
else ./basic/gemset.nix))
.jekyll.version;
exes = [ "jekyll" ];
inherit ruby;
gemdir = if withOptionalDependencies

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "josm-${version}";
version = "14760";
version = "14945";
src = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "1ya05z3i37ynpaqrm99cirkbap03q7wgbbps2y95l7r2k9l4sxsi";
sha256 = "0kdfdn0i7gjfkkllb93598ywf0qlllzsia5q14szc5b5assl8qpb";
};
buildInputs = [ jdk11 makeWrapper ];

View file

@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
meta = {
description = "An offline reader for Web content";
homepage = http://kiwix.org;
homepage = https://kiwix.org;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ robbinch ];

View file

@ -3,12 +3,12 @@
mkDerivation rec {
pname = "latte-dock";
version = "0.8.6";
version = "0.8.8";
name = "${pname}-${version}";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${name}.tar.xz";
sha256 = "1qzf9fkfkbv8vnc9p6lm7ya9hzydwk2f7671by9ij26f77lmxfb3";
sha256 = "137s7rx35a5qrfww3q8bllj4zyjfa7l709snvdfj34y7jbq7p6cd";
name = "${name}.tar.xz";
};

View file

@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
name = "mlterm-${version}";
version = "3.8.7";
version = "3.8.8";
src = fetchurl {
url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz";
sha256 = "10j7q7rk6ck86xl1898maxhgkp1h7vy7nliv9sk5bqgs7rdwn4kl";
sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k";
};
nativeBuildInputs = [ pkgconfig autoconf ];

View file

@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
'';
meta = {
homepage = http://www.navit-project.org;
homepage = https://www.navit-project.org;
description = "Car navigation system with routing engine using OSM maps";
license = licenses.gpl2;
maintainers = [ maintainers.genesis ];

View file

@ -102,5 +102,6 @@ in stdenv.mkDerivation {
license = licenses.gpl3;
maintainers = [ maintainers.a1russell ];
platforms = [ "x86_64-linux" "i686-linux" ];
broken = true;
};
}

View file

@ -25,13 +25,14 @@ assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null;
assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null;
stdenv.mkDerivation rec {
name = "polybar-${version}";
version = "3.3.0";
pname = "polybar";
version = "3.3.1";
src = fetchFromGitHub {
owner = "jaagr";
repo = "polybar";
repo = pname;
rev = version;
sha256 = "18hrsbq62na2i4rlwbs2ih7v9shnayg76nw14i6az28wpf8kx4rr";
sha256 = "0qwi6q3qkrz2ip1jd4pxlnsrs2a9ywxyf8rgvbzyilr334rsiywh";
fetchSubmodules = true;
};

View file

@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
export SWORD_HOME=${sword};
'';
configureFlags= [ "--enable-webkit2" ];
wafConfigureFlags = [ "--enable-webkit2" ];
meta = with stdenv.lib; {
description = "A GTK Bible study tool";

View file

@ -17,10 +17,10 @@ rec {
firefox = common rec {
pname = "firefox";
ffversion = "66.0.2";
ffversion = "66.0.3";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "1dzqzigrwb7q75zlyd74ncic3b39yvziccpgbzh7881lzshj7x6f2r6ssj8ssdkh8lm2ckhjzbn6pf44vlh8ciql9bxb8g8sjpg6ii2";
sha512 = "31pfzgys4dv4fskaasz47fviksjj9xp60r875q0i7z1n6kx25fzkpsg18a98fkqm3g8qmljccy93w68ysywnh1zzrv8djsaza7l0mz8";
};
patches = [

View file

@ -8,12 +8,12 @@
}:
stdenv.mkDerivation rec {
version = "2.18";
version = "2.19";
name = "links2-${version}";
src = fetchurl {
url = "${meta.homepage}/download/links-${version}.tar.bz2";
sha256 = "0mwhh61klicn2vwk39nc7y4cw4mygzdi2nljn4r0gjbw6jmw3337";
sha256 = "02ls11c02p7xvsdjyb43rrzr850i1yly003r812z0w5vv5yqqxbh";
};
buildInputs = with stdenv.lib;

View file

@ -117,7 +117,7 @@ in stdenv.mkDerivation {
'';
meta = {
homepage = http://www.opera.com;
homepage = https://www.opera.com;
description = "Web browser";
platforms = [ "x86_64-linux" ];
license = stdenv.lib.licenses.unfree;

View file

@ -1,5 +1,5 @@
{ stdenv, cmake, fetchFromGitHub
, qtbase, qtmultimedia, qtwebengine
, qtbase, qtmultimedia, qtwebengine, qtxmlpatterns
, version ? "1.0.01"
, sourceSha ? "1jw8bj3lcqngr0mqwvz1gf47qjxbwiyda7x4sm96a6ckga7pcwyb"
}:
@ -15,7 +15,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake ];
buildInputs = [ qtbase qtmultimedia qtwebengine ];
buildInputs = [ qtbase qtmultimedia qtwebengine qtxmlpatterns ];
meta = with stdenv.lib; {
homepage = https://otter-browser.org;

View file

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "vivaldi";
version = "2.4.1488.36-1";
version = "2.4.1488.40-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
sha256 = "1m78kk1g3h6jsn3kk37ywx6w4x72690jwx4mgh1pzy37vfxwdqfh";
sha256 = "0w084mamy72v1kkfgg8nn2q3hmfj7v216kkvqb52f1nyycqqzb37";
};
unpackPhase = ''

View file

@ -1,7 +1,7 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p libarchive curl common-updater-scripts
set -eu -o pipefail
set -xeu -o pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
root=../../../../..
@ -15,7 +15,7 @@ vivaldi_version_old=$(version vivaldi)
vivaldi_version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-[0-9]+)_amd64\.deb.*/\1/p')
if [[ "$vivaldi_version" = "$vivaldi_version_old" ]]; then
echo "nothing to do, vivaldi $vivaldi_version is current"
echo "vivaldi is already up-to-date"
exit
fi
@ -25,15 +25,22 @@ mapfile -t prefetch < <(nix-prefetch-url --print-path "$url")
hash=${prefetch[0]}
path=${prefetch[1]}
echo "vivaldi: $vivaldi_version_old -> $vivaldi_version"
echo "$path"
nixpkgs="$(git rev-parse --show-toplevel)"
default_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix"
ffmpeg_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix"
(cd "$root" && update-source-version vivaldi "$vivaldi_version" "$hash")
git add "${default_nix}"
git commit -m "vivaldi: ${vivaldi_version_old} -> ${vivaldi_version}"
# Check vivaldi-ffmpeg-codecs version.
chromium_version_old=$(version vivaldi-ffmpeg-codecs)
chromium_version=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/vivaldi-bin | strings | grep '^[0-9]\{2,\}\.[0-9]\+\.[0-9]\{4,\}\+\.[0-9]\+$')
if [[ "$chromium_version" != "$chromium_version_old" ]]; then
echo "vivaldi-ffmpeg-codecs: $chromium_version_old -> $chromium_version"
(cd "$root" && update-source-version vivaldi-ffmpeg-codecs "$chromium_version")
git add "${ffmpeg_nix}"
git commit -m "vivaldi-ffmepg-codecs: $chromium_version_old -> $chromium_version"
fi

View file

@ -57,8 +57,8 @@ let
in rec {
charles4 = (generic {
version = "4.2.7";
sha256 = "1nycw3wpbfwj4ijjaq5k0f4xipj8j605fs0yjzgl66gmv7r583rd";
version = "4.2.8";
sha256 = "1jzjdhzxgrq7pdfryfkg0hsjpyni14ma4x8jbdk1rqll78ccr080";
});
charles3 = (generic {
version = "3.12.3";

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