Merge branch 'master' into fetchGitRepo

This commit is contained in:
Sophie Taylor 2017-03-26 20:17:03 +10:00 committed by GitHub
commit 62e115af5b
214 changed files with 3449 additions and 1925 deletions

View file

@ -2,7 +2,8 @@
"userBlacklist": [ "userBlacklist": [
"civodul", "civodul",
"jhasse", "jhasse",
"shlevy" "shlevy",
"bbenoist"
], ],
"alwaysNotifyForPaths": [ "alwaysNotifyForPaths": [
{ "name": "FRidh", "files": ["pkgs/top-level/python-packages.nix", "pkgs/development/interpreters/python/*", "pkgs/development/python-modules/*" ] }, { "name": "FRidh", "files": ["pkgs/top-level/python-packages.nix", "pkgs/development/interpreters/python/*", "pkgs/development/python-modules/*" ] },

View file

@ -1,8 +1,14 @@
language: nix language: nix
sudo: true
# 'sudo: false' == containers that start fast, but only get 4G ram;
# 'sudo: true' == VMs that start slow, but with 8G
# ..as per: https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments
# Nixpkgs PR tests OOM with 4G: https://github.com/NixOS/nixpkgs/issues/24200
matrix: matrix:
include: include:
- os: linux - os: linux
sudo: false sudo: required
script: script:
- ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball nixpkgs-unstable - ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball nixpkgs-unstable
- ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual - ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual

View file

@ -60,7 +60,6 @@
badi = "Badi' Abdul-Wahid <abdulwahidc@gmail.com>"; badi = "Badi' Abdul-Wahid <abdulwahidc@gmail.com>";
balajisivaraman = "Balaji Sivaraman<sivaraman.balaji@gmail.com>"; balajisivaraman = "Balaji Sivaraman<sivaraman.balaji@gmail.com>";
Baughn = "Svein Ove Aas <sveina@gmail.com>"; Baughn = "Svein Ove Aas <sveina@gmail.com>";
bbenoist = "Baptist BENOIST <return_0@live.com>";
bcarrell = "Brandon Carrell <brandoncarrell@gmail.com>"; bcarrell = "Brandon Carrell <brandoncarrell@gmail.com>";
bcdarwin = "Ben Darwin <bcdarwin@gmail.com>"; bcdarwin = "Ben Darwin <bcdarwin@gmail.com>";
bdimcheff = "Brandon Dimcheff <brandon@dimcheff.com>"; bdimcheff = "Brandon Dimcheff <brandon@dimcheff.com>";
@ -399,6 +398,7 @@
pjones = "Peter Jones <pjones@devalot.com>"; pjones = "Peter Jones <pjones@devalot.com>";
pkmx = "Chih-Mao Chen <pkmx.tw@gmail.com>"; pkmx = "Chih-Mao Chen <pkmx.tw@gmail.com>";
plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>"; plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>";
plumps = "Maksim Bronsky <maks.bronsky@web.de";
pmahoney = "Patrick Mahoney <pat@polycrystal.org>"; pmahoney = "Patrick Mahoney <pat@polycrystal.org>";
pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>"; pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>";
polyrod = "Maurizio Di Pietro <dc1mdp@gmail.com>"; polyrod = "Maurizio Di Pietro <dc1mdp@gmail.com>";

View file

@ -27,8 +27,8 @@ a subdirectory of the Nixpkgs repository.) The remote
<literal>channels</literal> refers to a read-only repository that <literal>channels</literal> refers to a read-only repository that
tracks the Nixpkgs/NixOS channels (see <xref linkend="sec-upgrading"/> tracks the Nixpkgs/NixOS channels (see <xref linkend="sec-upgrading"/>
for more information about channels). Thus, the Git branch for more information about channels). Thus, the Git branch
<literal>channels/nixos-14.12</literal> will contain the latest built <literal>channels/nixos-17.03</literal> will contain the latest built
and tested version available in the <literal>nixos-14.12</literal> and tested version available in the <literal>nixos-17.03</literal>
channel.</para> channel.</para>
<para>Its often inconvenient to develop directly on the master <para>Its often inconvenient to develop directly on the master
@ -39,9 +39,9 @@ branch based on your current NixOS version:
<screen> <screen>
$ nixos-version $ nixos-version
14.04.273.ea1952b (Baboon) 17.09pre104379.6e0b727 (Hummingbird)
$ git checkout -b local ea1952b $ git checkout -b local e3938c8
</screen> </screen>
Or, to base your local branch on the latest version available in a Or, to base your local branch on the latest version available in a
@ -49,17 +49,17 @@ NixOS channel:
<screen> <screen>
$ git remote update channels $ git remote update channels
$ git checkout -b local channels/nixos-14.12 $ git checkout -b local channels/nixos-17.03
</screen> </screen>
(Replace <literal>nixos-14.12</literal> with the name of the channel (Replace <literal>nixos-17.03</literal> with the name of the channel
you want to use.) You can use <command>git merge</command> or you want to use.) You can use <command>git merge</command> or
<command>git rebase</command> to keep your local branch in sync with <command>git rebase</command> to keep your local branch in sync with
the channel, e.g. the channel, e.g.
<screen> <screen>
$ git remote update channels $ git remote update channels
$ git merge channels/nixos-14.12 $ git merge channels/nixos-17.03
</screen> </screen>
You can use <command>git cherry-pick</command> to copy commits from You can use <command>git cherry-pick</command> to copy commits from

View file

@ -26,7 +26,8 @@ changes:
<literal>vfat</literal> filesystem.</para> <literal>vfat</literal> filesystem.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>You must set <option>boot.loader.systemd-boot.enable</option> to <para>Instead of <option>boot.loader.grub.device</option>,
you must set <option>boot.loader.systemd-boot.enable</option> to
<literal>true</literal>. <command>nixos-generate-config</command> <literal>true</literal>. <command>nixos-generate-config</command>
should do this automatically for new configurations when booted in should do this automatically for new configurations when booted in
UEFI mode.</para> UEFI mode.</para>

View file

@ -15,12 +15,12 @@ been built. These channels are:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><emphasis>Stable channels</emphasis>, such as <literal <para><emphasis>Stable channels</emphasis>, such as <literal
xlink:href="https://nixos.org/channels/nixos-14.12">nixos-14.12</literal>. xlink:href="https://nixos.org/channels/nixos-17.03">nixos-17.03</literal>.
These only get conservative bug fixes and package upgrades. For These only get conservative bug fixes and package upgrades. For
instance, a channel update may cause the Linux kernel on your instance, a channel update may cause the Linux kernel on your
system to be upgraded from 3.4.66 to 3.4.67 (a minor bug fix), but system to be upgraded from 4.9.16 to 4.9.17 (a minor bug fix), but
not from 3.4.<replaceable>x</replaceable> to not from 4.9.<replaceable>x</replaceable> to
3.11.<replaceable>x</replaceable> (a major change that has the 4.11.<replaceable>x</replaceable> (a major change that has the
potential to break things). Stable channels are generally potential to break things). Stable channels are generally
maintained until the next stable branch is created.</para> maintained until the next stable branch is created.</para>
<para></para> <para></para>
@ -34,7 +34,7 @@ been built. These channels are:
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis>Small channels</emphasis>, such as <literal <para><emphasis>Small channels</emphasis>, such as <literal
xlink:href="https://nixos.org/channels/nixos-14.12-small">nixos-14.12-small</literal> xlink:href="https://nixos.org/channels/nixos-17.03-small">nixos-17.03-small</literal>
or <literal or <literal
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>. These xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>. These
are identical to the stable and unstable channels described above, are identical to the stable and unstable channels described above,
@ -55,8 +55,8 @@ appliances.)</para>
<para>When you first install NixOS, youre automatically subscribed to <para>When you first install NixOS, youre automatically subscribed to
the NixOS channel that corresponds to your installation source. For the NixOS channel that corresponds to your installation source. For
instance, if you installed from a 14.12 ISO, you will be subscribed to instance, if you installed from a 17.03 ISO, you will be subscribed to
the <literal>nixos-14.12</literal> channel. To see which NixOS the <literal>nixos-17.03</literal> channel. To see which NixOS
channel youre subscribed to, run the following as root: channel youre subscribed to, run the following as root:
<screen> <screen>
@ -71,16 +71,16 @@ To switch to a different NixOS channel, do
</screen> </screen>
(Be sure to include the <literal>nixos</literal> parameter at the (Be sure to include the <literal>nixos</literal> parameter at the
end.) For instance, to use the NixOS 14.12 stable channel: end.) For instance, to use the NixOS 17.03 stable channel:
<screen> <screen>
# nix-channel --add https://nixos.org/channels/nixos-14.12 nixos # nix-channel --add https://nixos.org/channels/nixos-17.03 nixos
</screen> </screen>
If you have a server, you may want to use the “small” channel instead: If you have a server, you may want to use the “small” channel instead:
<screen> <screen>
# nix-channel --add https://nixos.org/channels/nixos-14.12-small nixos # nix-channel --add https://nixos.org/channels/nixos-17.03-small nixos
</screen> </screen>
And if you want to live on the bleeding edge: And if you want to live on the bleeding edge:
@ -130,7 +130,7 @@ runs, see <command>systemctl list-timers</command>.) You can also
specify a channel explicitly, e.g. specify a channel explicitly, e.g.
<programlisting> <programlisting>
system.autoUpgrade.channel = https://nixos.org/channels/nixos-15.09; system.autoUpgrade.channel = https://nixos.org/channels/nixos-17.03;
</programlisting> </programlisting>
</para> </para>

View file

@ -49,6 +49,18 @@ following incompatible changes:</para>
rest of the system on a stable release. rest of the system on a stable release.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Updated to FreeType 2.7.1, including a new TrueType engine.
The new engine replaces the Infinality engine which was the default in
NixOS. The default font rendering settings are now provided by
fontconfig-penultimate, replacing fontconfig-ultimate; the new defaults
are less invasive and provide rendering that is more consistent with
other systems and hopefully with each font designer's intent. Some
system-wide configuration has been removed from the Fontconfig NixOS
module where user Fontconfig settings are available.
</para>
</listitem>
</itemizedlist> </itemizedlist>

View file

@ -0,0 +1,57 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.fonts.fontconfig.penultimate;
latestVersion = pkgs.fontconfig.configVersion;
# The configuration to be included in /etc/font/
confPkg = pkgs.runCommand "font-penultimate-conf" {} ''
support_folder=$out/etc/fonts/conf.d
latest_folder=$out/etc/fonts/${latestVersion}/conf.d
mkdir -p $support_folder
mkdir -p $latest_folder
# fontconfig ultimate various configuration files
ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
$support_folder
ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
$latest_folder
'';
in
{
options = {
fonts = {
fontconfig = {
penultimate = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Enable fontconfig-penultimate settings to supplement the
NixOS defaults by providing per-font rendering defaults and
metric aliases.
'';
};
};
};
};
};
config = mkIf (config.fonts.fontconfig.enable && cfg.enable) {
fonts.fontconfig.confPackages = [ confPkg ];
};
}

View file

@ -43,7 +43,7 @@ in
ultimate = { ultimate = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = false;
description = '' description = ''
Enable fontconfig-ultimate settings (formerly known as Enable fontconfig-ultimate settings (formerly known as
Infinality). Besides the customizable settings in this NixOS Infinality). Besides the customizable settings in this NixOS
@ -63,15 +63,6 @@ in
<literal>none</literal> disables the substitutions. <literal>none</literal> disables the substitutions.
''; '';
}; };
preset = mkOption {
type = types.enum ["ultimate1" "ultimate2" "ultimate3" "ultimate4" "ultimate5" "osx" "windowsxp"];
default = "ultimate3";
description = ''
FreeType rendering settings preset. Any of the presets may be
customized by setting environment variables.
'';
};
}; };
}; };
}; };
@ -81,7 +72,6 @@ in
config = mkIf (config.fonts.fontconfig.enable && cfg.enable) { config = mkIf (config.fonts.fontconfig.enable && cfg.enable) {
fonts.fontconfig.confPackages = [ confPkg ]; fonts.fontconfig.confPackages = [ confPkg ];
environment.variables."INFINALITY_FT" = cfg.preset;
}; };

View file

@ -75,23 +75,23 @@ let cfg = config.fonts.fontconfig;
<fontconfig> <fontconfig>
<!-- Default rendering settings --> <!-- Default rendering settings -->
<match target="font"> <match target="pattern">
<edit mode="assign" name="hinting"> <edit mode="append" name="hinting">
${fcBool cfg.hinting.enable} ${fcBool cfg.hinting.enable}
</edit> </edit>
<edit mode="assign" name="autohint"> <edit mode="append" name="autohint">
${fcBool cfg.hinting.autohint} ${fcBool cfg.hinting.autohint}
</edit> </edit>
<edit mode="assign" name="hintstyle"> <edit mode="append" name="hintstyle">
<const>hint${cfg.hinting.style}</const> <const>hintslight</const>
</edit> </edit>
<edit mode="assign" name="antialias"> <edit mode="append" name="antialias">
${fcBool cfg.antialias} ${fcBool cfg.antialias}
</edit> </edit>
<edit mode="assign" name="rgba"> <edit mode="append" name="rgba">
<const>${cfg.subpixel.rgba}</const> <const>${cfg.subpixel.rgba}</const>
</edit> </edit>
<edit mode="assign" name="lcdfilter"> <edit mode="append" name="lcdfilter">
<const>lcd${cfg.subpixel.lcdfilter}</const> <const>lcd${cfg.subpixel.lcdfilter}</const>
</edit> </edit>
</match> </match>
@ -304,7 +304,11 @@ in
antialias = mkOption { antialias = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Enable font antialiasing."; description = ''
Enable font antialiasing. At high resolution (> 200 DPI),
antialiasing has no visible effect; users of such displays may want
to disable this option.
'';
}; };
dpi = mkOption { dpi = mkOption {
@ -320,7 +324,7 @@ in
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = ''
System-wide customization file contents, has higher priority than System-wide customization file contents, has higher priority than
<literal>defaultFonts</literal> settings. <literal>defaultFonts</literal> settings.
''; '';
}; };
@ -358,7 +362,12 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Enable TrueType hinting."; description = ''
Enable font hinting. Hinting aligns glyphs to pixel boundaries to
improve rendering sharpness at low resolution. At high resolution
(> 200 dpi) hinting will do nothing (at best); users of such
displays may want to disable this option.
'';
}; };
autohint = mkOption { autohint = mkOption {
@ -370,16 +379,6 @@ in
correctly-hinted fonts. correctly-hinted fonts.
''; '';
}; };
style = mkOption {
type = types.enum ["none" "slight" "medium" "full"];
default = "full";
description = ''
TrueType hinting style, one of <literal>none</literal>,
<literal>slight</literal>, <literal>medium</literal>, or
<literal>full</literal>.
'';
};
}; };
includeUserConf = mkOption { includeUserConf = mkOption {
@ -398,7 +397,15 @@ in
default = "rgb"; default = "rgb";
type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"]; type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"];
description = '' description = ''
Subpixel order. Subpixel order. The overwhelming majority of displays are
<literal>rgb</literal> in their normal orientation. Select
<literal>vrgb</literal> for mounting such a display 90 degrees
clockwise from its normal orientation or <literal>vbgr</literal>
for mounting 90 degrees counter-clockwise. Select
<literal>bgr</literal> in the unlikely event of mounting 180
degrees from the normal orientation. Reverse these directions in
the improbable event that the display's native subpixel order is
<literal>bgr</literal>.
''; '';
}; };
@ -406,7 +413,9 @@ in
default = "default"; default = "default";
type = types.enum ["none" "default" "light" "legacy"]; type = types.enum ["none" "default" "light" "legacy"];
description = '' description = ''
FreeType LCD filter. FreeType LCD filter. At high resolution (> 200 DPI), LCD filtering
has no visible effect; users of such displays may want to select
<literal>none</literal>.
''; '';
}; };

View file

@ -6,6 +6,16 @@
with lib; with lib;
let let
# Do not include these things:
# - The '.git' directory
# - Result symlinks from nix-build ('result', 'result-2', 'result-bin', ...)
# - VIM/Emacs swap/backup files ('.swp', '.swo', '.foo.swp', 'foo~', ...)
filterFn = path: type: let basename = baseNameOf (toString path); in
if type == "directory" then basename != ".git"
else if type == "symlink" then builtins.match "^result(|-.*)$" basename == null
else builtins.match "^((|\..*)\.sw[a-z]|.*~)$" basename == null;
nixpkgs = builtins.filterSource filterFn pkgs.path;
# We need a copy of the Nix expressions for Nixpkgs and NixOS on the # We need a copy of the Nix expressions for Nixpkgs and NixOS on the
# CD. These are installed into the "nixos" channel of the root # CD. These are installed into the "nixos" channel of the root
@ -15,12 +25,11 @@ let
{ } { }
'' ''
mkdir -p $out mkdir -p $out
cp -prd ${pkgs.path} $out/nixos cp -prd ${nixpkgs} $out/nixos
chmod -R u+w $out/nixos chmod -R u+w $out/nixos
if [ ! -e $out/nixos/nixpkgs ]; then if [ ! -e $out/nixos/nixpkgs ]; then
ln -s . $out/nixos/nixpkgs ln -s . $out/nixos/nixpkgs
fi fi
rm -rf $out/nixos/.git
echo -n ${config.system.nixosVersionSuffix} > $out/nixos/.version-suffix echo -n ${config.system.nixosVersionSuffix} > $out/nixos/.version-suffix
''; '';

View file

@ -1,8 +1,9 @@
[ [
./config/debug-info.nix ./config/debug-info.nix
./config/fonts/corefonts.nix ./config/fonts/corefonts.nix
./config/fonts/fontconfig-ultimate.nix
./config/fonts/fontconfig.nix ./config/fonts/fontconfig.nix
./config/fonts/fontconfig-penultimate.nix
./config/fonts/fontconfig-ultimate.nix
./config/fonts/fontdir.nix ./config/fonts/fontdir.nix
./config/fonts/fonts.nix ./config/fonts/fonts.nix
./config/fonts/ghostscript.nix ./config/fonts/ghostscript.nix
@ -274,6 +275,7 @@
./services/misc/gpsd.nix ./services/misc/gpsd.nix
#./services/misc/ihaskell.nix #./services/misc/ihaskell.nix
./services/misc/irkerd.nix ./services/misc/irkerd.nix
./services/misc/jackett.nix
./services/misc/leaps.nix ./services/misc/leaps.nix
./services/misc/mantisbt.nix ./services/misc/mantisbt.nix
./services/misc/mathics.nix ./services/misc/mathics.nix
@ -294,6 +296,7 @@
./services/misc/parsoid.nix ./services/misc/parsoid.nix
./services/misc/phd.nix ./services/misc/phd.nix
./services/misc/plex.nix ./services/misc/plex.nix
./services/misc/radarr.nix
./services/misc/redmine.nix ./services/misc/redmine.nix
./services/misc/rippled.nix ./services/misc/rippled.nix
./services/misc/ripple-rest.nix ./services/misc/ripple-rest.nix

View file

@ -141,9 +141,6 @@ with lib;
# Unity3D # Unity3D
(mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ]) (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
# fontconfig-ultimate
(mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "rendering" ] [ "fonts" "fontconfig" "ultimate" "preset" ])
# murmur # murmur
(mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ]) (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ])
@ -202,6 +199,7 @@ with lib;
"See the 16.09 release notes for more information.") "See the 16.09 release notes for more information.")
(mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "") (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "")
(mkRemovedOptionModule [ "services" "dovecot2" "package" ] "") (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ] (mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ]
"Set the option `services.xserver.displayManager.sddm.package' instead.") "Set the option `services.xserver.displayManager.sddm.package' instead.")
]; ];

View file

@ -177,6 +177,35 @@ in
# programs to be wrapped. # programs to be wrapped.
WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin
# Remove the old /var/setuid-wrappers path from the system...
#
# TODO: this is only necessary for upgrades 16.09 => 17.x;
# this conditional removal block needs to be removed after
# the release.
if [ -d /var/setuid-wrappers ]; then
rm -rf /var/setuid-wrappers
ln -s /run/wrappers/bin /var/setuid-wrappers
fi
# Remove the old /run/setuid-wrappers-dir path from the
# system as well...
#
# TODO: this is only necessary for upgrades 16.09 => 17.x;
# this conditional removal block needs to be removed after
# the release.
if [ -d /run/setuid-wrapper-dirs ]; then
rm -rf /run/setuid-wrapper-dirs
ln -s /run/wrappers/bin /run/setuid-wrapper-dirs
fi
# TODO: this is only necessary for upgrades 16.09 => 17.x;
# this conditional removal block needs to be removed after
# the release.
if readlink -f /run/booted-system | grep nixos-17 > /dev/null; then
rm -rf /run/setuid-wrapper-dirs
rm -rf /var/setuid-wrappers
fi
# We want to place the tmpdirs for the wrappers to the parent dir. # We want to place the tmpdirs for the wrappers to the parent dir.
wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX) wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
chmod a+rx $wrapperDir chmod a+rx $wrapperDir

View file

@ -0,0 +1,44 @@
{ config, pkgs, lib, mono, ... }:
with lib;
let
cfg = config.services.jackett;
in
{
options = {
services.jackett = {
enable = mkEnableOption "Jackett";
};
};
config = mkIf cfg.enable {
systemd.services.jackett = {
description = "Jackett";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
test -d /var/lib/jackett/ || {
echo "Creating jackett data directory in /var/lib/jackett/"
mkdir -p /var/lib/jackett/
}
chown -R jackett /var/lib/jackett/
chmod 0700 /var/lib/jackett/
'';
serviceConfig = {
Type = "simple";
User = "jackett";
Group = "nogroup";
PermissionsStartOnly = "true";
ExecStart = "${pkgs.jackett}/bin/Jackett";
Restart = "on-failure";
};
};
users.extraUsers.jackett = {
home = "/var/lib/jackett";
};
};
}

View file

@ -0,0 +1,44 @@
{ config, pkgs, lib, mono, ... }:
with lib;
let
cfg = config.services.radarr;
in
{
options = {
services.radarr = {
enable = mkEnableOption "Radarr";
};
};
config = mkIf cfg.enable {
systemd.services.radarr = {
description = "Radarr";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
test -d /var/lib/radarr/ || {
echo "Creating radarr data directory in /var/lib/radarr/"
mkdir -p /var/lib/radarr/
}
chown -R radarr /var/lib/radarr/
chmod 0700 /var/lib/radarr/
'';
serviceConfig = {
Type = "simple";
User = "radarr";
Group = "nogroup";
PermissionsStartOnly = "true";
ExecStart = "${pkgs.radarr}/bin/Radarr";
Restart = "on-failure";
};
};
users.extraUsers.radarr = {
home = "/var/lib/radarr";
};
};
}

View file

@ -76,6 +76,7 @@ in
description = "AFS client"; description = "AFS client";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
serviceConfig = { RemainAfterExit = true; };
preStart = '' preStart = ''
mkdir -p -m 0755 /afs mkdir -p -m 0755 /afs

View file

@ -220,6 +220,8 @@ in
${getLib pkgs.attr}/lib/libattr.so.* mr, # */ ${getLib pkgs.attr}/lib/libattr.so.* mr, # */
${resolverList} r, ${resolverList} r,
/run/systemd/notify rw,
} }
''); '');
}) })

View file

@ -17,6 +17,17 @@ in
This conflicts with the standard networking firewall, so make sure to This conflicts with the standard networking firewall, so make sure to
disable it before using nftables. disable it before using nftables.
Note that if you have Docker enabled you will not be able to use
nftables without intervention. Docker uses iptables internally to
setup NAT for containers. This module disables the ip_tables kernel
module, however Docker automatically loads the module. Please see [1]
for more information.
There are other programs that use iptables internally too, such as
libvirt.
[1]: https://github.com/NixOS/nixpkgs/issues/24318#issuecomment-289216273
''; '';
}; };
networking.nftables.ruleset = mkOption { networking.nftables.ruleset = mkOption {

View file

@ -147,7 +147,6 @@ in {
cfgFile = fpmCfgFile pool poolConfig; cfgFile = fpmCfgFile pool poolConfig;
in { in {
Slice = "phpfpm.slice"; Slice = "phpfpm.slice";
PrivateTmp = true;
PrivateDevices = true; PrivateDevices = true;
ProtectSystem = "full"; ProtectSystem = "full";
ProtectHome = true; ProtectHome = true;

View file

@ -64,7 +64,7 @@ in
security.wrappers.e_freqset.source = "${e.enlightenment.out}/bin/e_freqset"; security.wrappers.e_freqset.source = "${e.enlightenment.out}/bin/e_freqset";
environment.etc = singleton environment.etc = singleton
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; { source = xcfg.xkbDir;
target = "X11/xkb"; target = "X11/xkb";
}; };

View file

@ -176,7 +176,7 @@ in
environment.pathsToLink = [ "/share" ]; environment.pathsToLink = [ "/share" ];
environment.etc = singleton { environment.etc = singleton {
source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; source = xcfg.xkbDir;
target = "X11/xkb"; target = "X11/xkb";
}; };

View file

@ -24,7 +24,7 @@ let
Xft.lcdfilter: lcd${fontconfig.subpixel.lcdfilter} Xft.lcdfilter: lcd${fontconfig.subpixel.lcdfilter}
Xft.hinting: ${if fontconfig.hinting.enable then "1" else "0"} Xft.hinting: ${if fontconfig.hinting.enable then "1" else "0"}
Xft.autohint: ${if fontconfig.hinting.autohint then "1" else "0"} Xft.autohint: ${if fontconfig.hinting.autohint then "1" else "0"}
Xft.hintstyle: hint${fontconfig.hinting.style} Xft.hintstyle: hintslight
''; '';
# file provided by services.xserver.displayManager.session.script # file provided by services.xserver.displayManager.session.script

View file

@ -99,8 +99,7 @@ in
services.xserver.displayManager.job = services.xserver.displayManager.job =
{ {
environment = { environment = {
GDM_X_SERVER_EXTRA_ARGS = toString GDM_X_SERVER = "${cfg.xserverBin} ${toString cfg.xserverArgs}";
(filter (arg: arg != "-terminate") cfg.xserverArgs);
GDM_SESSIONS_DIR = "${cfg.session.desktops}"; GDM_SESSIONS_DIR = "${cfg.session.desktops}";
# Find the mouse # Find the mouse
XCURSOR_PATH = "~/.icons:${config.system.path}/share/icons"; XCURSOR_PATH = "~/.icons:${config.system.path}/share/icons";

View file

@ -443,9 +443,40 @@ my $confFile = $grubVersion == 1 ? "$bootPath/grub/menu.lst" : "$bootPath/grub/g
my $tmpFile = $confFile . ".tmp"; my $tmpFile = $confFile . ".tmp";
writeFile($tmpFile, $conf); writeFile($tmpFile, $conf);
# check whether to install GRUB EFI or not
sub getEfiTarget {
if ($grubVersion == 1) {
return "no"
} elsif (($grub ne "") && ($grubEfi ne "")) {
# EFI can only be installed when target is set;
# A target is also required then for non-EFI grub
if (($grubTarget eq "") || ($grubTargetEfi eq "")) { die }
else { return "both" }
} elsif (($grub ne "") && ($grubEfi eq "")) {
# TODO: It would be safer to disallow non-EFI grub installation if no taget is given.
# If no target is given, then grub auto-detects the target which can lead to errors.
# E.g. it seems as if grub would auto-detect a EFI target based on the availability
# of a EFI partition.
# However, it seems as auto-detection is currently relied on for non-x86_64 and non-i386
# architectures in NixOS. That would have to be fixed in the nixos modules first.
return "no"
} elsif (($grub eq "") && ($grubEfi ne "")) {
# EFI can only be installed when target is set;
if ($grubTargetEfi eq "") { die }
else {return "only" }
} else {
# prevent an installation if neither grub nor grubEfi is given
return "neither"
}
}
my $efiTarget = getEfiTarget();
# Append entries detected by os-prober # Append entries detected by os-prober
if (get("useOSProber") eq "true") { if (get("useOSProber") eq "true") {
system(get("shell"), "-c", "pkgdatadir=$grub/share/grub $grub/etc/grub.d/30_os-prober >> $tmpFile"); my $targetpackage = ($efiTarget eq "no") ? $grub : $grubEfi;
system(get("shell"), "-c", "pkgdatadir=$targetpackage/share/grub $targetpackage/etc/grub.d/30_os-prober >> $tmpFile");
} }
# Atomically switch to the new config # Atomically switch to the new config
@ -498,36 +529,7 @@ sub getDeviceTargets {
} }
return @devices; return @devices;
} }
# check whether to install GRUB EFI or not
sub getEfiTarget {
if ($grubVersion == 1) {
return "no"
} elsif (($grub ne "") && ($grubEfi ne "")) {
# EFI can only be installed when target is set;
# A target is also required then for non-EFI grub
if (($grubTarget eq "") || ($grubTargetEfi eq "")) { die }
else { return "both" }
} elsif (($grub ne "") && ($grubEfi eq "")) {
# TODO: It would be safer to disallow non-EFI grub installation if no taget is given.
# If no target is given, then grub auto-detects the target which can lead to errors.
# E.g. it seems as if grub would auto-detect a EFI target based on the availability
# of a EFI partition.
# However, it seems as auto-detection is currently relied on for non-x86_64 and non-i386
# architectures in NixOS. That would have to be fixed in the nixos modules first.
return "no"
} elsif (($grub eq "") && ($grubEfi ne "")) {
# EFI can only be installed when target is set;
if ($grubTargetEfi eq "") { die }
else {return "only" }
} else {
# prevent an installation if neither grub nor grubEfi is given
return "neither"
}
}
my @deviceTargets = getDeviceTargets(); my @deviceTargets = getDeviceTargets();
my $efiTarget = getEfiTarget();
my $prevGrubState = readGrubState(); my $prevGrubState = readGrubState();
my @prevDeviceTargets = split/,/, $prevGrubState->devices; my @prevDeviceTargets = split/,/, $prevGrubState->devices;

View file

@ -59,15 +59,16 @@ in
systemd.network = systemd.network =
let let
domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain); domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
genericNetwork = override: { genericNetwork = override:
DHCP = override (dhcpStr cfg.useDHCP); let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
} // optionalAttrs (cfg.defaultGateway != null) { ++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
gateway = override [ cfg.defaultGateway.address ]; in {
} // optionalAttrs (cfg.defaultGateway6 != null) { DHCP = override (dhcpStr cfg.useDHCP);
gateway = override [ cfg.defaultGateway6.address ]; } // optionalAttrs (gateway != [ ]) {
} // optionalAttrs (domains != [ ]) { gateway = override gateway;
domains = override domains; } // optionalAttrs (domains != [ ]) {
}; domains = override domains;
};
in mkMerge [ { in mkMerge [ {
enable = true; enable = true;
networks."99-main" = genericNetwork mkDefault; networks."99-main" = genericNetwork mkDefault;

View file

@ -62,7 +62,7 @@ in
mkdir -p /mnt/nix/store mkdir -p /mnt/nix/store
echo "copying everything (will take a while)..." echo "copying everything (will take a while)..."
cp -prd $storePaths /mnt/nix/store/ ${pkgs.rsync}/bin/rsync -a $storePaths /mnt/nix/store/
# Register the paths in the Nix database. # Register the paths in the Nix database.
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \ printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \

View file

@ -29,7 +29,6 @@ in
virtualisation.xen.package = mkOption { virtualisation.xen.package = mkOption {
type = types.package; type = types.package;
default = pkgs.xen;
defaultText = "pkgs.xen"; defaultText = "pkgs.xen";
example = literalExample "pkgs.xen-light"; example = literalExample "pkgs.xen-light";
description = '' description = ''
@ -39,7 +38,6 @@ in
virtualisation.xen.qemu = mkOption { virtualisation.xen.qemu = mkOption {
type = types.path; type = types.path;
default = "${pkgs.xen}/lib/xen/bin/qemu-system-i386";
defaultText = "\${pkgs.xen}/lib/xen/bin/qemu-system-i386"; defaultText = "\${pkgs.xen}/lib/xen/bin/qemu-system-i386";
example = literalExample "''${pkgs.qemu_xen-light}/bin/qemu-system-i386"; example = literalExample "''${pkgs.qemu_xen-light}/bin/qemu-system-i386";
description = '' description = ''
@ -49,7 +47,6 @@ in
virtualisation.xen.qemu-package = mkOption { virtualisation.xen.qemu-package = mkOption {
type = types.package; type = types.package;
default = pkgs.xen;
defaultText = "pkgs.xen"; defaultText = "pkgs.xen";
example = literalExample "pkgs.qemu_xen-light"; example = literalExample "pkgs.qemu_xen-light";
description = '' description = ''
@ -136,6 +133,9 @@ in
message = "Xen currently does not support EFI boot"; message = "Xen currently does not support EFI boot";
} ]; } ];
virtualisation.xen.package = mkDefault pkgs.xen;
virtualisation.xen.qemu = mkDefault "${pkgs.xen}/lib/xen/bin/qemu-system-i386";
virtualisation.xen.qemu-package = mkDefault pkgs.xen;
virtualisation.xen.stored = mkDefault "${cfg.package}/bin/oxenstored"; virtualisation.xen.stored = mkDefault "${cfg.package}/bin/oxenstored";
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];

View file

@ -92,7 +92,7 @@ in rec {
(all nixos.tests.openssh) (all nixos.tests.openssh)
(all nixos.tests.printing) (all nixos.tests.printing)
(all nixos.tests.proxy) (all nixos.tests.proxy)
(all nixos.tests.sddm) (all nixos.tests.sddm.default)
(all nixos.tests.simple) (all nixos.tests.simple)
(all nixos.tests.udisks2) (all nixos.tests.udisks2)
(all nixos.tests.xfce) (all nixos.tests.xfce)

View file

@ -296,7 +296,7 @@ in rec {
tests.quake3 = callTest tests/quake3.nix {}; tests.quake3 = callTest tests/quake3.nix {};
tests.runInMachine = callTest tests/run-in-machine.nix {}; tests.runInMachine = callTest tests/run-in-machine.nix {};
tests.samba = callTest tests/samba.nix {}; tests.samba = callTest tests/samba.nix {};
tests.sddm = callTest tests/sddm.nix {}; tests.sddm = callSubTests tests/sddm.nix {};
tests.simple = callTest tests/simple.nix {}; tests.simple = callTest tests/simple.nix {};
tests.smokeping = callTest tests/smokeping.nix {}; tests.smokeping = callTest tests/smokeping.nix {};
tests.taskserver = callTest tests/taskserver.nix {}; tests.taskserver = callTest tests/taskserver.nix {};

View file

@ -8,25 +8,27 @@ import ./make-test.nix ({ pkgs, ...} :
machine = { lib, ... }: { machine = { lib, ... }: {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
virtualisation.memorySize = 1024;
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.sddm = { services.xserver.displayManager.sddm.enable = true;
enable = true;
autoLogin = {
enable = true;
user = "alice";
};
};
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
services.xserver.desktopManager.default = "plasma5"; services.xserver.desktopManager.default = "plasma5";
virtualisation.writableStore = false; # FIXME virtualisation.memorySize = 1024;
}; };
testScript = { nodes, ... }: enableOCR = true;
let xdo = "${pkgs.xdotool}/bin/xdotool"; in
'' testScript = { nodes, ... }: let
user = nodes.machine.config.users.extraUsers.alice;
xdo = "${pkgs.xdotool}/bin/xdotool";
in ''
startAll; startAll;
# Wait for display manager to start
$machine->waitForText(qr/${user.description}/);
$machine->screenshot("sddm");
# Log in
$machine->sendChars("${user.password}\n");
$machine->waitForFile("/home/alice/.Xauthority"); $machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority"); $machine->succeed("xauth merge ~alice/.Xauthority");

View file

@ -1,28 +1,66 @@
import ./make-test.nix ({ pkgs, ...} : { { system ? builtins.currentSystem }:
name = "sddm";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ttuegel ];
};
machine = { lib, ... }: { with import ../lib/testing.nix { inherit system; };
imports = [ ./common/user-account.nix ];
services.xserver.enable = true; let
services.xserver.displayManager.sddm = { inherit (pkgs) lib;
enable = true;
autoLogin = { tests = {
enable = true; default = {
user = "alice"; name = "sddm";
machine = { lib, ... }: {
imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true;
services.xserver.windowManager.default = "icewm";
services.xserver.windowManager.icewm.enable = true;
services.xserver.desktopManager.default = "none";
}; };
};
services.xserver.windowManager.default = "icewm";
services.xserver.windowManager.icewm.enable = true;
services.xserver.desktopManager.default = "none";
};
testScript = { nodes, ... }: '' enableOCR = true;
startAll;
$machine->waitForFile("/home/alice/.Xauthority"); testScript = { nodes, ... }: let
$machine->succeed("xauth merge ~alice/.Xauthority"); user = nodes.machine.config.users.extraUsers.alice;
$machine->waitForWindow("^IceWM "); in ''
''; startAll;
}) $machine->waitForText(qr/ALICE/);
$machine->screenshot("sddm");
$machine->sendChars("${user.password}\n");
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow("^IceWM ");
'';
};
autoLogin = {
name = "sddm-autologin";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ttuegel ];
};
machine = { lib, ... }: {
imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.displayManager.sddm = {
enable = true;
autoLogin = {
enable = true;
user = "alice";
};
};
services.xserver.windowManager.default = "icewm";
services.xserver.windowManager.icewm.enable = true;
services.xserver.desktopManager.default = "none";
};
testScript = { nodes, ... }: ''
startAll;
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow("^IceWM ");
'';
};
};
in
lib.mapAttrs (lib.const makeTest) tests

View file

@ -1,20 +1,24 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode , zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
, withGui }: , withGui }:
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version; name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
version = "0.11.2.cl1.b1"; version = "1.2.3";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/bitcoinclassic/bitcoinclassic/archive/v${version}.tar.gz"; owner = "bitcoinclassic";
sha256 = "1szsnx5aijk3hx7qkqzbqsr0basg8ydwp20mh3bhnf4ljryy2049"; repo = "bitcoinclassic";
rev = "v${version}";
sha256 = "0y99c8zv42ps3pxp46p3fqj9sir580v7s5qyi3cxva12mq2z0cql";
}; };
buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib nativeBuildInputs = [ pkgconfig autoreconfHook ];
miniupnpc utillinux protobuf ] buildInputs = [ openssl db48 boost zlib
miniupnpc utillinux protobuf libevent ]
++ optionals withGui [ qt4 qrencode ]; ++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ] configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
@ -35,7 +39,7 @@ stdenv.mkDerivation rec {
continue to release updates that are in line with Satoshis whitepaper & continue to release updates that are in line with Satoshis whitepaper &
vision, and are agreed upon by the community. vision, and are agreed upon by the community.
''; '';
homepage = "https://bitcoinclassic.com/"; homepage = https://bitcoinclassic.com/;
maintainers = with maintainers; [ jefdaj ]; maintainers = with maintainers; [ jefdaj ];
license = licenses.mit; license = licenses.mit;
platforms = platforms.unix; platforms = platforms.unix;

View file

@ -16,6 +16,7 @@ rec {
dogecoin = callPackage ./dogecoin.nix { withGui = true; }; dogecoin = callPackage ./dogecoin.nix { withGui = true; };
dogecoind = callPackage ./dogecoin.nix { withGui = false; }; dogecoind = callPackage ./dogecoin.nix { withGui = false; };
freicoin = callPackage ./freicoin.nix { boost = pkgs.boost155; };
go-ethereum = callPackage ./go-ethereum.nix { }; go-ethereum = callPackage ./go-ethereum.nix { };
litecoin = callPackage ./litecoin.nix { withGui = true; }; litecoin = callPackage ./litecoin.nix { withGui = true; };
@ -33,5 +34,4 @@ rec {
primecoind = callPackage ./primecoin.nix { withGui = false; }; primecoind = callPackage ./primecoin.nix { withGui = false; };
stellar-core = callPackage ./stellar-core.nix { }; stellar-core = callPackage ./stellar-core.nix { };
} }

View file

@ -0,0 +1,32 @@
{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, miniupnpc, qt4, qmake4Hook, unzip }:
stdenv.mkDerivation rec {
version = "0.8.6-2";
name = "freicoin-${version}";
src = fetchFromGitHub {
owner = "freicoin";
repo = "freicoin";
rev = "v${version}";
sha256 = "1m5pcnfhwhcj7q00p2sy3h73rkdm3w6grmljgiq53gshcj08cq1z";
};
# I think that openssl and zlib are required, but come through other
# packages
installPhase = ''
mkdir -p $out/bin
cp freicoin-qt $out/bin
'';
nativeBuildInputs = [ qmake4Hook ];
buildInputs = [ db boost gmp mpfr miniupnpc qt4 ];
meta = with stdenv.lib; {
description = "Peer-to-peer currency with demurrage fee";
homepage = http://freicoi.in/;
license = licenses.mit;
maintainers = [ maintainers.viric ];
platforms = platforms.linux;
};
}

View file

@ -3,12 +3,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.9.11"; version = "0.9.12";
name = "drumgizmo-${version}"; name = "drumgizmo-${version}";
src = fetchurl { src = fetchurl {
url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz"; url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
sha256 = "04hf3nhccwr98n2081rrvfccz50nly6k3gbk9zxccp1522qz5xvf"; sha256 = "0kqrss9v3vpznmh4jgi3783wmprr645s3i485jlvdscpysjfkh6z";
}; };
configureFlags = [ "--enable-lv2" ]; configureFlags = [ "--enable-lv2" ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "drumkv1-${version}"; name = "drumkv1-${version}";
version = "0.8.0"; version = "0.8.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/drumkv1/${name}.tar.gz"; url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
sha256 = "1n2kd468kn71yp2asmamprvblmdlvh0zd8lsh3598dwi4b7aa3ga"; sha256 = "0l6kjb1q9vslwy56836a0c65mf8z8ycam5vzz3k4qvd8g74bs1zq";
}; };
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ]; buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];

View file

@ -8,7 +8,7 @@ let
# Please update the stable branch! # Please update the stable branch!
# Latest version number can be found at: # Latest version number can be found at:
# http://repository-origin.spotify.com/pool/non-free/s/spotify-client/ # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
version = "1.0.49.125.g72ee7853-111"; version = "1.0.52.717.g2f08534a-47";
deps = [ deps = [
alsaLib alsaLib
@ -53,7 +53,7 @@ stdenv.mkDerivation {
src = src =
fetchurl { fetchurl {
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb"; url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "0l008x06d257vcw6gq3q90hvv93cq6mxpj11by1np6bzzg61qv8x"; sha256 = "1xqd4pjb69zmbac5fq3pckgr4khlkzfkx8b029qzjc2hi52zfnj7";
}; };
buildInputs = [ dpkg makeWrapper ]; buildInputs = [ dpkg makeWrapper ];

View file

@ -29,10 +29,9 @@ let
buildInputs = [ buildInputs = [
libxcb libpthreadstubs libXdmcp libXau pam systemd libxcb libpthreadstubs libXdmcp libXau pam systemd
qtbase qtdeclarative
]; ];
propagatedUserEnvPkgs = builtins.map lib.getBin [ propagatedBuildInputs = [
qtbase qtdeclarative qtbase qtdeclarative
]; ];
@ -98,6 +97,7 @@ stdenv.mkDerivation {
addToSearchPath RUNTIME_XDG_CONFIG_DIRS "$pkg/etc/xdg" addToSearchPath RUNTIME_XDG_CONFIG_DIRS "$pkg/etc/xdg"
done done
mkdir -p "$out/bin"
makeQtWrapper "$unwrapped/bin/sddm" "$out/bin/sddm" makeQtWrapper "$unwrapped/bin/sddm" "$out/bin/sddm"
mkdir -p "$out/share/sddm" mkdir -p "$out/share/sddm"

View file

@ -1,20 +1,23 @@
{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, zip, wxGTK, gtk2 { stdenv, fetchurl, autoreconfHook, libtool, pkgconfig, file, zip, wxGTK, gtk2
, contribPlugins ? false, hunspell, gamin, boost , contribPlugins ? false, hunspell, gamin, boost
}: }:
with stdenv.lib;
with { inherit (stdenv.lib) optionalString optional optionals; }; with { inherit (stdenv.lib) optionalString optional optionals; };
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${stdenv.lib.optionalString contribPlugins "full-"}${version}"; name = "${pname}-${stdenv.lib.optionalString contribPlugins "full-"}${version}";
version = "13.12"; version = "16.01";
pname = "codeblocks"; pname = "codeblocks";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}-1.tar.gz"; url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}.tar.gz";
sha256 = "044njhps4cm1ijfdyr5f9wjyd0vblhrz9b4603ma52wcdq25093p"; sha256 = "00sskm91r20ywydwqwx6v7z3nwn9lyh5297c5wp3razldlh9vyrh";
}; };
buildInputs = [ automake autoconf libtool pkgconfig file zip wxGTK gtk2 ] nativeBuildInputs = [ autoreconfHook pkgconfig libtool file zip ];
buildInputs = [ wxGTK gtk2 ]
++ optionals contribPlugins [ hunspell gamin boost ]; ++ optionals contribPlugins [ hunspell gamin boost ];
enableParallelBuilding = true; enableParallelBuilding = true;
patches = [ ./writable-projects.patch ]; patches = [ ./writable-projects.patch ];
@ -25,9 +28,9 @@ stdenv.mkDerivation rec {
# Fix boost 1.59 compat # Fix boost 1.59 compat
# Try removing in the next version # Try removing in the next version
CPPFLAGS = "-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED"; #CPPFLAGS = "-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED";
meta = with stdenv.lib; { meta = {
maintainers = [ maintainers.linquize ]; maintainers = [ maintainers.linquize ];
platforms = platforms.all; platforms = platforms.all;
description = "The open source, cross platform, free C, C++ and Fortran IDE"; description = "The open source, cross platform, free C, C++ and Fortran IDE";

View file

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = http://www.geany.org/; homepage = http://www.geany.org/;
license = "GPL"; license = "GPL";
maintainers = [ maintainers.bbenoist ]; maintainers = [];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View file

@ -2,24 +2,24 @@
makeWrapper, libXScrnSaver }: makeWrapper, libXScrnSaver }:
let let
version = "1.10.0"; version = "1.10.2";
rev = "49129d126e2c3c5592cfc8a509d872067b69d262"; rev = "8076a19fdcab7e1fc1707952d652f0bb6c6db331";
channel = "stable"; channel = "stable";
# The revision can be obtained with the following command (see https://github.com/NixOS/nixpkgs/issues/22465): # The revision can be obtained with the following command (see https://github.com/NixOS/nixpkgs/issues/22465):
# curl -w "%{url_effective}\n" -I -L -s -S https://vscode-update.azurewebsites.net/latest/linux-x64/stable -o /dev/null # curl -w "%{url_effective}\n" -I -L -s -S https://vscode-update.azurewebsites.net/latest/linux-x64/stable -o /dev/null
sha256 = if stdenv.system == "i686-linux" then "14ip00ysnn6daw7ws3vgnhib18pi7r1z1szfr7s996awbq12ir3i" sha256 = if stdenv.system == "i686-linux" then "1rhwrpv17c8j06qja7i58cggzka8jm9v9h27jy22z30yxjz0p241"
else if stdenv.system == "x86_64-linux" then "1krrshsx2pjkr4pc1d6zad664f5khdbhwaq8lpx1aagxxd921mx6" else if stdenv.system == "x86_64-linux" then "1c1w7wc39a5vdap8j143ym976p9l9iwns1y28mcgjwrihdlb5wb8"
else if stdenv.system == "x86_64-darwin" then "1y574b4wpkk06a36clajx57ydj7a0scn2gms4070cqaf0afzy19f" else if stdenv.system == "x86_64-darwin" then "1zznsn84k79lqirzv950q7caq7c88yh2gglwjc11y8k69awmlpva"
else throw "Unsupported system: ${stdenv.system}"; else throw "Unsupported system: ${stdenv.system}";
urlBase = "https://az764295.vo.msecnd.net/${channel}/${rev}/"; urlBase = "https://az764295.vo.msecnd.net/${channel}/${rev}/";
urlStr = if stdenv.system == "i686-linux" then urlStr = if stdenv.system == "i686-linux" then
urlBase + "code-${channel}-code_${version}-1488384152_i386.tar.gz" urlBase + "code-${channel}-code_${version}-1488982317_i386.tar.gz"
else if stdenv.system == "x86_64-linux" then else if stdenv.system == "x86_64-linux" then
urlBase + "code-${channel}-code_${version}-1488387854_amd64.tar.gz" urlBase + "code-${channel}-code_${version}-1488981323_amd64.tar.gz"
else if stdenv.system == "x86_64-darwin" then else if stdenv.system == "x86_64-darwin" then
urlBase + "VSCode-darwin-${channel}.zip" urlBase + "VSCode-darwin-${channel}.zip"
else throw "Unsupported system: ${stdenv.system}"; else throw "Unsupported system: ${stdenv.system}";
@ -47,17 +47,22 @@ in
then [ unzip makeWrapper libXScrnSaver ] then [ unzip makeWrapper libXScrnSaver ]
else [ makeWrapper libXScrnSaver ]; else [ makeWrapper libXScrnSaver ];
installPhase = '' installPhase =
mkdir -p $out/lib/vscode $out/bin if stdenv.system == "x86_64-darwin" then ''
cp -r ./* $out/lib/vscode mkdir -p $out/lib/vscode $out/bin
ln -s $out/lib/vscode/code $out/bin cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/Contents/Resources/app/bin/code $out/bin
'' else ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/code $out/bin
mkdir -p $out/share/applications mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications cp $desktopItem/share/applications/* $out/share/applications
mkdir -p $out/share/pixmaps mkdir -p $out/share/pixmaps
cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
''; '';
postFixup = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") '' postFixup = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") ''
patchelf \ patchelf \

View file

@ -0,0 +1,36 @@
# HG changeset patch
# User Bob Friesenhahn <bfriesen@GraphicsMagick.org>
# Date 1487905610 21600
# Node ID 6156b4c2992d855ece6079653b3b93c3229fc4b8
# Parent 0392c4305a4369984ec8069055acc470c0a73647
Fix out of bounds access when reading CMYKA tiff which claims wrong samples/pixel.
diff -r 0392c4305a43 -r 6156b4c2992d coders/tiff.c
--- a/coders/tiff.c Sun Jan 29 10:04:57 2017 -0600
+++ b/coders/tiff.c Thu Feb 23 21:06:50 2017 -0600
@@ -1230,8 +1230,8 @@
case 0:
if (samples_per_pixel == 1)
*quantum_type=GrayQuantum;
- else
- *quantum_type=RedQuantum;
+ else
+ *quantum_type=RedQuantum;
break;
case 1:
*quantum_type=GreenQuantum;
@@ -1411,12 +1411,12 @@
}
else
{
- if (image->matte)
+ if (image->matte && samples_per_pixel >= 5)
{
*quantum_type=CMYKAQuantum;
*quantum_samples=5;
}
- else
+ else if (samples_per_pixel >= 4)
{
*quantum_type=CMYKQuantum;
*quantum_samples=4;

View file

@ -42,6 +42,7 @@ stdenv.mkDerivation {
url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-7/debian/patches/CVE-2016-9830.patch"; url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-7/debian/patches/CVE-2016-9830.patch";
sha256 = "0qh15sd7nx7vf9sld4453iml951bwsx2fx84hxc7plhds2k3gjpa"; sha256 = "0qh15sd7nx7vf9sld4453iml951bwsx2fx84hxc7plhds2k3gjpa";
}) })
./cmyka-bounds.patch
]; ];
configureFlags = [ configureFlags = [

View file

@ -9,6 +9,7 @@
, enableLibsndfile ? true, libsndfile ? null , enableLibsndfile ? true, libsndfile ? null
# amrnb and amrwb are unfree, disabled by default # amrnb and amrwb are unfree, disabled by default
, enableAMR ? false, amrnb ? null, amrwb ? null , enableAMR ? false, amrnb ? null, amrwb ? null
, enableLibpulseaudio ? true, libpulseaudio ? null
}: }:
with stdenv.lib; with stdenv.lib;
@ -30,7 +31,8 @@ stdenv.mkDerivation rec {
optional enableFLAC flac ++ optional enableFLAC flac ++
optional enablePNG libpng ++ optional enablePNG libpng ++
optional enableLibsndfile libsndfile ++ optional enableLibsndfile libsndfile ++
optionals enableAMR [ amrnb amrwb ]; optionals enableAMR [ amrnb amrwb ] ++
optional enableLibpulseaudio libpulseaudio;
meta = { meta = {
description = "Sample Rate Converter for audio"; description = "Sample Rate Converter for audio";

View file

@ -1,38 +1,43 @@
{ stdenv, fetchFromGitHub, unzip, alsaLib }: { stdenv, fetchFromGitHub
let , espeak, alsaLib, perl
version = "1.2"; , python }:
in
with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "direwolf-${version}"; name = "direwolf-${version}";
inherit version; version = "1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wb2osz"; owner = "wb2osz";
repo = "direwolf"; repo = "direwolf";
rev = "8b81a32"; rev = version;
sha256 = "0r4fgdxghh292bzhqshr7zl5cg2lfsvlgmy4d5vqcli7x6qa1gcs"; sha256 = "1x6vvl3fy70ic5pqvqsyr0bkqwim8m9jaqnm5ls8z8i66rwq23fg";
}; };
buildInputs = [ buildInputs = [
unzip alsaLib espeak perl python
]; ] ++ (optional stdenv.isLinux alsaLib);
patchPhase = '' patchPhase = ''
substituteInPlace Makefile.linux \ substituteInPlace Makefile.* \
--replace "/usr/local" "$out" \ --replace /usr/share $out/share
--replace "/usr/share" "$out/share"
'';
preInstall = '' substituteInPlace dwespeak.sh \
mkdir -p $out/bin --replace espeak ${espeak}/bin/espeak
''; '';
meta = with stdenv.lib; { installPhase = ''
mkdir -p $out/bin
make INSTALLDIR=$out install
'';
meta = {
description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway"; description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway";
# On the page: This page will be disappearing on October 8, 2015. # On the page: This page will be disappearing on October 8, 2015.
homepage = https://home.comcast.net/~wb2osz/site/; homepage = https://github.com/wb2osz/direwolf/;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.unix;
maintainers = [ maintainers.the-kenny ]; maintainers = [ maintainers.the-kenny ];
}; };
} }

View file

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emem"; pname = "emem";
version = "0.2.46"; version = "0.2.47";
name = "${pname}-${version}"; name = "${pname}-${version}";
inherit jdk; inherit jdk;
src = fetchurl { src = fetchurl {
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar"; url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
sha256 = "1wyckyh8jknkrcd8bvlf9m16xpi85hvhz42zv80by0hvsxgsibvy"; sha256 = "0hz862g7k42kik9vgzskqr99321llmmakl54ay9vsykvcxs632mx";
}; };
phases = [ "buildPhase" "installPhase" ]; phases = [ "buildPhase" "installPhase" ];

View file

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "exercism-${version}"; name = "exercism-${version}";
version = "2.3.0"; version = "2.4.0";
goPackagePath = "github.com/exercism/cli"; goPackagePath = "github.com/exercism/cli";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "exercism"; owner = "exercism";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "1zhvvmsh5kw739kylk0bqj1wa6vjyahz43dlxdpv42h8gfiiksf5"; sha256 = "1hl13sr4ymqg9sjhkxdmhf8cfw69cic3bysw34xfv2j6bjjxfwaa";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -1,28 +0,0 @@
{ fetchurl, stdenv, db, boost, gmp, mpfr, miniupnpc, qt4, qmake4Hook, unzip }:
stdenv.mkDerivation rec {
version = "0.8.3-1";
name = "freicoin-${version}";
src = fetchurl {
url = "https://github.com/freicoin/freicoin/archive/v${version}.zip";
sha256 = "0v3mh8a96nnb86mkyaylyjj7qfdrl7i9gvybh7f8w2hrl9paszfh";
};
# I think that openssl and zlib are required, but come through other
# packages
buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip qmake4Hook ];
installPhase = ''
mkdir -p $out/bin
cp freicoin-qt $out/bin
'';
meta = {
description = "Peer-to-peer currency with demurrage fee";
homepage = "http://freicoi.in/";
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View file

@ -1,17 +1,20 @@
{ stdenv, fetchurl { stdenv, fetchFromGitHub
, intltool, pkgconfig, gtk }: , autoreconfHook, intltool
, gtk, pkgconfig, flex }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "galculator-${version}"; name = "galculator-${version}";
version = "2.1.3"; version = "2.1.4";
src = fetchurl { src = fetchFromGitHub {
url = "mirror://sourceforge/galculator/${name}.tar.gz"; owner = "galculator";
sha256 = "12m7dldjk10lpkdxk7zpk98n32ci65zmxidghihb7n1m3rhp3q17"; repo = "galculator";
rev = "v${version}";
sha256 = "0q0hb62f266709ncyq96bpx4a40a1i6dc5869byvd7x285sx1c2w";
}; };
buildInputs = [ intltool pkgconfig gtk ]; nativeBuildInputs = [ autoreconfHook intltool pkgconfig ];
buildInputs = [ gtk flex ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A GTK 2/3 algebraic and RPN calculator"; description = "A GTK 2/3 algebraic and RPN calculator";

View file

@ -1,9 +1,20 @@
{stdenv, fetchurl, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, rtmpdump}: {stdenv, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, rtmpdump}:
with stdenv.lib;
buildPerlPackage rec { buildPerlPackage rec {
name = "get_iplayer-${version}"; name = "get_iplayer-${version}";
version = "2.97"; version = "2.99";
src = fetchFromGitHub {
owner = "get-iplayer";
repo = "get_iplayer";
rev = "v${version}";
sha256 = "085bgwkjnaqp96gvd2s8qmkw69rz91si1sgzqdqbplkzj9bk2qii";
};
buildInputs = [makeWrapper perl]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perl ];
propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLLibXML XMLSimple]; propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLLibXML XMLSimple];
preConfigure = "touch Makefile.PL"; preConfigure = "touch Makefile.PL";
@ -13,21 +24,15 @@ buildPerlPackage rec {
installPhase = '' installPhase = ''
mkdir -p $out/bin $out/share/man/man1 mkdir -p $out/bin $out/share/man/man1
cp get_iplayer $out/bin cp get_iplayer $out/bin
wrapProgram $out/bin/get_iplayer --suffix PATH : ${stdenv.lib.makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB wrapProgram $out/bin/get_iplayer --suffix PATH : ${makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB
cp get_iplayer.1 $out/share/man/man1 cp get_iplayer.1 $out/share/man/man1
''; '';
src = fetchurl {
url = "https://github.com/get-iplayer/get_iplayer/archive/v${version}.tar.gz";
sha256 = "0bb6kmzjmazwfxq5ip7yxm39vssfgz3v5vfx1114wfssp6pw0r44";
};
meta = { meta = {
description = "Downloads TV and radio from BBC iPlayer"; description = "Downloads TV and radio from BBC iPlayer";
license = stdenv.lib.licenses.gpl3Plus; license = licenses.gpl3Plus;
homepage = https://squarepenguin.co.uk/; homepage = https://squarepenguin.co.uk/;
downloadPage = https://github.com/get-iplayer/get_iplayer/releases; platforms = platforms.all;
platforms = stdenv.lib.platforms.all;
}; };
} }

View file

@ -1,15 +1,19 @@
{ fetchurl, stdenv, gettext, pkgconfig, glib, gtk2, libX11, libSM, libICE { fetchurl, stdenv, gettext, pkgconfig, glib, gtk2, libX11, libSM, libICE
, IOKit ? null }: , IOKit ? null }:
with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gkrellm-2.3.5"; name = "gkrellm-2.3.10";
src = fetchurl { src = fetchurl {
url = "http://members.dslextreme.com/users/billw/gkrellm/${name}.tar.bz2"; url = "http://gkrellm.srcbox.net/releases/${name}.tar.bz2";
sha256 = "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh"; sha256 = "0rnpzjr0ys0ypm078y63q4aplcgdr5nshjzhmz330n6dmnxci7lb";
}; };
buildInputs = [gettext pkgconfig glib gtk2 libX11 libSM libICE] nativeBuildInputs = [ pkgconfig ];
++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ]; buildInputs = [gettext glib gtk2 libX11 libSM libICE]
++ optionals stdenv.isDarwin [ IOKit ];
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
@ -22,12 +26,11 @@ stdenv.mkDerivation rec {
sed -i "$i" -e "s|/usr/X11R6|${libX11.dev}|g ; s|-lICE|-lX11 -lICE|g" sed -i "$i" -e "s|/usr/X11R6|${libX11.dev}|g ; s|-lICE|-lX11 -lICE|g"
done ''; done '';
buildPhase = '' installPhase = ''
make PREFIX="$out" ''; make DESTDIR=$out install
installPhase = '' '';
make install PREFIX="$out" '';
meta = { meta = {
description = "Themeable process stack of system monitors"; description = "Themeable process stack of system monitors";
longDescription = longDescription =
'' GKrellM is a single process stack of system monitors which supports '' GKrellM is a single process stack of system monitors which supports
@ -35,10 +38,9 @@ stdenv.mkDerivation rec {
or any other theme. or any other theme.
''; '';
homepage = http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html; homepage = http://gkrellm.srcbox.net;
license = stdenv.lib.licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = [ ]; maintainers = [ ];
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "http://sourceforge.net/projects/gmrun/"; homepage = "http://sourceforge.net/projects/gmrun/";
license = "GPL"; license = "GPL";
maintainers = [ stdenv.lib.maintainers.bbenoist ]; maintainers = [];
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
}; };
} }

View file

@ -1,14 +1,15 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk2, gpgme, libgpgerror, libassuan }: { stdenv, fetchurl, intltool, pkgconfig, gtk2, gpgme, libgpgerror, libassuan }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gpa-0.9.9"; name = "gpa-0.9.10";
src = fetchurl { src = fetchurl {
url = "mirror://gnupg/gpa/${name}.tar.bz2"; url = "mirror://gnupg/gpa/${name}.tar.bz2";
sha256 = "0d235hcqai7m3qb7m9kvr2r4qg4714f87j9fdplwrlz1p4wdfa38"; sha256 = "09xphbi2456qynwqq5n0yh0zdmdi2ggrj3wk4hsyh5lrzlvcrff3";
}; };
buildInputs = [ intltool pkgconfig gtk2 gpgme libgpgerror libassuan ]; nativeBuildInputs = [ intltool pkgconfig ];
buildInputs = [ gtk2 gpgme libgpgerror libassuan ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Graphical user interface for the GnuPG"; description = "Graphical user interface for the GnuPG";

View file

@ -3,17 +3,17 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gphoto2-2.5.8"; name = "gphoto2-2.5.11";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
sha256 = "0kgfql6c64ha1gahjdwlqhmkslnfywmc2fkys4c5682zv4awvax9"; sha256 = "1sgr6rsvzzagcwhc8fxbnvz3k02wr2hab0vrbvcb04k5l3b48a1r";
}; };
nativeBuildInputs = [ pkgconfig gettext ]; nativeBuildInputs = [ pkgconfig gettext libtool ];
buildInputs = [ libgphoto2 libexif popt libjpeg readline libtool ]; buildInputs = [ libgphoto2 libexif popt libjpeg readline ];
meta = { meta = with stdenv.lib; {
description = "A ready to use set of digital camera software applications"; description = "A ready to use set of digital camera software applications";
longDescription = '' longDescription = ''
@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
''; '';
homepage = http://www.gphoto.org/; homepage = http://www.gphoto.org/;
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = with stdenv.lib.platforms; unix; platforms = platforms.unix;
maintainers = with stdenv.lib.maintainers; [ jcumming ]; maintainers = [ maintainers.jcumming ];
}; };
} }

View file

@ -1,17 +1,22 @@
{ fetchurl, stdenv, pkgconfig, exiv2, libxml2, gtk2 { fetchFromGitHub, stdenv, pkgconfig, exiv2, libxml2, gtk2
, libxslt, docbook_xsl, docbook_xml_dtd_42 }: , libxslt, docbook_xsl, docbook_xml_dtd_42 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gpscorrelate-1.6.0"; name = "gpscorrelate-${version}";
version = "1.6.1";
src = fetchurl { src = fetchFromGitHub {
url = "http://freefoote.dview.net/linux/${name}.tar.gz"; owner = "freefoote";
sha256 = "1j0b244xkvvf0i4iivp4dw9k4xgyasx4sapd91mnwki35fy49sp0"; repo = "gpscorrelate";
rev = version;
sha256 = "1z0fc75rx7dl6nnydksa578qv116j2c2xs1czfiijzxjghx8njdj";
}; };
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ buildInputs = [
pkgconfig exiv2 libxml2 gtk2 exiv2 libxml2 gtk2
libxslt docbook_xsl docbook_xml_dtd_42 libxslt docbook_xsl
docbook_xml_dtd_42
]; ];
patchPhase = '' patchPhase = ''
@ -19,7 +24,7 @@ stdenv.mkDerivation rec {
-es",^[[:blank:]]*prefix[[:blank:]]*=.*$,prefix = $out,g" -es",^[[:blank:]]*prefix[[:blank:]]*=.*$,prefix = $out,g"
''; '';
meta = { meta = with stdenv.lib; {
description = "A GPS photo correlation tool, to add EXIF geotags"; description = "A GPS photo correlation tool, to add EXIF geotags";
longDescription = '' longDescription = ''
@ -38,9 +43,8 @@ stdenv.mkDerivation rec {
one takes the GPS data in a different format. one takes the GPS data in a different format.
''; '';
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
homepage = https://github.com/freefoote/gpscorrelate;
homepage = http://freefoote.dview.net/linux_gpscorr.html; platforms = platforms.linux;
platforms = stdenv.lib.platforms.linux;
}; };
} }

View file

@ -2,16 +2,19 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "iterm2-${version}"; name = "iterm2-${version}";
version = "3.0.4"; version = "3.0.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gnachman"; owner = "gnachman";
repo = "iTerm2"; repo = "iTerm2";
rev = "v${version}"; rev = "v${version}";
sha256 = "0ffg9l2jvv503h13nd5rjkn5xrahswcqqwmm052qzd6d0lmqjm93"; sha256 = "03m0ja11w9910z96yi8fzq3436y8xl14q031rdb2w3sapjd54qrj";
}; };
patches = [ ./disable_updates.patch ]; patches = [ ./disable_updates.patch ];
postPatch = ''
sed -i -e 's/CODE_SIGN_IDENTITY = "Developer ID Application"/CODE_SIGN_IDENTITY = ""/g' ./iTerm2.xcodeproj/project.pbxproj
'';
makeFlagsArray = ["Deployment"]; makeFlagsArray = ["Deployment"];
installPhase = '' installPhase = ''
mkdir -p "$out/Applications" mkdir -p "$out/Applications"

View file

@ -7,13 +7,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "keepassx-community-${version}"; name = "keepassx-community-${version}";
version = "2.1.2"; version = "2.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "keepassxreboot"; owner = "keepassxreboot";
repo = "keepassxc"; repo = "keepassxc";
rev = "${version}"; rev = "${version}";
sha256 = "0ncc157xki1mzxfa41bgwjfsz5jq9sq750ka578lq61smyzh5lq6"; sha256 = "1zamk3dc44fn61b880i3l1r0np2sx2hs05cvcf2x4748r3xicacf";
}; };
cmakeFlags = optional (withKeePassHTTP) [ "-DWITH_XC_HTTP=ON" ]; cmakeFlags = optional (withKeePassHTTP) [ "-DWITH_XC_HTTP=ON" ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, octoprint, pythonPackages }: { stdenv, fetchFromGitHub, fetchpatch, octoprint, pythonPackages }:
let let
buildPlugin = args: pythonPackages.buildPythonApplication (args // { buildPlugin = args: pythonPackages.buildPythonApplication (args // {
@ -23,6 +23,11 @@ let
patches = [ patches = [
./m33-fio-one-library.patch ./m33-fio-one-library.patch
# Fix incompatibility with new OctoPrint
(fetchpatch {
url = "https://github.com/foosel/M33-Fio/commit/bdf2422dee3fb8e53b33f087f734956c3b209d72.patch";
sha256 = "0jm415sx6d3m0z4gfhbnxlasg08zf3f3mslaj4amn9wbvsik9s5d";
})
]; ];
postPatch = '' postPatch = ''

View file

@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "http://sourceforge.net/projects/xfe/"; homepage = "http://sourceforge.net/projects/xfe/";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.bbenoist ]; maintainers = [];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };
} }

View file

@ -6,9 +6,9 @@
let let
# http://git.suckless.org/surf/log/?h=surf-webkit2 # http://git.suckless.org/surf/log/?h=surf-webkit2
rev = "37e43501d80710533f3ec0bd61ee84916c8524a4"; rev = "7e02344a615a61246ccce1c7f770e88fbd57756e";
sha256 = "1q388rzm4irpaam4z8xycbyh5dgkjlar5jn1iw7zfls1pbpzr5br"; sha256 = "11f93fbjhl7nfgwkcc45lcm3x1wk5h87ap8fbw9w855021i57pp6";
date = "2017-03-06"; date = "2017-03-22";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View file

@ -0,0 +1,301 @@
{ stdenv
, fetchurl
, makeDesktopItem
# Common run-time dependencies
, zlib
# libxul run-time dependencies
, alsaLib
, atk
, cairo
, dbus
, dbus_glib
, fontconfig
, freetype
, gdk_pixbuf
, glib
, gtk2
, libX11
, libXext
, libXrender
, libXt
, pango
# Pulseaudio support
, pulseaudioSupport ? mediaSupport
, libpulseaudio
# Media support (implies pulseaudio support)
, mediaSupport ? false
, gstreamer
, gst-plugins-base
, gst-plugins-good
, gst-ffmpeg
, gmp
, ffmpeg
}:
with stdenv.lib;
let
libPath = makeLibraryPath ([
alsaLib
atk
cairo
dbus
dbus_glib
fontconfig
freetype
gdk_pixbuf
glib
gtk2
libX11
libXext
libXrender
libXt
pango
stdenv.cc.cc
zlib
]
++ optionals pulseaudioSupport [ libpulseaudio ]
++ optionals mediaSupport [
gstreamer
gst-plugins-base
gmp
ffmpeg
]);
gstPluginsPath = concatMapStringsSep ":" (x:
"${x}/lib/gstreamer-0.10") [
gstreamer
gst-plugins-base
gst-plugins-good
gst-ffmpeg
];
# Upstream source
version = "6.5.1";
lang = "en-US";
srcs = {
"x86_64-linux" = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
sha256 = "1p2bgavvyzahqpjg9vp14c0s50rmha3v1hs1c8zvz6fj8fgrhn0i";
};
"i686-linux" = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
sha256 = "1zfghr01bhpn39wqaw7hyx7yap7xyla4m3mrgz2vi9a5qsyxmbcr";
};
};
in
stdenv.mkDerivation rec {
name = "tor-browser-${version}";
inherit version;
src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
preferLocalBuild = true;
desktopItem = makeDesktopItem {
name = "torbrowser";
exec = "tor-browser";
icon = "torbrowser";
desktopName = "Tor Browser";
genericName = "Web Browser";
comment = meta.description;
categories = "Network;WebBrowser;Security;";
};
buildCommand = ''
# For convenience ...
TBB_IN_STORE=$out/share/tor-browser
interp=$(< $NIX_CC/nix-support/dynamic-linker)
# Unpack & enter
mkdir -p "$TBB_IN_STORE"
tar xf "${src}" -C "$TBB_IN_STORE" --strip-components=2
pushd "$TBB_IN_STORE"
# Set ELF interpreter
for exe in firefox TorBrowser/Tor/tor ; do
patchelf --set-interpreter "$interp" "$exe"
done
# The final libPath. Note, we could split this into firefoxLibPath
# and torLibPath for accuracy, but this is more convenient ...
libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor
# Prepare for autoconfig.
#
# See https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment
cat >defaults/pref/autoconfig.js <<EOF
//
pref("general.config.filename", "mozilla.cfg");
pref("general.config.obscure_value", 0);
EOF
# Hard-coded Firefox preferences.
cat >mozilla.cfg <<EOF
// First line must be a comment
// Always update via Nix
lockPref("app.update.auto", false);
lockPref("app.update.enabled", false);
lockPref("extensions.update.autoUpdateDefault", false);
lockPref("extensions.update.enabled", false);
// User should never change these. Locking prevents these
// values from being written to prefs.js, avoiding Store
// path capture.
lockPref("extensions.torlauncher.torrc-defaults_path", "$TBB_IN_STORE/TorBrowser/Data/Tor/torrc-defaults");
lockPref("extensions.torlauncher.tor_path", "$TBB_IN_STORE/TorBrowser/Tor/tor");
// Reset pref that captures store paths.
clearPref("extensions.xpiState");
// Stop obnoxious first-run redirection.
lockPref("noscript.firstRunRedirection", false);
EOF
# Hard-code path to TBB fonts; see also FONTCONFIG_FILE in
# the wrapper below.
FONTCONFIG_FILE=$TBB_IN_STORE/TorBrowser/Data/fontconfig/fonts.conf
sed -i "$FONTCONFIG_FILE" \
-e "s,<dir>fonts</dir>,<dir>$TBB_IN_STORE/fonts</dir>,"
# Move default extension overrides into distribution dir, to avoid
# having to synchronize between local state and store.
mv TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js defaults/pref/torbrowser.js
# Hard-code paths to geoip data files, to prevent them from being
# copied into the local state directory.
cat >>TorBrowser/Data/Tor/torrc-defaults <<EOF
GeoIPFile $TBB_IN_STORE/TorBrowser/Data/Tor/geoip
GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6
EOF
# Generate wrapper
mkdir -p $out/bin
cat > "$out/bin/tor-browser" << EOF
#! ${stdenv.shell}
set -o errexit -o nounset
# Enter local state directory.
REAL_HOME=\$HOME
TBB_HOME=\''${TBB_HOME:-''${XDG_DATA_HOME:-\$REAL_HOME/.local/share}/tor-browser}
HOME=\$TBB_HOME
mkdir -p "\$HOME"
cd "\$HOME"
# Initialize empty TBB local state directory hierarchy. We
# intentionally mirror the layout that TBB would see if executed from
# the unpacked bundle dir.
mkdir -p "\$HOME/TorBrowser" "\$HOME/TorBrowser/Data"
# Initialize the Tor data directory.
mkdir -p "\$HOME/TorBrowser/Data/Tor"
# Initialize the browser profile state. Note that the only data
# copied from the Store payload is the initial bookmark file, which is
# never updated once created. All other files under user's profile
# dir are generated by TBB.
mkdir -p "\$HOME/TorBrowser/Data/Browser/profile.default"
cp -u --no-preserve=mode,owner "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/bookmarks.html" \
"\$HOME/TorBrowser/Data/Browser/profile.default/bookmarks.html"
# Clear out some files that tend to capture store references but are
# easily generated by firefox at startup.
rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/{compatibility.ini,extensions.ini,extensions.json}
# Ensure that we're always using the up-to-date extensions.
ln -snf "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/extensions" \
"\$HOME/TorBrowser/Data/Browser/profile.default/extensions"
${optionalString pulseaudioSupport ''
# Figure out some envvars for pulseaudio
: "\''${XDG_RUNTIME_DIR:=/run/user/\$(id -u)}"
: "\''${XDG_CONFIG_HOME:=\$REAL_HOME/.config}"
: "\''${PULSE_SERVER:=\$XDG_RUNTIME_DIR/pulse/native}"
: "\''${PULSE_COOKIE:=\$XDG_CONFIG_HOME/pulse/cookie}"
''}
# Font cache files capture store paths; clear them out on the off
# chance that TBB would continue using old font files.
rm -rf "\$HOME/.cache/fontconfig"
# Lift-off
#
# XAUTHORITY and DISPLAY are required for TBB to work at all.
#
# DBUS_SESSION_BUS_ADDRESS is inherited to avoid auto-launch; to
# prevent that, set it to an empty/invalid value prior to running
# tor-browser.
#
# PULSE_SERVER is necessary for audio playback.
#
# Setting FONTCONFIG_FILE is required to make fontconfig read the TBB
# fonts.conf; upstream uses FONTCONFIG_PATH, but FC_DEBUG=1024
# indicates the system fonts.conf being used instead.
exec env -i \
HOME="\$HOME" \
XAUTHORITY="\$XAUTHORITY" \
DISPLAY="\$DISPLAY" \
DBUS_SESSION_BUS_ADDRESS="\$DBUS_SESSION_BUS_ADDRESS" \
\
PULSE_SERVER="\''${PULSE_SERVER:-}" \
PULSE_COOKIE="\''${PULSE_COOKIE:-}" \
\
GST_PLUGIN_SYSTEM_PATH="${optionalString mediaSupport gstPluginsPath}" \
GST_REGISTRY="/dev/null" \
GST_REGISTRY_UPDATE="no" \
\
FONTCONFIG_FILE="$FONTCONFIG_FILE" \
\
LD_LIBRARY_PATH="$libPath" \
\
"$TBB_IN_STORE/firefox" \
--class "Tor Browser" \
-no-remote \
-profile "\$HOME/TorBrowser/Data/Browser/profile.default" \
"\''${@}"
EOF
chmod +x $out/bin/tor-browser
# Easier access to docs
mkdir -p $out/share/doc
ln -s $TBB_IN_STORE/TorBrowser/Docs $out/share/doc/tor-browser
# Install .desktop item
mkdir -p $out/share/applications
cp $desktopItem/share/applications"/"* $out/share/applications
# Install icons
mkdir -p $out/share/pixmaps
cp browser/icons/mozicon128.png $out/share/pixmaps/torbrowser.png
# Check installed apps
echo "Checking bundled Tor ..."
LD_LIBRARY_PATH=$libPath $TBB_IN_STORE/TorBrowser/Tor/tor --version >/dev/null
echo "Checking tor-browser wrapper ..."
DISPLAY="" XAUTHORITY="" DBUS_SESSION_BUS_ADDRESS="" TBB_HOME=$(mktemp -d) \
$out/bin/tor-browser --version >/dev/null
'';
meta = with stdenv.lib; {
description = "Tor Browser Bundle";
homepage = https://www.torproject.org/;
platforms = attrNames srcs;
maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm ];
hydraPlatforms = [];
# MPL2.0+, GPL+, &c. While it's not entirely clear whether
# the compound is "libre" in a strict sense (some components place certain
# restrictions on redistribution), it's free enough for our purposes.
license = licenses.free;
};
}

View file

@ -27,7 +27,7 @@ let
export HOME=$TMP export HOME=$TMP
''; '';
doCheck = builtins.compareVersions version "0.8.8" >= 0; doCheck = builtins.compareVersions version "0.9.0" >= 0;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Tool for building, changing, and versioning infrastructure"; description = "Tool for building, changing, and versioning infrastructure";

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }: { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.0.1"; version = "1.0.2";
name = "irssi-${version}"; name = "irssi-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz"; url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz";
sha256 = "1nqrm376bipvh4x483vygydjzs05n4fmfzip1gfakq1vfqqfhshr"; sha256 = "1fas6dqz6g8m2400spvkhfxihj3w06qb917h4vhcb716g9wpjkwf";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
src = fetchgit { src = fetchgit {
url = "https://github.com/Tribler/tribler"; url = "https://github.com/Tribler/tribler";
rev = "v${revision}"; rev = revision;
sha256 = "16mk76qgg7fgca11yvpygicxqbkc0kn6r82x73fly2310pagd845"; sha256 = "16mk76qgg7fgca11yvpygicxqbkc0kn6r82x73fly2310pagd845";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "geogebra-${version}"; name = "geogebra-${version}";
version = "5-0-338-0"; version = "5-0-346-0";
preferLocalBuild = true; preferLocalBuild = true;
src = fetchurl { src = fetchurl {
url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"; url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
sha256 = "1namwib3912zjizgl9swan0fwgmq9kvfq5k5y8lz818vh4lv88kx"; sha256 = "13yiksdk5qwa7c5zp5l0h3czqq31qlf04ncgrh8mn7z70ng1f3l4";
}; };
srcIcon = fetchurl { srcIcon = fetchurl {

View file

@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
''; '';
maintainers = with maintainers; [ gebner ]; maintainers = with maintainers; [ gebner ];
platforms = platforms.all; platforms = platforms.all;
broken = builtins.compareVersions qtbase.version "5.8.0" >= 0;
}; };
} }

View file

@ -11,7 +11,7 @@
}: }:
let let
version = "2.12.0"; version = "2.12.2";
svn = subversionClient.override { perlBindings = true; }; svn = subversionClient.override { perlBindings = true; };
in in
@ -20,7 +20,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "09r0lcjj5v2apj39f0ziqzjq2bi1jpnhszc9q4n0ab86g5j7c88q"; sha256 = "0jlccxx7l4c76h830y8lhrxr4kqksrxqlnmj3xb8sqbfa0irw6nj";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
@ -30,7 +30,6 @@ stdenv.mkDerivation {
./symlinks-in-bin.patch ./symlinks-in-bin.patch
./git-sh-i18n.patch ./git-sh-i18n.patch
./ssh-path.patch ./ssh-path.patch
./ssl-cert-file.patch
]; ];
postPatch = '' postPatch = ''

View file

@ -1,11 +0,0 @@
diff -ru git-2.7.4-orig/http.c git-2.7.4/http.c
--- git-2.7.4-orig/http.c 2016-03-17 21:47:59.000000000 +0100
+++ git-2.7.4/http.c 2016-04-12 11:38:33.187070848 +0200
@@ -544,6 +544,7 @@
#if LIBCURL_VERSION_NUM >= 0x070908
set_from_env(&ssl_capath, "GIT_SSL_CAPATH");
#endif
+ set_from_env(&ssl_cainfo, "SSL_CERT_FILE");
set_from_env(&ssl_cainfo, "GIT_SSL_CAINFO");
set_from_env(&user_agent, "GIT_HTTP_USER_AGENT");

View file

@ -1,19 +1,21 @@
{stdenv, lib, libXcomposite, libgnome_keyring, makeWrapper, udev, curl, alsaLib { stdenv, lib, libXcomposite, libgnome_keyring, makeWrapper, udev, curl, alsaLib
,libXfixes, atk, gtk2, libXrender, pango, gnome2, cairo, freetype, fontconfig , libXfixes, atk, gtk2, libXrender, pango, gnome2, cairo, freetype, fontconfig
,libX11, libXi, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst , libX11, libXi, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
,nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus , nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus
}: }:
with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gitkraken-${version}"; name = "gitkraken-${version}";
version = "2.2.0"; version = "2.2.1";
src = fetchurl { src = fetchurl {
url = "https://release.gitkraken.com/linux/v${version}.tar.gz"; url = "https://release.gitkraken.com/linux/v${version}.tar.gz";
sha256 = "0a3ed917e6e937af4dd180144fbb4ad8b99b35b5d8c1f0684a55de38189a812d"; sha256 = "12nyw2dh9ylrms264dbw0xzyif0znmba32zyfq7kdp0iay0wvgqd";
}; };
libPath = stdenv.lib.makeLibraryPath [ libPath = makeLibraryPath [
stdenv.cc.cc.lib stdenv.cc.cc.lib
curl curl
udev udev
@ -47,24 +49,26 @@ stdenv.mkDerivation rec {
libgnome_keyring libgnome_keyring
]; ];
phases = [ "unpackPhase" "installPhase" ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ makeWrapper ]; dontBuild = true;
installPhase = '' installPhase = ''
mkdir -p "$out/opt/gitkraken" mkdir -p "$out/opt/gitkraken"
cp -r ./* "$out/opt/gitkraken" cp -r ./* "$out/opt/gitkraken"
fixupPhase '';
postFixup = ''
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath "$libPath:$out/opt/gitkraken" "$out/opt/gitkraken/gitkraken" --set-rpath "$libPath:$out/opt/gitkraken" "$out/opt/gitkraken/gitkraken"
wrapProgram $out/opt/gitkraken/gitkraken \ wrapProgram $out/opt/gitkraken/gitkraken \
--prefix LD_PRELOAD : "${stdenv.lib.makeLibraryPath [ curl ]}/libcurl.so.4" \ --prefix LD_PRELOAD : "${makeLibraryPath [ curl ]}/libcurl.so.4" \
--prefix LD_PRELOAD : "${stdenv.lib.makeLibraryPath [ libgnome_keyring ]}/libgnome-keyring.so.0" --prefix LD_PRELOAD : "${makeLibraryPath [ libgnome_keyring ]}/libgnome-keyring.so.0"
mkdir "$out/bin" mkdir "$out/bin"
ln -s "$out/opt/gitkraken/gitkraken" "$out/bin/gitkraken" ln -s "$out/opt/gitkraken/gitkraken" "$out/bin/gitkraken"
''; '';
meta = with stdenv.lib; { meta = {
homepage = https://www.gitkraken.com/; homepage = https://www.gitkraken.com/;
description = "The downright luxurious and most popular Git client for Windows, Mac & Linux"; description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
license = licenses.unfree; license = licenses.unfree;

View file

@ -3,25 +3,26 @@
, sqliteSupport ? true , sqliteSupport ? true
}: }:
with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
name = "gogs-${version}"; name = "gogs-${version}";
version = "0.9.113"; version = "0.10.18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gogits"; owner = "gogits";
repo = "gogs"; repo = "gogs";
rev = "v${version}"; rev = "v${version}";
sha256 = "1zk83c9jiazfw3221yi2sidp7917q3dxb2xb7wrjg4an18gj46j7"; sha256 = "1f1dlickjpdilf4j295i9v2h4ig4pf5d2mnpbr59wh14bby4bh0y";
}; };
patchPhase = '' patchPhase = ''
substituteInPlace models/repo.go \ patchShebangs .
--replace '#!/usr/bin/env' '#!${coreutils}/bin/env' '';
'';
buildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildFlags = stdenv.lib.optionalString sqliteSupport "-tags sqlite"; buildFlags = optionalString sqliteSupport "-tags sqlite";
outputs = [ "bin" "out" "data" ]; outputs = [ "bin" "out" "data" ];
@ -30,7 +31,7 @@ buildGoPackage rec {
cp -R $src/{public,templates} $data cp -R $src/{public,templates} $data
wrapProgram $bin/bin/gogs \ wrapProgram $bin/bin/gogs \
--prefix PATH : ${stdenv.lib.makeBinPath [ bash git gzip openssh ]} \ --prefix PATH : ${makeBinPath [ bash git gzip openssh ]} \
--run 'export GOGS_WORK_DIR=''${GOGS_WORK_DIR:-$PWD}' \ --run 'export GOGS_WORK_DIR=''${GOGS_WORK_DIR:-$PWD}' \
--run 'mkdir -p "$GOGS_WORK_DIR" && cd "$GOGS_WORK_DIR"' \ --run 'mkdir -p "$GOGS_WORK_DIR" && cd "$GOGS_WORK_DIR"' \
--run "ln -fs $data/{public,templates} ." --run "ln -fs $data/{public,templates} ."
@ -42,7 +43,7 @@ buildGoPackage rec {
meta = { meta = {
description = "A painless self-hosted Git service"; description = "A painless self-hosted Git service";
homepage = "https://gogs.io"; homepage = "https://gogs.io";
license = stdenv.lib.licenses.mit; license = licenses.mit;
maintainers = with stdenv.lib.maintainers; [ schneefux ]; maintainers = [ maintainers.schneefux ];
}; };
} }

View file

@ -7,8 +7,9 @@ let
version = "3.9.2"; version = "3.9.2";
name = "mercurial-${version}"; name = "mercurial-${version}";
inherit (python2Packages) docutils hg-git dulwich python; inherit (python2Packages) docutils hg-git dulwich python;
in python2Packages.mkPythonDerivation { in python2Packages.buildPythonApplication {
inherit name; inherit name;
format = "other";
src = fetchurl { src = fetchurl {
url = "https://mercurial-scm.org/release/${name}.tar.gz"; url = "https://mercurial-scm.org/release/${name}.tar.gz";

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchFromGitHub }: { stdenv, fetchurl, fetchFromGitHub }:
let version = "1.05"; in let version = "1.07"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "yadm-${version}"; name = "yadm-${version}";
@ -8,7 +8,7 @@ stdenv.mkDerivation {
owner = "TheLocehiliosan"; owner = "TheLocehiliosan";
repo = "yadm"; repo = "yadm";
rev = "${version}"; rev = "${version}";
sha256 = "11bqgz28qzgb3iz8xvda9z0mh5r1a9m032pqm772ypiixsfz8hdd"; sha256 = "0kkxrvw17pmrx1dq0dq53jb9pm545firakrxc48znfw54n2036fw";
}; };
buildCommand = '' buildCommand = ''

View file

@ -44,12 +44,12 @@ let
sha256 = "14jicb26s20nr3qmfpazszpc892yjwjn81zbsb8szy3a5xs19y81"; sha256 = "14jicb26s20nr3qmfpazszpc892yjwjn81zbsb8szy3a5xs19y81";
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "kodi-" + version; name = "kodi-${version}";
version = "17.0"; version = "17.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz"; url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
sha256 = "0ib59x733yf8ivsw82qlsq43jn5214n668nrn5df2flpjcjgmzsb"; sha256 = "1vmvrq0qdjnphw34yils2b5jnm05cmsg777hc4lwqz5mrc1kjgrh";
}; };
buildInputs = [ buildInputs = [
@ -97,9 +97,18 @@ in stdenv.mkDerivation rec {
''; '';
preConfigure = '' preConfigure = ''
patchShebangs .
./bootstrap ./bootstrap
# tests here fail
sed -i '/TestSystemInfo.cpp/d' xbmc/utils/test/{Makefile,CMakeLists.txt}
# tests here trigger a segfault in kodi.bin
sed -i '/TestWebServer.cpp/d' xbmc/network/test/{Makefile,CMakeLists.txt}
''; '';
enableParallelBuild = true;
doCheck = true;
configureFlags = [ "--enable-libcec" ] configureFlags = [ "--enable-libcec" ]
++ lib.optional (!sambaSupport) "--disable-samba" ++ lib.optional (!sambaSupport) "--disable-samba"
++ lib.optional vdpauSupport "--enable-vdpau" ++ lib.optional vdpauSupport "--enable-vdpau"
@ -110,19 +119,17 @@ in stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
for p in $(ls $out/bin/) ; do for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \ wrapProgram $out/bin/$p \
--prefix PATH ":" "${python2}/bin" \ --prefix PATH ":" "${lib.makeBinPath
--prefix PATH ":" "${glxinfo}/bin" \ [ python2 glxinfo xdpyinfo ]}" \
--prefix PATH ":" "${xdpyinfo}/bin" \
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
[ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass SDL2 ] [ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass SDL2 ]}"
}"
done done
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://kodi.tv/; homepage = http://kodi.tv/;
description = "Media center"; description = "Media center";
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ domenkozar titanous edwtjo ]; maintainers = with maintainers; [ domenkozar titanous edwtjo ];
}; };

View file

@ -27,12 +27,10 @@ in stdenv.mkDerivation rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jp9000"; owner = "jp9000";
repo = "obs-studio"; repo = "obs-studio";
rev = "${version}"; rev = "624aa2a5";
sha256 = "0mvjmkq5zlcppjqy18933w7r7rz1mpr2jpf8ipd0famdlgyacix6"; sha256 = "1bs82rqyq7wjjg99mh23ap8z5bmrhjfnza5iyjx808fzqc0bgzaj";
}; };
patches = [ ./segfault-patch-systray.patch ];
nativeBuildInputs = [ cmake nativeBuildInputs = [ cmake
]; ];

View file

@ -1,40 +0,0 @@
From c31e0f682431508ccd2d3c0f74e6e16fc71445d8 Mon Sep 17 00:00:00 2001
From: Cray Elliott <MP2E@archlinux.us>
Date: Fri, 10 Mar 2017 03:48:36 -0800
Subject: [PATCH] Fix segfault in Linux when no system tray exists
previously, switching workspaces while obs-studio is running resulted in a
segfault if no system tray was available
---
UI/window-basic-main.cpp | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
index 8590dd75..024854d6 100644
--- a/UI/window-basic-main.cpp
+++ b/UI/window-basic-main.cpp
@@ -2916,13 +2916,15 @@ void OBSBasic::closeEvent(QCloseEvent *event)
void OBSBasic::changeEvent(QEvent *event)
{
- if (event->type() == QEvent::WindowStateChange &&
- isMinimized() &&
- trayIcon->isVisible() &&
- sysTrayMinimizeToTray()) {
-
- ToggleShowHide();
- }
+ if (trayIcon) {
+ if (event->type() == QEvent::WindowStateChange &&
+ isMinimized() &&
+ trayIcon->isVisible() &&
+ sysTrayMinimizeToTray()) {
+
+ ToggleShowHide();
+ }
+ }
}
void OBSBasic::on_actionShow_Recordings_triggered()
--
2.12.0

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, luaPackages, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf { stdenv, fetchurl, fetchFromGitHub, luaPackages, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
, xorg, libstartup_notification, libxdg_basedir, libpthreadstubs , xorg, libstartup_notification, libxdg_basedir, libpthreadstubs
, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter , xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm , compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
@ -38,6 +38,13 @@ with luaPackages; stdenv.mkDerivation rec {
xorg.xcbutilrenderutil xorg.xcbutilwm libxkbcommon xorg.xcbutilrenderutil xorg.xcbutilwm libxkbcommon
xcbutilxrm ]; xcbutilxrm ];
patches = [
(fetchurl {
url = "https://patch-diff.githubusercontent.com/raw/awesomeWM/awesome/pull/1639.patch";
sha256 = "00piynmbxajd2xbg960gmf0zlqn7m489f4ww482y49ravfy1jhsj";
})
];
#cmakeFlags = "-DGENERATE_MANPAGES=ON"; #cmakeFlags = "-DGENERATE_MANPAGES=ON";
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}"; LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";

View file

@ -39,6 +39,8 @@
(make-local-variable 'process-environment) (make-local-variable 'process-environment)
(put 'process-environment 'permanent-local t) (put 'process-environment 'permanent-local t)
(inherit-local 'process-environment) (inherit-local 'process-environment)
; setenv modifies in place, so copy the environment first
(setq process-environment (copy-tree process-environment))
(setenv "PATH" (concat "${lib.makeSearchPath "bin" pkgs}:" (getenv "PATH"))) (setenv "PATH" (concat "${lib.makeSearchPath "bin" pkgs}:" (getenv "PATH")))
(inherit-local-permanent exec-path (append '(${builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs)}) exec-path)) (inherit-local-permanent exec-path (append '(${builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs)}) exec-path))

View file

@ -27,13 +27,23 @@ let
in in
stdenv.mkDerivation { with stdenv.lib;
let
extraRepoInitFlags = [
(optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}")
(optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}")
(optionalString (referenceDir != "") "--reference=${referenceDir}")
];
in
stdenv.mkDerivation {
buildCommand = '' buildCommand = ''
mkdir .repo mkdir .repo
${optionalString (local_manifests != []) '' ${optionalString (local_manifests != []) ''
mkdir ./.repo/local_manifests mkdir ./.repo/local_manifests
for local_manifest in ${concatMapStringsSep " " toString local_manifests} for local_manifest in ${concatMapStringsSep " " toString local_manifests}
do do
cp $local_manifest ./.repo/local_manifests/$(stripHash $local_manifest; echo $strippedName) cp $local_manifest ./.repo/local_manifests/$(stripHash $local_manifest; echo $strippedName)
done done

View file

@ -1,4 +1,4 @@
{ stdenv, lib, makeWrapper, buildEnv }: { stdenv, lib, makeWrapper, buildEnv, gtk3, dconf }:
packages: packages:
@ -47,10 +47,11 @@ stdenv.mkDerivation {
--argv0 '"$0"' \ --argv0 '"$0"' \
--suffix PATH : "$env/bin" \ --suffix PATH : "$env/bin" \
--prefix XDG_CONFIG_DIRS : "$env/etc/xdg" \ --prefix XDG_CONFIG_DIRS : "$env/etc/xdg" \
--prefix XDG_DATA_DIRS : "$env/share" \ --prefix XDG_DATA_DIRS : "$env/share:${gtk3}/share/gsettings-schemas/${gtk3.name}" \
--set QML_IMPORT_PATH "$env/lib/qt5/imports" \ --set QML_IMPORT_PATH "$env/lib/qt5/imports" \
--set QML2_IMPORT_PATH "$env/lib/qt5/qml" \ --set QML2_IMPORT_PATH "$env/lib/qt5/qml" \
--set QT_PLUGIN_PATH "$env/lib/qt5/plugins" --set QT_PLUGIN_PATH "$env/lib/qt5/plugins" \
--prefix GIO_EXTRA_MODULES : "${dconf.lib}/lib/gio/modules"
good="1" good="1"
break break
fi fi

View file

@ -0,0 +1,83 @@
# | Build a script to install and start a set of systemd units on any
# systemd-based system.
#
# Creates a symlink at /etc/systemd-static/${namespace} for slightly
# improved atomicity.
{ writeScriptBin
, bash
, coreutils
, systemd
, runCommand
, lib
}:
{ units # : AttrSet String (Either Path { path : Path, wanted-by : [ String ] })
# ^ A set whose names are unit names and values are
# either paths to the corresponding unit files or a set
# containing the path and the list of units this unit
# should be wanted-by (none by default).
#
# The names should include the unit suffix
# (e.g. ".service")
, namespace # : String
# The namespace for the unit files, to allow for
# multiple independent unit sets managed by
# `setupSystemdUnits`.
}:
let static = runCommand "systemd-static" {}
''
mkdir -p $out
${lib.concatStringsSep "\n" (lib.mapAttrsToList (nm: file:
"ln -sv ${file.path or file} $out/${nm}"
) units)}
'';
add-unit-snippet = name: file:
''
oldUnit=$(readlink -f "$unitDir/${name}" || echo "$unitDir/${name}")
if [ -f "$oldUnit" -a "$oldUnit" != "${file.path or file}" ]; then
unitsToStop+=("${name}")
fi
ln -sf "/etc/systemd-static/${namespace}/${name}" \
"$unitDir/.${name}.tmp"
mv -T "$unitDir/.${name}.tmp" "$unitDir/${name}"
${lib.concatStringsSep "\n" (map (unit:
''
mkdir -p "$unitDir/${unit}.wants"
ln -sf "../${name}" \
"$unitDir/${unit}.wants/.${name}.tmp"
mv -T "$unitDir/${unit}.wants/.${name}.tmp" \
"$unitDir/${unit}.wants/${name}"
''
) file.wanted-by or [])}
unitsToStart+=("${name}")
'';
in
writeScriptBin "setup-systemd-units"
''
#!${bash}/bin/bash -e
export PATH=${coreutils}/bin:${systemd}/bin
unitDir=/etc/systemd/system
if [ ! -w "$unitDir" ]; then
unitDir=/etc/systemd-mutable/system
mkdir -p "$unitDir"
fi
declare -a unitsToStop unitsToStart
oldStatic=$(readlink -f /etc/systemd-static/${namespace} || true)
if [ "$oldStatic" != "${static}" ]; then
${lib.concatStringsSep "\n"
(lib.mapAttrsToList add-unit-snippet units)}
if [ ''${#unitsToStop[@]} -ne 0 ]; then
echo "Stopping unit(s) ''${unitsToStop[@]}" >&2
systemctl stop "''${unitsToStop[@]}"
fi
mkdir -p /etc/systemd-static
ln -sfT ${static} /etc/systemd-static/.${namespace}.tmp
mv -T /etc/systemd-static/.${namespace}.tmp /etc/systemd-static/${namespace}
systemctl daemon-reload
echo "Starting unit(s) ''${unitsToStart[@]}" >&2
systemctl start "''${unitsToStart[@]}"
else
echo "Units unchanged, doing nothing" >&2
fi
''

View file

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub }:
let version = "0.2.1"; in
stdenv.mkDerivation {
name = "fontconfig-penultimate-${version}";
src = fetchFromGitHub {
owner = "ttuegel";
repo = "fontconfig-penultimate";
rev = version;
sha256 = "14arpalmpn7ig2myxslk4jdg6lm0cnmwsxy7zl0j7yr417k1kprf";
};
installPhase = ''
mkdir -p $out/etc/fonts/conf.d
cp *.conf $out/etc/fonts/conf.d
'';
meta = with stdenv.lib; {
homepage = https://github.com/ttuegel/fontconfig-penultimate;
description = "Sensible defaults for Fontconfig";
license = licenses.asl20;
maintainers = [ maintainers.ttuegel ];
platforms = platforms.all;
};
}

View file

@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
sha256 = "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6"; sha256 = "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6";
}; };
outputs = [ "out" "lib" "dev" ];
buildInputs = [ vala_0_32 libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2 buildInputs = [ vala_0_32 libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
intltool docbook_xsl docbook_xsl_ns makeWrapper ]; intltool docbook_xsl docbook_xsl_ns makeWrapper ];

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
# Disable Access Control because our X does not support FamilyServerInterpreted yet # Disable Access Control because our X does not support FamilyServerInterpreted yet
patches = [ #./xserver_path.patch # gdm now uses wayland patches = [ ./xserver_path.patch
./sessions_dir.patch ./sessions_dir.patch
./gdm-x-session_extra_args.patch ./gdm-x-session_extra_args.patch
./gdm-session-worker_xserver-path.patch ./gdm-session-worker_xserver-path.patch

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango { stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
, gnome_doc_utils, intltool, libX11, which, itstool }: , gnome_doc_utils, intltool, libX11, which, itstool, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src; inherit (import ./src.nix fetchurl) name src;
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ]; buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ]; nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which wrapGAppsHook ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -1 +1 @@
WGET_ARGS=( http://download.kde.org/stable/plasma/5.9.3/ -A '*.tar.xz' ) WGET_ARGS=( http://download.kde.org/stable/plasma/5.9.4/ -A '*.tar.xz' )

View file

@ -3,323 +3,323 @@
{ {
bluedevil = { bluedevil = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/bluedevil-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/bluedevil-5.9.4.tar.xz";
sha256 = "0cfk0khcd62ficsmpxhiqwfdgwzv771ndlf0s7b8ghqqyckq6bld"; sha256 = "1a31vsaiy7kzbw79kjiia5a966xc9ba3phxhyqmdzvllf9jw5xdc";
name = "bluedevil-5.9.3.tar.xz"; name = "bluedevil-5.9.4.tar.xz";
}; };
}; };
breeze = { breeze = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/breeze-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/breeze-5.9.4.tar.xz";
sha256 = "0f1h7ky9chsnbm8r85lwipc1sh7kb32jdaj3wl9qd7k0q4j115x0"; sha256 = "07i13g9iyq9j2vx22z7krnkahil3qljxpzgmqai8m67gwhgvn1zj";
name = "breeze-5.9.3.tar.xz"; name = "breeze-5.9.4.tar.xz";
}; };
}; };
breeze-grub = { breeze-grub = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/breeze-grub-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/breeze-grub-5.9.4.tar.xz";
sha256 = "1hbvmyj1f5f8v0pc70w93ck27xw25m4x70vnbhgqi91y5dd1gh49"; sha256 = "0rn7dgmw495575lcsnlgvx8r8sjjaaw3b1s0l43d2r186zay0nkr";
name = "breeze-grub-5.9.3.tar.xz"; name = "breeze-grub-5.9.4.tar.xz";
}; };
}; };
breeze-gtk = { breeze-gtk = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/breeze-gtk-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/breeze-gtk-5.9.4.tar.xz";
sha256 = "12qa4wllgr52ycdprlxq0h4pgykbbs0vbmmmiardpzlrplm0an26"; sha256 = "1xjrhi6cq5dd5qslphdjrg018ni1z9xdac7cg33wl8bsvzcl0xgl";
name = "breeze-gtk-5.9.3.tar.xz"; name = "breeze-gtk-5.9.4.tar.xz";
}; };
}; };
breeze-plymouth = { breeze-plymouth = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/breeze-plymouth-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/breeze-plymouth-5.9.4.tar.xz";
sha256 = "0vz0hgx3hl03h4rkfrcaydaddljam3jbg6gd7n600a068p74s2mm"; sha256 = "1vwlvnbsc67xzqvrpgkva1rlim075x9ffjlsxfk38gmq00b7s88g";
name = "breeze-plymouth-5.9.3.tar.xz"; name = "breeze-plymouth-5.9.4.tar.xz";
}; };
}; };
discover = { discover = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/discover-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/discover-5.9.4.tar.xz";
sha256 = "0xkf08k4jz5ym406bpnjf3xsx0il9wka4jp2k38bkl3sxh2s900f"; sha256 = "1pf2qawa32x94ljqscfbpmkbxk5awlqbf9jw9w7rfqwd5z9cgzzf";
name = "discover-5.9.3.tar.xz"; name = "discover-5.9.4.tar.xz";
}; };
}; };
kactivitymanagerd = { kactivitymanagerd = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kactivitymanagerd-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kactivitymanagerd-5.9.4.tar.xz";
sha256 = "0ywby3ijq4hjljy5qwd7rybpk2x4scairjffiy5n1jg7lq6sm44r"; sha256 = "04i4zmbblsx3xz3vq4m88qd3ky0r5v26ivjchzpcpgkczqv85x1j";
name = "kactivitymanagerd-5.9.3.tar.xz"; name = "kactivitymanagerd-5.9.4.tar.xz";
}; };
}; };
kde-cli-tools = { kde-cli-tools = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kde-cli-tools-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kde-cli-tools-5.9.4.tar.xz";
sha256 = "1p9zjp9jmknyh82d6av3xhy461fsdppjxrxbmrlm9z6nsjyp0m0a"; sha256 = "1a2ssv7mphqnzwphd8nkh0g0g4w9b2r0ah0a9wd5ssnr5xg3izm8";
name = "kde-cli-tools-5.9.3.tar.xz"; name = "kde-cli-tools-5.9.4.tar.xz";
}; };
}; };
kdecoration = { kdecoration = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kdecoration-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kdecoration-5.9.4.tar.xz";
sha256 = "1z37llaqf9mrb4aif75dfvbhr51rrgfpncv70v916jddcf90q4i9"; sha256 = "12cfp4svhxfygbjhymnmwyryx6r117mkdy2iq9adbq5af3gak972";
name = "kdecoration-5.9.3.tar.xz"; name = "kdecoration-5.9.4.tar.xz";
}; };
}; };
kde-gtk-config = { kde-gtk-config = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kde-gtk-config-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kde-gtk-config-5.9.4.tar.xz";
sha256 = "1wxk3brwq105258ndx5l98n78q2h2idigkpp5s2xzmzw05m3gg6r"; sha256 = "0cg3myr3jr9i4vxpqbd8gs7yrscxn15a96zqvgsbjczlfmxanq86";
name = "kde-gtk-config-5.9.3.tar.xz"; name = "kde-gtk-config-5.9.4.tar.xz";
}; };
}; };
kdeplasma-addons = { kdeplasma-addons = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kdeplasma-addons-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kdeplasma-addons-5.9.4.tar.xz";
sha256 = "1k3fsrafrd72qymyi2ij36al7k92mnssz90kmmh830pszif16js3"; sha256 = "019d3d3pkw1c6l7dggasr7g7yj9kl3xd2hsawch1s9ba420fd6fp";
name = "kdeplasma-addons-5.9.3.tar.xz"; name = "kdeplasma-addons-5.9.4.tar.xz";
}; };
}; };
kgamma5 = { kgamma5 = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kgamma5-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kgamma5-5.9.4.tar.xz";
sha256 = "02s3j1c5gjcv7b79448sizs6hdw91jysq9prkzznprw6jbb615v1"; sha256 = "0qwgjdrjfc48d8j62iwz6d61nxd7ddcsxn7wmxgbgl3l36p5j0jv";
name = "kgamma5-5.9.3.tar.xz"; name = "kgamma5-5.9.4.tar.xz";
}; };
}; };
khotkeys = { khotkeys = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/khotkeys-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/khotkeys-5.9.4.tar.xz";
sha256 = "0jv77rpx01cl15qf9vzndpks2q2lgq8dhjq4pg34zh8khr03snlf"; sha256 = "0lhgkvnrzsxpw6vpn0xam1a4dgkfb0k9h3nchaf93fyl8745j4q0";
name = "khotkeys-5.9.3.tar.xz"; name = "khotkeys-5.9.4.tar.xz";
}; };
}; };
kinfocenter = { kinfocenter = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kinfocenter-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kinfocenter-5.9.4.tar.xz";
sha256 = "14zaqrjf77008dc5c071hw75vd4dwvvmgkyz74vhs94i7bspzy6a"; sha256 = "14vf27s501r6ac2gxashwi3ynlcncjp03rahz61wry1dsm9wsc4x";
name = "kinfocenter-5.9.3.tar.xz"; name = "kinfocenter-5.9.4.tar.xz";
}; };
}; };
kmenuedit = { kmenuedit = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kmenuedit-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kmenuedit-5.9.4.tar.xz";
sha256 = "1m7naiy6jq031psdx4jsxq7vsldn9j4girq820m24inh2ky105zk"; sha256 = "1lx7g67qc7amx8jsna7b13hhq85pv4969d9824qfciwywj19sx4x";
name = "kmenuedit-5.9.3.tar.xz"; name = "kmenuedit-5.9.4.tar.xz";
}; };
}; };
kscreen = { kscreen = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kscreen-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kscreen-5.9.4.tar.xz";
sha256 = "1z3cihgjqrkg5h4y4gm1ah60r0vfpxrngry10fcc6343arbyk1bb"; sha256 = "1g4i4rwnmni3q3crbywkp0s199bp0bl8cx97d37cp9qh6drsgrxx";
name = "kscreen-5.9.3.tar.xz"; name = "kscreen-5.9.4.tar.xz";
}; };
}; };
kscreenlocker = { kscreenlocker = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kscreenlocker-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kscreenlocker-5.9.4.tar.xz";
sha256 = "0ccpgfp1gz07yiw98sqjlc097cac4z9qdcrwxm65bvqjj777by1a"; sha256 = "0cn194bmab7qgv1x7gg81l0mj3k9x1is9whn8h7g02pzn5c6gqlj";
name = "kscreenlocker-5.9.3.tar.xz"; name = "kscreenlocker-5.9.4.tar.xz";
}; };
}; };
ksshaskpass = { ksshaskpass = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/ksshaskpass-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/ksshaskpass-5.9.4.tar.xz";
sha256 = "0jk6k5bn2aqjjl3li5qpmihk57d5hc197cpqjaj61a0bapab42hw"; sha256 = "1w1m55i8i9f3npcczqiy1knarbh2j4cp8ispif1s4j6k3vixqnka";
name = "ksshaskpass-5.9.3.tar.xz"; name = "ksshaskpass-5.9.4.tar.xz";
}; };
}; };
ksysguard = { ksysguard = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/ksysguard-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/ksysguard-5.9.4.tar.xz";
sha256 = "0paypcwah41p2ygmfwzhw8mdfh47a6x0190yngxn8j0jhzfyllca"; sha256 = "04hzqkna22vsa12z04cy50s2jzglllfhd5vz33vk2wj6zgghwd0h";
name = "ksysguard-5.9.3.tar.xz"; name = "ksysguard-5.9.4.tar.xz";
}; };
}; };
kwallet-pam = { kwallet-pam = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kwallet-pam-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kwallet-pam-5.9.4.tar.xz";
sha256 = "1pmsfp6pn1r3crg5z5v7sz413v9qvn0j4n9l88zbw538lz2scpna"; sha256 = "0l6ganmp2ml0icfkrqcq4vngm8f4pl76p6w13a3m8x2k2wrsbynw";
name = "kwallet-pam-5.9.3.tar.xz"; name = "kwallet-pam-5.9.4.tar.xz";
}; };
}; };
kwayland-integration = { kwayland-integration = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kwayland-integration-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kwayland-integration-5.9.4.tar.xz";
sha256 = "1r3cryv10lkvl1nrpq21w4kj9jd270m3p3dw07d888b891rgmzb7"; sha256 = "11vqi293azv5cpz2rrngxsqqaj7swcmxivgm688yz6wzbm8gyd1x";
name = "kwayland-integration-5.9.3.tar.xz"; name = "kwayland-integration-5.9.4.tar.xz";
}; };
}; };
kwin = { kwin = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kwin-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kwin-5.9.4.tar.xz";
sha256 = "119cy472x5ssrr54v14pbs85gfrsjhz99ms8flb1xp38jb14xxhk"; sha256 = "0qckhk6vd31mwhawb0i636l4vx99v0v84nam2dhpd0rcdk2b0dm1";
name = "kwin-5.9.3.tar.xz"; name = "kwin-5.9.4.tar.xz";
}; };
}; };
kwrited = { kwrited = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/kwrited-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/kwrited-5.9.4.tar.xz";
sha256 = "0liqspd4m6xly48vv85abnaxfvsjcbgg58843j9fpnzkk9nlj98q"; sha256 = "1prbn0f6a1cywn2ivzv39bxfc5nxmgxp7gqlxqg87ajig43gvdb7";
name = "kwrited-5.9.3.tar.xz"; name = "kwrited-5.9.4.tar.xz";
}; };
}; };
libkscreen = { libkscreen = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/libkscreen-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/libkscreen-5.9.4.tar.xz";
sha256 = "1nxhbxmr0kmyp745bf3vd21xcjpv7jac9bdagraiqfcmwj4f86gb"; sha256 = "1h39910ry59wd179fk02ck10ydaby3il4q3rnxlnn9qph0kiy3pv";
name = "libkscreen-5.9.3.tar.xz"; name = "libkscreen-5.9.4.tar.xz";
}; };
}; };
libksysguard = { libksysguard = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/libksysguard-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/libksysguard-5.9.4.tar.xz";
sha256 = "0fj7rycawarg7iydml0xw20nkyxlwa2nl5chxbbcs5mnmvpfv6ig"; sha256 = "1gpfqr8prk96vwy9dkxlgf4lc3ck04a31src9mix8a6wrr01ppqm";
name = "libksysguard-5.9.3.tar.xz"; name = "libksysguard-5.9.4.tar.xz";
}; };
}; };
milou = { milou = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/milou-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/milou-5.9.4.tar.xz";
sha256 = "1pmk9czmpz0mfqmkv7gl9wdlj8b7wwixv1zb43q24a471qby2xf3"; sha256 = "18xzx99ml6gcglly9p98rscs6dxhdgn9pkc5mn7apwnp7865kbfw";
name = "milou-5.9.3.tar.xz"; name = "milou-5.9.4.tar.xz";
}; };
}; };
oxygen = { oxygen = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/oxygen-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/oxygen-5.9.4.tar.xz";
sha256 = "1v529wp9ll1hzb48xswigzf2r23k84f4cd7am2fnj73p3a0rg5ia"; sha256 = "0fmysq3j0v18hz6hfp7qgrj3ghmaf3c1gam9c9263sf9q1dghk0q";
name = "oxygen-5.9.3.tar.xz"; name = "oxygen-5.9.4.tar.xz";
}; };
}; };
plasma-desktop = { plasma-desktop = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-desktop-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-desktop-5.9.4.tar.xz";
sha256 = "0582n21nd15834mxc54pq1nx9a5z8ds3yz0x0lc5m35ps7abh7im"; sha256 = "1p3iq5rmfznsi4174zjavs945wysf763ha46vd83mz0w7583j6cd";
name = "plasma-desktop-5.9.3.tar.xz"; name = "plasma-desktop-5.9.4.tar.xz";
}; };
}; };
plasma-integration = { plasma-integration = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-integration-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-integration-5.9.4.tar.xz";
sha256 = "1yq3i0sqsn0m2y62npyad1nv17hgc0fm35cfq5fdjd96sr356znl"; sha256 = "1mk59p214184m2q8wfik8gkfxxikrvric0v8c09lamybg15pas8m";
name = "plasma-integration-5.9.3.tar.xz"; name = "plasma-integration-5.9.4.tar.xz";
}; };
}; };
plasma-nm = { plasma-nm = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-nm-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-nm-5.9.4.tar.xz";
sha256 = "1i5djnbimkwcbjh6bi0cdw98qskli4jd1c8a8dbwqqh5pyqbrf66"; sha256 = "0sbvyyhx7gxg1li5y1h7jv1s3krp2ch6zzhm9ad1l17w589kij9x";
name = "plasma-nm-5.9.3.tar.xz"; name = "plasma-nm-5.9.4.tar.xz";
}; };
}; };
plasma-pa = { plasma-pa = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-pa-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-pa-5.9.4.tar.xz";
sha256 = "0br83bnm6g7lzw4hwkppk8l6scbzblr3m3mi64a852lnxxvdwn01"; sha256 = "0hincgm6x613sw3mywq64i27laahqzy7qjiv24g8h3ppw75a32i8";
name = "plasma-pa-5.9.3.tar.xz"; name = "plasma-pa-5.9.4.tar.xz";
}; };
}; };
plasma-sdk = { plasma-sdk = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-sdk-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-sdk-5.9.4.tar.xz";
sha256 = "104rhybchdjqnglzp3bpjv8052n2gi44bn58nyb6wz6gkzg3xzrb"; sha256 = "0nw49kaw7323dmaq8hh4zrhvy6ga6svg2g0zhxj0cjjwgbk31pfw";
name = "plasma-sdk-5.9.3.tar.xz"; name = "plasma-sdk-5.9.4.tar.xz";
}; };
}; };
plasma-tests = { plasma-tests = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-tests-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-tests-5.9.4.tar.xz";
sha256 = "1wpbfna9yjvzc5fhgnw2hwnq04vzb3qfy42zrwbijy8sl6csgzzp"; sha256 = "0m6dlx29785kh1pxm0xyym85k475s8gdjds6ywgpblj9lh5rm4v5";
name = "plasma-tests-5.9.3.tar.xz"; name = "plasma-tests-5.9.4.tar.xz";
}; };
}; };
plasma-workspace = { plasma-workspace = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-workspace-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-workspace-5.9.4.tar.xz";
sha256 = "0lnb36qnkw5z7w1y5ykiz6xfhc4h21dzlbhddipvd97bxycad6vg"; sha256 = "0pazgn45a445wknd3xp7jnsg6k5ddqv4pjrz2ggkbaz9mrllgbqm";
name = "plasma-workspace-5.9.3.tar.xz"; name = "plasma-workspace-5.9.4.tar.xz";
}; };
}; };
plasma-workspace-wallpapers = { plasma-workspace-wallpapers = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/plasma-workspace-wallpapers-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/plasma-workspace-wallpapers-5.9.4.tar.xz";
sha256 = "1ikjj41nn5hn9r3glfhqsizawhkpw3cvybqq0ym4zky9lvbxzxb0"; sha256 = "0jngl7a86xr09g87iydw8fi4ggh6hmz5vaznx4xqh403xf9pl281";
name = "plasma-workspace-wallpapers-5.9.3.tar.xz"; name = "plasma-workspace-wallpapers-5.9.4.tar.xz";
}; };
}; };
polkit-kde-agent = { polkit-kde-agent = {
version = "1-5.9.3"; version = "1-5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/polkit-kde-agent-1-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/polkit-kde-agent-1-5.9.4.tar.xz";
sha256 = "0kfafag3bqp03aaa5dn7f8mkc174s80mwn98linl1dn12np2wv2q"; sha256 = "10x3vgdjkvzmnv5zl65q0mj6gxlcl620kyva1cx3qhq93w68jfjc";
name = "polkit-kde-agent-1-5.9.3.tar.xz"; name = "polkit-kde-agent-1-5.9.4.tar.xz";
}; };
}; };
powerdevil = { powerdevil = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/powerdevil-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/powerdevil-5.9.4.tar.xz";
sha256 = "1sphmngckfns5sx0n95njf39m02fg3q7bdafwrw8i4lv2svb1axj"; sha256 = "1fpp06criw51lpg21f3xm4gd9yzjj08lr5j8908qz2dywqlp91rv";
name = "powerdevil-5.9.3.tar.xz"; name = "powerdevil-5.9.4.tar.xz";
}; };
}; };
sddm-kcm = { sddm-kcm = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/sddm-kcm-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/sddm-kcm-5.9.4.tar.xz";
sha256 = "142na2cnx5v459798fq6gx30k9v0i10myfyvgv562n1x79nbkyl0"; sha256 = "1zrda4vzvqh6vs93yl2g4b63siqb5cqhrp4kknzm571djiar26ll";
name = "sddm-kcm-5.9.3.tar.xz"; name = "sddm-kcm-5.9.4.tar.xz";
}; };
}; };
systemsettings = { systemsettings = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/systemsettings-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/systemsettings-5.9.4.tar.xz";
sha256 = "15ihvbkp91dz1z1z5dqgqyziiklzq2zkl3ns8dqzs3pbpki7jbqc"; sha256 = "03h5dagghjg6qhjbf0fnlhwh2v1nh7w22g00g1qzi8yrads1icy1";
name = "systemsettings-5.9.3.tar.xz"; name = "systemsettings-5.9.4.tar.xz";
}; };
}; };
user-manager = { user-manager = {
version = "5.9.3"; version = "5.9.4";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.9.3/user-manager-5.9.3.tar.xz"; url = "${mirror}/stable/plasma/5.9.4/user-manager-5.9.4.tar.xz";
sha256 = "1s91zgh1rcqrpyh9fiklwqj2m78ify5fv83kh9zvyl4bapgyb0gn"; sha256 = "1cjwkxb5qzj8sbkhcyyzw1axzddb2pwbd16wmaqpiz9qh2k4mr64";
name = "user-manager-5.9.3.tar.xz"; name = "user-manager-5.9.4.tar.xz";
}; };
}; };
} }

View file

@ -1,22 +1,26 @@
{ fetchgit, fetchFromGitHub, bootPkgs }: { fetchgit, fetchFromGitHub, bootPkgs }:
bootPkgs.callPackage ./base.nix { bootPkgs.callPackage ./base.nix {
version = "0.2.020161101"; version = "0.2.020170323";
# deprecated on HEAD, directly included in the distribution # deprecated on HEAD, directly included in the distribution
ghcjs-prim = null; ghcjs-prim = null;
inherit bootPkgs; inherit bootPkgs;
ghcjsSrc = fetchFromGitHub { ghcjsSrc = fetchFromGitHub {
owner = "ghcjs"; # TODO: switch back to the regular ghcjs repo
# when https://github.com/ghcjs/ghcjs/pull/573 is merged.
owner = "basvandijk";
repo = "ghcjs"; repo = "ghcjs";
rev = "2dc14802e78d7d9dfa35395d5dbfc9c708fb83e6"; rev = "e6cdc71964a1c2e4184416a493e9d384c408914c";
sha256 = "0cvmapbrwg0h1pbz648isc2l84z694ylnfm8ncd1g4as28lmj0pz"; sha256 = "00fk9qwyx4vpvr0h9jbqxwlrvl6w63l5sq8r357prsp6xyv5zniz";
}; };
ghcjsBootSrc = fetchgit { ghcjsBootSrc = fetchgit {
url = git://github.com/ghcjs/ghcjs-boot.git; # TODO: switch back to git://github.com/ghcjs/ghcjs-boot.git
rev = "b000a4f4619b850bf3f9a45c9058f7a51e7709c8"; # when https://github.com/ghcjs/ghcjs-boot/pull/41 is merged.
sha256 = "164v0xf33r6mnympp6s70v8j6g7ccyg7z95gjp43bq150ppvisbq"; url = git://github.com/basvandijk/ghcjs-boot.git;
rev = "19a3b157ecb807c2224daffda5baecc92b76af35";
sha256 = "16sgr8vfr1nx5ljnk8gckgjk70zpa67ix4dbr9aizkwyz41ilfrb";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -2,107 +2,117 @@
{ {
async = callPackage async = callPackage
({ mkDerivation, base, HUnit, stdenv, stm, test-framework ({ mkDerivation, base, HUnit, stm, test-framework
, test-framework-hunit , test-framework-hunit, stdenv
}: }:
mkDerivation { mkDerivation {
pname = "async"; pname = "async";
version = "2.1.0"; version = "2.1.1";
src = "${ghcjsBoot}/boot/async"; src = "${ghcjsBoot}/boot/async";
doCheck = false; doCheck = false;
libraryHaskellDepends = [ base stm ]; libraryHaskellDepends = [ base stm ];
testHaskellDepends = [ testHaskellDepends = [
base HUnit test-framework test-framework-hunit base HUnit test-framework test-framework-hunit
]; ];
jailbreak = true; jailbreak = true;
homepage = "https://github.com/simonmar/async"; homepage = "https://github.com/simonmar/async";
description = "Run IO operations asynchronously and wait for their results"; description = "Run IO operations asynchronously and wait for their results";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
aeson = callPackage aeson = callPackage
({ mkDerivation, attoparsec, base, bytestring, containers, deepseq ({ mkDerivation, attoparsec, base, base-compat, base-orphans
, dlist, fail, ghc-prim, hashable, HUnit, mtl, QuickCheck, scientific , base16-bytestring, bytestring, containers, deepseq, directory
, stdenv, syb, tagged, template-haskell, test-framework , dlist, fetchgit, filepath, generic-deriving, ghc-prim, hashable
, test-framework-hunit, test-framework-quickcheck2, text, time , hashable-time, HUnit, integer-logarithms, QuickCheck
, transformers, unordered-containers, vector , quickcheck-instances, scientific, stdenv, tagged
}: , template-haskell, test-framework, test-framework-hunit
mkDerivation { , test-framework-quickcheck2, text, time, time-locale-compat
pname = "aeson"; , unordered-containers, uuid-types, vector
version = "0.11.2.0"; }:
src = "${ghcjsBoot}/boot/aeson"; mkDerivation {
doCheck = false; pname = "aeson";
libraryHaskellDepends = [ version = "1.1.1.0";
attoparsec base bytestring containers deepseq dlist fail ghc-prim src = "${ghcjsBoot}/boot/aeson";
hashable mtl scientific syb tagged template-haskell text time transformers libraryHaskellDepends = [
unordered-containers vector attoparsec base base-compat bytestring containers deepseq dlist
]; ghc-prim hashable scientific tagged template-haskell text time
testHaskellDepends = [ time-locale-compat unordered-containers uuid-types vector
attoparsec base bytestring containers ghc-prim HUnit QuickCheck ];
template-haskell test-framework test-framework-hunit testHaskellDepends = [
test-framework-quickcheck2 text time unordered-containers vector attoparsec base base-compat base-orphans base16-bytestring
]; bytestring containers directory dlist filepath generic-deriving
jailbreak = true; ghc-prim hashable hashable-time HUnit integer-logarithms QuickCheck
homepage = "https://github.com/bos/aeson"; quickcheck-instances scientific tagged template-haskell
description = "Fast JSON parsing and encoding"; test-framework test-framework-hunit test-framework-quickcheck2 text
license = stdenv.lib.licenses.bsd3; time time-locale-compat unordered-containers uuid-types vector
}) {}; ];
jailbreak = true;
homepage = "https://github.com/bos/aeson";
description = "Fast JSON parsing and encoding";
license = stdenv.lib.licenses.bsd3;
}) {};
attoparsec = callPackage attoparsec = callPackage
({ mkDerivation, array, base, bytestring, containers, deepseq ({ mkDerivation, array, base, bytestring, case-insensitive
, QuickCheck, quickcheck-unicode, scientific, stdenv , containers, criterion, deepseq, directory, filepath, ghc-prim
, test-framework, test-framework-quickcheck2, text, transformers , http-types, parsec, QuickCheck, quickcheck-unicode, scientific
, vector , tasty, tasty-quickcheck, text, transformers, unordered-containers
}: , vector, stdenv
mkDerivation { }:
pname = "attoparsec"; mkDerivation {
version = "0.13.0.2"; pname = "attoparsec";
src = "${ghcjsBoot}/boot/attoparsec"; version = "0.13.1.0";
doCheck = false; src = "${ghcjsBoot}/boot/attoparsec";
libraryHaskellDepends = [ libraryHaskellDepends = [
array base bytestring containers deepseq scientific text array base bytestring containers deepseq scientific text
transformers transformers
]; ];
testHaskellDepends = [ testHaskellDepends = [
array base bytestring containers deepseq QuickCheck array base bytestring deepseq QuickCheck quickcheck-unicode
quickcheck-unicode scientific test-framework scientific tasty tasty-quickcheck text transformers vector
test-framework-quickcheck2 text transformers vector ];
]; benchmarkHaskellDepends = [
jailbreak = true; array base bytestring case-insensitive containers criterion deepseq
homepage = "https://github.com/bos/attoparsec"; directory filepath ghc-prim http-types parsec scientific text
description = "Fast combinator parsing for bytestrings and text"; transformers unordered-containers vector
license = stdenv.lib.licenses.bsd3; ];
}) {}; jailbreak = true;
homepage = "https://github.com/bos/attoparsec";
description = "Fast combinator parsing for bytestrings and text";
license = stdenv.lib.licenses.bsd3;
}) {};
case-insensitive = callPackage case-insensitive = callPackage
({ mkDerivation, base, bytestring, deepseq, hashable, HUnit, stdenv ({ mkDerivation, base, bytestring, criterion, deepseq, hashable
, test-framework, test-framework-hunit, text , HUnit, test-framework, test-framework-hunit, text, stdenv
}: }:
mkDerivation { mkDerivation {
pname = "case-insensitive"; pname = "case-insensitive";
version = "1.2.0.6"; version = "1.2.0.8";
src = "${ghcjsBoot}/boot/case-insensitive"; src = "${ghcjsBoot}/boot/case-insensitive";
doCheck = false; doCheck = false;
libraryHaskellDepends = [ base bytestring deepseq hashable text ]; libraryHaskellDepends = [ base bytestring deepseq hashable text ];
testHaskellDepends = [ testHaskellDepends = [
base bytestring HUnit test-framework test-framework-hunit text base bytestring HUnit test-framework test-framework-hunit text
]; ];
jailbreak = true; benchmarkHaskellDepends = [ base bytestring criterion deepseq ];
homepage = "https://github.com/basvandijk/case-insensitive"; jailbreak = true;
description = "Case insensitive string comparison"; homepage = "https://github.com/basvandijk/case-insensitive";
license = stdenv.lib.licenses.bsd3; description = "Case insensitive string comparison";
}) {}; license = stdenv.lib.licenses.bsd3;
}) {};
dlist = callPackage dlist = callPackage
({ mkDerivation, base, Cabal, deepseq, QuickCheck, stdenv }: ({ mkDerivation, base, Cabal, deepseq, QuickCheck, stdenv }:
mkDerivation { mkDerivation {
pname = "dlist"; pname = "dlist";
version = "0.7.1.2"; version = "0.8.0.2";
src = "${ghcjsBoot}/boot/dlist"; src = "${ghcjsBoot}/boot/dlist";
doCheck = false; doCheck = false;
libraryHaskellDepends = [ base deepseq ]; libraryHaskellDepends = [ base deepseq ];
testHaskellDepends = [ base Cabal QuickCheck ]; testHaskellDepends = [ base Cabal QuickCheck ];
jailbreak = true; jailbreak = true;
homepage = "https://github.com/spl/dlist"; homepage = "https://github.com/spl/dlist";
description = "Difference lists"; description = "Difference lists";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
extensible-exceptions = callPackage extensible-exceptions = callPackage
({ mkDerivation, base, stdenv }: ({ mkDerivation, base, stdenv }:
mkDerivation { mkDerivation {
@ -175,29 +185,29 @@
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
scientific = callPackage scientific = callPackage
({ mkDerivation, base, binary, bytestring, containers, deepseq, ghc-prim ({ mkDerivation, base, binary, bytestring, containers, criterion
, hashable, integer-gmp, QuickCheck, smallcheck, stdenv, tasty , deepseq, ghc-prim, hashable, integer-gmp, integer-logarithms
, tasty-ant-xml, tasty-hunit, tasty-quickcheck, tasty-smallcheck , QuickCheck, smallcheck, tasty, tasty-ant-xml, tasty-hunit
, text, vector , tasty-quickcheck, tasty-smallcheck, text, vector, stdenv
}: }:
mkDerivation { mkDerivation {
pname = "scientific"; pname = "scientific";
version = "0.3.4.7"; version = "0.3.4.10";
src = "${ghcjsBoot}/boot/scientific"; src = "${ghcjsBoot}/boot/scientific";
doCheck = false; libraryHaskellDepends = [
libraryHaskellDepends = [ base binary bytestring containers deepseq ghc-prim hashable
base binary bytestring containers deepseq ghc-prim hashable integer-gmp integer-logarithms text vector
integer-gmp text vector ];
]; testHaskellDepends = [
testHaskellDepends = [ base binary bytestring QuickCheck smallcheck tasty tasty-ant-xml
base bytestring QuickCheck smallcheck tasty tasty-ant-xml tasty-hunit tasty-quickcheck tasty-smallcheck text
tasty-hunit tasty-quickcheck tasty-smallcheck text ];
]; benchmarkHaskellDepends = [ base criterion ];
jailbreak = true; jailbreak = true;
homepage = "https://github.com/basvandijk/scientific"; homepage = "https://github.com/basvandijk/scientific";
description = "Numbers represented using scientific notation"; description = "Numbers represented using scientific notation";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
stm = callPackage stm = callPackage
({ mkDerivation, array, base, stdenv }: ({ mkDerivation, array, base, stdenv }:
mkDerivation { mkDerivation {
@ -224,6 +234,23 @@
description = "Scrap Your Boilerplate"; description = "Scrap Your Boilerplate";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
tagged = callPackage
({ mkDerivation, base, deepseq, template-haskell, transformers
, transformers-compat, stdenv
}:
mkDerivation {
pname = "tagged";
version = "0.8.5";
src = "${ghcjsBoot}/boot/tagged";
doCheck = false;
libraryHaskellDepends = [
base deepseq template-haskell transformers transformers-compat
];
jailbreak = true;
homepage = "http://github.com/ekmett/tagged";
description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
license = stdenv.lib.licenses.bsd3;
}) {};
text = callPackage text = callPackage
({ mkDerivation, array, base, binary, bytestring, deepseq, directory ({ mkDerivation, array, base, binary, bytestring, deepseq, directory
, ghc-prim, HUnit, integer-gmp, QuickCheck, quickcheck-unicode , ghc-prim, HUnit, integer-gmp, QuickCheck, quickcheck-unicode
@ -249,25 +276,52 @@
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
unordered-containers = callPackage unordered-containers = callPackage
({ mkDerivation, base, ChasingBottoms, containers, deepseq, hashable ({ mkDerivation, base, bytestring, ChasingBottoms, containers
, HUnit, QuickCheck, stdenv, test-framework, test-framework-hunit , criterion, deepseq, deepseq-generics, hashable, hashmap, HUnit
, test-framework-quickcheck2 , mtl, QuickCheck, random, test-framework, test-framework-hunit
}: , test-framework-quickcheck2, stdenv
mkDerivation { }:
pname = "unordered-containers"; mkDerivation {
version = "0.2.7.0"; pname = "unordered-containers";
src = "${ghcjsBoot}/boot/unordered-containers"; version = "0.2.7.2";
doCheck = false; src = "${ghcjsBoot}/boot/unordered-containers";
libraryHaskellDepends = [ base deepseq hashable ]; libraryHaskellDepends = [ base deepseq hashable ];
testHaskellDepends = [ testHaskellDepends = [
base ChasingBottoms containers hashable HUnit QuickCheck base ChasingBottoms containers hashable HUnit QuickCheck
test-framework test-framework-hunit test-framework-quickcheck2 test-framework test-framework-hunit test-framework-quickcheck2
]; ];
jailbreak = true; benchmarkHaskellDepends = [
homepage = "https://github.com/tibbe/unordered-containers"; base bytestring containers criterion deepseq deepseq-generics
description = "Efficient hashing-based container types"; hashable hashmap mtl random
license = stdenv.lib.licenses.bsd3; ];
}) {}; jailbreak = true;
homepage = "https://github.com/tibbe/unordered-containers";
description = "Efficient hashing-based container types";
license = stdenv.lib.licenses.bsd3;
}) {};
uuid-types = callPackage
({ mkDerivation, base, binary, bytestring, containers, criterion
, deepseq, hashable, HUnit, QuickCheck, random, stdenv, tasty
, tasty-hunit, tasty-quickcheck, text
}:
mkDerivation {
pname = "uuid-types";
version = "1.0.3";
src = "${ghcjsBoot}/boot/uuid/uuid-types";
libraryHaskellDepends = [
base binary bytestring deepseq hashable random text
];
testHaskellDepends = [
base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
];
benchmarkHaskellDepends = [
base bytestring containers criterion deepseq random
];
jailbreak = true;
homepage = "https://github.com/aslatter/uuid";
description = "Type definitions for Universally Unique Identifiers";
license = stdenv.lib.licenses.bsd3;
}) {};
vector = callPackage vector = callPackage
({ mkDerivation, base, deepseq, ghc-prim, primitive, QuickCheck ({ mkDerivation, base, deepseq, ghc-prim, primitive, QuickCheck
, random, stdenv, template-haskell, test-framework , random, stdenv, template-haskell, test-framework

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, jre, unzip }: { stdenv, fetchurl, makeWrapper, jre, unzip }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.1"; version = "1.1.1";
name = "kotlin-${version}"; name = "kotlin-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
sha256 = "179m5y56fi50qvxsm075h0547swib7n2pfdn8a4axk9wpwldni5a"; sha256 = "1c96l1bkll0l8c82cfzmph0z38f96r3x68zmggq4s8hhdqgwk8mc";
}; };
propagatedBuildInputs = [ jre ] ; propagatedBuildInputs = [ jre ] ;

View file

@ -1,6 +1,12 @@
{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: { stdenv, cmake, fetch, fetchpatch, libcxx, libunwind, llvm, version }:
stdenv.mkDerivation { let
# Newer LLVMs (3.8 onwards) have changed how some basic C++ stuff works, which breaks builds of this older version
llvm38-and-above = fetchpatch {
url = "https://trac.macports.org/raw-attachment/ticket/50304/0005-string-Fix-exception-declaration.patch";
sha256 = "1lm38n7s0l5dbl7kp4i49pvzxz1mcvlr2vgsnj47agnwhhm63jvr";
};
in stdenv.mkDerivation {
name = "libc++abi-${version}"; name = "libc++abi-${version}";
src = fetch "libcxxabi" "0ambfcmr2nh88hx000xb7yjm9lsqjjz49w5mlf6dlxzmj3nslzx4"; src = fetch "libcxxabi" "0ambfcmr2nh88hx000xb7yjm9lsqjjz49w5mlf6dlxzmj3nslzx4";
@ -16,6 +22,13 @@ stdenv.mkDerivation {
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
''; '';
# I can't use patches directly because this is actually a patch for libc++'s source, which we manually extract
# into the libc++abi build environment above.
prePatch = ''(
cd ../libcxx-*
patch -p1 < ${llvm38-and-above}
)'';
installPhase = if stdenv.isDarwin installPhase = if stdenv.isDarwin
then '' then ''
for file in lib/*.dylib; do for file in lib/*.dylib; do

View file

@ -29,12 +29,23 @@ let
sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
''; '';
outputs = [ "out" "python" ];
# Clang expects to find LLVMgold in its own prefix # Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp
mkdir -p $python/bin $python/share/clang/
mv $out/bin/{git-clang-format,scan-view} $python/bin
if [ -e $out/bin/set-xcode-analyzer ]; then
mv $out/bin/set-xcode-analyzer $python/bin
fi
mv $out/share/clang/*.py $python/share/clang
rm $out/bin/c-index-test
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -40,8 +40,7 @@ in stdenv.mkDerivation rec {
outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib"; outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
buildInputs = [ perl groff cmake libxml2 python libffi ] buildInputs = [ perl groff cmake libxml2 python libffi ]
++ stdenv.lib.optionals stdenv.isDarwin ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
[ libcxxabi darwin.cctools darwin.apple_sdk.libs.xpc ];
propagatedBuildInputs = [ ncurses zlib ]; propagatedBuildInputs = [ ncurses zlib ];
@ -53,11 +52,15 @@ in stdenv.mkDerivation rec {
sha256 = "11sq86spw41v72f676igksapdlsgh7fiqp5qkkmgfj0ndqcn9skf"; sha256 = "11sq86spw41v72f676igksapdlsgh7fiqp5qkkmgfj0ndqcn9skf";
}} }}
'' ''
# hacky fix: New LLVM releases require a newer OS X SDK than # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
# 10.9. This is a temporary measure until nixpkgs darwin support is # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
# updated. # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
# get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
# a flag and turn the flag off during the stdenv build. I realize that this LLVM isn't used in the stdenv but I want to
# keep it consistent with 4.0. We really shouldn't be copying and pasting all this code around...
+ stdenv.lib.optionalString stdenv.isDarwin '' + stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc substituteInPlace ./projects/compiler-rt/cmake/config-ix.cmake \
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
'' ''
# Patch llvm-config to return correct library path based on --link-{shared,static}. # Patch llvm-config to return correct library path based on --link-{shared,static}.
+ stdenv.lib.optionalString (enableSharedLibraries) '' + stdenv.lib.optionalString (enableSharedLibraries) ''
@ -85,7 +88,6 @@ in stdenv.mkDerivation rec {
++ stdenv.lib.optionals (isDarwin) [ ++ stdenv.lib.optionals (isDarwin) [
"-DLLVM_ENABLE_LIBCXX=ON" "-DLLVM_ENABLE_LIBCXX=ON"
"-DCAN_TARGET_i386=false" "-DCAN_TARGET_i386=false"
"-DCMAKE_LIBTOOL=${darwin.cctools}/bin/libtool"
]; ];
postBuild = '' postBuild = ''

View file

@ -1,24 +0,0 @@
#!@shell@
source $stdenv/setup
echo "Building Manticore research compiler."
set -xe
PATH=$smlnj/bin:$PATH
mkdir -p $out/bin
# Manticore seems to use the MLB files from the build tree,
# so for now we copy the whole build tree into the store:
cd $out/
tar xf $src
mv manticore* repo_checkout
cd repo_checkout/
# TODO: At the very least, this could probably be cut down to a subset
# of the repo.
${autoconf}/bin/autoheader -Iconfig
${autoconf}/bin/autoconf -Iconfig
./configure --prefix=$out
make build -j
make install

View file

@ -1,14 +1,41 @@
{ stdenv, fetchurl, coreutils, autoconf, automake, smlnj }: { stdenv, fetchFromGitHub, coreutils, autoreconfHook, smlnj }:
stdenv.mkDerivation rec { let
rev = "592a5714595b4448b646a7d49df04c285668c2f8";
in stdenv.mkDerivation rec {
name = "manticore-${version}"; name = "manticore-${version}";
version = "2014.08.18"; version = "2014.08.18";
builder = ./builder.sh;
src = fetchurl { src = fetchFromGitHub {
url = https://github.com/rrnewton/manticore_temp_mirror/archive/snapshot-20140818.tar.gz; owner = "rrnewton";
sha256 = "1x52xpj5gbcpqjqm6aw6ssn901f353zypj3d5scm8i3ad777y29d"; repo = "manticore_temp_mirror";
sha256 = "1snwlm9a31wfgvzb80y7r7yvc6n0k0bi675lqwzll95as7cdswwi";
inherit rev;
}; };
inherit stdenv coreutils autoconf automake smlnj;
enableParallelBuilding = false;
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ coreutils smlnj ];
autoreconfFlags = "-Iconfig -vfi";
unpackPhase = ''
mkdir -p $out
cd $out
unpackFile $src
mv manticore_temp_mirror-${rev}-src repo_checkout
cd repo_checkout
chmod u+w . -R
'';
postPatch = ''
patchShebangs .
substituteInPlace configure.ac --replace 'MANTICORE_ROOT=`pwd`' 'MANTICORE_ROOT=$out/repo_checkout'
'';
preInstall = "mkdir -p $out/bin";
meta = { meta = {
description = "A parallel, pure variant of Standard ML"; description = "A parallel, pure variant of Standard ML";

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation ( rec { stdenv.mkDerivation ( rec {
name = "ponyc-${version}"; name = "ponyc-${version}";
version = "0.11.3"; version = "0.11.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ponylang"; owner = "ponylang";
repo = "ponyc"; repo = "ponyc";
rev = version; rev = version;
sha256 = "08wh8rh17bf043glvn7778bwpxyzpm95kgfll645hf2m65n5ncsh"; sha256 = "0csssmc9dcm2ib9k5qhglnjyrqsmci9b5q0b5cxwvl5z1llib9hg";
}; };
buildInputs = [ llvm makeWrapper which ]; buildInputs = [ llvm makeWrapper which ];

View file

@ -38,7 +38,7 @@ in stdenv.mkDerivation {
'' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; '' '' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; ''
sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\ sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\
\ \*x86-darwin\*)\ \ \*x86-darwin\*)\
\ INCLFILE=${osx_sdk}/Developer/SDKs/${osx_sdk.name}/usr/include/unistd.h\ \ INCLFILE=${apple_sdk.sdk}/include/unistd.h\
\ ;;\ \ ;;\
\ \*) ;; \ \*) ;;
' base/runtime/config/gen-posix-names.sh ' base/runtime/config/gen-posix-names.sh

View file

@ -181,8 +181,6 @@ self: super:
] drv.libraryHaskellDepends; ] drv.libraryHaskellDepends;
}); });
semigroups = addBuildDepends super.semigroups [ self.hashable self.unordered-containers self.text self.tagged ];
transformers-compat = overrideCabal super.transformers-compat (drv: { transformers-compat = overrideCabal super.transformers-compat (drv: {
configureFlags = []; configureFlags = [];
}); });

View file

@ -19,13 +19,6 @@ stdenv.mkDerivation rec {
sha1 = "c6f7b99986f93c9df78653c3e6a3b5043f65145e"; sha1 = "c6f7b99986f93c9df78653c3e6a3b5043f65145e";
}; };
infinality = fetchFromGitHub {
owner = "bohoomil";
repo = "fontconfig-ultimate";
rev = "730f5e77580677e86522c1f2119aa78803741759";
sha256 = "1hbrdpm6xcczs2c2iid7by8h7dsd0jcf7an88s150njyqnjzxjg7";
};
patches = [ patches = [
# from https://bugs.freedesktop.org/show_bug.cgi?id=98165 # from https://bugs.freedesktop.org/show_bug.cgi?id=98165
(fetchpatch { (fetchpatch {
@ -35,10 +28,6 @@ stdenv.mkDerivation rec {
}) })
]; ];
prePatch = ''
patches="$patches $(echo $infinality/*_cairo-iu/*.patch)"
'';
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
outputBin = "dev"; # very small outputBin = "dev"; # very small

View file

@ -8,13 +8,11 @@ stdenv.mkDerivation rec {
sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f"; sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
}; };
infinality_patch = patches = [
let subvers = "1"; # FreeType 2.7 prefixes PCF font family names with the foundry name.
in fetchurl { # The output of fc-list and fc-query change which breaks the tests.
url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2; ./test-pcf-family-names-freetype-2.7.patch
sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7"; ];
}
;
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
@ -44,10 +42,6 @@ stdenv.mkDerivation rec {
# Don't try to write to /var/cache/fontconfig at install time. # Don't try to write to /var/cache/fontconfig at install time.
installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false"; installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
postInstall = ''
cd "$out/etc/fonts" && tar xvf ${infinality_patch}
'';
passthru = { passthru = {
# Empty for backward compatibility, there was no versioning before 2.11 # Empty for backward compatibility, there was no versioning before 2.11
configVersion = ""; configVersion = "";

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