Merge branch 'master' into f/nvim-qt

This commit is contained in:
Peter Hoeg
2017-02-11 11:46:37 +08:00
committed by GitHub
196 changed files with 3468 additions and 2088 deletions
+17 -3
View File
@@ -25,7 +25,7 @@
<!--============================================================--> <!--============================================================-->
<section xml:id="sec-cross-packaging"> <section xml:id="sec-cross-packaging">
<title>Packing in a cross-friendly manner</title> <title>Packaging in a cross-friendly manner</title>
<section> <section>
<title>Platform parameters</title> <title>Platform parameters</title>
@@ -132,9 +132,23 @@
<section xml:id="sec-cross-usage"> <section xml:id="sec-cross-usage">
<title>Cross-building packages</title> <title>Cross-building packages</title>
<note><para>
More information needs to moved from the old wiki, especially <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this section.
</para></note>
<para> <para>
To be written. Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, and, optionally, <varname>crossSystem</varname> to nixpkgs:
This is basically unchanged so see the old wiki for now. <literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
<varname>system</varname> and <varname>platform</varname> together determine the system on which packages are built, and <varname>crossSystem</varname> specifies the platform on which packages are ultimately intended to run, if it is different.
This still works, but with more recent changes, one can alternatively pass <varname>localSystem</varname>, containing <varname>system</varname> and <varname>platform</varname>, for symmetry.
</para>
<para>
One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual).
Actually, those identifiers are purposefully not used here to draw a subtle but important distinction:
While the granularity of having 3 platforms is necessary to properly *build* packages, it is overkill for specifying the user's *intent* when making a build plan or package set.
A simple "build vs deploy" dichotomy is adequate: the sliding window principle described in the previous section shows how to interpolate between the these two "end points" to get the 3 platform triple for each bootstrapping stage.
That means for any package a given package set, even those not bound on the top level but only reachable via dependencies or <varname>buildPackages</varname>, the three platforms will be defined as one of <varname>localSystem</varname> or <varname>crossSystem</varname>, with the former replacing the latter as one traverses build-time dependencies.
A last simple difference then is <varname>crossSystem</varname> should be null when one doesn't want to cross-compile, while the <varname>*Platform</varname>s are always non-null.
<varname>localSystem</varname> is always non-null.
</para> </para>
</section> </section>
+44
View File
@@ -1111,6 +1111,34 @@ functions.</para>
<variablelist> <variablelist>
<varlistentry xml:id='fun-makeWrapper'>
<term><function>makeWrapper</function>
<replaceable>executable</replaceable>
<replaceable>wrapperfile</replaceable>
<replaceable>args</replaceable></term>
<listitem><para>Constructs a wrapper for a program with various
possible arguments. For example:
<programlisting>
# adds `FOOBAR=baz` to `$out/bin/foo`s environment
makeWrapper $out/bin/foo $wrapperfile --set FOOBAR baz
# prefixes the binary paths of `hello` and `git`
# Be advised that paths often should be patched in directly
# (via string replacements or in `configurePhase`).
makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello git ]}
</programlisting>
Theres many more kinds of arguments, they are documented in
<literal>nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh</literal>.</para>
<para><literal>wrapProgram</literal> is a convenience function you probably
want to use most of the time.</para>
</listitem>
</varlistentry>
<varlistentry xml:id='fun-substitute'> <varlistentry xml:id='fun-substitute'>
<term><function>substitute</function> <term><function>substitute</function>
<replaceable>infile</replaceable> <replaceable>infile</replaceable>
@@ -1268,6 +1296,22 @@ someVar=$(stripHash $name)
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
<varlistentry xml:id='fun-wrapProgram'>
<term><function>wrapProgram</function>
<replaceable>executable</replaceable>
<replaceable>makeWrapperArgs</replaceable></term>
<listitem><para>Convenience function for <literal>makeWrapper</literal>
that automatically creates a sane wrapper file
It takes all the same arguments as <literal>makeWrapper</literal>,
except for <literal>--argv0</literal>.</para>
<para>It cannot be applied multiple times, since it will overwrite the wrapper
file.</para>
</listitem>
</varlistentry>
</variablelist> </variablelist>
+4
View File
@@ -81,6 +81,7 @@
c0dehero = "CodeHero <codehero@nerdpol.ch>"; c0dehero = "CodeHero <codehero@nerdpol.ch>";
calrama = "Moritz Maxeiner <moritz@ucworks.org>"; calrama = "Moritz Maxeiner <moritz@ucworks.org>";
campadrenalin = "Philip Horger <campadrenalin@gmail.com>"; campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
canndrew = "Andrew Cann <shum@canndrew.org>";
carlsverre = "Carl Sverre <accounts@carlsverre.com>"; carlsverre = "Carl Sverre <accounts@carlsverre.com>";
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>"; cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>"; cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
@@ -139,6 +140,7 @@
dtzWill = "Will Dietz <nix@wdtz.org>"; dtzWill = "Will Dietz <nix@wdtz.org>";
e-user = "Alexander Kahl <nixos@sodosopa.io>"; e-user = "Alexander Kahl <nixos@sodosopa.io>";
ebzzry = "Rommel Martinez <ebzzry@gmail.com>"; ebzzry = "Rommel Martinez <ebzzry@gmail.com>";
edanaher = "Evan Danaher <nixos@edanaher.net>";
ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>"; ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>";
eduarrrd = "Eduard Bachmakov <e.bachmakov@gmail.com>"; eduarrrd = "Eduard Bachmakov <e.bachmakov@gmail.com>";
edwtjo = "Edward Tjörnhammar <ed@cflags.cc>"; edwtjo = "Edward Tjörnhammar <ed@cflags.cc>";
@@ -360,6 +362,7 @@
paholg = "Paho Lurie-Gregg <paho@paholg.com>"; paholg = "Paho Lurie-Gregg <paho@paholg.com>";
pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>"; pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>";
palo = "Ingolf Wanger <palipalo9@googlemail.com>"; palo = "Ingolf Wanger <palipalo9@googlemail.com>";
paperdigits = "Mica Semrick <mica@silentumbrella.com>";
pashev = "Igor Pashev <pashev.igor@gmail.com>"; pashev = "Igor Pashev <pashev.igor@gmail.com>";
pawelpacana = "Paweł Pacana <pawel.pacana@gmail.com>"; pawelpacana = "Paweł Pacana <pawel.pacana@gmail.com>";
periklis = "theopompos@gmail.com"; periklis = "theopompos@gmail.com";
@@ -460,6 +463,7 @@
SShrike = "Severen Redwood <severen@shrike.me>"; SShrike = "Severen Redwood <severen@shrike.me>";
stephenmw = "Stephen Weinberg <stephen@q5comm.com>"; stephenmw = "Stephen Weinberg <stephen@q5comm.com>";
sternenseemann = "Lukas Epple <post@lukasepple.de>"; sternenseemann = "Lukas Epple <post@lukasepple.de>";
stesie = "Stefan Siegl <stesie@brokenpipe.de>";
steveej = "Stefan Junker <mail@stefanjunker.de>"; steveej = "Stefan Junker <mail@stefanjunker.de>";
swarren83 = "Shawn Warren <shawn.w.warren@gmail.com>"; swarren83 = "Shawn Warren <shawn.w.warren@gmail.com>";
swistak35 = "Rafał Łasocha <me@swistak35.com>"; swistak35 = "Rafał Łasocha <me@swistak35.com>";
@@ -21,6 +21,7 @@ effect after you run <command>nixos-rebuild</command>.</para>
<xi:include href="user-mgmt.xml" /> <xi:include href="user-mgmt.xml" />
<xi:include href="file-systems.xml" /> <xi:include href="file-systems.xml" />
<xi:include href="x-windows.xml" /> <xi:include href="x-windows.xml" />
<xi:include href="xfce.xml" />
<xi:include href="networking.xml" /> <xi:include href="networking.xml" />
<xi:include href="linux-kernel.xml" /> <xi:include href="linux-kernel.xml" />
@@ -36,9 +36,8 @@ latter might look like this:
{ config, pkgs, ... }: { config, pkgs, ... }:
{ services.xserver.enable = true; { services.xserver.enable = true;
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
environment.systemPackages = [ pkgs.kde4.kscreensaver ];
} }
</programlisting> </programlisting>
+3 -3
View File
@@ -25,7 +25,7 @@ Otherwise, you can only log into a plain undecorated
<command>xterm</command> window. Thus you should pick one or more of <command>xterm</command> window. Thus you should pick one or more of
the following lines: the following lines:
<programlisting> <programlisting>
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
services.xserver.desktopManager.xfce.enable = true; services.xserver.desktopManager.xfce.enable = true;
services.xserver.windowManager.xmonad.enable = true; services.xserver.windowManager.xmonad.enable = true;
services.xserver.windowManager.twm.enable = true; services.xserver.windowManager.twm.enable = true;
@@ -35,9 +35,9 @@ services.xserver.windowManager.icewm.enable = true;
<para>NixOSs default <emphasis>display manager</emphasis> (the <para>NixOSs default <emphasis>display manager</emphasis> (the
program that provides a graphical login prompt and manages the X program that provides a graphical login prompt and manages the X
server) is SLiM. You can select KDEs <command>kdm</command> instead: server) is SLiM. You can select KDEs <command>sddm</command> instead:
<programlisting> <programlisting>
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.sddm.enable = true;
</programlisting> </programlisting>
</para> </para>
+105
View File
@@ -0,0 +1,105 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-xfce">
<title>Xfce Desktop Environment</title>
<para>
To enable the Xfce Desktop Environment, set
<programlisting>
services.xserver.desktopManager = {
xfce.enable = true;
default = "xfce";
};
</programlisting>
</para>
<para>
Optionally, <emphasis>compton</emphasis>
can be enabled for nice graphical effects, some example settings:
<programlisting>
services.compton = {
enable = true;
fade = true;
inactiveOpacity = "0.9";
shadow = true;
fadeDelta = 4;
};
</programlisting>
</para>
<para>
Some Xfce programs are not installed automatically.
To install them manually (system wide), put them into your
<literal>environment.systemPackages</literal>.
</para>
<para>
NixOSs default <emphasis>display manager</emphasis>is SLiM.
(DM is the program that provides a graphical login prompt
and manages the X server.)
You can, for example, select KDEs
<command>sddm</command> instead:
<programlisting>
services.xserver.displayManager.sddm.enable = true;
</programlisting>
</para>
<simplesect>
<title>Thunar Volume Support</title>
<para>
To enable
<emphasis>Thunar</emphasis>
volume support, put
<programlisting>
services.xserver.desktopManager.xfce.enable = true;
</programlisting>
into your <emphasis>configuration.nix</emphasis>.
</para>
</simplesect>
<simplesect>
<title>Polkit Authentication Agent</title>
<para>
There is no authentication agent automatically installed alongside
Xfce. To allow mounting of local (non-removable) filesystems, you
will need to install one.
Installing <emphasis>polkit_gnome</emphasis>, a rebuild, logout and
login did the trick.
</para>
</simplesect>
<simplesect>
<title>Troubleshooting</title>
<para>
Even after enabling udisks2, volume management might not work.
Thunar and/or the desktop takes time to show up.
Thunar will spit out this kind of message on start
(look at journalctl --user -b).
<programlisting>
Thunar:2410): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
</programlisting>
This is caused by some needed GNOME services not running.
This is all fixed by enabling "Launch GNOME services on startup" in
the Advanced tab of the Session and Startup settings panel.
Alternatively, you can run this command to do the same thing.
<programlisting>
$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true
</programlisting>
A log-out and re-log will be needed for this to take effect.
</para>
</simplesect>
</chapter>
@@ -65,22 +65,22 @@ options = {
</para> </para>
<section xml:id="sec-option-declarations-eot"><title>Extensible Option <section xml:id="sec-option-declarations-eot"><title>Extensible Option
Types</title> Types</title>
<para>Extensible option types is a feature that allow to extend certain types <para>Extensible option types is a feature that allow to extend certain types
declaration through multiple module files. declaration through multiple module files.
This feature only work with a restricted set of types, namely This feature only work with a restricted set of types, namely
<literal>enum</literal> and <literal>submodules</literal> and any composed <literal>enum</literal> and <literal>submodules</literal> and any composed
forms of them.</para> forms of them.</para>
<para>Extensible option types can be used for <literal>enum</literal> options <para>Extensible option types can be used for <literal>enum</literal> options
that affects multiple modules, or as an alternative to related that affects multiple modules, or as an alternative to related
<literal>enable</literal> options.</para> <literal>enable</literal> options.</para>
<para>As an example, we will take the case of display managers. There is a <para>As an example, we will take the case of display managers. There is a
central display manager module for generic display manager options and a central display manager module for generic display manager options and a
module file per display manager backend (slim, kdm, gdm ...). module file per display manager backend (slim, sddm, gdm ...).
</para> </para>
<para>There are two approach to this module structure: <para>There are two approach to this module structure:
@@ -96,7 +96,7 @@ options = {
</para> </para>
<para>Both approachs have problems.</para> <para>Both approachs have problems.</para>
<para>Making backends independent can quickly become hard to manage. For <para>Making backends independent can quickly become hard to manage. For
display managers, there can be only one enabled at a time, but the type display managers, there can be only one enabled at a time, but the type
system can not enforce this restriction as there is no relation between system can not enforce this restriction as there is no relation between
@@ -108,18 +108,18 @@ options = {
central module will require to change the central module option every time central module will require to change the central module option every time
a new backend is added or removed.</para> a new backend is added or removed.</para>
<para>By using extensible option types, it is possible to create a placeholder <para>By using extensible option types, it is possible to create a placeholder
option in the central module (<xref linkend='ex-option-declaration-eot-service' option in the central module (<xref linkend='ex-option-declaration-eot-service'
/>), and to extend it in each backend module (<xref />), and to extend it in each backend module (<xref
linkend='ex-option-declaration-eot-backend-slim' />, <xref linkend='ex-option-declaration-eot-backend-slim' />, <xref
linkend='ex-option-declaration-eot-backend-kdm' />).</para> linkend='ex-option-declaration-eot-backend-sddm' />).</para>
<para>As a result, <literal>displayManager.enable</literal> option values can <para>As a result, <literal>displayManager.enable</literal> option values can
be added without changing the main service module file and the type system be added without changing the main service module file and the type system
automatically enforce that there can only be a single display manager automatically enforce that there can only be a single display manager
enabled.</para> enabled.</para>
<example xml:id='ex-option-declaration-eot-service'><title>Extensible type <example xml:id='ex-option-declaration-eot-service'><title>Extensible type
placeholder in the service module</title> placeholder in the service module</title>
<screen> <screen>
services.xserver.displayManager.enable = mkOption { services.xserver.displayManager.enable = mkOption {
@@ -127,29 +127,29 @@ services.xserver.displayManager.enable = mkOption {
type = with types; nullOr (enum [ ]); type = with types; nullOr (enum [ ]);
};</screen></example> };</screen></example>
<example xml:id='ex-option-declaration-eot-backend-slim'><title>Extending <example xml:id='ex-option-declaration-eot-backend-slim'><title>Extending
<literal>services.xserver.displayManager.enable</literal> in the <literal>services.xserver.displayManager.enable</literal> in the
<literal>slim</literal> module</title> <literal>slim</literal> module</title>
<screen> <screen>
services.xserver.displayManager.enable = mkOption { services.xserver.displayManager.enable = mkOption {
type = with types; nullOr (enum [ "slim" ]); type = with types; nullOr (enum [ "slim" ]);
};</screen></example> };</screen></example>
<example xml:id='ex-option-declaration-eot-backend-kdm'><title>Extending <example xml:id='ex-option-declaration-eot-backend-sdm'><title>Extending
<literal>services.foo.backend</literal> in the <literal>kdm</literal> <literal>services.foo.backend</literal> in the <literal>sdm</literal>
module</title> module</title>
<screen> <screen>
services.xserver.displayManager.enable = mkOption { services.xserver.displayManager.enable = mkOption {
type = with types; nullOr (enum [ "kdm" ]); type = with types; nullOr (enum [ "sddm" ]);
};</screen></example> };</screen></example>
<para>The placeholder declaration is a standard <literal>mkOption</literal> <para>The placeholder declaration is a standard <literal>mkOption</literal>
declaration, but it is important that extensible option declarations only use declaration, but it is important that extensible option declarations only use
the <literal>type</literal> argument.</para> the <literal>type</literal> argument.</para>
<para>Extensible option types work with any of the composed variants of <para>Extensible option types work with any of the composed variants of
<literal>enum</literal> such as <literal>enum</literal> such as
<literal>with types; nullOr (enum [ "foo" "bar" ])</literal> <literal>with types; nullOr (enum [ "foo" "bar" ])</literal>
or <literal>with types; listOf (enum [ "foo" "bar" ])</literal>.</para> or <literal>with types; listOf (enum [ "foo" "bar" ])</literal>.</para>
</section> </section>
@@ -97,6 +97,15 @@ following incompatible changes:</para>
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Two lone top-level dict dbs moved into <literal>dictdDBs</literal>. This
affects: <literal>dictdWordnet</literal> which is now at
<literal>dictdDBs.wordnet</literal> and <literal>dictdWiktionary</literal>
which is now at <literal>dictdDBs.wiktionary</literal>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Parsoid service now uses YAML configuration format. Parsoid service now uses YAML configuration format.
@@ -117,6 +126,36 @@ following incompatible changes:</para>
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>service.nylon</literal> is now declared using named instances.
As an example:
<programlisting>
services.nylon = {
enable = true;
acceptInterface = "br0";
bindInterface = "tun1";
port = 5912;
};
</programlisting>
should be replaced with:
<programlisting>
services.nylon.myvpn = {
enable = true;
acceptInterface = "br0";
bindInterface = "tun1";
port = 5912;
};
</programlisting>
this enables you to declare a SOCKS proxy for each uplink.
</para>
</listitem>
<listitem> <listitem>
<para><literal>overridePackages</literal> function no longer exists. <para><literal>overridePackages</literal> function no longer exists.
It is replaced by <link It is replaced by <link
@@ -169,12 +208,24 @@ following incompatible changes:</para>
<para>Other notable improvements:</para> <para>Other notable improvements:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Module type system have a new extensible option types feature that <para>Module type system have a new extensible option types feature that
allow to extend certain types, such as enum, through multiple option allow to extend certain types, such as enum, through multiple option
declarations of the same option across multiple modules. declarations of the same option across multiple modules.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>jre</literal> now defaults to GTK+ UI by default. This
improves visual consistency and makes Java follow system font style,
improving the situation on HighDPI displays. This has a cost of increased
closure size; for server and other headless workloads it's recommended to
use <literal>jre_headless</literal>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
+1 -1
View File
@@ -77,7 +77,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ]; boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ];
boot.kernelModules = optional useBbswitch "bbswitch"; boot.kernelModules = optional useBbswitch "bbswitch";
boot.extraModulePackages = optional useBbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11; boot.extraModulePackages = optional useBbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11.bin;
environment.systemPackages = [ bumblebee primus ]; environment.systemPackages = [ bumblebee primus ];
+12 -5
View File
@@ -27,6 +27,13 @@ let
nvidia_x11 = nvidiaForKernel config.boot.kernelPackages; nvidia_x11 = nvidiaForKernel config.boot.kernelPackages;
nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; }; nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
nvidiaPackage = nvidia: pkgs:
if !nvidia.useGLVND then nvidia
else pkgs.buildEnv {
name = "nvidia-libs";
paths = [ pkgs.libglvnd nvidia.out ];
};
enabled = nvidia_x11 != null; enabled = nvidia_x11 != null;
in in
@@ -35,19 +42,19 @@ in
config = mkIf enabled { config = mkIf enabled {
services.xserver.drivers = singleton services.xserver.drivers = singleton
{ name = "nvidia"; modules = [ nvidia_x11 ]; libPath = [ nvidia_x11 ]; }; { name = "nvidia"; modules = [ nvidia_x11.bin ]; libPath = [ nvidia_x11 ]; };
services.xserver.screenSection = services.xserver.screenSection =
'' ''
Option "RandRRotation" "on" Option "RandRRotation" "on"
''; '';
hardware.opengl.package = nvidia_x11; hardware.opengl.package = nvidiaPackage nvidia_x11 pkgs;
hardware.opengl.package32 = nvidia_libs32; hardware.opengl.package32 = nvidiaPackage nvidia_libs32 pkgs_i686;
environment.systemPackages = [ nvidia_x11 ]; environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings nvidia_x11.persistenced ];
boot.extraModulePackages = [ nvidia_x11 ]; boot.extraModulePackages = [ nvidia_x11.bin ];
# nvidia-uvm is required by CUDA applications. # nvidia-uvm is required by CUDA applications.
boot.kernelModules = [ "nvidia-uvm" ]; boot.kernelModules = [ "nvidia-uvm" ];
@@ -607,8 +607,8 @@ $bootLoaderConfig
# services.xserver.xkbOptions = "eurosign:e"; # services.xserver.xkbOptions = "eurosign:e";
# Enable the KDE Desktop Environment. # Enable the KDE Desktop Environment.
# services.xserver.displayManager.kdm.enable = true; # services.xserver.displayManager.sddm.enable = true;
# services.xserver.desktopManager.kde4.enable = true; # services.xserver.desktopManager.kde5.enable = true;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
# users.extraUsers.guest = { # users.extraUsers.guest = {
+4
View File
@@ -141,6 +141,7 @@
./services/computing/torque/mom.nix ./services/computing/torque/mom.nix
./services/computing/slurm/slurm.nix ./services/computing/slurm/slurm.nix
./services/continuous-integration/buildbot/master.nix ./services/continuous-integration/buildbot/master.nix
./services/continuous-integration/buildbot/worker.nix
./services/continuous-integration/buildkite-agent.nix ./services/continuous-integration/buildkite-agent.nix
./services/continuous-integration/hydra/default.nix ./services/continuous-integration/hydra/default.nix
./services/continuous-integration/gitlab-runner.nix ./services/continuous-integration/gitlab-runner.nix
@@ -206,6 +207,7 @@
./services/hardware/tcsd.nix ./services/hardware/tcsd.nix
./services/hardware/tlp.nix ./services/hardware/tlp.nix
./services/hardware/thinkfan.nix ./services/hardware/thinkfan.nix
./services/hardware/trezord.nix
./services/hardware/udev.nix ./services/hardware/udev.nix
./services/hardware/udisks2.nix ./services/hardware/udisks2.nix
./services/hardware/upower.nix ./services/hardware/upower.nix
@@ -444,6 +446,7 @@
./services/networking/radicale.nix ./services/networking/radicale.nix
./services/networking/radvd.nix ./services/networking/radvd.nix
./services/networking/rdnssd.nix ./services/networking/rdnssd.nix
./services/networking/redsocks.nix
./services/networking/rpcbind.nix ./services/networking/rpcbind.nix
./services/networking/sabnzbd.nix ./services/networking/sabnzbd.nix
./services/networking/searx.nix ./services/networking/searx.nix
@@ -642,6 +645,7 @@
./virtualisation/container-config.nix ./virtualisation/container-config.nix
./virtualisation/containers.nix ./virtualisation/containers.nix
./virtualisation/docker.nix ./virtualisation/docker.nix
./virtualisation/ecs-agent.nix
./virtualisation/libvirtd.nix ./virtualisation/libvirtd.nix
./virtualisation/lxc.nix ./virtualisation/lxc.nix
./virtualisation/lxcfs.nix ./virtualisation/lxcfs.nix
+2 -2
View File
@@ -6,8 +6,8 @@
{ {
services.xserver = { services.xserver = {
enable = true; enable = true;
displayManager.kdm.enable = true; displayManager.sddm.enable = true;
desktopManager.kde4.enable = true; desktopManager.kde5.enable = true;
synaptics.enable = true; # for touchpad support on many laptops synaptics.enable = true; # for touchpad support on many laptops
}; };
@@ -7,7 +7,7 @@ with lib;
let let
cfg = config.services.buildbot-master; cfg = config.services.buildbot-master;
escapeStr = s: escape ["'"] s; escapeStr = s: escape ["'"] s;
masterCfg = pkgs.writeText "master.cfg" '' masterCfg = if cfg.masterCfg == null then pkgs.writeText "master.cfg" ''
from buildbot.plugins import * from buildbot.plugins import *
factory = util.BuildFactory() factory = util.BuildFactory()
c = BuildmasterConfig = dict( c = BuildmasterConfig = dict(
@@ -27,9 +27,8 @@ let
factory.addStep(step) factory.addStep(step)
${cfg.extraConfig} ${cfg.extraConfig}
''; ''
else pkgs.writeText "master.cfg" cfg.masterCfg;
configFile = if cfg.masterCfg == null then masterCfg else cfg.masterCfg;
in { in {
options = { options = {
@@ -67,15 +66,13 @@ in {
}; };
masterCfg = mkOption { masterCfg = mkOption {
type = with types; nullOr path; type = types.str;
description = '' description = ''
Optionally pass path to raw master.cfg file. Optionally pass raw master.cfg file as string.
Other options in this configuration will be ignored. Other options in this configuration will be ignored.
''; '';
default = null; default = null;
example = literalExample '' example = "BuildmasterConfig = c = {}";
pkgs.writeText "master.cfg" "BuildmasterConfig = c = {}"
'';
}; };
schedulers = mkOption { schedulers = mkOption {
@@ -99,9 +96,9 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
description = "List of Workers."; description = "List of Workers.";
default = [ default = [
"worker.Worker('default-worker', 'password')" "worker.Worker('example-worker', 'pass')"
]; ];
example = [ "worker.LocalWorker('default-worker')" ]; example = [ "worker.LocalWorker('example-worker')" ];
}; };
status = mkOption { status = mkOption {
@@ -209,7 +206,7 @@ in {
users.extraUsers = optional (cfg.user == "buildbot") { users.extraUsers = optional (cfg.user == "buildbot") {
name = "buildbot"; name = "buildbot";
description = "buildbot user"; description = "Buildbot User.";
isNormalUser = true; isNormalUser = true;
createHome = true; createHome = true;
home = cfg.home; home = cfg.home;
@@ -219,7 +216,7 @@ in {
}; };
systemd.services.buildbot-master = { systemd.services.buildbot-master = {
description = "Buildbot Continuous Integration Server"; description = "Buildbot Continuous Integration Server.";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = cfg.packages; path = cfg.packages;
@@ -233,9 +230,8 @@ in {
}; };
preStart = '' preStart = ''
mkdir -vp ${cfg.buildbotDir} ${pkgs.coreutils}/bin/mkdir -vp ${cfg.buildbotDir}
chown -c ${cfg.user}:${cfg.group} ${cfg.buildbotDir} ${pkgs.coreutils}/bin/ln -sfv ${masterCfg} ${cfg.buildbotDir}/master.cfg
ln -sf ${configFile} ${cfg.buildbotDir}/master.cfg
${cfg.package}/bin/buildbot create-master ${cfg.buildbotDir} ${cfg.package}/bin/buildbot create-master ${cfg.buildbotDir}
''; '';
@@ -247,4 +243,6 @@ in {
}; };
}; };
meta.maintainers = with lib.maintainers; [ nand0p Mic92 ];
} }
@@ -0,0 +1,128 @@
# NixOS module for Buildbot Worker.
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.buildbot-worker;
in {
options = {
services.buildbot-worker = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the Buildbot Worker.";
};
user = mkOption {
default = "bbworker";
type = types.str;
description = "User the buildbot Worker should execute under.";
};
group = mkOption {
default = "bbworker";
type = types.str;
description = "Primary group of buildbot Worker user.";
};
extraGroups = mkOption {
type = types.listOf types.str;
default = [ "nixbld" ];
description = "List of extra groups that the Buildbot Worker user should be a part of.";
};
home = mkOption {
default = "/home/bbworker";
type = types.path;
description = "Buildbot home directory.";
};
buildbotDir = mkOption {
default = "${cfg.home}/worker";
type = types.path;
description = "Specifies the Buildbot directory.";
};
workerUser = mkOption {
default = "example-worker";
type = types.str;
description = "Specifies the Buildbot Worker user.";
};
workerPass = mkOption {
default = "pass";
type = types.str;
description = "Specifies the Buildbot Worker password.";
};
masterUrl = mkOption {
default = "localhost:9989";
type = types.str;
description = "Specifies the Buildbot Worker connection string.";
};
package = mkOption {
type = types.package;
default = pkgs.buildbot-worker;
description = "Package to use for buildbot worker.";
example = pkgs.buildbot-worker;
};
packages = mkOption {
default = [ ];
example = [ pkgs.git ];
type = types.listOf types.package;
description = "Packages to add to PATH for the buildbot process.";
};
};
};
config = mkIf cfg.enable {
users.extraGroups = optional (cfg.group == "bbworker") {
name = "bbworker";
};
users.extraUsers = optional (cfg.user == "bbworker") {
name = "bbworker";
description = "Buildbot Worker User.";
isNormalUser = true;
createHome = true;
home = cfg.home;
group = cfg.group;
extraGroups = cfg.extraGroups;
useDefaultShell = true;
};
systemd.services.buildbot-worker = {
description = "Buildbot Worker.";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
wants = [ "buildbot-master.service" ];
path = cfg.packages;
preStart = ''
# NOTE: ensure master has time to start in case running on localhost
${pkgs.coreutils}/bin/sleep 4
${pkgs.coreutils}/bin/mkdir -vp ${cfg.buildbotDir}
${cfg.package}/bin/buildbot-worker create-worker ${cfg.buildbotDir} ${cfg.masterUrl} ${cfg.workerUser} ${cfg.workerPass}
'';
serviceConfig = {
Type = "forking";
User = cfg.user;
Group = cfg.group;
WorkingDirectory = cfg.home;
ExecStart = "${cfg.package}/bin/buildbot-worker start ${cfg.buildbotDir}";
};
};
};
meta.maintainers = with lib.maintainers; [ nand0p ];
}
@@ -22,7 +22,7 @@ in
}; };
###### implementation ###### implementation
config = mkIf config.hardware.bluetooth.enable { config = mkIf config.hardware.bluetooth.enable {
environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ]; environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
@@ -0,0 +1,54 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.trezord;
in {
### interface
options = {
services.trezord = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable Trezor bridge daemon, for use with Trezor hardware bitcoin wallets.
'';
};
};
};
### implementation
config = mkIf cfg.enable {
services.udev.packages = lib.singleton (pkgs.writeTextFile {
name = "trezord-udev-rules";
destination = "/etc/udev/rules.d/51-trezor.rules";
text = ''
SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0666", GROUP="dialout"
'';
});
systemd.services.trezord = {
description = "TREZOR Bridge";
after = [ "systemd-udev-settle.service" "network.target" ];
wantedBy = [ "multi-user.target" ];
path = [];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.trezord}/bin/trezord -f";
User = "trezord";
};
};
users.users.trezord = {
group = "trezord";
description = "Trezor bridge daemon user";
};
users.groups.trezord = {};
};
}
@@ -102,7 +102,7 @@ in
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
Restart = "always"; Restart = "always";
EnvironmentFile = "${pkgs.libreswan}/etc/sysconfig/pluto"; EnvironmentFile = "-${pkgs.libreswan}/etc/sysconfig/pluto";
ExecStartPre = [ ExecStartPre = [
"${libexec}/addconn --config ${configFile} --checkconfig" "${libexec}/addconn --config ${configFile} --checkconfig"
"${libexec}/_stackmanager start" "${libexec}/_stackmanager start"
@@ -0,0 +1,270 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.redsocks;
in
{
##### interface
options = {
services.redsocks = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable redsocks.";
};
log_debug = mkOption {
type = types.bool;
default = false;
description = "Log connection progress.";
};
log_info = mkOption {
type = types.bool;
default = false;
description = "Log start and end of client sessions.";
};
log = mkOption {
type = types.str;
default = "stderr";
description =
''
Where to send logs.
Possible values are:
- stderr
- file:/path/to/file
- syslog:FACILITY where FACILITY is any of "daemon", "local0",
etc.
'';
};
chroot = mkOption {
type = with types; nullOr str;
default = null;
description =
''
Chroot under which to run redsocks. Log file is opened before
chroot, but if logging to syslog /etc/localtime may be required.
'';
};
redsocks = mkOption {
description =
''
Local port to proxy associations to be performed.
The example shows how to configure a proxy to handle port 80 as HTTP
relay, and all other ports as HTTP connect.
'';
example = [
{ port = 23456; proxy = "1.2.3.4:8080"; type = "http-relay";
redirectCondition = "--dport 80";
doNotRedirect = [ "-d 1.2.0.0/16" ];
}
{ port = 23457; proxy = "1.2.3.4:8080"; type = "http-connect";
redirectCondition = true;
doNotRedirect = [ "-d 1.2.0.0/16" ];
}
];
type = types.listOf (types.submodule { options = {
ip = mkOption {
type = types.str;
default = "127.0.0.1";
description =
''
IP on which redsocks should listen. Defaults to 127.0.0.1 for
security reasons.
'';
};
port = mkOption {
type = types.int;
default = 12345;
description = "Port on which redsocks should listen.";
};
proxy = mkOption {
type = types.str;
description =
''
Proxy through which redsocks should forward incoming traffic.
Example: "example.org:8080"
'';
};
type = mkOption {
type = types.enum [ "socks4" "socks5" "http-connect" "http-relay" ];
description = "Type of proxy.";
};
login = mkOption {
type = with types; nullOr str;
default = null;
description = "Login to send to proxy.";
};
password = mkOption {
type = with types; nullOr str;
default = null;
description =
''
Password to send to proxy. WARNING, this will end up
world-readable in the store! Awaiting
https://github.com/NixOS/nix/issues/8 to be able to fix.
'';
};
disclose_src = mkOption {
type = types.enum [ "false" "X-Forwarded-For" "Forwarded_ip"
"Forwarded_ipport" ];
default = "false";
description =
''
Way to disclose client IP to the proxy.
- "false": do not disclose
http-connect supports the following ways:
- "X-Forwarded-For": add header "X-Forwarded-For: IP"
- "Forwarded_ip": add header "Forwarded: for=IP" (see RFC7239)
- "Forwarded_ipport": add header 'Forwarded: for="IP:port"'
'';
};
redirectInternetOnly = mkOption {
type = types.bool;
default = true;
description = "Exclude all non-globally-routable IPs from redsocks";
};
doNotRedirect = mkOption {
type = with types; listOf str;
default = [];
description =
''
Iptables filters that if matched will get the packet off of
redsocks.
'';
example = [ "-d 1.2.3.4" ];
};
redirectCondition = mkOption {
type = with types; either bool str;
default = false;
description =
''
Conditions to make outbound packets go through this redsocks
instance.
If set to false, no packet will be forwarded. If set to true,
all packets will be forwarded (except packets excluded by
redirectInternetOnly).
If set to a string, this is an iptables filter that will be
matched against packets before getting them into redsocks. For
example, setting it to "--dport 80" will only send
packets to port 80 to redsocks. Note "-p tcp" is always
implicitly added, as udp can only be proxied through redudp or
the like.
'';
};
};});
};
# TODO: Add support for redudp and dnstc
};
};
##### implementation
config = let
redsocks_blocks = concatMapStrings (block:
let proxy = splitString ":" block.proxy; in
''
redsocks {
local_ip = ${block.ip};
local_port = ${toString block.port};
ip = ${elemAt proxy 0};
port = ${elemAt proxy 1};
type = ${block.type};
${optionalString (block.login != null) "login = \"${block.login}\";"}
${optionalString (block.password != null) "password = \"${block.password}\";"}
disclose_src = ${block.disclose_src};
}
'') cfg.redsocks;
configfile = pkgs.writeText "redsocks.conf"
''
base {
log_debug = ${if cfg.log_debug then "on" else "off" };
log_info = ${if cfg.log_info then "on" else "off" };
log = ${cfg.log};
daemon = off;
redirector = iptables;
user = redsocks;
group = redsocks;
${optionalString (cfg.chroot != null) "chroot = ${cfg.chroot};"}
}
${redsocks_blocks}
'';
internetOnly = [ # TODO: add ipv6-equivalent
"-d 0.0.0.0/8"
"-d 10.0.0.0/8"
"-d 127.0.0.0/8"
"-d 169.254.0.0/16"
"-d 172.16.0.0/12"
"-d 192.168.0.0/16"
"-d 224.168.0.0/4"
"-d 240.168.0.0/4"
];
redCond = block:
optionalString (isString block.redirectCondition) block.redirectCondition;
iptables = concatImapStrings (idx: block:
let chain = "REDSOCKS${toString idx}"; doNotRedirect =
concatMapStringsSep "\n"
(f: "ip46tables -t nat -A ${chain} ${f} -j RETURN 2>/dev/null || true")
(block.doNotRedirect ++ (optionals block.redirectInternetOnly internetOnly));
in
optionalString (block.redirectCondition != false)
''
ip46tables -t nat -F ${chain} 2>/dev/null || true
ip46tables -t nat -N ${chain} 2>/dev/null || true
${doNotRedirect}
ip46tables -t nat -A ${chain} -p tcp -j REDIRECT --to-ports ${toString block.port}
# TODO: show errors, when it will be easily possible by a switch to
# iptables-restore
ip46tables -t nat -A OUTPUT -p tcp ${redCond block} -j ${chain} 2>/dev/null || true
''
) cfg.redsocks;
in
mkIf cfg.enable {
users.groups.redsocks = {};
users.users.redsocks = {
description = "Redsocks daemon";
group = "redsocks";
isSystemUser = true;
};
systemd.services.redsocks = {
description = "Redsocks";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
script = "${pkgs.redsocks}/bin/redsocks -c ${configfile}";
};
networking.firewall.extraCommands = iptables;
networking.firewall.extraStopCommands =
concatImapStringsSep "\n" (idx: block:
let chain = "REDSOCKS${toString idx}"; in
optionalString (block.redirectCondition != false)
"ip46tables -t nat -D OUTPUT -p tcp ${redCond block} -j ${chain} 2>/dev/null || true"
) cfg.redsocks;
};
}
+7 -3
View File
@@ -34,6 +34,11 @@ in
"; ";
}; };
package = mkOption {
default = pkgs.pythonPackages.searx;
description = "searx package to use.";
};
}; };
}; };
@@ -61,14 +66,13 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
User = "searx"; User = "searx";
ExecStart = "${pkgs.pythonPackages.searx}/bin/searx-run"; ExecStart = "${cfg.package}/bin/searx-run";
}; };
} // (optionalAttrs (configFile != "") { } // (optionalAttrs (configFile != "") {
environment.SEARX_SETTINGS_PATH = configFile; environment.SEARX_SETTINGS_PATH = configFile;
}); });
environment.systemPackages = [ pkgs.pythonPackages.searx ]; environment.systemPackages = [ cfg.package ];
}; };
@@ -1,198 +0,0 @@
{ config, lib, pkgs, serverInfo, php, ... }:
with lib;
let
httpd = serverInfo.serverConfig.package;
version24 = !versionOlder httpd.version "2.4";
allGranted = if version24 then ''
Require all granted
'' else ''
Order allow,deny
Allow from all
'';
moodleConfig = pkgs.writeText "config.php"
''
<?php
unset($CFG);
global $CFG;
$CFG = new stdClass();
$CFG->dbtype = '${config.dbType}';
$CFG->dblibrary = 'native';
$CFG->dbhost = '${config.dbHost}';
$CFG->dbname = '${config.dbName}';
$CFG->dbuser = '${config.dbUser}';
$CFG->dbpass = '${config.dbPassword}';
$CFG->prefix = '${config.dbPrefix}';
$CFG->dboptions = array(
'dbpersist' => false,
'dbsocket' => false,
'dbport' => "${config.dbPort}",
);
$CFG->wwwroot = '${config.wwwRoot}';
$CFG->dataroot = '${config.dataRoot}';
$CFG->directorypermissions = 02777;
$CFG->admin = 'admin';
${optionalString (config.debug.noEmailEver == true) ''
$CFG->noemailever = true;
''}
${config.extraConfig}
require_once(dirname(__FILE__) . '/lib/setup.php'); // Do not edit
'';
# Unpack Moodle and put the config file in its root directory.
moodleRoot = pkgs.stdenv.mkDerivation rec {
name= "moodle-2.8.10";
src = pkgs.fetchurl {
url = "https://download.moodle.org/stable28/${name}.tgz";
sha256 = "0c3r5081ipcwc9s6shakllnrkd589y2ln5z5m1q09l4h6a7cy4z2";
};
buildPhase =
''
'';
installPhase =
''
mkdir -p $out
cp -r * $out
cp ${moodleConfig} $out/config.php
'';
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
meta.broken = true;
};
in
{
extraConfig =
''
# this should be config.urlPrefix instead of /
Alias / ${moodleRoot}/
<Directory ${moodleRoot}>
DirectoryIndex index.php
</Directory>
'';
documentRoot = moodleRoot; # TODO: fix this, should be config.urlPrefix
enablePHP = true;
options = {
id = mkOption {
default = "main";
description = ''
A unique identifier necessary to keep multiple Moodle server
instances on the same machine apart.
'';
};
dbType = mkOption {
default = "postgres";
example = "mysql";
description = "Database type.";
};
dbName = mkOption {
default = "moodle";
description = "Name of the database that holds the Moodle data.";
};
dbHost = mkOption {
default = "localhost";
example = "10.0.2.2";
description = ''
The location of the database server.
'';
};
dbPort = mkOption {
default = ""; # use the default port
example = "12345";
description = ''
The port that is used to connect to the database server.
'';
};
dbUser = mkOption {
default = "moodle";
description = "The user name for accessing the database.";
};
dbPassword = mkOption {
default = "";
example = "password";
description = ''
The password of the database user. Warning: this is stored in
cleartext in the Nix store!
'';
};
dbPrefix = mkOption {
default = "mdl_";
example = "my_other_mdl_";
description = ''
A prefix for each table, if multiple moodles should run in a single database.
'';
};
wwwRoot = mkOption {
type = types.string;
example = "http://my.machine.com/my-moodle";
description = ''
The full web address where moodle has been installed.
'';
};
dataRoot = mkOption {
default = "/var/lib/moodledata";
example = "/var/lib/moodledata";
description = ''
The data directory for moodle. Needs to be writable!
'';
type = types.path;
};
extraConfig = mkOption {
type = types.lines;
default = "";
example =
''
'';
description = ''
Any additional text to be appended to Moodle's
configuration file. This is a PHP script.
'';
};
debug = {
noEmailEver = mkOption {
default = false;
example = "true";
description = ''
Set this to true to prevent Moodle from ever sending any email.
'';
};
};
};
startupScript = pkgs.writeScript "moodle_startup.sh" ''
echo "Checking for existence of ${config.dataRoot}"
if [ ! -e "${config.dataRoot}" ]
then
mkdir -p "${config.dataRoot}"
chown ${serverInfo.serverConfig.user}.${serverInfo.serverConfig.group} "${config.dataRoot}"
fi
'';
}
@@ -61,6 +61,7 @@ in
User = "caddy"; User = "caddy";
Group = "caddy"; Group = "caddy";
AmbientCapabilities = "cap_net_bind_service"; AmbientCapabilities = "cap_net_bind_service";
LimitNOFILE = 8192;
}; };
}; };
@@ -416,7 +416,7 @@ in
acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME) vhostsConfigs; acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME) vhostsConfigs;
acmePairs = map (vhostConfig: { name = vhostConfig.serverName; value = { acmePairs = map (vhostConfig: { name = vhostConfig.serverName; value = {
user = cfg.user; user = cfg.user;
group = cfg.group; group = lib.mkDefault cfg.group;
webroot = vhostConfig.acmeRoot; webroot = vhostConfig.acmeRoot;
extraDomains = genAttrs vhostConfig.serverAliases (alias: null); extraDomains = genAttrs vhostConfig.serverAliases (alias: null);
postRun = '' postRun = ''
@@ -1,5 +1,5 @@
# This module declares the options to define a *display manager*, the # This module declares the options to define a *display manager*, the
# program responsible for handling X logins (such as xdm, kdm, gdb, or # program responsible for handling X logins (such as xdm, gdb, or
# SLiM). The display manager allows the user to select a *session # SLiM). The display manager allows the user to select a *session
# type*. When the user logs in, the display manager starts the # type*. When the user logs in, the display manager starts the
# *session script* ("xsession" below) to launch the selected session # *session script* ("xsession" below) to launch the selected session
+2 -12
View File
@@ -16,18 +16,8 @@ with lib;
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.videoDrivers = []; services.xserver.videoDrivers = [];
# Enable KDM. Any display manager will do as long as it supports XDMCP. # Enable GDM. Any display manager will do as long as it supports XDMCP.
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.kdm.enableXDMCP = true;
services.xserver.displayManager.kdm.extraConfig =
''
[General]
# We're headless, so don't bother starting an X server.
StaticServers=
[Xdmcp]
Xaccess=${pkgs.writeText "Xaccess" "localhost"}
'';
systemd.sockets.terminal-server = systemd.sockets.terminal-server =
{ description = "Terminal Server Socket"; { description = "Terminal Server Socket";
+4 -3
View File
@@ -42,7 +42,8 @@ let
"systemd-udevd.service" "systemd-udevd.service"
"systemd-udev-settle.service" "systemd-udev-settle.service"
"systemd-udev-trigger.service" "systemd-udev-trigger.service"
"systemd-hwdb-update.service" # hwdb.bin is managed by NixOS
# "systemd-hwdb-update.service"
# Consoles. # Consoles.
"getty.target" "getty.target"
@@ -61,7 +62,6 @@ let
# Login stuff. # Login stuff.
"systemd-logind.service" "systemd-logind.service"
"autovt@.service" "autovt@.service"
#"systemd-vconsole-setup.service"
"systemd-user-sessions.service" "systemd-user-sessions.service"
"dbus-org.freedesktop.login1.service" "dbus-org.freedesktop.login1.service"
"dbus-org.freedesktop.machine1.service" "dbus-org.freedesktop.machine1.service"
@@ -753,7 +753,8 @@ in
# Keep a persistent journal. Note that systemd-tmpfiles will # Keep a persistent journal. Note that systemd-tmpfiles will
# set proper ownership/permissions. # set proper ownership/permissions.
mkdir -m 0700 -p /var/log/journal # FIXME: revert to 0700 with systemd v233.
mkdir -m 0750 -p /var/log/journal
''; '';
users.extraUsers.systemd-network.uid = config.ids.uids.systemd-network; users.extraUsers.systemd-network.uid = config.ids.uids.systemd-network;
+1 -4
View File
@@ -100,15 +100,12 @@ in
} }
(mkIf (!config.boot.earlyVconsoleSetup) { (mkIf (!config.boot.earlyVconsoleSetup) {
# This is identical to the systemd-vconsole-setup.service unit
# shipped with systemd, except that it uses /dev/tty1 instead of
# /dev/tty0 to prevent putting the X server in non-raw mode, and
# it has a restart trigger.
systemd.services."systemd-vconsole-setup" = systemd.services."systemd-vconsole-setup" =
{ wantedBy = [ "sysinit.target" ]; { wantedBy = [ "sysinit.target" ];
before = [ "display-manager.service" ]; before = [ "display-manager.service" ];
after = [ "systemd-udev-settle.service" ]; after = [ "systemd-udev-settle.service" ];
restartTriggers = [ vconsoleConf kbdEnv ]; restartTriggers = [ vconsoleConf kbdEnv ];
restartIfChanged = false; # fails when tty is inactive
}; };
}) })
@@ -0,0 +1,41 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.ecs-agent;
in {
options.services.ecs-agent = {
enable = mkEnableOption "Amazon ECS agent";
package = mkOption {
type = types.path;
description = "The ECS agent package to use";
default = pkgs.ecs-agent;
};
extra-environment = mkOption {
type = types.attrsOf types.str;
description = "The environment the ECS agent should run with. See the ECS agent documentation for keys that work here.";
default = {};
};
};
config = lib.mkIf cfg.enable {
systemd.services.ecs-agent = {
inherit (cfg.package.meta) description;
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = cfg.extra-environment;
script = ''
if [ ! -z "$ECS_DATADIR" ]; then
mkdir -p "$ECS_DATADIR"
fi
${cfg.package.bin}/bin/agent
'';
};
};
}
+10 -3
View File
@@ -4,12 +4,19 @@ with lib;
let let
cfg = config.services.vmwareGuest; cfg = config.services.vmwareGuest;
open-vm-tools = pkgs.open-vm-tools; open-vm-tools = if cfg.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools;
xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse; xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse;
in in
{ {
options = { options = {
services.vmwareGuest.enable = mkEnableOption "VMWare Guest Support"; services.vmwareGuest = {
enable = mkEnableOption "VMWare Guest Support";
headless = mkOption {
type = types.bool;
default = false;
description = "Whether to disable X11-related features.";
};
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@@ -28,7 +35,7 @@ in
environment.etc."vmware-tools".source = "${pkgs.open-vm-tools}/etc/vmware-tools/*"; environment.etc."vmware-tools".source = "${pkgs.open-vm-tools}/etc/vmware-tools/*";
services.xserver = { services.xserver = mkIf (!cfg.headless) {
videoDrivers = mkOverride 50 [ "vmware" ]; videoDrivers = mkOverride 50 [ "vmware" ];
modules = [ xf86inputvmmouse ]; modules = [ xf86inputvmmouse ];
+2 -2
View File
@@ -325,8 +325,8 @@ in rec {
kde = makeClosure ({ pkgs, ... }: kde = makeClosure ({ pkgs, ... }:
{ services.xserver.enable = true; { services.xserver.enable = true;
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
}); });
xfce = makeClosure ({ pkgs, ... }: xfce = makeClosure ({ pkgs, ... }:
+1 -1
View File
@@ -36,7 +36,7 @@ import ./make-test.nix ({ pkgs, ...} : {
# paxmark actually works (otherwise, the process should be terminated) # paxmark actually works (otherwise, the process should be terminated)
subtest "tcc", sub { subtest "tcc", sub {
$machine->execute("echo -e '#include <stdio.h>\nint main(void) { puts(\"hello\"); return 0; }' >main.c"); $machine->execute("echo -e '#include <stdio.h>\nint main(void) { puts(\"hello\"); return 0; }' >main.c");
$machine->succeed("${pkgs.tinycc.bin}/bin/tcc -run main.c"); $machine->succeed("${pkgs.tinycc}/bin/tcc -run main.c");
}; };
subtest "RBAC", sub { subtest "RBAC", sub {
+1 -1
View File
@@ -54,7 +54,7 @@ import ./make-test.nix ({ pkgs, ... }: {
client = client =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ imports = [ ./common/x11.nix ]; { imports = [ ./common/x11.nix ];
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
}; };
}; };
+1 -1
View File
@@ -45,7 +45,7 @@ import ./make-test.nix ({ pkgs, ... }: {
client = client =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ imports = [ ./common/x11.nix ]; { imports = [ ./common/x11.nix ];
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
}; };
}; };
+2 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "atom-${version}"; name = "atom-${version}";
version = "1.13.1"; version = "1.14.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0nkd0nrnnmln5fjs1c97dligzqp744j4y6lqanfbs9vrxms6mnq3"; sha256 = "0dmzqz1j2nfcm459zgfzqym26kmbspdn9lipf77aawbbn2y36xqp";
name = "${name}.deb"; name = "${name}.deb";
}; };
@@ -822,10 +822,10 @@
gnugo = callPackage ({ ascii-art-to-unicode, cl-lib ? null, elpaBuild, fetchurl, lib, xpm }: gnugo = callPackage ({ ascii-art-to-unicode, cl-lib ? null, elpaBuild, fetchurl, lib, xpm }:
elpaBuild { elpaBuild {
pname = "gnugo"; pname = "gnugo";
version = "3.0.1"; version = "3.0.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/gnugo-3.0.1.tar"; url = "https://elpa.gnu.org/packages/gnugo-3.0.2.tar";
sha256 = "08z2hg9mvsxdznq027cmwhkb5i7n7s9r2kvd4jha9xskrcnzj3pp"; sha256 = "12xm960awsn2k8ph1yibhrxdg8iz1icifdqimysg3qxljmhmnb3k";
}; };
packageRequires = [ ascii-art-to-unicode cl-lib xpm ]; packageRequires = [ ascii-art-to-unicode cl-lib xpm ];
meta = { meta = {
File diff suppressed because it is too large Load Diff
@@ -13,7 +13,7 @@ To update the list of packages from MELPA,
*/ */
{ lib }: { lib, external }:
self: self:
@@ -174,6 +174,17 @@ self:
# upstream issue: missing file header # upstream issue: missing file header
zeitgeist = markBroken super.zeitgeist; zeitgeist = markBroken super.zeitgeist;
w3m = super.w3m.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
prePatch =
let w3m = "${lib.getBin external.w3m}/bin/w3m"; in ''
substituteInPlace w3m.el \
--replace 'defcustom w3m-command nil' \
'defcustom w3m-command "${w3m}"'
'';
});
});
}; };
melpaPackages = super // overrides; melpaPackages = super // overrides;
@@ -2470,6 +2470,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
better-shell = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "better-shell";
version = "1.1";
src = fetchFromGitHub {
owner = "killdash9";
repo = "better-shell";
rev = "6ae157da700a4473734dca75925f6bf60e6b3ba7";
sha256 = "14ym7gp57yflf86hxpsjnagxnc0z1jrdc4mbq7wcbh5z8kjkbfpd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/fc553c9fb6de69dafe9fbe44a955b307f4d9507f/recipes/better-shell";
sha256 = "1mr39xz8chnc28zw1rrw5yqf44v44pby7ki22yyz6rp1j5ishp4v";
name = "better-shell";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/better-shell";
license = lib.licenses.free;
};
}) {};
biblio = callPackage ({ biblio-core, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: biblio = callPackage ({ biblio-core, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "biblio"; pname = "biblio";
@@ -3565,12 +3586,12 @@
chinese-pyim = callPackage ({ async, chinese-pyim-basedict, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip }: chinese-pyim = callPackage ({ async, chinese-pyim-basedict, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip }:
melpaBuild { melpaBuild {
pname = "chinese-pyim"; pname = "chinese-pyim";
version = "1.5.1"; version = "1.5.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tumashu"; owner = "tumashu";
repo = "chinese-pyim"; repo = "chinese-pyim";
rev = "b210c0d5275e1e8c0b78bed186cc18fc27061dd4"; rev = "577a3438d14e1a1f08baf0399ec8138c9d1dcba4";
sha256 = "1jixkb7jw07lykbfv022ccnys4xypcbv03f9bxl2r16wizzymvvd"; sha256 = "0i9nqhqbj12ilr5fsa4cwai9kf2ydv84m606zqca2xyvvdzw22as";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/157a264533124ba05c161aa93a32c7209f002fba/recipes/chinese-pyim"; url = "https://raw.githubusercontent.com/milkypostman/melpa/157a264533124ba05c161aa93a32c7209f002fba/recipes/chinese-pyim";
@@ -3838,12 +3859,12 @@
cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
melpaBuild { melpaBuild {
pname = "cliphist"; pname = "cliphist";
version = "0.5.2"; version = "0.5.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "redguardtoo"; owner = "redguardtoo";
repo = "cliphist"; repo = "cliphist";
rev = "8aaee153e0561625c35a8c178e57385c2ec92731"; rev = "acbd9782d82d7ae6bfb22fb0955597b9c5fcbb6c";
sha256 = "0swsvzz20szfcgfaarga9apla1kl0ph0lrpk0ccl6mcf93zbnvby"; sha256 = "1gj5fqjyr4m4qim9qjsvzzk42rm3vw3yycvq3nj0wpj90zb1yh14";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist"; url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
@@ -4143,12 +4164,12 @@
cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "cmake-mode"; pname = "cmake-mode";
version = "3.7.2"; version = "3.8.0pre1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Kitware"; owner = "Kitware";
repo = "CMake"; repo = "CMake";
rev = "35413bf2c1b33980afd418030af27f184872af6b"; rev = "84df4a49500e51ac6e2a19a77e385e66234386f7";
sha256 = "1kk0xri88h4lla8r8y5gksiwpyxb468h8qn0f61sfa1kni73z09s"; sha256 = "1kkycphqbz8j3jp70n9vh3lgpb2fxy2461q6x365h8mg5ab4w7x3";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -5094,12 +5115,12 @@
copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "copy-as-format"; pname = "copy-as-format";
version = "0.0.2"; version = "0.0.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sshaw"; owner = "sshaw";
repo = "copy-as-format"; repo = "copy-as-format";
rev = "6c47295597c69b3b08dd8f137f6a5973a5588674"; rev = "edc6d2313b321988fdf780fac229d395e4752702";
sha256 = "1d4x8rvmzqi3cby01ahgr3fqcsq4kpd6sglr9slxcw7hp7rlih0i"; sha256 = "1gnm9r42nkp349d5ry2bv9in83ikmh5pnrfcw96yigxrzkbajb2s";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format"; url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -9066,12 +9087,12 @@
erlang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: erlang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "erlang"; pname = "erlang";
version = "19.2.2"; version = "19.2.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "erlang"; owner = "erlang";
repo = "otp"; repo = "otp";
rev = "51faafa9a20c4afa7944b8089b26f22c774bed19"; rev = "aa315e1cf1b79ab782e5b4c944595495ebf4e2f4";
sha256 = "0shy3ckxw9scsg3j8brzk5r3p0rdpfbr9ys7akmdp2pq88d867i9"; sha256 = "1lsmjpz2g4hj44fz95w7sswzj40iv7jq5jk64x0095lhvxmlf57c";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang"; url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -9170,12 +9191,12 @@
es-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, spark }: es-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, spark }:
melpaBuild { melpaBuild {
pname = "es-mode"; pname = "es-mode";
version = "4.2.0"; version = "4.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dakrone"; owner = "dakrone";
repo = "es-mode"; repo = "es-mode";
rev = "f5e6054a1d25d5eb8e21ddb931b7f65b0735c5f8"; rev = "996730ebce57d810d2c275c7fadb11c2b1134dea";
sha256 = "04lll5sscbpqcq3sv5gsfky5qcj6asqql7fw1bp6g12qqf9r02nd"; sha256 = "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/85445b59329bfd81a3fd913d7d6fe7784c31744c/recipes/es-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/85445b59329bfd81a3fd913d7d6fe7784c31744c/recipes/es-mode";
@@ -9566,6 +9587,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
evil = callPackage ({ fetchFromGitHub, fetchurl, goto-chg, lib, melpaBuild, undo-tree }:
melpaBuild {
pname = "evil";
version = "1.2.12";
src = fetchFromGitHub {
owner = "emacs-evil";
repo = "evil";
rev = "0ad4c2dae1249558f7b59a78a685e4f8092009c9";
sha256 = "1z7ysn0h62i674pw47k905713m4ch7hrisk4834rf53zq3c9sabn";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/514964d788f250e1e7893142bc094c63131bc6a5/recipes/evil";
sha256 = "044k9p32y4cys3zwdfanr1zddgkxz16ahqspfz7vfszyw8yml1jb";
name = "evil";
};
packageRequires = [ goto-chg undo-tree ];
meta = {
homepage = "https://melpa.org/#/evil";
license = lib.licenses.free;
};
}) {};
evil-anzu = callPackage ({ anzu, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: evil-anzu = callPackage ({ anzu, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "evil-anzu"; pname = "evil-anzu";
@@ -9842,12 +9884,12 @@
evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "evil-nerd-commenter"; pname = "evil-nerd-commenter";
version = "2.3.1"; version = "2.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "redguardtoo"; owner = "redguardtoo";
repo = "evil-nerd-commenter"; repo = "evil-nerd-commenter";
rev = "54c618aada776bfda0742819ff9e91845a91e095"; rev = "01a98a20c536a575ee5bc897f38116155154d5fe";
sha256 = "04iyr6ys453pyfvif91qnhn6xyhl4z4cz2apj6vga61pa8lc70da"; sha256 = "160h4qasqr04fnv9w5dar327i074dsyac2md5y7p3hnz1c05skhl";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter"; url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -10574,22 +10616,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
find-by-pinyin-dired = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: find-by-pinyin-dired = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pinyinlib }:
melpaBuild { melpaBuild {
pname = "find-by-pinyin-dired"; pname = "find-by-pinyin-dired";
version = "0.0.2"; version = "0.0.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "redguardtoo"; owner = "redguardtoo";
repo = "find-by-pinyin-dired"; repo = "find-by-pinyin-dired";
rev = "3137c367d58958858daa6d3dee1993b2eb9dd9b4"; rev = "2c48434637bd63840fca4d2c6cf9ebd5dd44658f";
sha256 = "1xjb66pydm3yf0jxnm2mri98pxq3b26xvwjkaj1488qgj27i05jr"; sha256 = "0ial0lbvg0xbrwn8cm68xc5wxj3xgp110y2zgypkdpak8gkv8b5h";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/0aa68b4603bf4071d7d12b40de0138ecab1989d7/recipes/find-by-pinyin-dired"; url = "https://raw.githubusercontent.com/milkypostman/melpa/0aa68b4603bf4071d7d12b40de0138ecab1989d7/recipes/find-by-pinyin-dired";
sha256 = "150hvih3mdd1dqffgdcv3nn4qhy86s4lhjkfq0cfzgngfwif8qqq"; sha256 = "150hvih3mdd1dqffgdcv3nn4qhy86s4lhjkfq0cfzgngfwif8qqq";
name = "find-by-pinyin-dired"; name = "find-by-pinyin-dired";
}; };
packageRequires = []; packageRequires = [ pinyinlib ];
meta = { meta = {
homepage = "https://melpa.org/#/find-by-pinyin-dired"; homepage = "https://melpa.org/#/find-by-pinyin-dired";
license = lib.licenses.free; license = lib.licenses.free;
@@ -14105,6 +14147,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
green-screen-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "green-screen-theme";
version = "1.0.0.1";
src = fetchFromGitHub {
owner = "rbanffy";
repo = "green-screen-emacs";
rev = "e47e3eb903b4d9dbcc66342d91915947b35e5e1e";
sha256 = "0gv434aab9ar624l4r7ky4ksvkchzlgj8pyvkc73kfqcxg084pdn";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/821744ca106f1b74941524782e4581fc93800fed/recipes/green-screen-theme";
sha256 = "0a45xcl74kp3v39bl169sq46mqxiwvvis6jzwcy6yrl2vqqi4mab";
name = "green-screen-theme";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/green-screen-theme";
license = lib.licenses.free;
};
}) {};
grin = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { grin = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
pname = "grin"; pname = "grin";
version = "1.0"; version = "1.0";
@@ -14376,22 +14439,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
hacker-typer = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }: hacker-typer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "hacker-typer"; pname = "hacker-typer";
version = "1.0.1"; version = "1.0.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "therockmandolinist"; owner = "therockmandolinist";
repo = "emacs-hacker-typer"; repo = "emacs-hacker-typer";
rev = "de208bb6d69f6f45eca8522d41012c7f729b8c9f"; rev = "d5a23714a4ccc5071580622f278597d5973f40bd";
sha256 = "0lhsj9j17sd43w96zk84ssfvk5q518znbp1zkb5znl2q7ky8cwrg"; sha256 = "13wp7cg9d9ij44inxxyk1knczglxrbfaq50wyhc4x5zfhz5yw7wx";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/561661965a7a500f24671454b3b680816457e180/recipes/hacker-typer"; url = "https://raw.githubusercontent.com/milkypostman/melpa/8e04a3a1606ea23865c04d93e3dc77cb55b9931f/recipes/hacker-typer";
sha256 = "0i9kkxcz0fz4yviksl3f0ggh9kpwr9sidg7945r46bmblni3f0j9"; sha256 = "128y562cxi8rblnqjdzhqc6b58bxi67f6hz569gqw4jywz0xcd0g";
name = "hacker-typer"; name = "hacker-typer";
}; };
packageRequires = [ async ]; packageRequires = [ emacs ];
meta = { meta = {
homepage = "https://melpa.org/#/hacker-typer"; homepage = "https://melpa.org/#/hacker-typer";
license = lib.licenses.free; license = lib.licenses.free;
@@ -14735,12 +14798,12 @@
helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }: helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
melpaBuild { melpaBuild {
pname = "helm"; pname = "helm";
version = "2.5.1"; version = "2.5.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "emacs-helm"; owner = "emacs-helm";
repo = "helm"; repo = "helm";
rev = "b54d937634986dbebe97c0283137bcde07ed2275"; rev = "7d7c16f10103aeee591daf46b143d23efdf3a825";
sha256 = "0cq4pcx0rn9kzf55pbad1lcn1xq58vcdng9sx50485wdxqr0bxzc"; sha256 = "0mn36dxd70nsk1dwn0mzz94sy28hk41af8chdpl2cd09bkpw113l";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm"; url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -14777,12 +14840,12 @@
helm-ag = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: helm-ag = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "helm-ag"; pname = "helm-ag";
version = "0.57"; version = "0.58";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syohex"; owner = "syohex";
repo = "emacs-helm-ag"; repo = "emacs-helm-ag";
rev = "49e1f66fa80674513ca898e32d62d6dad875cb90"; rev = "39ed137823665fca2fa5b215f7c3e8701173f7b7";
sha256 = "0vzgiix2c8jwpk2hhxvz9gqb78glmd4dk1myrgvxs9fhsj54dkk3"; sha256 = "0a6yls52pkqsaj6s5nsi70kzpvssdvb87bfnp8gp26q2y3syx4ni";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-ag"; url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-ag";
@@ -15029,12 +15092,12 @@
helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "helm-core"; pname = "helm-core";
version = "2.5.1"; version = "2.5.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "emacs-helm"; owner = "emacs-helm";
repo = "helm"; repo = "helm";
rev = "b54d937634986dbebe97c0283137bcde07ed2275"; rev = "7d7c16f10103aeee591daf46b143d23efdf3a825";
sha256 = "0cq4pcx0rn9kzf55pbad1lcn1xq58vcdng9sx50485wdxqr0bxzc"; sha256 = "0mn36dxd70nsk1dwn0mzz94sy28hk41af8chdpl2cd09bkpw113l";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core"; url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -23129,12 +23192,12 @@
org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
melpaBuild { melpaBuild {
pname = "org-jira"; pname = "org-jira";
version = "2.5.2"; version = "2.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ahungry"; owner = "ahungry";
repo = "org-jira"; repo = "org-jira";
rev = "af4115f4e8b4e77de5642fb28ce6d5e0d7cb0b70"; rev = "0ff62665231df2be5d5bc84c4748c272664eeff3";
sha256 = "1g775f9gpl0nqq3vn6h9cnjazimn9bjwk31dc7fdylz3nf7f3h03"; sha256 = "0qn203bw0v7g8kmpkqp9vwh7m8cjjhklvwbhgmr8szaz1i1m9d0i";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira"; url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira";
@@ -23230,22 +23293,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
org-mime = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: org-mime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "org-mime"; pname = "org-mime";
version = "0.0.4"; version = "0.0.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "org-mime"; owner = "org-mime";
repo = "org-mime"; repo = "org-mime";
rev = "3c4f24c8d43c24332c4f2f4bf763459b11ead956"; rev = "a0b82a6c1a0dbcf5b7bebfe2e5817d54a1cd3cc8";
sha256 = "04xs06sgdigi9hpciqb0d12rsgzg5b5vyf08rlvkjiddkqclp5pw"; sha256 = "11wldx6c53ncw3pmdwxn31q82vkcffqvr2cfphl5bhb4q8r5lrjn";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/521678fa13884dae69c2b4b7a2af718b2eea4b28/recipes/org-mime"; url = "https://raw.githubusercontent.com/milkypostman/melpa/521678fa13884dae69c2b4b7a2af718b2eea4b28/recipes/org-mime";
sha256 = "14154pajl2bbawdd8iqfwgc67pcjp2lxl6f92c62nwq12wkcnny6"; sha256 = "14154pajl2bbawdd8iqfwgc67pcjp2lxl6f92c62nwq12wkcnny6";
name = "org-mime"; name = "org-mime";
}; };
packageRequires = []; packageRequires = [ cl-lib ];
meta = { meta = {
homepage = "https://melpa.org/#/org-mime"; homepage = "https://melpa.org/#/org-mime";
license = lib.licenses.free; license = lib.licenses.free;
@@ -24734,6 +24797,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
melpaBuild {
pname = "pastery";
version = "0.1.14";
src = fetchFromGitHub {
owner = "diasbruno";
repo = "pastery.el";
rev = "3f60a2660613c09be5a0b6e299828b44ee3c8732";
sha256 = "1dzbkiy2qjdq4isrpiwj25qj069nhydzngg6avyh2c2qmxkibjsr";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
sha256 = "006qawjc86spbbs2pxvhg9w94rcsxap577cndqwaiw1k0cc8vkhp";
name = "pastery";
};
packageRequires = [ emacs request ];
meta = {
homepage = "https://melpa.org/#/pastery";
license = lib.licenses.free;
};
}) {};
pathify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: pathify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "pathify"; pname = "pathify";
@@ -25069,6 +25153,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
phan = callPackage ({ composer, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "phan";
version = "0.0.2";
src = fetchFromGitHub {
owner = "zonuexe";
repo = "phan.el";
rev = "4e3528f490e77d3aa6d81729b30b569434ef679f";
sha256 = "1aif1hshwpzi353k2gcpwk9s76jlmz3s5dyf357qfv14b5ddhw6l";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d591d9ba70b1e32f25204ad9409aad78fd68a93c/recipes/phan";
sha256 = "16r1d2bgbb2y7l141sw7nzhx0s50gzwq5ang00y7f4sfldqvshzf";
name = "phan";
};
packageRequires = [ composer emacs f ];
meta = {
homepage = "https://melpa.org/#/phan";
license = lib.licenses.free;
};
}) {};
phi-search = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: phi-search = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "phi-search"; pname = "phi-search";
@@ -26032,22 +26137,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
projectile-variable = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: projectile-variable = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "projectile-variable"; pname = "projectile-variable";
version = "0.0.1"; version = "0.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "zonuexe";
repo = "projectile-variable"; repo = "projectile-variable";
rev = "810394eabf330325a86ec6f60c69e160eb837ac3"; rev = "8d348ac70bdd6dc320c13a12941b32b38140e264";
sha256 = "183azck3bi4qwpprcc07kvwm3piwqgql7ryy1czvmw3kbdmk1rpj"; sha256 = "0l38nldx6lwjb7mxixykiyj10xwb35249dxfg0k2wkmb2vy1fkxs";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ff603b43235f546cd47f72e675aee88d5f41e855/recipes/projectile-variable"; url = "https://raw.githubusercontent.com/milkypostman/melpa/ff603b43235f546cd47f72e675aee88d5f41e855/recipes/projectile-variable";
sha256 = "1cj8nwxf1jp5q5zzxp92fxla6jhwzd21gw649ar6mygi4hgymsji"; sha256 = "1cj8nwxf1jp5q5zzxp92fxla6jhwzd21gw649ar6mygi4hgymsji";
name = "projectile-variable"; name = "projectile-variable";
}; };
packageRequires = [ cl-lib emacs projectile ]; packageRequires = [ cl-lib emacs ];
meta = { meta = {
homepage = "https://melpa.org/#/projectile-variable"; homepage = "https://melpa.org/#/projectile-variable";
license = lib.licenses.free; license = lib.licenses.free;
@@ -27505,12 +27610,12 @@
rg = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: rg = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild { melpaBuild {
pname = "rg"; pname = "rg";
version = "1.0.0"; version = "1.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dajva"; owner = "dajva";
repo = "rg.el"; repo = "rg.el";
rev = "f1af862ba50b344d2f039f18fe83e32b6f0829a9"; rev = "ec9eb5240191612debf0392ee7a7f491c7dae27e";
sha256 = "18i5rspwx48xik8yaw0znsfqarwab7nra6wiiznjkpzm0cgh4av1"; sha256 = "0773d0n5jq42yr5p1xbbfji027j0kw4msv1p8b7zk82ij1yc7hyr";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg"; url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
@@ -28322,12 +28427,12 @@
selectric-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: selectric-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "selectric-mode"; pname = "selectric-mode";
version = "1.1"; version = "1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rbanffy"; owner = "rbanffy";
repo = "selectric-mode"; repo = "selectric-mode";
rev = "0dd7ef28a9d9d6fbb95fdeeab6b576ad8762ad16"; rev = "a8e8c8899c749bd36bdd161e161cdc51301defc6";
sha256 = "18xdkisxvdizsk51pnyimp9mwc6k9cpcxqr5hgndkz9q97p5dp79"; sha256 = "1dj8vccdk1s0ynl5znpg02xp182srn3s8cqcxqrxjllp7wbgab31";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/08922071b9854142eab726302e75f1db2d326ec5/recipes/selectric-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/08922071b9854142eab726302e75f1db2d326ec5/recipes/selectric-mode";
@@ -28994,12 +29099,12 @@
slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }: slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
melpaBuild { melpaBuild {
pname = "slime"; pname = "slime";
version = "2.18"; version = "2.19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "slime"; owner = "slime";
repo = "slime"; repo = "slime";
rev = "2da9fef009f2380daf9404022ca69cb87573f509"; rev = "6e20d01e446334848ea31ace0ce041cec25647ab";
sha256 = "0d1fcjv11my4sa11zim99ylzfsc5q989x4izrrxs3y9ii0nq8kax"; sha256 = "1ywlbdk9ywfkv8z6pb69r29nh03krfdg676d086i8qjaas7ly2yp";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime"; url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@@ -29915,6 +30020,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
ssh-agency = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "ssh-agency";
version = "0.3";
src = fetchFromGitHub {
owner = "magit";
repo = "ssh-agency";
rev = "94abffa716aff963175196066526c7ee8b4efae7";
sha256 = "1r41hgh0kaf9x56jllqjz7f9ypzgyf9pqqpm3r49xyi8fr1drbxc";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b9a9e4bd0205908bfb99762c7daaf3be276bb03a/recipes/ssh-agency";
sha256 = "0lci3fhl2p9mwilvq1njzy13dkq5cp5ighymf3zs4gzm3w0ih3h8";
name = "ssh-agency";
};
packageRequires = [ dash emacs ];
meta = {
homepage = "https://melpa.org/#/ssh-agency";
license = lib.licenses.free;
};
}) {};
ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "ssh-deploy"; pname = "ssh-deploy";
@@ -30419,12 +30545,12 @@
swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "swift-mode"; pname = "swift-mode";
version = "2.2.2"; version = "2.2.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "chrisbarrett"; owner = "chrisbarrett";
repo = "swift-mode"; repo = "swift-mode";
rev = "42669da0b68bba2d12f9d5fc38f30def118bb999"; rev = "75cbae223fbf84d19e14a7f7734ded4f46078654";
sha256 = "0l7f7mm4a7qrw0i6fnakgy7payghjgmamln9ldbdx593hg1jjzr8"; sha256 = "1ilawg15l6j3w2mlybz01h1dk9mym37wq4illz1llc3q3v9n7nny";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode";
@@ -32838,12 +32964,12 @@
which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "which-key"; pname = "which-key";
version = "1.2.1"; version = "2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "justbur"; owner = "justbur";
repo = "emacs-which-key"; repo = "emacs-which-key";
rev = "17f4b0069273f9c9877dc079e5cf49ed9cb4d278"; rev = "ea6f1dc5aacff2f3d909e410db05af01966555aa";
sha256 = "1h673yjl0hp6p244pkk6hmazgfrj2sbz9cvd1r6rnrp1lpn8z1dl"; sha256 = "0pckvxk2vpwqfypz5vyk0ig6g5697ibnlk8vspvqpanahvgaj0nh";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key"; url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@@ -33114,8 +33240,8 @@
version = "0.9.1"; version = "0.9.1";
src = fetchhg { src = fetchhg {
url = "https://bitbucket.com/ArneBab/wisp"; url = "https://bitbucket.com/ArneBab/wisp";
rev = "280ab84bf8ad"; rev = "3a654cfe6632";
sha256 = "088khr4ha37nvxzg620a6gyq7pc40rb13bbi9vgqhgjgggpq61d9"; sha256 = "1ahmpk0302g375w9ikkzagjvx8qblkzx40w960ka0cqf7nzyk75d";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
+2 -2
View File
@@ -3,8 +3,8 @@
, libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO , alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
, withX ? !stdenv.isDarwin , withX ? !stdenv.isDarwin
, withGTK2 ? true, gtk2 ? null , withGTK2 ? false, gtk2 ? null
, withGTK3 ? false, gtk3 ? null , withGTK3 ? true, gtk3 ? null
, withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null , withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null
, withCsrc ? true , withCsrc ? true
, srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null , srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null
@@ -0,0 +1,55 @@
From e84645d1694bdad7f179cd41babce723fe07aa63 Mon Sep 17 00:00:00 2001
From: Kevin Funk <kfunk@kde.org>
Date: Mon, 5 Dec 2016 15:20:53 +0100
Subject: Hotfix for restoring build with newer KConfig
https://phabricator.kde.org/D3386 is a SIC change, handle that
---
project/projectconfigskeleton.cpp | 4 ++++
project/projectconfigskeleton.h | 14 +++++---------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/project/projectconfigskeleton.cpp b/project/projectconfigskeleton.cpp
index 0e06149..c4c9767 100644
--- a/project/projectconfigskeleton.cpp
+++ b/project/projectconfigskeleton.cpp
@@ -46,6 +46,10 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString & configname )
ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
: KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
{
+ // FIXME: Check if that does the right thing.
+ // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus requiring us to make this ctor public
+ Q_ASSERT(config);
+ d->m_developerTempFile = config->name();
}
void ProjectConfigSkeleton::setDeveloperTempFile( const QString& cfg )
diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
index ed17ed0..c8314df 100644
--- a/project/projectconfigskeleton.h
+++ b/project/projectconfigskeleton.h
@@ -55,16 +55,12 @@ public:
Path projectFile() const;
Path developerFile() const;
+
+protected:
+ explicit ProjectConfigSkeleton( KSharedConfigPtr config );
+
private:
- /**
- * There's no way in KDE4 API to find out the file that the config object
- * was created from, so we can't apply defaults when using this
- * constructors. Thus I'm making this private, so we can find out when
- * this constructor is used and see if we need to add appropriate API to
- * kdelibs
- */
- explicit ProjectConfigSkeleton( KSharedConfigPtr config );
- struct ProjectConfigSkeletonPrivate * const d;
+ struct ProjectConfigSkeletonPrivate * const d;
};
}
--
cgit v0.11.2
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
sha256 = "643d1145e1948af221f9ae148d0a10809f3d89af4b97ff0d6c4d571004f46bd4"; sha256 = "643d1145e1948af221f9ae148d0a10809f3d89af4b97ff0d6c4d571004f46bd4";
}; };
patches = [ ./kdevplatform-projectconfigskeleton.patch ];
nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ]; nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ];
propagatedBuildInputs = [ ]; propagatedBuildInputs = [ ];
@@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, pythonPackages }:
with stdenv.lib;
pythonPackages.buildPythonPackage rec {
name = "neovim-remote-${version}";
version = "v1.4.0";
disabled = !pythonPackages.isPy3k;
src = fetchFromGitHub {
owner = "mhinz";
repo = "neovim-remote";
rev = version;
sha256 = "0msvfh27f56xj5ki59ikzavxz863nal5scm57n43618m49qzg8iz";
};
propagatedBuildInputs = [ pythonPackages.neovim ];
meta = {
description = "A tool that helps controlling nvim processes from a terminal";
homepage = https://github.com/mhinz/neovim-remote/;
license = licenses.mit;
maintainers = with maintainers; [ edanaher ];
platforms = platforms.unix;
};
}
+7 -7
View File
@@ -2,24 +2,24 @@
makeWrapper, libXScrnSaver }: makeWrapper, libXScrnSaver }:
let let
version = "1.9.0"; version = "1.9.1";
rev = "27240e71ef390bf2d66307e677c2a333cebf75af"; rev = "f9d0c687ff2ea7aabd85fb9a43129117c0ecf519";
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 "05f1sk2lq2skp8fxq6q229kf89vi2sq3zz6lywq7nk81pwvp8jap" sha256 = if stdenv.system == "i686-linux" then "03lv792rkb1hgn1knd8kpic7q07cd194cr4fw1bimnjblrvyy586"
else if stdenv.system == "x86_64-linux" then "0wj17lwq8f88xvfa6wfbqm580kp0470ib2yxn15j9mv0iw7nzqry" else if stdenv.system == "x86_64-linux" then "1vrcb4y2y83bhxx9121afwbzm8yddfin4zy3nyxfi805pjmszwjm"
else if stdenv.system == "x86_64-darwin" then "1k067h099j6fv820nn6h4i8ax35yvd1h8f4h5216dm66cpikv7nd" else if stdenv.system == "x86_64-darwin" then "0s92ing4m2qyqdkpmkhl2zj40hcdsr5x764sb6zprwwhfv4npymr"
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}-1486024310_i386.tar.gz" urlBase + "code-${channel}-code_${version}-1486596246_i386.tar.gz"
else if stdenv.system == "x86_64-linux" then else if stdenv.system == "x86_64-linux" then
urlBase + "code-${channel}-code_${version}-1486023356_amd64.tar.gz" urlBase + "code-${channel}-code_${version}-1486597190_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}";
+2 -2
View File
@@ -45,11 +45,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "digikam-${version}"; name = "digikam-${version}";
version = "5.3.0"; version = "5.4.0";
src = fetchurl { src = fetchurl {
url = "http://download.kde.org/stable/digikam/${name}.tar.xz"; url = "http://download.kde.org/stable/digikam/${name}.tar.xz";
sha256 = "0p1y5kgkz7lzzqpf7qd3mmg59zfdkkz9jg7knldd8dl94wkzlv5k"; sha256 = "0dgsgji14l5zvxny36hrfsp889fsfrsbbn9bg57m18404xp903kg";
}; };
nativeBuildInputs = [ cmake ecm makeQtWrapper ]; nativeBuildInputs = [ cmake ecm makeQtWrapper ];
+2 -2
View File
@@ -8,7 +8,7 @@ let
inherit (python2Packages) pygtk wrapPython python; inherit (python2Packages) pygtk wrapPython python;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "gimp-${version}"; name = "gimp-${version}";
version = "2.8.18"; version = "2.8.20";
# This declarations for `gimp-with-plugins` wrapper, # This declarations for `gimp-with-plugins` wrapper,
# (used for determining $out/lib/gimp/${majorVersion}/ paths) # (used for determining $out/lib/gimp/${majorVersion}/ paths)
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2"; url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
sha256 = "0halh6sl3d2j9gahyabj6h6r3yyldcy7sfb4qrfazpkqqr3j5p9r"; sha256 = "939ca1df70be865c672ffd654f4e20f188121d01601c5c90237214101533c805";
}; };
buildInputs = buildInputs =
@@ -38,6 +38,10 @@ stdenv.mkDerivation {
url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8684.patch"; url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8684.patch";
sha256 = "1p36gpz904wnmbz1n64x4pdpg8lp9zs3gx0awklxqdvgl8m82vvy"; sha256 = "1p36gpz904wnmbz1n64x4pdpg8lp9zs3gx0awklxqdvgl8m82vvy";
}) })
(fetchpatch {
url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-7/debian/patches/CVE-2016-9830.patch";
sha256 = "0qh15sd7nx7vf9sld4453iml951bwsx2fx84hxc7plhds2k3gjpa";
})
]; ];
configureFlags = [ configureFlags = [
@@ -3,14 +3,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "5.0"; version = "5.0-r1";
name = "rawtherapee-" + version; name = "rawtherapee-" + version;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Beep6581"; owner = "Beep6581";
repo = "RawTherapee"; repo = "RawTherapee";
rev = "9fbbb052eefb739753f0f3d631e45694d659610a"; rev = "1077c4ba2e2dbe249884e6974c6050db8eb5e9c2";
sha256 = "0r8wzxp7q77g3hjz7dr5lh5wih762pgjad3lkzjfhki9lxr7ii7q"; sha256 = "1xqmkwprk3h9nhy6q562mkjdpynyg9ff7a92sdga50k56gi0aj0s";
}; };
buildInputs = [ buildInputs = [
+2 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gpsprune-${version}"; name = "gpsprune-${version}";
version = "18.5"; version = "18.6";
src = fetchurl { src = fetchurl {
url = "http://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar"; url = "http://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
sha256 = "0xd97b7rs5i41hyih6zdbvls090903yfr1r9lflq93dyqhmzpdhn"; sha256 = "1ii9pkj24jcwzs225nyi17ks07dfc5x3940hpqrsb5xzxy2vkw7q";
}; };
phases = [ "installPhase" ]; phases = [ "installPhase" ];
+2 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "josm-${version}"; name = "josm-${version}";
version = "11223"; version = "11526";
src = fetchurl { src = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "0fv1hlp98f178jy7lxnvq2rk6rq1zj62q6dv0vn02fvm00ia53s8"; sha256 = "1164vfqbbys0032amk85219y0paihvi8jkx0kwc5lramwsk57pld";
}; };
phases = [ "installPhase" ]; phases = [ "installPhase" ];
+7 -14
View File
@@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mlterm-${version}"; name = "mlterm-${version}";
version = "3.7.2"; version = "3.8.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz"; url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz";
sha256 = "1b24w8hfck1ylfkdz9z55vlmsb36q9iyfr0i9q9y98dfk0f0rrw8"; sha256 = "00dzx5rqsp73shgvn2jvgk85v3lirby06wxkqjcm1i1xwigidq3b";
}; };
nativeBuildInputs = [ pkgconfig autoconf ]; nativeBuildInputs = [ pkgconfig autoconf ];
@@ -20,17 +20,15 @@ stdenv.mkDerivation rec {
harfbuzz fribidi m17n_lib openssl libssh2 harfbuzz fribidi m17n_lib openssl libssh2
]; ];
patches = [ ./x_shortcut.c.patch ]; #fixes numlock in 3.7.2. should be safe to remove by 3.7.3 since it's already in the trunk: https://bitbucket.org/arakiken/mlterm/commits/4820d42c7abfe1760a5ea35492c83be469c642b3
#bad configure.ac and Makefile.in everywhere #bad configure.ac and Makefile.in everywhere
preConfigure = '' preConfigure = ''
sed -ie 's;-L/usr/local/lib -R/usr/local/lib;;g' \ sed -ie 's;-L/usr/local/lib -R/usr/local/lib;;g' \
xwindow/libtype/Makefile.in \
main/Makefile.in \ main/Makefile.in \
tool/mlfc/Makefile.in \ tool/mlfc/Makefile.in \
tool/mlimgloader/Makefile.in \ tool/mlimgloader/Makefile.in \
tool/mlconfig/Makefile.in \ tool/mlconfig/Makefile.in \
xwindow/libotl/Makefile.in uitoolkit/libtype/Makefile.in \
uitoolkit/libotl/Makefile.in
sed -ie 's;cd ..srcdir. && rm -f ...lang..gmo.*;;g' \ sed -ie 's;cd ..srcdir. && rm -f ...lang..gmo.*;;g' \
tool/mlconfig/po/Makefile.in.in tool/mlconfig/po/Makefile.in.in
#utmp and mlterm-fb #utmp and mlterm-fb
@@ -68,14 +66,9 @@ stdenv.mkDerivation rec {
]; ];
postInstall = '' postInstall = ''
mkdir -p "$out/share/icons/hicolor/scalable/apps" install -D contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg"
cp contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg" install -D contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png"
install -D -t $out/share/applications $desktopItem/share/applications/*
mkdir -p "$out/share/icons/hicolor/48x48/apps"
cp contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png"
mkdir -p "$out/share/applications"
cp $desktopItem/share/applications/* $out/share/applications
''; '';
desktopItem = makeDesktopItem rec { desktopItem = makeDesktopItem rec {
@@ -1,26 +0,0 @@
--- mlterm-3.7.2/xwindow/x_shortcut.c
+++ mlterm-3.7.2/xwindow/x_shortcut.c
@@ -292,6 +292,11 @@
/* ingoring except these masks */
state &= (ModMask|ControlMask|ShiftMask|CommandMask|button_mask) ;
+ if( state & button_mask)
+ {
+ state &= ~Mod2Mask ; /* XXX NumLock */
+ }
+
if( shortcut->map[func].ksym == ksym &&
shortcut->map[func].state ==
( state |
@@ -318,6 +323,11 @@
/* ingoring except these masks */
state &= (ModMask|ControlMask|ShiftMask|CommandMask|button_mask) ;
+ if( state & button_mask)
+ {
+ state &= ~Mod2Mask ; /* XXX NumLock */
+ }
+
for( count = 0 ; count < shortcut->str_map_size ; count ++)
{
if( shortcut->str_map[count].ksym == ksym &&
+41
View File
@@ -0,0 +1,41 @@
{ stdenv, fetchurl, itstool, intltool, pkgconfig
, libxml2, gnome2, atk, gtk2, glib
, mono, mono-addins, dbus-sharp-2_0, dbus-sharp-glib-2_0, gnome-sharp, gtk-sharp-2_0
, makeWrapper, lib}:
let
version = "1.15.7";
in
stdenv.mkDerivation {
name = "tomboy-${version}";
src = fetchurl {
url = "https://github.com/tomboy-notes/tomboy/releases/download/${version}/tomboy-${version}.tar.xz";
sha256 = "1i6sv6w2ms2x0nkgxq11agljiyg0yl4x2rzmcyvs2hxyf574hd1y";
};
buildInputs = [ itstool intltool pkgconfig
libxml2 gnome2.GConf atk gtk2
mono mono-addins dbus-sharp-2_0 dbus-sharp-glib-2_0 gnome-sharp gtk-sharp-2_0
makeWrapper ];
postInstall = ''
makeWrapper "${mono}/bin/mono" "$out/bin/tomboy" \
--add-flags "$out/lib/tomboy/Tomboy.exe" \
--prefix MONO_GAC_PREFIX : ${dbus-sharp-2_0} \
--prefix MONO_GAC_PREFIX : ${dbus-sharp-glib-2_0} \
--prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \
--prefix MONO_GAC_PREFIX : ${gnome-sharp} \
--prefix MONO_GAC_PREFIX : ${mono-addins} \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk-sharp-2_0 gtk-sharp-2_0.gtk gnome2.GConf ]}
'';
meta = with stdenv.lib; {
homepage = "https://wiki.gnome.org/Apps/Tomboy";
description = "A simple note-taking application with synchronization";
platforms = platforms.linux;
license = stdenv.lib.licenses.lgpl2;
maintainers = with maintainers; [ stesie ];
};
}
@@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "terraform-${version}"; name = "terraform-${version}";
version = "0.8.5"; version = "0.8.6";
rev = "v${version}"; rev = "v${version}";
goPackagePath = "github.com/hashicorp/terraform"; goPackagePath = "github.com/hashicorp/terraform";
@@ -11,7 +11,7 @@ buildGoPackage rec {
inherit rev; inherit rev;
owner = "hashicorp"; owner = "hashicorp";
repo = "terraform"; repo = "terraform";
sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09"; sha256 = "1yrsb940xx4iqjz4s6c4dbmxzmqzffrxn6if7ywixg4dgpi279mx";
}; };
postInstall = '' postInstall = ''
@@ -23,11 +23,11 @@
let let
# NOTE: When updating, please also update in current stable, # NOTE: When updating, please also update in current stable,
# as older versions stop working # as older versions stop working
version = "18.4.32"; version = "19.4.13";
sha256 = sha256 =
{ {
"x86_64-linux" = "0rm91gic6qwlvkclhwpw9mhsb1l9qdxqi7kyvn5ij6a978c70k5r"; "x86_64-linux" = "06lgmjj204xpid35cqrp2msasg4s4w6lf1zpz1lnk3f9x6q10254";
"i686-linux" = "0xzk4hxykacvrym8ls8q4zv2277adg6b5m7zmncmfwb6igx4ipap"; "i686-linux" = "1kdj3c5s8s4smd52p2mqbzjsk68a9cd5f8x92xgsx9zzdzjqmagl";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch = arch =
@@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, pkgconfig, gtk2, lua, perl, python { stdenv, fetchFromGitHub, pkgconfig, gtk2, lua, perl, python2
, libtool, pciutils, dbus_glib, libcanberra_gtk2, libproxy , libtool, pciutils, dbus_glib, libcanberra_gtk2, libproxy
, libsexy, enchant, libnotify, openssl, intltool , libsexy, enchant, libnotify, openssl, intltool
, desktop_file_utils, hicolor_icon_theme , desktop_file_utils, hicolor_icon_theme
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
gtk2 lua perl python pciutils dbus_glib libcanberra_gtk2 libproxy gtk2 lua perl python2 pciutils dbus_glib libcanberra_gtk2 libproxy
libsexy libnotify openssl desktop_file_utils hicolor_icon_theme libsexy libnotify openssl desktop_file_utils hicolor_icon_theme
]; ];
@@ -1,31 +1,28 @@
{ stdenv, fetchFromGitHub, scons, pkgconfig, gnome3, gmime, webkitgtk24x { stdenv, fetchFromGitHub, scons, pkgconfig, gnome3, gmime, webkitgtk24x
, libsass, notmuch, boost, makeWrapper }: , libsass, notmuch, boost, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "astroid-${version}"; name = "astroid-${version}";
version = "0.6"; version = "0.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "astroidmail"; owner = "astroidmail";
repo = "astroid"; repo = "astroid";
rev = "v${version}"; rev = "v${version}";
sha256 = "0zashjmqv8ips9q8ckyhgm9hfyf01wpgs6g21cwl05q5iklc5x7r"; sha256 = "0r3hqwwr68bjhqaa1r3l9brbmvdp11pf8vhsjlvm5zv520z5y1rf";
}; };
patches = [ ./propagate-environment.patch ]; patches = [ ./propagate-environment.patch ];
buildInputs = [ scons pkgconfig gnome3.gtkmm gmime webkitgtk24x libsass nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ];
gnome3.libpeas notmuch boost gnome3.gsettings_desktop_schemas
makeWrapper ]; buildInputs = [ gnome3.gtkmm gmime webkitgtk24x libsass gnome3.libpeas
notmuch boost gnome3.gsettings_desktop_schemas
gnome3.adwaita-icon-theme ];
buildPhase = "scons --prefix=$out build"; buildPhase = "scons --prefix=$out build";
installPhase = "scons --prefix=$out install"; installPhase = "scons --prefix=$out install";
preFixup = ''
wrapProgram "$out/bin/astroid" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
meta = { meta = {
homepage = "https://astroidmail.github.io/"; homepage = "https://astroidmail.github.io/";
description = "GTK+ frontend to the notmuch mail system"; description = "GTK+ frontend to the notmuch mail system";
@@ -6,14 +6,14 @@ let
''; '';
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "0.14.21"; version = "0.14.23";
name = "syncthing-${version}"; name = "syncthing-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "0gxv4r7zg2rxjj0q8iiq3p5s75kwshcy6drjv65k8p2778bbvcjl"; sha256 = "1himf8yhfpjsv5m068y2f6f696d7ip0jq7jmg69kn7035zlxicis";
}; };
buildInputs = [ go ]; buildInputs = [ go ];
@@ -13,7 +13,7 @@
, librevenge, libe-book, libmwaw, glm, glew, gst_all_1 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
, gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas , gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
, defaultIconTheme, glib, ncurses , defaultIconTheme, glib, ncurses
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" ] , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" ]
, withHelp ? true , withHelp ? true
, kdeIntegration ? false , kdeIntegration ? false
}: }:
@@ -13,7 +13,7 @@
, librevenge, libe-book, libmwaw, glm, glew, gst_all_1 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
, gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas , gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
, defaultIconTheme, glib, ncurses , defaultIconTheme, glib, ncurses
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" ] , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" ]
, withHelp ? true , withHelp ? true
, kdeIntegration ? false , kdeIntegration ? false
}: }:
+2 -2
View File
@@ -111,11 +111,11 @@ in
plugin = "exodus"; plugin = "exodus";
namespace = "plugin.video.exodus"; namespace = "plugin.video.exodus";
version = "2.0.12"; version = "3.0.5";
src = fetchurl { src = fetchurl {
url = "https://offshoregit.com/${plugin}/${namespace}/${namespace}-${version}.zip"; url = "https://offshoregit.com/${plugin}/${namespace}/${namespace}-${version}.zip";
sha256 = "02cdyvyxay6jiw9xj8hqnkp5w6drqj67pkh243znrsc06f26qkql"; sha256 = "0di34sp6y3v72l6gfhj7cvs1vljs9vf0d0x2giix3jk433cj01j0";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
@@ -0,0 +1,26 @@
{ cmake, fetchFromGitHub, libvncserver, qemu, qtbase, stdenv
}:
stdenv.mkDerivation rec {
name = "aqemu-${version}";
version = "0.9.2";
src = fetchFromGitHub {
owner = "tobimensch";
repo = "aqemu";
rev = "v${version}";
sha256 = "1h1mcw8x0jir5p39bs8ka0lcisiyi4jq61fsccgb9hsvl1i8fvk5";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ libvncserver qtbase qemu ];
meta = with stdenv.lib; {
description = "A virtual machine manager GUI for qemu";
homepage = https://github.com/tobimensch/aqemu;
license = licenses.gpl2;
maintainers = with maintainers; [ hrdinka ];
platforms = with platforms; linux;
};
}
@@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, buildGoPackage }:
buildGoPackage rec {
name = "${pname}-${version}";
pname = "amazon-ecs-agent";
version = "1.14.0";
goPackagePath = "github.com/aws/${pname}";
subPackages = [ "agent" ];
src = fetchFromGitHub {
rev = "v${version}";
owner = "aws";
repo = pname;
sha256 = "12c8l0x8pm883rlbdr1m07r0kjkzggkfz35cjqz8pzyr5ymjdrc3";
};
meta = with stdenv.lib; {
description = "The agent that runs on AWS EC2 container instances and starts containers on behalf of Amazon ECS";
homepage = "https://github.com/aws/amazon-ecs-agent";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ copumpkin ];
};
}
@@ -1,42 +1,48 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook, { stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook,
libmspack, openssl, pam, xercesc, icu, libdnet, procps, fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps,
xlibsWrapper, libXinerama, libXi, libXrender, libXrandr, libXtst, libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst,
pkgconfig, glib, gtk, gtkmm, iproute, dbus, systemd }: pkgconfig, glib, gtk, gtkmm, iproute, dbus, systemd, which,
withX ? true }:
let stdenv.mkDerivation rec {
majorVersion = "10.0";
minorVersion = "7";
version = "${majorVersion}.${minorVersion}";
in stdenv.mkDerivation rec {
name = "open-vm-tools-${version}"; name = "open-vm-tools-${version}";
version = "10.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vmware"; owner = "vmware";
repo = "open-vm-tools"; repo = "open-vm-tools";
rev = "stable-${version}"; rev = "stable-${version}";
sha256 = "0xxgppxjisg3jly21r7mjk06rc4n7ssyvapasxhbi2d1bw0xkvrj"; sha256 = "1qzk4mvw618ca4j9agsfpqch9jgwghvdc4rpkvlyz8kirvh9iniz";
}; };
sourceRoot = "${src.name}/open-vm-tools"; sourceRoot = "${src.name}/open-vm-tools";
buildInputs = outputs = [ "out" "dev" ];
[ autoreconfHook makeWrapper libmspack openssl pam xercesc icu libdnet procps
pkgconfig glib gtk gtkmm xlibsWrapper libXinerama libXi libXrender libXrandr libXtst ];
postPatch = '' nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ];
sed -i s,-Werror,,g configure.ac buildInputs = [ fuse glib icu libdnet libmspack openssl pam procps xercesc ]
sed -i 's,^confdir = ,confdir = ''${prefix},' scripts/Makefile.am ++ lib.optionals withX [ gtk gtkmm libX11 libXext libXinerama libXi libXrender libXrandr libXtst ];
sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' services/vmtoolsd/Makefile.am
'';
patches = [ ./recognize_nixos.patch ]; patches = [ ./recognize_nixos.patch ];
postPatch = ''
# Build bugfix for 10.1.0, stolen from Arch PKGBUILD
mkdir -p common-agent/etc/config
sed -i 's|.*common-agent/etc/config/Makefile.*|\\|' configure.ac
configureFlags = "--without-kernel-modules --without-xmlsecurity"; sed -i 's,^confdir = ,confdir = ''${prefix},' scripts/Makefile.am
sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' services/vmtoolsd/Makefile.am
sed -i 's,$(PAM_PREFIX),''${prefix}/$(PAM_PREFIX),' services/vmtoolsd/Makefile.am
sed -i 's,$(UDEVRULESDIR),''${prefix}/$(UDEVRULESDIR),' udev/Makefile.am
'';
configureFlags = [ "--without-kernel-modules" "--without-xmlsecurity" ]
++ lib.optional (!withX) "--without-x";
enableParallelBuilding = true;
postInstall = '' postInstall = ''
sed -i 's,which ,command -v ,' "$out/etc/vmware-tools/scripts/vmware/network" wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \
wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \ --prefix PATH ':' "${lib.makeBinPath [ iproute dbus systemd which ]}"
--prefix PATH ':' "${lib.makeBinPath [ iproute dbus systemd ]}"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
@@ -1,30 +1,20 @@
diff -ruN open-vm-tools.orig/lib/include/guest_os.h open-vm-tools/lib/include/guest_os.h diff --git a/lib/include/guest_os.h b/open-vm-tools/lib/include/guest_os.h
--- open-vm-tools.orig/lib/include/guest_os.h 2016-02-12 00:50:33.000000000 +0000 index ef202e3..c7a105d 100644
+++ open-vm-tools/lib/include/guest_os.h 2016-04-18 20:07:41.677251511 +0000 --- a/lib/include/guest_os.h
@@ -222,6 +222,7 @@ +++ b/lib/include/guest_os.h
@@ -238,6 +238,7 @@ Bool Gos_InSetArray(uint32 gos, const uint32 *set);
#define STR_OS_MANDRAKE_FULL "Mandrake Linux" #define STR_OS_MANDRAKE_FULL "Mandrake Linux"
#define STR_OS_MANDRIVA "mandriva" #define STR_OS_MANDRIVA "mandriva"
#define STR_OS_MKLINUX "MkLinux" #define STR_OS_MKLINUX "MkLinux"
+#define STR_OS_NIXOS "NixOS" +#define STR_OS_NIXOS "NixOS"
#define STR_OS_NOVELL "nld9" #define STR_OS_NOVELL "nld9"
#define STR_OS_NOVELL_FULL "Novell Linux Desktop 9" #define STR_OS_NOVELL_FULL "Novell Linux Desktop 9"
#define STR_OS_ORACLE "oraclelinux" #define STR_OS_ORACLE6 "oraclelinux6"
diff -ruN open-vm-tools.orig/lib/include/vmblock.h open-vm-tools/lib/include/vmblock.h diff --git a/lib/misc/hostinfoPosix.c b/open-vm-tools/lib/misc/hostinfoPosix.c
--- open-vm-tools.orig/lib/include/vmblock.h 2016-02-12 00:50:33.000000000 +0000 index 0f55070..2d8467c 100644
+++ open-vm-tools/lib/include/vmblock.h 2016-04-18 21:51:15.651235848 +0000 --- a/lib/misc/hostinfoPosix.c
@@ -145,7 +145,7 @@ +++ b/lib/misc/hostinfoPosix.c
# define VMBLOCK_DEVICE_MODE VMBLOCK_FUSE_DEVICE_MODE @@ -195,6 +195,7 @@ static const DistroInfo distroArray[] = {
# define VMBLOCK_MOUNT_POINT VMBLOCK_FUSE_MOUNT_POINT
-#elif defined(linux)
+#elif defined(__linux__)
# define VMBLOCK_ADD_FILEBLOCK 98
# define VMBLOCK_DEL_FILEBLOCK 99
# ifdef VMX86_DEVEL
diff -ruN open-vm-tools.orig/lib/misc/hostinfoPosix.c open-vm-tools/lib/misc/hostinfoPosix.c
--- open-vm-tools.orig/lib/misc/hostinfoPosix.c 2016-02-12 00:50:33.000000000 +0000
+++ open-vm-tools/lib/misc/hostinfoPosix.c 2016-04-18 20:09:45.841668252 +0000
@@ -195,6 +195,7 @@
{"Mandrake", "/etc/mandrake-release"}, {"Mandrake", "/etc/mandrake-release"},
{"Mandriva", "/etc/mandriva-release"}, {"Mandriva", "/etc/mandriva-release"},
{"MkLinux", "/etc/mklinux-release"}, {"MkLinux", "/etc/mklinux-release"},
@@ -32,12 +22,12 @@ diff -ruN open-vm-tools.orig/lib/misc/hostinfoPosix.c open-vm-tools/lib/misc/hos
{"Novell", "/etc/nld-release"}, {"Novell", "/etc/nld-release"},
{"OracleLinux", "/etc/oracle-release"}, {"OracleLinux", "/etc/oracle-release"},
{"Photon", "/etc/lsb-release"}, {"Photon", "/etc/lsb-release"},
@@ -619,6 +620,8 @@ @@ -554,6 +555,8 @@ HostinfoGetOSShortName(char *distro, // IN: full distro name
Str_Strcpy(distroShort, STR_OS_MANDRIVA, distroShortSize); }
} else if (strstr(distroLower, "mklinux")) { } else if (strstr(distroLower, "mandrake")) {
Str_Strcpy(distroShort, STR_OS_MKLINUX, distroShortSize); Str_Strcpy(distroShort, STR_OS_MANDRAKE, distroShortSize);
+ } else if (strstr(distroLower, "nixos")) { + } else if (strstr(distroLower, "nixos")) {
+ Str_Strcpy(distroShort, STR_OS_NIXOS, distroShortSize); + Str_Strcpy(distroShort, STR_OS_NIXOS, distroShortSize);
} else if (strstr(distroLower, "pld")) { } else if (strstr(distroLower, "turbolinux")) {
Str_Strcpy(distroShort, STR_OS_PLD, distroShortSize); Str_Strcpy(distroShort, STR_OS_TURBO, distroShortSize);
} else if (strstr(distroLower, "slackware")) { } else if (strstr(distroLower, "sun")) {
+21 -1
View File
@@ -1,8 +1,28 @@
# construct an executable file that wraps the actual executable
# makeWrapper EXECUTABLE ARGS
# ARGS:
# --argv0 NAME : set name of executed process to NAME
# (otherwise its called …-wrapped)
# --set VAR VAL : add VAR with value VAL to the executables environment
# --unset VAR : remove VAR from the environment
# --run COMMAND : run command before the executable
# The command can push extra flags to a magic list variable
# extraFlagsArray, which are then added to the invocation
# of the executable
# --add-flags FLAGS : add FLAGS to invocation of executable
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
# --suffix
# --suffix-each ENV SEP VALS : like --suffix, but VALS is a list
# --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES
# are read first and used as VALS
# --suffix-contents
makeWrapper() { makeWrapper() {
local original=$1 local original=$1
local wrapper=$2 local wrapper=$2
local params varName value command separator n fileNames local params varName value command separator n fileNames
local argv0 flagsBefore flags local argv0 flagsBefore flags extraFlagsArray
mkdir -p "$(dirname $wrapper)" mkdir -p "$(dirname $wrapper)"
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, runCommand, python, perl, cdrkit, pathsFromGraph { stdenv, fetchurl, runCommand, python, perl, xorriso, pathsFromGraph
, arch ? "x86_64" , arch ? "x86_64"
}: }:
@@ -10,10 +10,10 @@
let let
cygPkgList = if arch == "x86_64" then fetchurl { cygPkgList = if arch == "x86_64" then fetchurl {
url = "${mirror}/x86_64/setup.ini"; url = "${mirror}/x86_64/setup.ini";
sha256 = "0ljsxdkx9s916wp28kcvql3bjx80zzzidan6jicby7i9s3sm96n9"; sha256 = "0arrxvxbl85l82iy648snx5cl952w791p45p0dfg1xpiaf96cbkj";
} else fetchurl { } else fetchurl {
url = "${mirror}/x86/setup.ini"; url = "${mirror}/x86/setup.ini";
sha256 = "1slyj4qha7x649ggwdski9spmyrbs04z2d46vgk8krllg0kppnjv"; sha256 = "1fayx34868vd5h2nah7chiw65sl3i9qzrwvs7lrlv2h8k412vb69";
}; };
cygwinCross = (import ../../../../.. { cygwinCross = (import ../../../../.. {
@@ -25,23 +25,24 @@ let
inherit arch; inherit arch;
config = "${arch}-w64-mingw32"; config = "${arch}-w64-mingw32";
}; };
}).windows.cygwinSetup.crossDrv; }).windows.cygwinSetup;
makeCygwinClosure = { packages, packageList }: let makeCygwinClosure = { packages, packageList }: let
expr = import (runCommand "cygwin.nix" { buildInputs = [ python ]; } '' expr = import (runCommand "cygwin.nix" { buildInputs = [ python ]; } ''
python ${./mkclosure.py} "${packages}" ${toString packageList} > "$out" python ${./mkclosure.py} "${packages}" ${toString packageList} > "$out"
''); '');
gen = { url, md5 }: { gen = { url, hash }: {
source = fetchurl { source = fetchurl {
url = "${mirror}/${url}"; url = "${mirror}/${url}";
inherit md5; sha512 = hash;
}; };
target = url; target = url;
}; };
in map gen expr; in map gen expr;
in import ../../../../../nixos/lib/make-iso9660-image.nix { in import ../../../../../nixos/lib/make-iso9660-image.nix {
inherit stdenv perl cdrkit pathsFromGraph; inherit stdenv perl xorriso pathsFromGraph;
syslinux = null;
contents = [ contents = [
{ source = "${cygwinCross}/bin/setup.exe"; { source = "${cygwinCross}/bin/setup.exe";
target = "setup.exe"; target = "setup.exe";
@@ -63,12 +63,12 @@ def main():
if install_line is None: if install_line is None:
continue continue
url, size, md5 = install_line.split(' ', 2) url, size, hash = install_line.split(' ', 2)
pack = [ pack = [
' {', ' {',
' url = "{0}";'.format(url), ' url = "{0}";'.format(url),
' md5 = "{0}";'.format(md5), ' hash = "{0}";'.format(hash),
' }', ' }',
]; ];
sys.stdout.write('\n'.join(pack) + '\n') sys.stdout.write('\n'.join(pack) + '\n')
@@ -1,6 +1,8 @@
{stdenv, fetchurl, fontforge, pythonPackages, python}: {stdenv, fetchurl, fontforge, python2}:
let let
inherit (python2.pkgs) fonttools;
common = common =
{version, url, sha256, buildInputs}: {version, url, sha256, buildInputs}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@@ -47,7 +49,7 @@ in {
version = "1.07.4"; version = "1.07.4";
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz"; url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz";
sha256 = "01jlg88q2s6by7qv6fmnrlx0lwjarrjrpxv811zjz6f2im4vg65d"; sha256 = "01jlg88q2s6by7qv6fmnrlx0lwjarrjrpxv811zjz6f2im4vg65d";
buildInputs = [ fontforge pythonPackages.fonttools python ]; buildInputs = [ fontforge fonttools ];
}; };
liberation_ttf_v1_binary = common rec { liberation_ttf_v1_binary = common rec {
version = "1.07.4"; version = "1.07.4";
@@ -59,7 +61,7 @@ in {
version = "2.00.1"; version = "2.00.1";
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz"; url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz";
sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs"; sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
buildInputs = [ fontforge pythonPackages.fonttools python ]; buildInputs = [ fontforge fonttools ];
}; };
liberation_ttf_v2_binary = common rec { liberation_ttf_v2_binary = common rec {
version = "2.00.1"; version = "2.00.1";
@@ -67,4 +69,4 @@ in {
sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q"; sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
buildInputs = [ ]; buildInputs = [ ];
}; };
} }
@@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "epiphany-3.22.5"; name = "epiphany-3.22.6";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/epiphany/3.22/epiphany-3.22.5.tar.xz; url = mirror://gnome/sources/epiphany/3.22/epiphany-3.22.5.tar.xz;
sha256 = "e9c307b3f53a77c16ca698fb62fbb8d9b16773702d8163d83699bd623afa6745"; sha256 = "0ib7z8x65gcr6vc6709df1rngcfrp3xn5ywqlrnc2xrsynrhghz9";
}; };
} }
@@ -544,7 +544,7 @@ stdenv.mkDerivation ({
} }
# Strip kills static libs of other archs (hence cross != null) # Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (!stripped || cross != null) { dontStrip = true; }
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
) )
@@ -551,7 +551,7 @@ stdenv.mkDerivation ({
} }
# Strip kills static libs of other archs (hence cross != null) # Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (!stripped || cross != null) { dontStrip = true; }
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+1 -1
View File
@@ -547,7 +547,7 @@ stdenv.mkDerivation ({
} }
# Strip kills static libs of other archs (hence cross != null) # Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (!stripped || cross != null) { dontStrip = true; }
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
) )
+1 -1
View File
@@ -545,7 +545,7 @@ stdenv.mkDerivation ({
} }
# Strip kills static libs of other archs (hence cross != null) # Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (!stripped || cross != null) { dontStrip = true; }
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
) )
+11 -13
View File
@@ -1,14 +1,11 @@
{ stdenv, fetchFromRepoOrCz, perl, texinfo }: { stdenv, fetchFromRepoOrCz, perl, texinfo }:
assert (stdenv.isGlibc);
with stdenv.lib; with stdenv.lib;
let let
date = "20160525"; date = "20170108";
version = "0.9.27pre-${date}"; version = "0.9.27pre-${date}";
rev = "1ca685f887310b5cbdc415cdfc3a578dbc8d82d8"; rev = "5420bb8a67f5f782ac49c90afb7da178a60c448a";
sha256 = "149s847jkg2zdmk09h0cp0q69m8kxxci441zyw8b08fy9b87ayd8"; sha256 = "0gf1ys4vv5qfkh6462fkdv44mz5chhrchlvgcl0m44f8mm8cjwa3";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@@ -20,8 +17,6 @@ stdenv.mkDerivation rec {
inherit sha256; inherit sha256;
}; };
outputs = [ "bin" "dev" "out" ];
nativeBuildInputs = [ perl texinfo ]; nativeBuildInputs = [ perl texinfo ];
hardeningDisable = [ "fortify" ]; hardeningDisable = [ "fortify" ];
@@ -32,17 +27,20 @@ stdenv.mkDerivation rec {
''; '';
preConfigure = '' preConfigure = ''
configureFlagsArray+=("--elfinterp=$(cat $NIX_CC/nix-support/dynamic-linker)") echo ${version} > VERSION
configureFlagsArray+=("--crtprefix=${stdenv.glibc.out}/lib")
configureFlagsArray+=("--sysincludepaths=${stdenv.glibc.dev}/include:{B}/include") configureFlagsArray+=("--cc=cc")
configureFlagsArray+=("--libpaths=${stdenv.glibc.out}/lib") configureFlagsArray+=("--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker)")
configureFlagsArray+=("--crtprefix=${getLib stdenv.cc.libc}/lib")
configureFlagsArray+=("--sysincludepaths=${getDev stdenv.cc.libc}/include:{B}/include")
configureFlagsArray+=("--libpaths=${getLib stdenv.cc.libc}/lib")
''; '';
doCheck = true; doCheck = true;
checkTarget = "test"; checkTarget = "test";
postFixup = '' postFixup = ''
paxmark m $bin/bin/tcc paxmark m $out/bin/tcc
''; '';
meta = { meta = {
@@ -384,4 +384,7 @@ self: super: builtins.intersectAttrs super {
librarySystemDepends = old.librarySystemDepends or [] ++ [ pkgs.systemd ]; librarySystemDepends = old.librarySystemDepends or [] ++ [ pkgs.systemd ];
}); });
# Needs network in tests.
typed-process = dontCheck super.typed-process;
} }
@@ -20,7 +20,8 @@
# TODO enable shared libs for cross-compiling # TODO enable shared libs for cross-compiling
, enableSharedExecutables ? !isCross && (((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)) , enableSharedExecutables ? !isCross && (((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version))
, enableSharedLibraries ? !isCross && (((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)) , enableSharedLibraries ? !isCross && (((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version))
, enableSplitObjs ? !stdenv.isDarwin # http://hackage.haskell.org/trac/ghc/ticket/4013 , enableSplitObjs ? null # OBSOLETE, use enableDeadCodeElimination
, enableDeadCodeElimination ? (!stdenv.isDarwin) # TODO: use -dead_strip for darwin
, enableStaticLibraries ? true , enableStaticLibraries ? true
, extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? [] , extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? []
, homepage ? "http://hackage.haskell.org/package/${pname}" , homepage ? "http://hackage.haskell.org/package/${pname}"
@@ -53,6 +54,8 @@
} @ args: } @ args:
assert editedCabalFile != null -> revision != null; assert editedCabalFile != null -> revision != null;
# OBSOLETE, use enableDeadCodeElimination
assert enableSplitObjs == null;
let let
@@ -108,13 +111,15 @@ let
(optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names") (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
(optionalString enableParallelBuilding "--ghc-option=-j$NIX_BUILD_CORES") (optionalString enableParallelBuilding "--ghc-option=-j$NIX_BUILD_CORES")
(optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp") (optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
(enableFeature enableSplitObjs "split-objs") (enableFeature (enableDeadCodeElimination && (stdenv.lib.versionAtLeast "8.0.1" ghc.version)) "split-objs")
(enableFeature enableLibraryProfiling "library-profiling") (enableFeature enableLibraryProfiling "library-profiling")
(enableFeature enableExecutableProfiling (if versionOlder ghc.version "8" then "executable-profiling" else "profiling")) (enableFeature enableExecutableProfiling (if versionOlder ghc.version "8" then "executable-profiling" else "profiling"))
(enableFeature enableSharedLibraries "shared") (enableFeature enableSharedLibraries "shared")
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla")) (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla"))
(optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic")) (optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests")) (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
] ++ optionals (enableDeadCodeElimination && (stdenv.lib.versionOlder "8.0.1" ghc.version)) [
"--ghc-option=-split-sections"
] ++ optionals isGhcjs [ ] ++ optionals isGhcjs [
"--with-hsc2hs=${nativeGhc}/bin/hsc2hs" "--with-hsc2hs=${nativeGhc}/bin/hsc2hs"
"--ghcjs" "--ghcjs"
+2 -2
View File
@@ -50,8 +50,8 @@ rec {
enableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = true; }); enableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = true; });
disableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = false; }); disableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = false; });
enableSplitObjs = drv: overrideCabal drv (drv: { enableSplitObjs = true; }); enableDeadCodeElimination = drv: overrideCabal drv (drv: { enableDeadCodeElimination = true; });
disableSplitObjs = drv: overrideCabal drv (drv: { enableSplitObjs = false; }); disableDeadCodeElimination = drv: overrideCabal drv (drv: { enableDeadCodeElimination = false; });
enableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = true; }); enableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = true; });
disableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = false; }); disableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = false; });
@@ -24,7 +24,7 @@ with stdenv.lib;
let let
majorVersion = "3.4"; majorVersion = "3.4";
minorVersion = "5"; minorVersion = "6";
minorVersionSuffix = ""; minorVersionSuffix = "";
pythonVersion = majorVersion; pythonVersion = majorVersion;
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -45,7 +45,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
sha256 = "12l9klp778wklxmckhghniy5hklss8r26995pyd00qbllk4b2r7f"; sha256 = "0h2z248hkf8x1ix1z8npkqs9cq62i322sl4rcjdkp7mawsxjhd7i";
}; };
NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
@@ -24,7 +24,7 @@ with stdenv.lib;
let let
majorVersion = "3.5"; majorVersion = "3.5";
minorVersion = "2"; minorVersion = "3";
minorVersionSuffix = ""; minorVersionSuffix = "";
pythonVersion = majorVersion; pythonVersion = majorVersion;
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -45,7 +45,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
sha256 = "0h6a5fr7ram2s483lh0pnmc4ncijb8llnpfdxdcl5dxr01hza400"; sha256 = "1c6v1n9nz4mlx9mw1125fxpmbrgniqdbbx9hnqx44maqazb2mzpf";
}; };
NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
@@ -1,15 +1,15 @@
{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5-cpp }: { stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "7.200.2"; version = "7.700.0";
name = "armadillo-${version}"; name = "armadillo-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz"; url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
sha256 = "1yvx75caks477jqwx5gspi6946jialddk00wdvg6dnh5wdi2xasm"; sha256 = "152x274hd3f59xgd27k9d3ikwb3w62v1v5hpw4lp1yzdyy8980pr";
}; };
buildInputs = [ cmake openblasCompat superlu hdf5-cpp ]; buildInputs = [ cmake openblasCompat superlu hdf5 ];
cmakeFlags = [ "-DDETECT_HDF5=ON" ]; cmakeFlags = [ "-DDETECT_HDF5=ON" ];
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
homepage = http://arma.sourceforge.net; homepage = http://arma.sourceforge.net;
license = licenses.mpl20; license = licenses.mpl20;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.juliendehos ]; maintainers = with maintainers; [ juliendehos knedlsepp ];
}; };
} }
+3 -4
View File
@@ -9,8 +9,9 @@ let
version = "1.10.14"; version = "1.10.14";
sha256 = "10x0wvv2ly4lyyfd42k4xw0ar5qdbi9cksw3l5fcwf1y6mq8y8r3"; sha256 = "10x0wvv2ly4lyyfd42k4xw0ar5qdbi9cksw3l5fcwf1y6mq8y8r3";
self = stdenv.mkDerivation { self = stdenv.mkDerivation {
name = "dbus-${version}"; name = "dbus-${version}";
inherit version;
src = fetchurl { src = fetchurl {
url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz"; url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
@@ -49,8 +50,6 @@ self = stdenv.mkDerivation {
"--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
"--with-systemduserunitdir=$(out)/etc/systemd/user" "--with-systemduserunitdir=$(out)/etc/systemd/user"
"--enable-user-session" "--enable-user-session"
# this package installs nothing into those dirs and they create a dependency
"--datadir=/run/current-system/sw/share"
"--libexecdir=$(out)/libexec" # we don't need dbus-daemon-launch-helper "--libexecdir=$(out)/libexec" # we don't need dbus-daemon-launch-helper
] ++ lib.optional (!x11Support) "--without-x"; ] ++ lib.optional (!x11Support) "--without-x";
@@ -64,7 +63,7 @@ self = stdenv.mkDerivation {
doCheck = true; doCheck = true;
installFlags = "sysconfdir=$(out)/etc datadir=$(out)/share"; installFlags = [ "sysconfdir=$(out)/etc" ];
# it's executed from $lib by absolute path # it's executed from $lib by absolute path
postFixup = '' postFixup = ''
@@ -3,14 +3,14 @@
let let
ver_maj = "2.36"; ver_maj = "2.36";
ver_min = "3"; ver_min = "4";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gdk-pixbuf-${ver_maj}.${ver_min}"; name = "gdk-pixbuf-${ver_maj}.${ver_min}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz"; url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
sha256 = "5223138f7d31afc6b356a049930304ec0abd6ac1113a5d3d1dba5cd4a4d639ec"; sha256 = "0b19901c3eb0596141d2d48ddb9dac79ad1524bdf59366af58ab38fcb9ee7463";
}; };
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
buildInputs = [ lzo lzip nettle libtasn1 libidn p11_kit zlib gmp autogen ] buildInputs = [ lzo lzip libtasn1 libidn p11_kit zlib gmp autogen ]
++ lib.optional doCheck nettools ++ lib.optional doCheck nettools
++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
++ lib.optional (tpmSupport && stdenv.isLinux) trousers ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
@@ -47,6 +47,8 @@ stdenv.mkDerivation {
nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs; nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs;
propagatedBuildInputs = [ nettle ];
inherit doCheck; inherit doCheck;
# Fixup broken libtool and pkgconfig files # Fixup broken libtool and pkgconfig files
@@ -14,7 +14,7 @@ let
inherit (stdenv.lib) optional optionalString; inherit (stdenv.lib) optional optionalString;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-bad-1.10.2"; name = "gst-plugins-bad-1.10.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Bad Plugins"; description = "Gstreamer Bad Plugins";
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
sha256 = "0fisnnfpp3s8pbm6hjrfi4wjpq2da8c6w3ns9pjcg7590f9wm587"; sha256 = "1rwla1p57yzygb68z2xk5l5kvqzj5w3nxq0davkwk139zd8r6294";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -4,7 +4,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-base-1.10.2"; name = "gst-plugins-base-1.10.3";
meta = { meta = {
description = "Base plugins and helper libraries"; description = "Base plugins and helper libraries";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
sha256 = "086yjwmp4fykcqkj6zqhwrk2z49981kl8x545vz2wvblrc7x9h7v"; sha256 = "040pifl4cgsqqz2si4s1y5khj3zwm39w21siagxwp805swbrcag6";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -3,7 +3,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gstreamer-1.10.2"; name = "gstreamer-1.10.3";
meta = { meta = {
description = "Open source multimedia framework"; description = "Open source multimedia framework";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
sha256 = "0rcd4ya4k99x6ngm9v78as7ql0rqibkwshc13lb4rjdszs0qw3hm"; sha256 = "0gdnxg5igbhnpjhrzp31w1ww95j805byqd6mj3x29wli54dxrfc5";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -27,4 +27,6 @@ rec {
}; };
gst-validate = callPackage ./validate { inherit gst-plugins-base; }; gst-validate = callPackage ./validate { inherit gst-plugins-base; };
# note: gst-python is in ./python/default.nix - called under pythonPackages
} }
@@ -3,7 +3,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gstreamer-editing-services-1.10.2"; name = "gstreamer-editing-services-1.10.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library for creation of audio/video non-linear editors"; description = "Library for creation of audio/video non-linear editors";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz"; url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
sha256 = "0hx7bwj8li88qq09slvdxlnfq76hr35nyjvd4ixrz5gmkpmrl5fv"; sha256 = "0ax3qbi1m4wcii03ysln3lm8nhw3fr2rd35ndfy4mr4vg2nm5gxw";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -10,7 +10,7 @@ let
inherit (stdenv.lib) optionals optionalString; inherit (stdenv.lib) optionals optionalString;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-good-1.10.2"; name = "gst-plugins-good-1.10.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Good Plugins"; description = "Gstreamer Good Plugins";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
sha256 = "04rksbhjj2yz32g523cfabwqn2s3byd94dpbxghxr0p9ridk53qr"; sha256 = "0mar8ss8bvpz699ql4kgndvna8qsv7kj372py4435ffl6hzfj1sf";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -9,7 +9,7 @@
assert withSystemLibav -> libav != null; assert withSystemLibav -> libav != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-libav-1.10.2"; name = "gst-libav-1.10.3";
meta = { meta = {
homepage = "http://gstreamer.freedesktop.org"; homepage = "http://gstreamer.freedesktop.org";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-libav/${name}.tar.xz"; url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
sha256 = "0g778j7w4vpbhwjzyrzpajvr26nxm6vqby84v8g1w1hz44v71pd3"; sha256 = "1aajayv63ardkbmcg7pnh2d87r067325a5wzinwihaw6n5jw2sws";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -6,14 +6,14 @@
let let
inherit (pythonPackages) python pygobject3; inherit (pythonPackages) python pygobject3;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "gst-python-1.10.2"; name = "gst-python-1.10.3";
src = fetchurl { src = fetchurl {
urls = [ urls = [
"${meta.homepage}/src/gst-python/${name}.tar.xz" "${meta.homepage}/src/gst-python/${name}.tar.xz"
"mirror://gentoo/distfiles/${name}.tar.xz" "mirror://gentoo/distfiles/${name}.tar.xz"
]; ];
sha256 = "1sljnqkxf2ix6yzghrapw5irl0rbp8aa8w2hggk7i6d9js10ls71"; sha256 = "bdfa2d06dfe0ce68f638b04fed6890db506416c1dcf1279e83458269d719a4e8";
}; };
patches = [ ./different-path-with-pygobject.patch ]; patches = [ ./different-path-with-pygobject.patch ];
@@ -5,7 +5,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-ugly-1.10.2"; name = "gst-plugins-ugly-1.10.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Ugly Plugins"; description = "Gstreamer Ugly Plugins";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
sha256 = "17gc2zd3v6spmm2d6912sqfcyyv5f2ghdhq31f5kx5mw5r6ds0zk"; sha256 = "1lkb8kznc9wxmhbp7k67b50y27nz8jp2x2flb91xzydz7b89f5f9";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-vaapi-${version}"; name = "gst-vaapi-${version}";
version = "1.10.2"; version = "1.10.3";
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz"; url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
sha256 = "1abzaj9kczap1xmalgzid1k3gqcn1ghnn76cn2kclc1gbfwd4ccy"; sha256 = "07ing6z7n0ylz5vknk3d2lw54a6szd6m8hqc3px6lahmd832ga6f";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -3,7 +3,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-validate-1.10.2"; name = "gst-validate-1.10.3";
meta = { meta = {
description = "Integration testing infrastructure for the GStreamer framework"; description = "Integration testing infrastructure for the GStreamer framework";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-validate/${name}.tar.xz"; url = "${meta.homepage}/src/gst-validate/${name}.tar.xz";
sha256 = "1mwyk3b19aq78mjhmrpc7qqs9flrykrn1j763g5wx546swc489xy"; sha256 = "00icav26pj81cxdykf86rp3jw6lb178ydrqhcck43i94jdb4hsxy";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
+2 -2
View File
@@ -13,7 +13,7 @@ with stdenv.lib;
let let
ver_maj = "3.22"; ver_maj = "3.22";
ver_min = "6"; ver_min = "7";
version = "${ver_maj}.${ver_min}"; version = "${ver_maj}.${ver_min}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz"; url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
sha256 = "eba75a216a117f4391beb2971ba20ff8a1823f109893f0ab6c2eac2210ea172f"; sha256 = "a3a27564bfb1679ebbc75c37cd2bcd6e727c8bdfbcd3984d29305bf9ee60d432";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, python, llvm, clang }: { stdenv, fetchFromGitHub, python2, llvm, clang }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "libclc-2015-08-07"; name = "libclc-2015-08-07";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
sha256 = "10n9qk1dild9yjkjjkzpmp9zid3ysdgvqrad554azcf755frch7g"; sha256 = "10n9qk1dild9yjkjjkzpmp9zid3ysdgvqrad554azcf755frch7g";
}; };
buildInputs = [ python llvm clang ]; buildInputs = [ python2 llvm clang ];
postPatch = '' postPatch = ''
sed -i 's,llvm_clang =.*,llvm_clang = "${clang}/bin/clang",' configure.py sed -i 's,llvm_clang =.*,llvm_clang = "${clang}/bin/clang",' configure.py
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
''; '';
configurePhase = '' configurePhase = ''
python2 ./configure.py --prefix=$out ${python2.interpreter} ./configure.py --prefix=$out
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, python }: { stdenv, fetchurl, python2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ctemplate-${version}"; name = "ctemplate-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "0mi5g2xlws10z1g4x0cj6kd1r673kkav35pgzyqxa1w47xnwprcr"; sha256 = "0mi5g2xlws10z1g4x0cj6kd1r673kkav35pgzyqxa1w47xnwprcr";
}; };
buildInputs = [ python ]; buildInputs = [ python2 ];
postPatch = '' postPatch = ''
patchShebangs . patchShebangs .
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind }: { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libdrm-2.4.74"; name = "libdrm-2.4.75";
src = fetchurl { src = fetchurl {
url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
sha256 = "d80dd5a76c401f4c8756dcccd999c63d7e0a3bad258d96a829055cfd86ef840b"; sha256 = "2d5a500eef412cc287d12268eed79d571e262d4957a2ec9258073f305985054f";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
+40 -19
View File
@@ -1,30 +1,51 @@
{ stdenv, fetchurl, libelf }: { stdenv, fetchurl, libelf }:
stdenv.mkDerivation rec { let
name = "libdwarf-20161124"; version = "20161124";
src = fetchurl { src = fetchurl {
url = "http://www.prevanders.net/${name}.tar.gz"; url = "http://www.prevanders.net/libdwarf-${version}.tar.gz";
sha512 = "38e480bce5ae8273fd585ec1d8ba94dc3e865a0ef3fcfcf38b5d92fa1ce41f8b" sha512 = "38e480bce5ae8273fd585ec1d8ba94dc3e865a0ef3fcfcf38b5d92fa1ce41f8b"
+ "8c95a7cf8a6e69e7c6f638a3cc56ebbfb37b6317047309725fa17e7929096799"; + "8c95a7cf8a6e69e7c6f638a3cc56ebbfb37b6317047309725fa17e7929096799";
}; };
configureFlags = [ "--enable-shared" "--disable-nonshared" ];
preConfigure = ''
cd libdwarf
'';
buildInputs = [ libelf ];
installPhase = ''
mkdir -p $out/lib $out/include
cp libdwarf.so.1 $out/lib
ln -s libdwarf.so.1 $out/lib/libdwarf.so
cp libdwarf.h dwarf.h $out/include
'';
meta = { meta = {
homepage = https://www.prevanders.net/dwarf.html; homepage = https://www.prevanders.net/dwarf.html;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };
in rec {
libdwarf = stdenv.mkDerivation rec {
name = "libdwarf-${version}";
configureFlags = [ "--enable-shared" "--disable-nonshared" ];
preConfigure = ''
cd libdwarf
'';
buildInputs = [ libelf ];
installPhase = ''
mkdir -p $out/lib $out/include
cp libdwarf.so.1 $out/lib
ln -s libdwarf.so.1 $out/lib/libdwarf.so
cp libdwarf.h dwarf.h $out/include
'';
inherit meta src;
};
dwarfdump = stdenv.mkDerivation rec {
name = "dwarfdump-${version}";
preConfigure = ''
cd dwarfdump
'';
buildInputs = [ libelf libdwarf ];
installPhase = ''
install -m755 -D dwarfdump $out/bin/dwarfdump
'';
inherit meta src;
};
} }

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