Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2018-08-30 12:25:43 +02:00
commit 19c68fe28c
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
198 changed files with 4778 additions and 3619 deletions

View file

@ -1,5 +1,6 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-functions">
<title>Functions reference</title>
<para>
@ -444,6 +445,7 @@ merge:"diff3"
<filename>./bin/start.sh</filename> -- relative paths are supported.
</para>
</section>
<xi:include href="shell.section.xml" />
<section xml:id="sec-pkgs-dockerTools">
<title>pkgs.dockerTools</title>
@ -521,7 +523,8 @@ merge:"diff3"
<callout arearefs='ex-dockerTools-buildImage-2'>
<para>
<varname>tag</varname> specifies the tag of the resulting image. By
default it's <literal>null</literal>, which indicates that the nix output hash will be used as tag.
default it's <literal>null</literal>, which indicates that the nix output
hash will be used as tag.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-3'>
@ -667,12 +670,12 @@ merge:"diff3"
<para>
<varname>imageDigest</varname> specifies the digest of the image to be
downloaded. Skopeo can be used to get the digest of an image, with its
<varname>inspect</varname> subcommand. Since a given <varname>imageName</varname>
may transparently refer to a manifest list of images which support
multiple architectures and/or operating systems, supply the `--override-os`
and `--override-arch` arguments to specify exactly which image you
want. By default it will match the OS and architecture of the host the
command is run on.
<varname>inspect</varname> subcommand. Since a given
<varname>imageName</varname> may transparently refer to a manifest list
of images which support multiple architectures and/or operating systems,
supply the `--override-os` and `--override-arch` arguments to specify
exactly which image you want. By default it will match the OS and
architecture of the host the command is run on.
<programlisting>
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
@ -695,16 +698,16 @@ merge:"diff3"
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-5'>
<para>
<varname>os</varname>, if specified, is the operating system of the fetched image.
By default it's <literal>linux</literal>.
</para>
<para>
<varname>os</varname>, if specified, is the operating system of the
fetched image. By default it's <literal>linux</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-6'>
<para>
<varname>arch</varname>, if specified, is the cpu architecture of the fetched image.
By default it's <literal>x86_64</literal>.
</para>
<para>
<varname>arch</varname>, if specified, is the cpu architecture of the
fetched image. By default it's <literal>x86_64</literal>.
</para>
</callout>
</calloutlist>
</section>

View file

@ -16,18 +16,17 @@ stdenv.mkDerivation {
}
</programlisting>
Note that <varname>jdk</varname> is an alias for the OpenJDK (self-built
where available, or pre-built via Zulu).
Platforms with OpenJDK not (yet) in Nixpkgs (<literal>Aarch32</literal>,
<literal>Aarch64</literal>) point to the (unfree)
<literal>oraclejdk</literal>.
</para>
where available, or pre-built via Zulu). Platforms with OpenJDK not (yet) in
Nixpkgs (<literal>Aarch32</literal>, <literal>Aarch64</literal>) point to the
(unfree) <literal>oraclejdk</literal>.
</para>
<para>
JAR files that are intended to be used by other packages should be installed
in <filename>$out/share/java</filename>. JDKs have a stdenv setup hook
that add any JARs in the <filename>share/java</filename> directories of the
build inputs to the <envar>CLASSPATH</envar> environment variable. For
instance, if the package <literal>libfoo</literal> installs a JAR named
in <filename>$out/share/java</filename>. JDKs have a stdenv setup hook that
add any JARs in the <filename>share/java</filename> directories of the build
inputs to the <envar>CLASSPATH</envar> environment variable. For instance, if
the package <literal>libfoo</literal> installs a JAR named
<filename>foo.jar</filename> in its <filename>share/java</filename>
directory, and another package declares the attribute
<programlisting>
@ -61,18 +60,17 @@ installPhase =
<literal>${jre}/bin/java</literal> instead of
<literal>${jdk}/bin/java</literal>, you prevent your package from depending
on the JDK at runtime.
</para>
</para>
<para>
<para>
Note all JDKs passthru <literal>home</literal>, so if your application
requires environment variables like <envar>JAVA_HOME</envar> being set, that
can be done in a generic fashion with the <literal>--set</literal> argument
of <literal>makeWrapper</literal>:
<programlisting>
--set JAVA_HOME ${jdk.home}
</programlisting>
</para>
</para>
<para>
It is possible to use a different Java compiler than <command>javac</command>

View file

@ -709,40 +709,50 @@ overrides = super: self: rec {
<title>Citrix Receiver</title>
<para>
The <link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> is a remote
desktop viewer which provides access to
<link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link> installations.
The <link xlink:href="https://www.citrix.com/products/receiver/">Citrix
Receiver</link> is a remote desktop viewer which provides access to
<link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link>
installations.
</para>
<section xml:id="sec-citrix-base">
<title>Basic usage</title>
<para>
The tarball archive needs to be downloaded manually as the licenses agreements of the vendor
need to be accepted first. This is available at the
<link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">download page at citrix.com</link>.
Then run <literal>nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz</literal>.
With the archive available in the store the package can be built and installed with Nix.
The tarball archive needs to be downloaded manually as the licenses
agreements of the vendor need to be accepted first. This is available at
the
<link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">download
page at citrix.com</link>. Then run <literal>nix-prefetch-url
file://$PWD/linuxx64-$version.tar.gz</literal>. With the archive available
in the store the package can be built and installed with Nix.
</para>
<para>
<emphasis>Note: it's recommended to install <literal>Citrix Receiver</literal> using
<literal>nix-env -i</literal> or globally to ensure that the <literal>.desktop</literal> files
are installed properly into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't
be possible to open <literal>.ica</literal> files
automatically from the browser to start a Citrix connection.</emphasis>
<emphasis>Note: it's recommended to install <literal>Citrix
Receiver</literal> using <literal>nix-env -i</literal> or globally to
ensure that the <literal>.desktop</literal> files are installed properly
into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to
open <literal>.ica</literal> files automatically from the browser to start
a Citrix connection.</emphasis>
</para>
</section>
<section xml:id="sec-citrix-custom-certs">
<title>Custom certificates</title>
<para>
The <literal>Citrix Receiver</literal> in <literal>nixpkgs</literal> trusts several certificates
<link xlink:href="https://curl.haxx.se/docs/caextract.html">from the Mozilla database</link> by default.
However several companies using Citrix might require their own corporate certificate. On distros with imperative
The <literal>Citrix Receiver</literal> in <literal>nixpkgs</literal> trusts
several certificates
<link xlink:href="https://curl.haxx.se/docs/caextract.html">from the
Mozilla database</link> by default. However several companies using Citrix
might require their own corporate certificate. On distros with imperative
packaging these certs can be stored easily in
<link xlink:href="https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/"><literal>$ICAROOT</literal></link>,
however this directory is a store path in <literal>nixpkgs</literal>. In order to work around this issue the package provides a simple
mechanism to add custom certificates without rebuilding the entire package using <literal>symlinkJoin</literal>:
however this directory is a store path in <literal>nixpkgs</literal>. In
order to work around this issue the package provides a simple mechanism to
add custom certificates without rebuilding the entire package using
<literal>symlinkJoin</literal>:
<programlisting>
<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in

View file

@ -29,7 +29,6 @@
}
</programlisting>
</listitem>
<listitem>
<para>
On darwin libraries are linked using absolute paths, libraries are
@ -47,19 +46,19 @@
}
</programlisting>
</listitem>
<listitem>
<para>
Even if the libraries are linked using absolute paths and resolved via
their <literal>install_name</literal> correctly, tests can sometimes fail
to run binaries. This happens because the <varname>checkPhase</varname>
to run binaries. This happens because the <varname>checkPhase</varname>
runs before the libraries are installed.
</para>
<para>
This can usually be solved by running the tests after the
<varname>installPhase</varname> or alternatively by using
<varname>DYLD_LIBRARY_PATH</varname>. More information about this variable
can be found in the <citerefentry><refentrytitle>dyld</refentrytitle>
can be found in the <citerefentry>
<refentrytitle>dyld</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> manpage.
</para>
<programlisting>
@ -77,7 +76,6 @@
}
</programlisting>
</listitem>
<listitem>
<para>
Some packages assume xcode is available and use <command>xcrun</command>

View file

@ -6,18 +6,20 @@
<title>Reviewing contributions</title>
<warning>
<para>
The following section is a draft, and the policy for reviewing is still being
discussed in issues such as <link
The following section is a draft, and the policy for reviewing is still
being discussed in issues such as
<link
xlink:href="https://github.com/NixOS/nixpkgs/issues/11166">#11166
</link> and <link
</link> and
<link
xlink:href="https://github.com/NixOS/nixpkgs/issues/20836">#20836
</link>.
</para>
</warning>
<para>
The nixpkgs project receives a fairly high number of contributions via
GitHub pull-requests. Reviewing and approving these is an important task and
a way to contribute to the project.
The nixpkgs project receives a fairly high number of contributions via GitHub
pull-requests. Reviewing and approving these is an important task and a way
to contribute to the project.
</para>
<para>
The high change rate of nixpkgs makes any pull request that remains open for
@ -40,10 +42,10 @@
to respect every community member and their work.
</para>
<para>
GitHub provides reactions as a simple and quick way to provide
feedback to pull-requests or any comments. The thumb-down reaction should be
used with care and if possible accompanied with some explanation so the
submitter has directions to improve their contribution.
GitHub provides reactions as a simple and quick way to provide feedback to
pull-requests or any comments. The thumb-down reaction should be used with
care and if possible accompanied with some explanation so the submitter has
directions to improve their contribution.
</para>
<para>
Pull-request reviews should include a list of what has been reviewed in a
@ -117,8 +119,8 @@
<itemizedlist>
<listitem>
<para>
License can change with version updates, so it should be checked to match
the upstream license.
License can change with version updates, so it should be checked to
match the upstream license.
</para>
</listitem>
<listitem>
@ -143,8 +145,8 @@
<listitem>
<para>
Pull-requests are often targeted to the master or staging branch, and
building the pull-request locally when it is submitted can trigger
many source builds.
building the pull-request locally when it is submitted can trigger many
source builds.
</para>
<para>
It is possible to rebase the changes on nixos-unstable or
@ -605,11 +607,12 @@ policy.
-->
<para>
In a case a contributor leaves definitively the Nix community, he
should create an issue or post on <link
In a case a contributor leaves definitively the Nix community, he should
create an issue or post on
<link
xlink:href="https://discourse.nixos.org">Discourse</link> with
references of packages and modules he maintains so the
maintainership can be taken over by other contributors.
references of packages and modules he maintains so the maintainership can be
taken over by other contributors.
</para>
</section>
</chapter>

View file

@ -36,7 +36,7 @@ in rec {
cygwin = filterDoubles predicates.isCygwin;
darwin = filterDoubles predicates.isDarwin;
freebsd = filterDoubles predicates.isFreeBSD;
# Should be better, but MinGW is unclear, and HURD is bit-rotted.
# Should be better, but MinGW is unclear.
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; });
illumos = filterDoubles predicates.isSunOS;
linux = filterDoubles predicates.isLinux;

View file

@ -20,7 +20,7 @@ in rec {
cygwin = [ patterns.isCygwin ];
darwin = [ patterns.isDarwin ];
freebsd = [ patterns.isFreeBSD ];
# Should be better, but MinGW is unclear, and HURD is bit-rotted.
# Should be better, but MinGW is unclear.
gnu = [
{ kernel = parse.kernels.linux; abi = abis.gnu; }
{ kernel = parse.kernels.linux; abi = abis.gnueabi; }

View file

@ -27,14 +27,13 @@ rec {
isBSD = { kernel = { families = { inherit (kernelFamilies) bsd; }; }; };
isDarwin = { kernel = { families = { inherit (kernelFamilies) darwin; }; }; };
isUnix = [ isBSD isDarwin isLinux isSunOS isHurd isCygwin ];
isUnix = [ isBSD isDarwin isLinux isSunOS isCygwin ];
isMacOS = { kernel = kernels.macos; };
isiOS = { kernel = kernels.ios; };
isLinux = { kernel = kernels.linux; };
isSunOS = { kernel = kernels.solaris; };
isFreeBSD = { kernel = kernels.freebsd; };
isHurd = { kernel = kernels.hurd; };
isNetBSD = { kernel = kernels.netbsd; };
isOpenBSD = { kernel = kernels.openbsd; };
isWindows = { kernel = kernels.windows; };

View file

@ -172,7 +172,6 @@ rec {
macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; };
ios = { execFormat = macho; families = { inherit darwin; }; };
freebsd = { execFormat = elf; families = { inherit bsd; }; };
hurd = { execFormat = elf; families = { }; };
linux = { execFormat = elf; families = { }; };
netbsd = { execFormat = elf; families = { inherit bsd; }; };
none = { execFormat = unknown; families = { }; };
@ -259,8 +258,6 @@ rec {
"2" = # We only do 2-part hacks for things Nix already supports
if elemAt l 1 == "cygwin"
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; }
else if elemAt l 1 == "gnu"
then { cpu = elemAt l 0; kernel = "hurd"; abi = "gnu"; }
else { cpu = elemAt l 0; kernel = elemAt l 1; };
"3" = # Awkwards hacks, beware!
if elemAt l 1 == "apple"

View file

@ -22,7 +22,7 @@ in with lib.systems.doubles; lib.runTests {
cygwin = assertTrue (mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ]);
darwin = assertTrue (mseteq darwin [ "x86_64-darwin" ]);
freebsd = assertTrue (mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ]);
gnu = assertTrue (mseteq gnu (linux /* ++ hurd ++ kfreebsd ++ ... */));
gnu = assertTrue (mseteq gnu (linux /* ++ kfreebsd ++ ... */));
illumos = assertTrue (mseteq illumos [ "x86_64-solaris" ]);
linux = assertTrue (mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mipsel-linux" ]);
netbsd = assertTrue (mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ]);

View file

@ -425,6 +425,11 @@
github = "Baughn";
name = "Svein Ove Aas";
};
bb010g = {
email = "me@bb010g.com";
github = "bb010g";
name = "Brayden Banks";
};
bbarker = {
email = "brandon.barker@gmail.com";
github = "bbarker";
@ -827,6 +832,11 @@
github = "couchemar";
name = "Andrey Pavlov";
};
countingsort = {
email = "niclas@countingsort.com";
github = "countingsort";
name = "Niclas Meyer";
};
cpages = {
email = "page@ruiec.cat";
github = "cpages";
@ -3695,6 +3705,11 @@
github = "siddharthist";
name = "Langston Barrett";
};
siers = {
email = "veinbahs+nixpkgs@gmail.com";
github = "siers";
name = "Raitis Veinbahs";
};
sifmelcara = {
email = "ming@culpring.com";
github = "sifmelcara";

View file

@ -470,6 +470,13 @@ inherit (pkgs.nixos {
The module option <option>nix.useSandbox</option> is now defaulted to <literal>true</literal>.
</para>
</listitem>
<listitem>
<para>
The config activation script of <literal>nixos-rebuild</literal> now
<link xlink:href="https://www.freedesktop.org/software/systemd/man/systemctl.html#Manager%20Lifecycle%20Commands">reloads</link>
all user units for each authenticated user.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -80,7 +80,7 @@ in
default = "";
description = ''
Shell script code called during shell initialisation.
This code is asumed to be shell-independent, which means you should
This code is assumed to be shell-independent, which means you should
stick to pure sh without sh word split.
'';
type = types.lines;
@ -90,7 +90,7 @@ in
default = "";
description = ''
Shell script code called during login shell initialisation.
This code is asumed to be shell-independent, which means you should
This code is assumed to be shell-independent, which means you should
stick to pure sh without sh word split.
'';
type = types.lines;
@ -100,7 +100,7 @@ in
default = "";
description = ''
Shell script code called during interactive shell initialisation.
This code is asumed to be shell-independent, which means you should
This code is assumed to be shell-independent, which means you should
stick to pure sh without sh word split.
'';
type = types.lines;

View file

@ -7,6 +7,63 @@
with lib;
let
/**
* Given a list of `options`, concats the result of mapping each options
* to a menuentry for use in grub.
*
* * defaults: {name, image, params, initrd}
* * options: [ option... ]
* * option: {name, params, class}
*/
menuBuilderGrub2 =
defaults: options: lib.concatStrings
(
map
(option: ''
menuentry '${defaults.name} ${
# Name appended to menuentry defaults to params if no specific name given.
option.name or (if option ? params then "(${option.params})" else "")
}' ${if option ? class then " --class ${option.class}" else ""} {
linux ${defaults.image} ${defaults.params} ${
option.params or ""
}
initrd ${defaults.initrd}
}
'')
options
)
;
/**
* Given a `config`, builds the default options.
*/
buildMenuGrub2 = config:
buildMenuAdditionalParamsGrub2 config ""
;
/**
* Given a `config` and params to add to `params`, build a set of default options.
* Use this one when creating a variant (e.g. hidpi)
*/
buildMenuAdditionalParamsGrub2 = config: additional:
let
finalCfg = {
name = "NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}";
params = "init=${config.system.build.toplevel}/init ${additional} ${toString config.boot.kernelParams}";
image = "/boot/bzImage";
initrd = "/boot/initrd";
};
in
menuBuilderGrub2
finalCfg
[
{ class = "installer"; }
{ class = "nomodeset"; params = "nomodeset"; }
{ class = "copytoram"; params = "copytoram"; }
{ class = "debug"; params = "debug"; }
]
;
# Timeout in syslinux is in units of 1/10 of a second.
# 0 is used to disable timeouts.
syslinuxTimeout = if config.boot.loader.timeout == null then
@ -36,6 +93,28 @@ let
UI vesamenu.c32
MENU TITLE NixOS
MENU BACKGROUND /isolinux/background.png
MENU RESOLUTION 800 600
MENU CLEAR
MENU ROWS 6
MENU CMDLINEROW -4
MENU TIMEOUTROW -3
MENU TABMSGROW -2
MENU HELPMSGROW -1
MENU HELPMSGENDROW -1
MENU MARGIN 0
# FG:AARRGGBB BG:AARRGGBB shadow
MENU COLOR BORDER 30;44 #00000000 #00000000 none
MENU COLOR SCREEN 37;40 #FF000000 #00E2E8FF none
MENU COLOR TABMSG 31;40 #80000000 #00000000 none
MENU COLOR TIMEOUT 1;37;40 #FF000000 #00000000 none
MENU COLOR TIMEOUT_MSG 37;40 #FF000000 #00000000 none
MENU COLOR CMDMARK 1;36;40 #FF000000 #00000000 none
MENU COLOR CMDLINE 37;40 #FF000000 #00000000 none
MENU COLOR TITLE 1;36;44 #00000000 #00000000 none
MENU COLOR UNSEL 37;44 #FF000000 #00000000 none
MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std
DEFAULT boot
LABEL boot
@ -76,49 +155,167 @@ let
isolinuxCfg = concatStringsSep "\n"
([ baseIsolinuxCfg ] ++ optional config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
# Setup instructions for rEFInd.
refind =
if targetArch == "x64" then
''
# Adds rEFInd to the ISO.
cp -v ${pkgs.refind}/share/refind/refind_x64.efi $out/EFI/boot/
''
else
"# No refind for ia32"
;
grubMenuCfg = ''
#
# Menu configuration
#
insmod gfxterm
insmod png
set gfxpayload=keep
# Fonts can be loaded?
# (This font is assumed to always be provided as a fallback by NixOS)
if loadfont (hd0)/EFI/boot/unicode.pf2; then
# Use graphical term, it can be either with background image or a theme.
# input is "console", while output is "gfxterm".
# This enables "serial" input and output only when possible.
# Otherwise the failure mode is to not even enable gfxterm.
if test "\$with_serial" == "yes"; then
terminal_output gfxterm serial
terminal_input console serial
else
terminal_output gfxterm
terminal_input console
fi
else
# Sets colors for the non-graphical term.
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
${ # When there is a theme configured, use it, otherwise use the background image.
if (!isNull config.isoImage.grubTheme) then ''
# Sets theme.
set theme=(hd0)/EFI/boot/grub-theme/theme.txt
# Load theme fonts
$(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (hd0)/EFI/boot/grub-theme/%P\n")
'' else ''
if background_image (hd0)/EFI/boot/efi-background.png; then
# Black background means transparent background when there
# is a background image set... This seems undocumented :(
set color_normal=black/black
set color_highlight=white/blue
else
# Falls back again to proper colors.
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
''}
'';
# The EFI boot image.
# Notes about grub:
# * Yes, the grubMenuCfg has to be repeated in all submenus. Otherwise you
# will get white-on-black console-like text on sub-menus. *sigh*
efiDir = pkgs.runCommand "efi-directory" {} ''
mkdir -p $out/EFI/boot
cp -v ${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi
mkdir -p $out/loader/entries
mkdir -p $out/EFI/boot/
cat << EOF > $out/loader/entries/nixos-iso.conf
title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
linux /boot/${config.system.boot.loader.kernelFile}
initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
MODULES="fat iso9660 part_gpt part_msdos \
normal boot linux configfile loopback chain halt \
efifwsetup efi_gop efi_uga \
ls search search_label search_fs_uuid search_fs_file \
gfxmenu gfxterm gfxterm_background gfxterm_menu test all_video loadenv \
exfat ext2 ntfs btrfs hfsplus udf \
videoinfo png \
echo serial \
"
# Make our own efi program, we can't rely on "grub-install" since it seems to
# probe for devices, even with --skip-fs-probe.
${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/bootx64.efi -p /EFI/boot -O x86_64-efi \
$MODULES
cp ${pkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/
cat <<EOF > $out/EFI/boot/grub.cfg
# If you want to use serial for "terminal_*" commands, you need to set one up:
# Example manual configuration:
# → serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
# This uses the defaults, and makes the serial terminal available.
set with_serial=no
if serial; then set with_serial=yes ;fi
export with_serial
clear
set timeout=10
${grubMenuCfg}
#
# Menu entries
#
${buildMenuGrub2 config}
submenu "HiDPI, Quirks and Accessibility" --class hidpi --class submenu {
${grubMenuCfg}
submenu "Suggests resolution @720p" --class hidpi-720p {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "video=1280x720@60"}
}
submenu "Suggests resolution @1080p" --class hidpi-1080p {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "video=1920x1080@60"}
}
# Some laptop and convertibles have the panel installed in an
# inconvenient way, rotated away from the keyboard.
# Those entries makes it easier to use the installer.
submenu "" {return}
submenu "Rotate framebuffer Clockwise" --class rotate-90cw {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:1"}
}
submenu "Rotate framebuffer Upside-Down" --class rotate-180 {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:2"}
}
submenu "Rotate framebuffer Counter-Clockwise" --class rotate-90ccw {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:3"}
}
# As a proof of concept, mainly. (Not sure it has accessibility merits.)
submenu "" {return}
submenu "Use black on white" --class accessibility-blakconwhite {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "vt.default_red=0xFF,0xBC,0x4F,0xB4,0x56,0xBC,0x4F,0x00,0xA1,0xCF,0x84,0xCA,0x8D,0xB4,0x84,0x68 vt.default_grn=0xFF,0x55,0xBA,0xBA,0x4D,0x4D,0xB3,0x00,0xA0,0x8F,0xB3,0xCA,0x88,0x93,0xA4,0x68 vt.default_blu=0xFF,0x58,0x5F,0x58,0xC5,0xBD,0xC5,0x00,0xA8,0xBB,0xAB,0x97,0xBD,0xC7,0xC5,0x68"}
}
# Serial access is a must!
submenu "" {return}
submenu "Serial console=ttyS0,115200n8" --class serial {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "console=ttyS0,115200n8"}
}
}
menuentry 'rEFInd' --class refind {
# UUID is hard-coded in the derivation.
search --set=root --no-floppy --fs-uuid 1234-5678
chainloader (\$root)/EFI/boot/refind_x64.efi
}
menuentry 'Firmware Setup' --class settings {
fwsetup
clear
echo ""
echo "If you see this message, your EFI system doesn't support this feature."
echo ""
}
menuentry 'Shutdown' --class shutdown {
halt
}
EOF
# A variant to boot with 'nomodeset'
cat << EOF > $out/loader/entries/nixos-iso-nomodeset.conf
title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
version nomodeset
linux /boot/${config.system.boot.loader.kernelFile}
initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset
EOF
# A variant to boot with 'copytoram'
cat << EOF > $out/loader/entries/nixos-iso-copytoram.conf
title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
version copytoram
linux /boot/${config.system.boot.loader.kernelFile}
initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} copytoram
EOF
# A variant to boot with verbose logging to the console
cat << EOF > $out/loader/entries/nixos-iso-debug.conf
title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug)
linux /boot/${config.system.boot.loader.kernelFile}
initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7
EOF
cat << EOF > $out/loader/loader.conf
default nixos-iso
timeout ${builtins.toString config.boot.loader.timeout}
EOF
${refind}
'';
efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools pkgs.libfaketime ]; }
@ -234,13 +431,31 @@ in
'';
};
isoImage.splashImage = mkOption {
isoImage.efiSplashImage = mkOption {
default = pkgs.fetchurl {
url = https://raw.githubusercontent.com/NixOS/nixos-artwork/5729ab16c6a5793c10a2913b5a1b3f59b91c36ee/ideas/grub-splash/grub-nixos-1.png;
sha256 = "43fd8ad5decf6c23c87e9026170a13588c2eba249d9013cb9f888da5e2002217";
url = https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/efi-background.png;
sha256 = "18lfwmp8yq923322nlb9gxrh5qikj1wsk6g5qvdh31c4h5b1538x";
};
description = ''
The splash image to use in the bootloader.
The splash image to use in the EFI bootloader.
'';
};
isoImage.splashImage = mkOption {
default = pkgs.fetchurl {
url = https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/isolinux/bios-boot.png;
sha256 = "1wp822zrhbg4fgfbwkr7cbkr4labx477209agzc0hr6k62fr6rxd";
};
description = ''
The splash image to use in the legacy-boot bootloader.
'';
};
isoImage.grubTheme = mkOption {
default = pkgs.nixos-grub2-theme;
type = types.nullOr (types.either types.path types.package);
description = ''
The grub2 theme used for UEFI boot.
'';
};
@ -358,6 +573,9 @@ in
{ source = "${pkgs.syslinux}/share/syslinux";
target = "/isolinux";
}
{ source = config.isoImage.efiSplashImage;
target = "/EFI/boot/efi-background.png";
}
{ source = config.isoImage.splashImage;
target = "/isolinux/background.png";
}
@ -371,13 +589,14 @@ in
{ source = "${efiDir}/EFI";
target = "/EFI";
}
{ source = "${efiDir}/loader";
target = "/loader";
}
] ++ optionals config.boot.loader.grub.memtest86.enable [
{ source = "${pkgs.memtest86plus}/memtest.bin";
target = "/boot/memtest.bin";
}
] ++ optionals (!isNull config.isoImage.grubTheme) [
{ source = config.isoImage.grubTheme;
target = "/EFI/boot/grub-theme";
}
];
boot.loader.timeout = 10;

View file

@ -87,6 +87,19 @@ in
type = types.bool;
};
enableGlobalCompInit = mkOption {
default = cfg.enableCompletion;
description = ''
Enable execution of compinit call for all interactive zsh shells.
This option can be disabled if the user wants to extend its
<literal>fpath</literal> and a custom <literal>compinit</literal>
call in the local config is required.
'';
type = types.bool;
};
};
};
@ -159,7 +172,7 @@ in
fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions)
done
${optionalString cfg.enableCompletion "autoload -U compinit && compinit"}
${optionalString cfg.enableGlobalCompInit "autoload -U compinit && compinit"}
${cfge.interactiveShellInit}

View file

@ -219,7 +219,7 @@ with lib;
'')
# Profile splitting
(mkRenamedOptionModule [ "virtualization" "growPartition" ] [ "boot" "growPartition" ])
(mkRenamedOptionModule [ "virtualisation" "growPartition" ] [ "boot" "growPartition" ])
# misc/version.nix
(mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])

View file

@ -7,6 +7,8 @@ let
cfg = config.services.zabbixAgent;
zabbix = cfg.package;
stateDir = "/var/run/zabbix";
logDir = "/var/log/zabbix";
@ -44,6 +46,16 @@ in
'';
};
package = mkOption {
type = types.attrs; # Note: pkgs.zabbixXY isn't a derivation, but an attrset of { server = ...; agent = ...; }.
default = pkgs.zabbix;
defaultText = "pkgs.zabbix";
example = literalExample "pkgs.zabbix34";
description = ''
The Zabbix package to use.
'';
};
server = mkOption {
default = "127.0.0.1";
description = ''
@ -87,14 +99,14 @@ in
chown zabbix ${stateDir} ${logDir}
'';
serviceConfig.ExecStart = "@${pkgs.zabbix.agent}/sbin/zabbix_agentd zabbix_agentd --config ${configFile}";
serviceConfig.ExecStart = "@${zabbix.agent}/sbin/zabbix_agentd zabbix_agentd --config ${configFile}";
serviceConfig.Type = "forking";
serviceConfig.RemainAfterExit = true;
serviceConfig.Restart = "always";
serviceConfig.RestartSec = 2;
};
environment.systemPackages = [ pkgs.zabbix.agent ];
environment.systemPackages = [ zabbix.agent ];
};

View file

@ -103,8 +103,8 @@ in
chown zabbix ${stateDir} ${logDir} ${libDir}
if ! test -e "${libDir}/db-created"; then
${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole zabbix || true
${pkgs.postgresql}/bin/createdb --owner zabbix zabbix || true
${pkgs.su}/bin/su -s "$SHELL" ${config.services.postgresql.superUser} -c '${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole zabbix' || true
${pkgs.su}/bin/su -s "$SHELL" ${config.services.postgresql.superUser} -c '${pkgs.postgresql}/bin/createdb --owner zabbix zabbix' || true
cat ${pkgs.zabbix.server}/share/zabbix/db/schema/postgresql.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix'
cat ${pkgs.zabbix.server}/share/zabbix/db/data/images_pgsql.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix'
cat ${pkgs.zabbix.server}/share/zabbix/db/data/data.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix'

View file

@ -123,7 +123,7 @@ let
# Perform a reverse-path test to refuse spoofers
# For now, we just drop, as the raw table doesn't have a log-refuse yet
ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true
ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN
ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter --validmark ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN
# Allows this host to act as a DHCP4 client without first having to use APIPA
iptables -t raw -A nixos-fw-rpfilter -p udp --sport 67 --dport 68 -j RETURN

View file

@ -92,8 +92,18 @@ let
gzip on;
gzip_disable "msie6";
gzip_proxied any;
gzip_comp_level 9;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 5;
gzip_types
application/atom+xml
application/javascript
application/json
application/xml
application/xml+rss
image/svg+xml
text/css
text/javascript
text/plain
text/xml;
gzip_vary on;
''}

View file

@ -412,6 +412,18 @@ system("@systemd@/bin/systemctl", "reset-failed");
# Make systemd reload its units.
system("@systemd@/bin/systemctl", "daemon-reload") == 0 or $res = 3;
# Reload user units
open my $listActiveUsers, '-|', '@systemd@/bin/loginctl', 'list-users', '--no-legend';
while (my $f = <$listActiveUsers>) {
next unless $f =~ /^\s*(?<uid>\d+)\s+(?<user>\S+)/;
my ($uid, $name) = ($+{uid}, $+{user});
print STDERR "reloading user units for $name...\n";
system("su", "-l", $name, "-c", "XDG_RUNTIME_DIR=/run/user/$uid @systemd@/bin/systemctl --user daemon-reload");
}
close $listActiveUsers;
# Set the new tmpfiles
print STDERR "setting up tmpfiles\n";
system("@systemd@/bin/systemd-tmpfiles", "--create", "--remove", "--exclude-prefix=/dev") == 0 or $res = 3;

View file

@ -30,10 +30,14 @@ let
(assertValueOneOf "UDPSegmentationOffload" boolValues)
(assertValueOneOf "GenericReceiveOffload" boolValues)
(assertValueOneOf "LargeReceiveOffload" boolValues)
(assertRange "RxChannels" 1 4294967295)
(assertRange "TxChannels" 1 4294967295)
(assertRange "OtherChannels" 1 4294967295)
(assertRange "CombinedChannels" 1 4294967295)
(assertInt "RxChannels")
(assertMinimum "RxChannels" 1)
(assertInt "TxChannels")
(assertMinimum "TxChannels" 1)
(assertInt "OtherChannels")
(assertMinimum "OtherChannels" 1)
(assertInt "CombinedChannels")
(assertMinimum "CombinedChannels" 1)
];
checkNetdev = checkUnitConfig "Netdev" [
@ -226,7 +230,8 @@ let
(assertValueOneOf "UseTimezone" boolValues)
(assertValueOneOf "CriticalConnection" boolValues)
(assertValueOneOf "RequestBroadcast" boolValues)
(assertRange "RouteTable" 0 4294967295)
(assertInt "RouteTable")
(assertMinimum "RouteTable" 0)
(assertValueOneOf "RapidCommit" boolValues)
];

View file

@ -159,6 +159,6 @@ exec {logOutFd}>&- {logErrFd}>&-
# Start systemd.
echo "starting systemd..."
PATH=/run/current-system/systemd/lib/systemd \
PATH=/run/current-system/systemd/lib/systemd:@fsPackagesPath@ \
LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive \
exec systemd

View file

@ -17,6 +17,7 @@ let
pkgs.utillinux
pkgs.openresolv
];
fsPackagesPath = lib.makeBinPath config.system.fsPackages;
postBootCommands = pkgs.writeText "local-cmds"
''
${config.boot.postBootCommands}

View file

@ -73,11 +73,19 @@ in rec {
optional (attr ? ${name} && !(min <= attr.${name} && max >= attr.${name}))
"Systemd ${group} field `${name}' is outside the range [${toString min},${toString max}]";
assertMinimum = name: min: group: attr:
optional (attr ? ${name} && attr.${name} < min)
"Systemd ${group} field `${name}' must be greater than or equal to ${toString min}";
assertOnlyFields = fields: group: attr:
let badFields = filter (name: ! elem name fields) (attrNames attr); in
optional (badFields != [ ])
"Systemd ${group} has extra fields [${concatStringsSep " " badFields}].";
assertInt = name: group: attr:
optional (attr ? ${name} && !isInt attr.${name})
"Systemd ${group} field `${name}' is not an integer";
checkUnitConfig = group: checks: attrs: let
# We're applied at the top-level type (attrsOf unitOption), so the actual
# unit options might contain attributes from mkOverride that we need to

View file

@ -102,8 +102,12 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
MaxLevelConsole=debug
'';
# Don't clobber the console with duplicate systemd messages.
systemd.extraConfig = "ShowStatus=no";
systemd.extraConfig = ''
# Don't clobber the console with duplicate systemd messages.
ShowStatus=no
# Allow very slow start
DefaultTimeoutStartSec=300
'';
boot.consoleLogLevel = 7;

View file

@ -291,6 +291,7 @@ in rec {
tests.firefox = callTest tests/firefox.nix {};
tests.flatpak = callTest tests/flatpak.nix {};
tests.firewall = callTest tests/firewall.nix {};
tests.fsck = callTest tests/fsck.nix {};
tests.fwupd = callTest tests/fwupd.nix {};
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
#tests.gitlab = callTest tests/gitlab.nix {};

29
nixos/tests/fsck.nix Normal file
View file

@ -0,0 +1,29 @@
import ./make-test.nix {
name = "fsck";
machine = { lib, ... }: {
virtualisation.emptyDiskImages = [ 1 ];
fileSystems = lib.mkVMOverride {
"/mnt" = {
device = "/dev/vdb";
fsType = "ext4";
autoFormat = true;
};
};
};
testScript = ''
$machine->waitForUnit('default.target');
subtest "root fs is fsckd", sub {
$machine->succeed('journalctl -b | grep "fsck.ext4.*/dev/vda"');
};
subtest "mnt fs is fsckd", sub {
$machine->succeed('journalctl -b | grep "fsck.*/dev/vdb.*clean"');
$machine->succeed('grep "Requires=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
$machine->succeed('grep "After=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
};
'';
}

View file

@ -16,18 +16,20 @@ import ./make-test.nix ({ pkgs, ...} : {
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow(qr/first configuration/);
$machine->sleep(1);
$machine->sleep(2);
$machine->screenshot("started");
$machine->sendKeys("ret");
$machine->sleep(1);
$machine->sleep(2);
$machine->sendKeys("alt");
$machine->sleep(1);
$machine->sleep(2);
$machine->screenshot("configured");
$machine->sendKeys("ret");
# make sure the config file is created before we continue
$machine->waitForFile("/home/alice/.config/i3/config");
$machine->sleep(2);
$machine->sendKeys("alt-ret");
$machine->waitForWindow(qr/machine.*alice/);
$machine->sleep(1);
$machine->sleep(2);
$machine->screenshot("terminal");
'';
})

View file

@ -33,6 +33,7 @@ import ./make-test.nix ({ pkgs, ...} : rec {
simpleDocker = pkgs.dockerTools.buildImage {
name = "echo";
tag = "latest";
contents = [ pkgs.stdenv.shellPackage pkgs.coreutils ];
config = {
Env = [

View file

@ -1,4 +1,4 @@
{ system ? builtins.currentSystem, debug ? false }:
{ system ? builtins.currentSystem, debug ? false, enableUnfree ? false }:
with import ../lib/testing.nix { inherit system; };
with pkgs.lib;
@ -378,6 +378,26 @@ let
};
};
unfreeTests = mapAttrs (mkVBoxTest true vboxVMsWithExtpack) {
enable-extension-pack = ''
createVM_testExtensionPack;
vbm("startvm testExtensionPack");
waitForStartup_testExtensionPack;
$machine->screenshot("cli_started");
waitForVMBoot_testExtensionPack;
$machine->screenshot("cli_booted");
$machine->nest("Checking for privilege escalation", sub {
$machine->fail("test -e '/root/VirtualBox VMs'");
$machine->fail("test -e '/root/.config/VirtualBox'");
$machine->succeed("test -e '/home/alice/VirtualBox VMs'");
});
shutdownVM_testExtensionPack;
destroyVM_testExtensionPack;
'';
};
in mapAttrs (mkVBoxTest false vboxVMs) {
simple-gui = ''
createVM_simple;
@ -484,22 +504,4 @@ in mapAttrs (mkVBoxTest false vboxVMs) {
destroyVM_test1;
destroyVM_test2;
'';
} // mapAttrs (mkVBoxTest true vboxVMsWithExtpack) {
enable-extension-pack = ''
createVM_testExtensionPack;
vbm("startvm testExtensionPack");
waitForStartup_testExtensionPack;
$machine->screenshot("cli_started");
waitForVMBoot_testExtensionPack;
$machine->screenshot("cli_booted");
$machine->nest("Checking for privilege escalation", sub {
$machine->fail("test -e '/root/VirtualBox VMs'");
$machine->fail("test -e '/root/.config/VirtualBox'");
$machine->succeed("test -e '/home/alice/VirtualBox VMs'");
});
shutdownVM_testExtensionPack;
destroyVM_testExtensionPack;
'';
}
} // (if enableUnfree then unfreeTests else {})

View file

@ -1,4 +1,4 @@
{ callPackage, boost155, boost165, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3 }:
{ callPackage, boost155, boost165, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3, buildGo110Package }:
rec {
@ -51,10 +51,13 @@ rec {
freicoin = callPackage ./freicoin.nix { boost = boost155; };
go-ethereum = callPackage ./go-ethereum.nix {
buildGoPackage = buildGo110Package;
inherit (darwin) libobjc;
inherit (darwin.apple_sdk.frameworks) IOKit;
};
go-ethereum-classic = callPackage ./go-ethereum-classic { };
go-ethereum-classic = callPackage ./go-ethereum-classic {
buildGoPackage = buildGo110Package;
};
litecoin = callPackage ./litecoin.nix { withGui = true; };
litecoind = callPackage ./litecoin.nix { withGui = false; };

View file

@ -16,11 +16,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "particl-core-${version}";
version = "0.16.1.0";
version = "0.16.2.0";
src = fetchurl {
url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz";
sha256 = "0rfqywyrl6cgxn3ba91zsa88ph2yf9d1vn706xpyz19pfb6mjfbg";
sha256 = "1d2vvg7avlhsg0rcpd5pbzafnk1w51a2y29xjjkpafi6iqs2l617";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];

View file

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, libxml2, deadbeef, glib, gtk3 }:
stdenv.mkDerivation rec {
name = "deadbeef-headerbar-gtk3-plugin-${version}";
version = "1.2";
src = fetchFromGitHub {
owner = "saivert";
repo = "ddb_misc_headerbar_GTK3";
rev = "v${version}";
sha256 = "1v1schvnps7ypjqgcbqi74a45w8r2gbhrawz7filym22h1qr9wn0";
};
nativeBuildInputs = [ autoconf automake libtool pkgconfig libxml2 ];
buildInputs = [ deadbeef glib gtk3 ];
# Choose correct installation path
# https://github.com/saivert/ddb_misc_headerbar_GTK3/commit/50ff75f76aa9d40761e352311670a894bfcd5cf6#r30319680
makeFlags = [ "pkglibdir=$(out)/lib/deadbeef" ];
preConfigure = "./autogen.sh";
meta = with stdenv.lib; {
description = "Plug-in that adds GTK 3 header bar to the DeaDBeeF music player";
homepage = https://github.com/saivert/ddb_misc_headerbar_GTK3;
license = licenses.gpl2Plus;
maintainers = [ maintainers.jtojnar ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,35 @@
{ stdenv, fetchFromGitHub
, llvm, qt48Full, libqrencode, libmicrohttpd, libjack2, alsaLib, faust, curl
, bc, coreutils, which
}:
stdenv.mkDerivation rec {
name = "faustlive-${version}";
version = "2017-12-05";
src = fetchFromGitHub {
owner = "grame-cncm";
repo = "faustlive";
rev = "281fcb852dcd94f8c57ade1b2a7a3937542e1b2d";
sha256 = "0sw44yd9928rid9ib0b5mx2x129m7zljrayfm6jz6hrwdc5q3k9a";
};
buildInputs = [
llvm qt48Full libqrencode libmicrohttpd libjack2 alsaLib faust curl
bc coreutils which
];
makeFlags = [ "PREFIX=$(out)" ];
preBuild = "patchShebangs Build/Linux/buildversion";
meta = with stdenv.lib; {
description = "A standalone just-in-time Faust compiler";
longDescription = ''
FaustLive is a standalone just-in-time Faust compiler. It tries to bring
together the convenience of a standalone interpreted language with the
efficiency of a compiled language. It's ideal for fast prototyping.
'';
homepage = http://faust.grame.fr/;
license = licenses.gpl3;
};
}

View file

@ -3,14 +3,14 @@
, python36Packages, gnome3, glib, gst_all_1 }:
stdenv.mkDerivation rec {
version = "0.9.521";
version = "0.9.522";
name = "lollypop-${version}";
src = fetchgit {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
sha256 = "1iwv0fj50h0xynv152anisbq29jfbmb9hpm60kaa9a9hdiypskcc";
sha256 = "0f2brwv884cvmxj644jcj9sg5hix3wvnjy2ndg0fh5cxyqz0kwn5";
};
nativeBuildInputs = with python36Packages; [

View file

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Iris";
version = "3.24.0";
version = "3.25.1";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "19aympbkiil68j9jpvk1pgl4hplfs0vpc0d4vmzmpbcslkpirx2g";
sha256 = "148ksv87lw3l3dwncmlq8qzv6xik29axdgaljdcp0g4pd98a7dlk";
};
propagatedBuildInputs = [

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "setbfree-${version}";
version = "0.8.7";
version = "0.8.8";
src = fetchurl {
url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz";
sha256 = "07s320r67cz0cdjdsbcwn0fw3xs0wz7lgrybqpws2skvkbls228q";
sha256 = "1ldxwds99azingkjh246kz7x3j7307jhr0fls5rjjbcfchpg7v99";
};
patchPhase = ''

View file

@ -18,9 +18,9 @@ let
sha256Hash = "0sj848pzpsbmnfi2692gg73v6m72hr1pwlk5x8q912w60iypi3pz";
};
latestVersion = { # canary & dev
version = "3.3.0.6"; # "Android Studio 3.3 Canary 7"
build = "182.4968538";
sha256Hash = "159sya24p99pj9q0mj1sbcz2609ackz54x4pj3q1mxhiamsn1y2q";
version = "3.3.0.7"; # "Android Studio 3.3 Canary 8"
build = "182.4978721";
sha256Hash = "0xa19wrw1a6y7f2jdv8699yqv7g34h3zdw3wc0ql0447afzwg9a9";
};
in rec {
# Old alias

View file

@ -73,13 +73,13 @@ let
};
in stdenv.lib.mapAttrs common {
atom = {
version = "1.29.0";
sha256 = "0f0qpn8aw2qlqk8ah71xvk4vcmwsnsf2f3g4hz0rvaqnhb9ri9fz";
version = "1.30.0";
sha256 = "1hqizfn9c249l51rlpfgk0h374maqgw6pagswlh4xa278qzb6qzs";
};
atom-beta = {
version = "1.30.0";
beta = 1;
sha256 = "0ygqj81xlwhzmmci0d0rd2q7xfskxd1k7h6db3zvvjdxjcnyqp1z";
version = "1.31.0";
beta = 0;
sha256 = "11nlaz89rg6lgzsxp83qdqk4bnn2cij2p5aqjd9a3phd7v70xmy5";
};
}

View file

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "micro-${version}";
version = "1.4.0";
version = "1.4.1";
goPackagePath = "github.com/zyedidia/micro";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "zyedidia";
repo = "micro";
rev = "v${version}";
sha256 = "0w1rmh81h28n1jlb05k89i751h498i6p883hrsjr70hvrwq5zjpb";
sha256 = "0m9p6smb5grdazsgr3m1x4rry9ihhlgl9ildhvfp53czrifbx0m5";
fetchSubmodules = true;
};

View file

@ -14,8 +14,8 @@ let
nixSyntaxHighlight = fetchFromGitHub {
owner = "seitz";
repo = "nanonix";
rev = "17e0de65e1cbba3d6baa82deaefa853b41f5c161";
sha256 = "1g51h65i31andfs2fbp1v3vih9405iknqn11fzywjxji00kjqv5s";
rev = "7483fd8b79f1f3f2179dbbd46aa400df4320ba10";
sha256 = "10pv75kfrgnziz8sr83hdbb0c3klm2fmsdw3i5cpqqf5va1fzb8h";
};
in stdenv.mkDerivation rec {

View file

@ -10,13 +10,13 @@ neovim:
let
wrapper = {
withPython ? true, extraPythonPackages ? []
, withPython3 ? true, extraPython3Packages ? []
withPython ? true, extraPythonPackages ? (_: []) /* the function you would have passed to python.withPackages */
, withPython3 ? true, extraPython3Packages ? (_: []) /* the function you would have passed to python.withPackages */
, withRuby ? true
, withPyGUI ? false
, vimAlias ? false
, viAlias ? false
, configure ? null
, configure ? {}
}:
let
@ -28,25 +28,27 @@ let
'';
};
pluginPythonPackages = if configure == null then [] else builtins.concatLists
(map ({ pythonDependencies ? [], ...}: pythonDependencies)
(vimUtils.requiredPlugins configure));
pythonEnv = pythonPackages.python.buildEnv.override {
extraLibs = (
if withPyGUI
then [ pythonPackages.neovim_gui ]
else [ pythonPackages.neovim ]
) ++ extraPythonPackages ++ pluginPythonPackages;
ignoreCollisions = true;
};
/* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */
compatFun = funOrList: (if builtins.isList funOrList then
(_: builtins.trace "passing a list as extraPythonPackages to the neovim wrapper is deprecated, pass a function as to python.withPackages instead" funOrList)
else funOrList);
extraPythonPackagesFun = compatFun extraPythonPackages;
extraPython3PackagesFun = compatFun extraPython3Packages;
pluginPython3Packages = if configure == null then [] else builtins.concatLists
(map ({ python3Dependencies ? [], ...}: python3Dependencies)
(vimUtils.requiredPlugins configure));
python3Env = python3Packages.python.buildEnv.override {
extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages ++ pluginPython3Packages;
ignoreCollisions = true;
};
requiredPlugins = vimUtils.requiredPlugins configure;
getDeps = attrname: map (plugin: plugin.${attrname} or (_:[]));
pluginPythonPackages = getDeps "pythonDependencies" requiredPlugins;
pythonEnv = pythonPackages.python.withPackages(ps:
(if withPyGUI then [ ps.neovim_gui ] else [ ps.neovim ])
++ (extraPythonPackagesFun ps)
++ (concatMap (f: f ps) pluginPythonPackages));
pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins;
python3Env = python3Packages.python.withPackages (ps:
[ ps.neovim ]
++ (extraPython3PackagesFun ps)
++ (concatMap (f: f ps) pluginPython3Packages));
in
stdenv.mkDerivation {
@ -63,7 +65,6 @@ let
--cmd \"${if withPython then "let g:python_host_prog='$out/bin/nvim-python'" else "let g:loaded_python_provider = 1"}\" \
--cmd \"${if withPython3 then "let g:python3_host_prog='$out/bin/nvim-python3'" else "let g:loaded_python3_provider = 1"}\" \
--cmd \"${if withRuby then "let g:ruby_host_prog='$out/bin/nvim-ruby'" else "let g:loaded_ruby_provider=1"}\" " \
--unset PYTHONPATH \
${optionalString withRuby '' --suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }
''
@ -75,9 +76,9 @@ let
--replace 'Name=Neovim' 'Name=WrappedNeovim'
''
+ optionalString withPython ''
ln -s ${pythonEnv}/bin/python $out/bin/nvim-python
makeWrapper ${pythonEnv}/bin/python $out/bin/nvim-python --unset PYTHONPATH
'' + optionalString withPython3 ''
ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
makeWrapper ${python3Env}/bin/python3 $out/bin/nvim-python3 --unset PYTHONPATH
'' + optionalString withRuby ''
ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
''
@ -88,7 +89,7 @@ let
ln -s $out/bin/nvim $out/bin/vim
'' + optionalString viAlias ''
ln -s $out/bin/nvim $out/bin/vi
'' + optionalString (configure != null) ''
'' + optionalString (configure != {}) ''
wrapProgram $out/bin/nvim --add-flags "-u ${vimUtils.vimrcFile configure}"
''
;

View file

@ -1,29 +0,0 @@
{ stdenv, fetchurl, pkgconfig, vala_0_28, which, autoconf, automake
, libtool, glib, gtk3, gnome3, libwnck3, asciidoc, python3Packages }:
stdenv.mkDerivation rec {
name = "vanubi-${version}";
version = "0.0.16";
src = fetchurl {
url = "https://github.com/vanubi/vanubi/archive/v${version}.tar.gz";
sha256 = "145zxgaky5bcq5bxm4z7h0pvviq7k1nrgnf40q6nax6ik616ybjq";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ vala_0_28 which autoconf automake
libtool glib gtk3 libwnck3 asciidoc
gnome3.gtksourceview gnome3.vte_290 python3Packages.pygments ];
configureScript = "./autogen.sh";
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://vanubi.github.io/vanubi;
description = "Programming editor for GTK+ inspired by Emacs";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.lethalman ];
};
}

View file

@ -1,7 +1,7 @@
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
# but I have gvim with python support now :) - Marc
args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext
, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext
, writeText, config, glib, gtk2, gtk3, lua, python, perl, tcl, ruby
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
, libICE
, vimPlugins
@ -13,7 +13,7 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge
, features ? "huge" # One of tiny, small, normal, big or huge
, wrapPythonDrv ? false
, guiSupport ? config.vim.gui or "auto"
, guiSupport ? config.vim.gui or "gtk3"
, luaSupport ? config.vim.lua or true
, perlSupport ? config.vim.perl or false # Perl interpreter
, pythonSupport ? config.vim.python or true # Python interpreter
@ -24,11 +24,10 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge
, cscopeSupport ? config.vim.cscope or true # Enable cscope interface
, netbeansSupport ? config.netbeans or true # Enable NetBeans integration support.
, ximSupport ? config.vim.xim or true # less than 15KB, needed for deadkeys
# By default, compile with darwin support if we're compiling on darwin, but
# allow this to be disabled by setting config.vim.darwin to false
, darwinSupport ? stdenv.isDarwin && (config.vim.darwin or true) # Enable Darwin support
, darwinSupport ? config.vim.darwin or false # Enable Darwin support
, ftNixSupport ? config.vim.ftNix or true # Add .nix filetype detection and minimal syntax highlighting support
, ... }: with args;
, ...
}:
let
@ -99,8 +98,10 @@ in stdenv.mkDerivation rec {
"--disable-carbon_check"
"--disable-gtktest"
]
++ stdenv.lib.optional stdenv.isDarwin
(if darwinSupport then "--enable-darwin" else "--disable-darwin")
++ stdenv.lib.optionals luaSupport [
"--with-lua-prefix=${args.lua}"
"--with-lua-prefix=${lua}"
"--enable-luainterp"
]
++ stdenv.lib.optionals pythonSupport [
@ -128,7 +129,8 @@ in stdenv.mkDerivation rec {
buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau
libXmu glib libICE ]
++ (if guiSupport == "gtk3" then [gtk3] else [gtk2])
++ stdenv.lib.optional (guiSupport == "gtk2") gtk2
++ stdenv.lib.optional (guiSupport == "gtk3") gtk3
++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc cf-private ]
++ stdenv.lib.optional luaSupport lua
++ stdenv.lib.optional pythonSupport python
@ -142,22 +144,36 @@ in stdenv.mkDerivation rec {
cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
'';
NIX_LDFLAGS = stdenv.lib.optionalString (darwinSupport && stdenv.isDarwin)
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
postInstall = ''
'' + stdenv.lib.optionalString stdenv.isLinux ''
patchelf --set-rpath \
"$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \
"$(patchelf --print-rpath $out/bin/vim):${stdenv.lib.makeLibraryPath buildInputs}" \
"$out"/bin/{vim,gvim}
ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
'' + stdenv.lib.optionalString wrapPythonDrv ''
wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin"
'' + stdenv.lib.optionalString (guiSupport == "gtk3") ''
rm "$out/bin/gvim"
echo -e '#!${stdenv.shell}\n"'"$out/bin/vim"'" -g "$@"' > "$out/bin/gvim"
chmod a+x "$out/bin/gvim"
rewrap () {
rm -f "$out/bin/$1"
echo -e '#!${stdenv.shell}\n"'"$out/bin/vim"'" '"$2"' "$@"' > "$out/bin/$1"
chmod a+x "$out/bin/$1"
}
rewrap ex -e
rewrap view -R
rewrap gvim -g
rewrap gex -eg
rewrap gview -Rg
rewrap rvim -Z
rewrap rview -RZ
rewrap rgvim -gZ
rewrap rgview -RgZ
rewrap evim -y
rewrap eview -yR
rewrap vimdiff -d
rewrap gvimdiff -gd
'';
preInstall = ''

View file

@ -0,0 +1,33 @@
{ stdenv, fetchFromGitHub, autoconf, automake, libtool, ncurses }:
stdenv.mkDerivation rec {
name = "imgcat-${version}";
version = "2.3.0";
buildTools = [ autoconf automake libtool ncurses ];
preConfigure = ''
${autoconf}/bin/autoconf
sed -i -e "s|-ltermcap|-L ${ncurses}/lib -lncurses|" Makefile
'';
preInstall = ''
makeFlagsArray=(PREFIX="$out");
'';
src = fetchFromGitHub {
owner = "eddieantonio";
repo = "imgcat";
rev = "3d854c72f785dce0eecd9485767a7f972d54890c";
sha256 = "0m83c33rzxvs0w214njql2c7q3fg06wnyijch3l2s88i7frl121f";
};
meta = with stdenv.lib; {
description = "It's like cat, but for images";
homepage = https://github.com/eddieantonio/imgcat;
license = licenses.isc;
maintainers = with maintainers; [ jwiegley ];
platforms = platforms.unix;
};
}

View file

@ -51,18 +51,18 @@ let
];
in buildRustPackage rec {
name = "alacritty-unstable-${version}";
version = "2018-07-20";
version = "2018-08-30";
# At the moment we cannot handle git dependencies in buildRustPackage.
# This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
src = fetchgit {
url = https://github.com/Mic92/alacritty.git;
rev = "rev-${version}";
sha256 = "1vhjmysfra6dsbv35qbvsf76rhkj990lgns0k0gpbcrf47gsvx1n";
sha256 = "0izvg7dwwb763jc6gnmn47i5zrkxvmh3vssn6vzrrmqhd4j3msmf";
fetchSubmodules = true;
};
cargoSha256 = "0rs2p4sik25ynx6ri2wlg8v6vrdmf10xxnw9f2aqyps9m038i9di";
cargoSha256 = "1ijgkwv9ij4haig1h6n2b9xbhp5vahy9vp1sx72wxaaj9476msjx";
nativeBuildInputs = [
cmake

View file

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
name = "dbeaver-ce-${version}";
version = "5.1.5";
version = "5.1.6";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "17ai2gxnz1wj5m282sib9qhvy3665km2ig1ixxdklmk8apgdl1xr";
sha256 = "1zypadnyhinm6mfv91s7zs2s55bhzgkqhl6ai6x3yqwhvayc02nn";
};
installPhase = ''

View file

@ -1,65 +0,0 @@
{ stdenv, fetchFromGitHub, makeWrapper
, pkgconfig, cmake, libxml2, vala_0_26, intltool, libmx, gnome3, gtk3, gtk-doc
, keybinder3, clutter-gtk, libnotify
, libxkbcommon, xorg, udev
, bashInteractive
}:
with stdenv.lib;
stdenv.mkDerivation {
name = "finalterm-git-2014-11-15";
src = fetchFromGitHub {
owner = "p-e-w";
repo = "finalterm";
rev = "39b078b2a96a5c3c9e74f92b1929f383d220ca8b";
sha256 = "14viln5nabr39lafg1lzf6ydibz1h5d9346drp435ljxc6wsh21i";
};
nativeBuildInputs = [ pkgconfig cmake intltool makeWrapper ];
buildInputs = [
vala_0_26 gtk3 gnome3.gnome-common gnome3.libgee
gtk-doc clutter-gtk libmx keybinder3 libxml2 libnotify
xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence
libxkbcommon
] ++ optionals stdenv.isLinux [ udev ];
preConfigure = ''
substituteInPlace data/org.gnome.finalterm.gschema.xml \
--replace "/bin/bash" "${bashInteractive}/bin/bash"
cmakeFlagsArray=(
-DMINIMAL_FLAGS=ON
)
'';
postInstall = ''
mkdir -p $out/share/gsettings-schemas/$name
mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
'';
postFixup = ''
wrapProgram "$out/bin/finalterm" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix GIO_EXTRA_MODULES : "${getLib gnome3.dconf}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share:${gnome3.gtk.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
meta = {
homepage = http://finalterm.org;
description = "A new breed of terminal emulator";
longDescription = ''
Final Term is a new breed of terminal emulator.
It goes beyond mere emulation and understands what is happening inside the shell it is hosting. This allows it to offer features no other terminal can, including:
- Semantic text menus
- Smart command completion
- GUI terminal controls
'';
license = licenses.gpl3Plus;
maintainers = [ maintainers.cstrahan ];
platforms = platforms.linux;
};
}

View file

@ -1,17 +1,17 @@
{ stdenv, fetchFromGitHub, automake, autoconf, libtool,
pkgconfig, file, intltool, libxml2, json-glib , sqlite, itstool,
librsvg, vala_0_34, gnome3, wrapGAppsHook, gobjectIntrospection
librsvg, vala, gnome3, wrapGAppsHook, gobjectIntrospection
}:
stdenv.mkDerivation rec {
name = "font-manager-${version}";
version = "0.7.3";
version = "0.7.3.1";
src = fetchFromGitHub {
owner = "FontManager";
repo = "master";
rev = version;
sha256 = "0qwi1mn2sc2q5cs28rga8i3cn34ylybs949vjnh97dl2rvlc0x06";
owner = "FontManager";
repo = "master";
rev = version;
sha256 = "0i65br0bk3r6x8wcl8jhc0v0agl0k6fy5g60ss1bnw4md7ldpgyi";
};
nativeBuildInputs = [
@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
automake autoconf libtool
file
intltool
vala_0_34
itstool
vala
gnome3.yelp-tools
wrapGAppsHook
# For setup hook
@ -30,12 +31,9 @@ stdenv.mkDerivation rec {
libxml2
json-glib
sqlite
itstool
librsvg
gnome3.gtk
gnome3.gucharmap
gnome3.libgee
gnome3.file-roller
gnome3.defaultIconTheme
];
@ -46,7 +44,10 @@ stdenv.mkDerivation rec {
substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
'';
configureFlags = [ "--disable-pycompile" ];
configureFlags = [
"--with-file-roller"
"--disable-pycompile"
];
meta = {
homepage = https://fontmanager.github.io/;

View file

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 763f75b..defa74a 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -212,7 +212,7 @@ CHECK_INCLUDE_FILES(endian.h HAVE_ENDIAN_H)
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
CHECK_INCLUDE_FILES(byteswap.h HAVE_BYTESWAP_H)
CHECK_LIBRARY_EXISTS(gypsy gypsy_control_get_default "" GYPSY_FOUND)
-CHECK_INCLUDE_FILES(libspeechd.h HAVE_LIBSPEECHD)
+CHECK_INCLUDE_FILES(speech-dispatcher/libspeechd.h HAVE_LIBSPEECHD)
CHECK_INCLUDE_FILES(sys/socket.h HAVE_SOCKET)
CHECK_INCLUDE_FILES(sys/shm.h HAVE_SHMEM)
CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF)

View file

@ -1,9 +1,21 @@
{ stdenv, fetchFromGitHub, pkgconfig, gtk2, SDL, fontconfig, freetype, imlib2, SDL_image, libGLU_combined,
libXmu, freeglut, pcre, dbus-glib, glib, librsvg, freeimage, libxslt,
qtbase, qtquickcontrols, qtsvg, qtdeclarative, qtlocation, qtsensors, qtmultimedia, qtspeech, espeak,
cairo, gdk_pixbuf, pango, atk, patchelf, fetchurl, bzip2,
python, gettext, quesoglc, gd, postgresql, cmake, shapelib, SDL_ttf, fribidi}:
{ stdenv, fetchFromGitHub, pkgconfig, gtk2, fontconfig, freetype, imlib2
, SDL_image, libGLU_combined, libXmu, freeglut, pcre, dbus, dbus-glib, glib
, librsvg, freeimage, libxslt, cairo, gdk_pixbuf, pango
, atk, patchelf, fetchurl, bzip2, python, gettext, quesoglc
, gd, cmake, shapelib, SDL_ttf, fribidi, makeWrapper
, qtquickcontrols, qtmultimedia, qtspeech, qtsensors
, qtlocation, qtdeclarative, qtsvg
, qtSupport ? false, qtbase #need to fix qt_qpainter
, sdlSupport ? true, SDL
, xkbdSupport ? true, xkbd
, espeakSupport ? true, espeak
, postgresqlSupport ? false, postgresql
, speechdSupport ? false, speechd ? null
}:
assert speechdSupport -> speechd != null;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "navit-${version}";
version = "0.5.1";
@ -21,34 +33,53 @@ stdenv.mkDerivation rec {
sha256 = "0vg6b6rhsa2cxqj4rbhfhhfss71syhnfa6f1jg2i2d7l88dm5x7d";
};
#hardeningDisable = [ "format" ];
NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
patches = [ ./CMakeLists.txt.patch ];
# TODO: fix speech options.
cmakeFlags = [ "-DSAMPLE_MAP=n " "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-Dsupport/espeak=FALSE" "-Dspeech/qt5_espeak=FALSE" ];
NIX_CFLAGS_COMPILE = optional sdlSupport "-I${SDL.dev}/include/SDL"
++ optional speechdSupport "-I${speechd}/include/speech-dispatcher";
buildInputs = [ gtk2 SDL fontconfig freetype imlib2 SDL_image libGLU_combined freeimage libxslt
libXmu freeglut python gettext quesoglc gd postgresql qtbase SDL_ttf fribidi pcre qtquickcontrols
espeak qtmultimedia qtspeech qtsensors qtlocation qtdeclarative qtsvg dbus-glib librsvg shapelib glib
cairo gdk_pixbuf pango atk ];
# we choose only cmdline and speech-dispatcher speech options.
# espeak builtins is made for non-cmdline OS as winCE
cmakeFlags = [
"-DSAMPLE_MAP=n " "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
"-Dspeech/qt5_espeak=FALSE" "-Dsupport/espeak=FALSE"
];
nativeBuildInputs = [ pkgconfig cmake patchelf bzip2 ];
buildInputs = [
gtk2 fontconfig freetype imlib2 libGLU_combined freeimage
libxslt libXmu freeglut python gettext quesoglc gd
fribidi pcre dbus dbus-glib librsvg shapelib glib
cairo gdk_pixbuf pango atk
] ++ optionals sdlSupport [ SDL SDL_ttf SDL_image ]
++ optional postgresqlSupport postgresql
++ optional speechdSupport speechd
++ optionals qtSupport [
qtquickcontrols qtmultimedia qtspeech qtsensors
qtbase qtlocation qtdeclarative qtsvg
];
nativeBuildInputs = [ makeWrapper pkgconfig cmake patchelf bzip2 ];
# we dont want blank screen by defaut
postInstall = ''
# emulate DSAMPLE_MAP
mkdir -p $out/share/navit/maps/maps
mkdir -p $out/share/navit/maps/
bzcat "${sample_map}" | $out/bin/maptool "$out/share/navit/maps/osm_bbox_11.3,47.9,11.7,48.2.bin"
'';
# TODO: fix upstream?
postFixup = ''
for lib in $(find "$out/lib/navit/" -iname "*.so" ); do
patchelf --set-rpath ${stdenv.lib.makeLibraryPath buildInputs} $lib
patchelf --set-rpath ${makeLibraryPath buildInputs} $lib
done
wrapProgram $out/bin/navit \
--prefix PATH : ${makeBinPath (
optional xkbdSupport xkbd
++ optional espeakSupport espeak
++ optional speechdSupport speechd ) }
'';
meta = with stdenv.lib; {
meta = {
homepage = http://www.navit-project.org;
description = "Car navigation system with routing engine using OSM maps";
license = licenses.gpl2;

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "urlscan";
version = "0.8.9";
version = "0.9.0";
src = fetchFromGitHub {
owner = "firecat53";
repo = pname;
rev = version;
sha256 = "18wvfayib79lylv3g9ay3f85qanhrljvnfarwl9snfzklj4gkf2v";
sha256 = "0vad1g234r9agvkdsry9xb6hmn6lg4mygfcy0mg68gibmrg7h1ji";
};
propagatedBuildInputs = [ python3Packages.urwid ];

View file

@ -40,5 +40,6 @@ buildGoPackage rec {
license = licenses.mit;
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
broken = true;
};
}

View file

@ -1,92 +0,0 @@
{ stdenv, lib, fetchurl, dpkg, gnome2, atk, cairo, gdk_pixbuf, glib, freetype,
fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr,
libXcomposite, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss,
nspr, alsaLib, cups, expat, udev
}:
let
rpath = lib.makeLibraryPath [
alsaLib
atk
cairo
cups
dbus
expat
fontconfig
freetype
gdk_pixbuf
glib
gnome2.GConf
gnome2.gtk
gnome2.pango
libX11
libXScrnSaver
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
nspr
nss
stdenv.cc.cc
udev
xorg.libxcb
];
in
stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
version = "1.1.0-beta.5";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
sha256 = "1kllym2iazp9i5afrh0vmsqqlh5b8i6f929p5yhl8bl4zd17zwpx";
}
else
throw "Signal for Desktop is not currently supported on ${stdenv.system}";
phases = [ "unpackPhase" "installPhase" ];
nativeBuildInputs = [ dpkg ];
unpackPhase = "dpkg-deb -x $src .";
installPhase = ''
mkdir -p $out
cp -R opt $out
cp -R usr/share $out/share
chmod -R g-w $out
# Patch signal
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}:$out/opt/Signal Beta" \
"$out/opt/Signal Beta/signal-desktop-beta"
# Symlink to bin
mkdir -p $out/bin
ln -s "$out/opt/Signal Beta/signal-desktop-beta" $out/bin/signal-desktop-beta
# Fix the desktop link
substituteInPlace $out/share/applications/signal-desktop-beta.desktop \
--replace "/opt/Signal Beta/signal-desktop-beta" $out/bin/signal-desktop-beta
'';
meta = {
description = "Signal Private Messenger for the Desktop (Beta version)";
homepage = https://signal.org/;
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ ixmatus benley ];
platforms = [
"x86_64-linux"
];
# Marked as broken on 2018-04-17. Reason: The most recent version is
# 1.8.0-beta.1, while this is still 1.1.0-beta.5 (2017-12-09). The stable
# package (signal-desktop) should be used instead (currently at version
# 1.7.1, i.e. up-to-date).
broken = true;
};
}

View file

@ -4,8 +4,8 @@ let
mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
stableVersion = {
stable = true;
version = "1.3.10";
sha256Hash = "0i1lzks8pf627658w6p7dz87d6cl4g98031qm166npkc40f89bpr";
version = "1.3.14";
sha256Hash = "107m9iqw78b691pcq65s3m3zhamn8slh0wiyipwbbp0w13rqna3v";
# svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
archPatchesRevision = "359861";
archPatchesHash = "15xybfs9k6dww747if8z6m9sh7anvqi76zsx2gxyna2j1z36i0r0";
@ -14,7 +14,5 @@ in {
stable = mkTelegram stableVersion;
preview = mkTelegram (stableVersion // {
stable = false;
version = "1.3.12";
sha256Hash = "00z4ljs4fvbk7sf8wv1v50kln26gv8q12x6q41ai9gfzkvq5f69a";
});
}

View file

@ -1,12 +1,12 @@
{ stdenv, curl, fetchFromGitHub, cjson, olm, luaffi }:
stdenv.mkDerivation {
name = "weechat-matrix-bridge-2018-01-10";
name = "weechat-matrix-bridge-2018-05-29";
src = fetchFromGitHub {
owner = "torhve";
repo = "weechat-matrix-protocol-script";
rev = "a8e4ce04665c09ee7f24d6b319cd85cfb56dfbd7";
sha256 = "0822xcxvwanwm8qbzqhn3f1m6hhxs29pyf8lnv6v29bl8136vcq3";
rev = "ace3fefc0e35a627f8a528032df2e3111e41eb1b";
sha256 = "1snf8vn5n9wzrnqnvdrcli4199s5p114jbjlgrj5c27i53173wqw";
};
patches = [

View file

@ -3,7 +3,6 @@
, libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager
, openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2
, glib-networking, gsettings-desktop-schemas, libSM, libytnef
# Build options
# TODO: A flag to build the manual.
# TODO: Plugins that complain about their missing dependencies, even when
@ -32,11 +31,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "claws-mail-${version}";
version = "3.16.0";
version = "3.17.1";
src = fetchurl {
url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
sha256 = "1awpr3s7n8bq8p3w10a4j6lg5bizjxyiqp4rqzc2j8cn7lyi64n2";
sha256 = "1wknxbwyzm5xjh3cqmddcxmvp1rkp301qga5n5rgfi7vcd0myyvm";
};
outputs = [ "out" "dev" ];

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
name = "mblaze-${version}";
version = "0.3.2";
version = "0.4";
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "chneukirchen";
repo = "mblaze";
rev = "v${version}";
sha256 = "0sgzcf7lpgdix7x4p6wp1jjv9h62rrkca6325c7a9j8r0dbg1fdg";
sha256 = "15ac213a17mxni3bqvzxhiln65s4almrlmv72bbcgi7cymb303rp";
};
makeFlags = "PREFIX=$(out)";

View file

@ -3,10 +3,10 @@
stdenv.mkDerivation rec {
name = pname + "-" + version;
pname = "cb2bib";
version = "1.9.7";
version = "1.9.8";
src = fetchurl {
url = "https://www.molspaces.com/dl/progs/${name}.tar.gz";
sha256 = "0gr8vmlz1ikw0jiwwac2ays20z26cdv3bjdx9m1nc450hl6m5s7s";
sha256 = "0fpa0znlabk0nrzgj4c0l6qbg8l16lp9d7lvb9ijv1y0ih9igf0f";
};
buildInputs = [ qtbase qtwebkit qtx11extras lzo libX11 ];
nativeBuildInputs = [ qmake ];

View file

@ -1,14 +1,14 @@
{ stdenv, fetchurl, cmake, blas, liblapack, gfortran, gmm, fltk, libjpeg
, zlib, libGLU_combined, libGLU, xorg }:
let version = "3.0.6"; in
let version = "4.0.0"; in
stdenv.mkDerivation {
name = "gmsh-${version}";
src = fetchurl {
url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
sha256 = "0ywqhr0zmdhn8dvi6l8z1vkfycyv67fdrz6b95mb39np832bq04p";
sha256 = "0pqm0ippj0j07919hld3f3rgq0p1x4j32fxb2m1nyp226zx8l37v";
};
# The original CMakeLists tries to use some version of the Lapack lib

View file

@ -1,86 +0,0 @@
{ stdenv, fetchurl, luaPackages, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
, xorg, libstartup_notification, libxdg_basedir, libpthreadstubs
, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
, which, dbus, nettools, git, asciidoc, doxygen
, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
}:
let
version = "3.5.9";
in with luaPackages;
stdenv.mkDerivation rec {
name = "awesome-${version}";
src = fetchurl {
url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
sha256 = "0kynair1ykr74b39a4gcm2y24viial64337cf26nhlc7azjbby67";
};
meta = with stdenv.lib; {
description = "Highly configurable, dynamic window manager for X";
homepage = http://awesome.naquadah.org/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.linux;
};
nativeBuildInputs = [
asciidoc
cmake
doxygen
imagemagick
makeWrapper
pkgconfig
xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
];
buildInputs = [
cairo
dbus
gdk_pixbuf
gobjectIntrospection
git
lgi
libpthreadstubs
libstartup_notification
libxdg_basedir
lua
nettools
pango
xcb-util-cursor
xorg.libXau
xorg.libXdmcp
xorg.libxcb
xorg.libxshmfence
xorg.xcbutil
xorg.xcbutilimage
xorg.xcbutilkeysyms
xorg.xcbutilrenderutil
xorg.xcbutilwm
];
#cmakeFlags = "-DGENERATE_MANPAGES=ON";
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
postInstall = ''
wrapProgram $out/bin/awesome \
--prefix LUA_CPATH ";" "${lgi}/lib/lua/${lua.luaversion}/?.so" \
--prefix LUA_PATH ";" "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
--prefix PATH : "${stdenv.lib.makeBinPath [ compton unclutter procps iproute coreutils curl alsaUtils findutils xterm ]}"
wrapProgram $out/bin/awesome-client \
--prefix PATH : "${which}/bin"
'';
passthru = {
inherit lua;
};
}

View file

@ -3,59 +3,77 @@
, dbus, libconfig, libdrm, libGL, pcre, libX11, libXcomposite, libXdamage
, libXinerama, libXrandr, libXrender, libXext, xwininfo }:
stdenv.mkDerivation rec {
name = "compton-0.1_beta2.5";
let
common = source: stdenv.mkDerivation (source // rec {
name = "${source.pname}-${source.version}";
src = fetchFromGitHub {
owner = "chjj";
repo = "compton";
rev = "b7f43ee67a1d2d08239a2eb67b7f50fe51a592a8";
sha256 = "1p7ayzvm3c63q42na5frznq3rlr1lby2pdgbvzm1zl07wagqss18";
};
buildInputs = [
dbus libX11 libXcomposite libXdamage libXrender libXrandr libXext
libXinerama libdrm pcre libxml2 libxslt libconfig libGL
];
buildInputs = [
libX11
libXcomposite
libXdamage
libXrender
libXrandr
libXext
libXinerama
libdrm
pcre
libconfig
dbus
libGL
];
nativeBuildInputs = [
pkgconfig
asciidoc
docbook_xml_dtd_45
docbook_xsl
makeWrapper
];
nativeBuildInputs = [
pkgconfig
asciidoc
libxml2
docbook_xml_dtd_45
docbook_xsl
libxslt
makeWrapper
];
installFlags = [ "PREFIX=$(out)" ];
installFlags = [ "PREFIX=$(out)" ];
postInstall = ''
wrapProgram $out/bin/compton-trans \
--prefix PATH : ${lib.makeBinPath [ xwininfo ]}
'';
meta = with stdenv.lib; {
homepage = https://github.com/chjj/compton/;
description = "A fork of XCompMgr, a sample compositing manager for X servers";
longDescription = ''
A fork of XCompMgr, which is a sample compositing manager for X
servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
extensions. It enables basic eye-candy effects. This fork adds
additional features, such as additional effects, and a fork at a
well-defined and proper place.
postInstall = ''
wrapProgram $out/bin/compton-trans \
--prefix PATH : ${lib.makeBinPath [ xwininfo ]}
'';
license = licenses.mit;
platforms = platforms.linux;
meta = with lib; {
description = "A fork of XCompMgr, a sample compositing manager for X servers";
longDescription = ''
A fork of XCompMgr, which is a sample compositing manager for X
servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
extensions. It enables basic eye-candy effects. This fork adds
additional features, such as additional effects, and a fork at a
well-defined and proper place.
'';
license = licenses.mit;
maintainers = with maintainers; [ ertes enzime twey ];
platforms = platforms.linux;
};
});
stableSource = {
pname = "compton";
version = "0.1_beta2.5";
src = fetchFromGitHub {
owner = "chjj";
repo = "compton";
rev = "b7f43ee67a1d2d08239a2eb67b7f50fe51a592a8";
sha256 = "1p7ayzvm3c63q42na5frznq3rlr1lby2pdgbvzm1zl07wagqss18";
};
meta = {
homepage = https://github.com/chjj/compton/;
};
};
gitSource = {
pname = "compton-git";
version = "2018-08-14";
src = fetchFromGitHub {
owner = "yshui";
repo = "compton";
rev = "cac8094ce12cd40706fb48f9ab35354d9ee7c48f";
sha256 = "0qif3nx8vszlr06bixasna13pzfaikp86xax9miwnba50517y7v5";
};
meta = {
homepage = https://github.com/yshui/compton/;
};
};
in {
compton = common stableSource;
compton-git = common gitSource;
}

View file

@ -1,60 +0,0 @@
{ stdenv, fetchFromGitHub, asciidoc, dbus, docbook_xml_dtd_45,
docbook_xsl, libconfig, libdrm, libxml2, libxslt, libGLU_combined, pcre,
pkgconfig, libXcomposite, libXdamage, libXext, libXfixes, libXinerama,
libXrandr, libXrender, xwininfo }:
stdenv.mkDerivation rec {
name = "compton-git-${version}";
version = "2018-05-21";
src = fetchFromGitHub {
owner = "yshui";
repo = "compton";
rev = "9b24550814b7c69065f90039b0a5d0a2281b9f81";
sha256 = "09nn0q9lgv59chfxljips0n8vnwwxi1yz6hmcsiggsl3zvpabpxl";
};
nativeBuildInputs = [
asciidoc
docbook_xml_dtd_45
docbook_xsl
pkgconfig
];
buildInputs = [
dbus
libXcomposite
libXdamage
libXext
libXfixes
libXinerama
libXrandr
libXrender
libconfig
libdrm
libxml2
libxslt
libGLU_combined
pcre
];
propagatedBuildInputs = [ xwininfo ];
installFlags = "PREFIX=$(out)";
meta = with stdenv.lib; {
description =
"A fork of XCompMgr, a sample compositing manager for X servers (git version)";
homepage = https://github.com/yshui/compton/;
license = licenses.mit;
longDescription = ''
A fork of XCompMgr, which is a sample compositing manager for X
servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
extensions. It enables basic eye-candy effects. This fork adds
additional features, such as additional effects, and a fork at a
well-defined and proper place.
'';
maintainers = [ maintainers.ertes maintainers.twey ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,37 @@
{ stdenv, fetchgit, libX11, libXinerama, libXft, patches ? [], conf ? null }:
let
name = "dwm-git-20180602";
in
stdenv.mkDerivation {
inherit name;
src = fetchgit {
url = "git://git.suckless.org/dwm";
rev = "b69c870a3076d78ab595ed1cd4b41cf6b03b2610";
sha256 = "10i079h79l4gdch1qy2vrrb2xxxkgkjmgphr5r9a75jbbagwvz0k";
};
buildInputs = [ libX11 libXinerama libXft ];
prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
# Allow users set their own list of patches
inherit patches;
# Allow users to override the entire config file AFTER appying the patches
postPatch = stdenv.lib.optionalString (conf!=null) ''
echo -n '${conf}' > config.def.h
'';
buildPhase = "make";
meta = with stdenv.lib; {
homepage = https://suckless.org/;
description = "Dynamic window manager for X, development version";
license = licenses.mit;
maintainers = with maintainers; [xeji];
platforms = platforms.unix;
};
}

View file

@ -1,18 +1,19 @@
{ stdenv, fetchurl, pkgconfig, glib, libX11, libXext, libXinerama }:
stdenv.mkDerivation rec {
name = "herbstluftwm-0.7.0";
name = "herbstluftwm-0.7.1";
src = fetchurl {
url = "https://herbstluftwm.org/tarballs/${name}.tar.gz";
sha256 = "09xfs213vg1dpird61wik5bqb9yf8kh63ssy18ihf54inwqgqbvy";
sha256 = "0d47lbjxxqd8d96hby47bdhyn9mlih7h28712j1vckiz05ig63nw";
};
patchPhase = ''
substituteInPlace config.mk \
--replace "/usr/local" "$out" \
--replace "/etc" "$out/etc" \
--replace "/zsh/functions/Completion/X" "/zsh/site-functions"
--replace "/zsh/functions/Completion/X" "/zsh/site-functions" \
--replace "/usr/share" "\$(PREFIX)/share"
'';
nativeBuildInputs = [ pkgconfig ];

View file

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
cripples Emacs and other quality pieces of software.
'';
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = [ maintainers.AndersonTorres ];
};
}

View file

@ -1,36 +1,48 @@
{stdenv}:
{stdenv, lib}:
{ name
, type ? "Application"
, exec
, icon ? ""
, comment ? ""
, icon ? null
, comment ? null
, terminal ? "false"
, desktopName
, genericName
, mimeType ? ""
, genericName ? null
, mimeType ? null
, categories ? "Application;Other;"
, startupNotify ? null
, extraEntries ? ""
, extraEntries ? null
}:
stdenv.mkDerivation {
name = "${name}.desktop";
buildCommand = ''
buildCommand = let
optionalEntriesList = [{k="Icon"; v=icon;}
{k="Comment"; v=comment;}
{k="GenericName"; v=genericName;}
{k="MimeType"; v=mimeType;}
{k="StartupNotify"; v=startupNotify;}];
valueNotNull = {k, v}: v != null;
entriesToKeep = builtins.filter valueNotNull optionalEntriesList;
mkEntry = {k, v}: k + "=" + v;
optionalEntriesString = lib.concatMapStringsSep "\n" mkEntry entriesToKeep;
in
''
mkdir -p $out/share/applications
cat > $out/share/applications/${name}.desktop <<EOF
[Desktop Entry]
Type=${type}
Exec=${exec}
Icon=${icon}
Comment=${comment}
Terminal=${terminal}
Name=${desktopName}
GenericName=${genericName}
MimeType=${mimeType}
Categories=${categories}
${optionalEntriesString}
${if extraEntries == null then ''EOF'' else ''
${extraEntries}
${if startupNotify == null then ''EOF'' else ''
StartupNotify=${startupNotify}
EOF''}
'';
}

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, python3, udev, systemd }:
let
name = "media-player-info-23";
name = "media-player-info-24";
in
stdenv.mkDerivation {
@ -9,7 +9,7 @@ in
src = fetchurl {
url = "https://www.freedesktop.org/software/media-player-info/${name}.tar.gz";
sha256 = "1jy8xh4xjgjc4wj4qrw6sx2j3606zsj4bgiczhzf3xlpnkh6vax9";
sha256 = "0d0i7av8v369hzvlynwlrbickv1brlzsmiky80lrjgjh1gdldkz6";
};
buildInputs = [ udev systemd ];

View file

@ -0,0 +1,5 @@
{fetchzip}:
fetchzip {
url = https://github.com/NixOS/nixos-artwork/releases/download/bootloader-18.09-pre/grub2-installer.tar.bz2;
sha256 = "0rhh061m1hpgadm7587inw3fxfacnd53xjc53w3vzghlck56djq5";
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_32, libgee, wrapGAppsHook, itstool, gobjectIntrospection
{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_34, libgee, wrapGAppsHook, itstool, gobjectIntrospection
, gnome-online-accounts, evolution-data-server, gnome3, glib, libsoup, libgdata, sqlite, xdg_utils }:
let
@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
sha256 = "1dky2kllv469k8966ilnf4xrr7z35pq8mdvs7kwziy59cdikapxj";
};
nativeBuildInputs = [ intltool itstool vala_0_32 pkgconfig wrapGAppsHook gobjectIntrospection ];
nativeBuildInputs = [ intltool itstool vala_0_34 pkgconfig wrapGAppsHook gobjectIntrospection ];
buildInputs = [ glib gtk3 libgee libsoup libgdata gnome-online-accounts evolution-data-server sqlite xdg_utils gnome3.gsettings-desktop-schemas ];
enableParallelBuilding = true;

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "eom-${version}";
version = "1.21.0";
version = "1.21.2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "165n314hxapq8glzlv7vs5x44z13wjmpysl5p7q3ckrsxy5pczww";
sha256 = "08idw219mw0v0nkaphy0jvxi67gqm4nzbbnhnwjksxbma2gmpvss";
};
nativeBuildInputs = [

View file

@ -42,7 +42,7 @@ let
buildMix = callPackage ./build-mix.nix {};
# BEAM-based languages.
elixir = elixir_1_6;
elixir = elixir_1_7;
elixir_1_7 = lib.callElixir ../interpreters/elixir/1.7.nix {
inherit rebar erlang;

View file

@ -1,27 +1,27 @@
{ stdenv, fetchurl, makeWrapper
, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang }:
, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which }:
stdenv.mkDerivation rec {
name = "crystal-${version}";
version = "0.25.1";
version = "0.26.0";
src = fetchurl {
url = "https://github.com/crystal-lang/crystal/archive/${version}.tar.gz";
sha256 = "1ikzly6vs28ilqvqm4kxzhqs8mp6l4l344rhak63dav7vv97nnlv";
sha256 = "18vv47xvnf3hl5js5sk58wj2khqq36kcs851i3lgr0ji7m0g3379";
};
prebuiltName = "crystal-0.25.1-1";
prebuiltName = "crystal-0.26.0-1";
prebuiltSrc = let arch = {
"x86_64-linux" = "linux-x86_64";
"i686-linux" = "linux-i686";
"x86_64-darwin" = "darwin-x86_64";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
in fetchurl {
url = "https://github.com/crystal-lang/crystal/releases/download/0.25.1/${prebuiltName}-${arch}.tar.gz";
url = "https://github.com/crystal-lang/crystal/releases/download/0.26.0/${prebuiltName}-${arch}.tar.gz";
sha256 = {
"x86_64-linux" = "0zjmbvbhi11p7s99jmvb3pac6zzsr792bxcfanrx503fjxxafgll";
"i686-linux" = "0i0hgsq7xa53594blqw5qi6jrqja18spifmalg7df2mj3h13h3pz";
"x86_64-darwin" = "1h369hzis1cigxbb6fgpahyq4d13gfgjc6adf300zc38yh8rvyy0";
"x86_64-linux" = "1xban102yiiwmlklxvn3xp3q546bp8hlxxpakayajkhhnpl6yv45";
"i686-linux" = "1igspf1lrv7wpmz0pfrkbx8m1ykvnv4zhic53cav4nicppm2v0ic";
"x86_64-darwin" = "0hzc65ccajr0yhmvi5vbdgbzbp1gbjy56da24ds3zwwkam1ddk0k";
}."${stdenv.system}";
};
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
libiconv
];
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ which makeWrapper ];
buildInputs = libs ++ [ llvm ];
@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
description = "A compiled language with Ruby like syntax and type inference";
homepage = https://crystal-lang.org/;
license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [ sifmelcara david50407 ];
maintainers = with stdenv.lib.maintainers; [ manveru david50407 ];
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
};
}

View file

@ -24,7 +24,6 @@
, name ? "gcc"
, libcCross ? null
, crossStageStatic ? false
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, # Strip kills static libs of other archs (hence no cross)
stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
, gnused ? null
@ -181,39 +180,7 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
postPatch =
if targetPlatform.isHurd
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
@ -379,21 +346,13 @@ stdenv.mkDerivation ({
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread)
++ optionals javaAwtGtk [ gmp mpfr ])
);
EXTRA_TARGET_FLAGS = optionals
@ -413,10 +372,7 @@ stdenv.mkDerivation ({
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
]) ++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]);
]));
passthru = {
inherit langC langCC langObjC langObjCpp langFortran langGo version;

View file

@ -24,7 +24,6 @@
, name ? "gcc"
, libcCross ? null
, crossStageStatic ? false
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, # Strip kills static libs of other archs (hence no cross)
stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
, gnused ? null
@ -190,39 +189,7 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
postPatch =
if targetPlatform.isHurd
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
@ -401,22 +368,13 @@ stdenv.mkDerivation ({
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread)
);
++ optionals javaAwtGtk [ gmp mpfr ]));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -435,10 +393,7 @@ stdenv.mkDerivation ({
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
]) ++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]);
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };

View file

@ -24,7 +24,6 @@
, name ? "gcc"
, libcCross ? null
, crossStageStatic ? false
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, # Strip kills static libs of other archs (hence no cross)
stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
, gnused ? null
@ -188,39 +187,7 @@ stdenv.mkDerivation ({
'';
postPatch =
if targetPlatform.isHurd
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
@ -302,7 +269,7 @@ stdenv.mkDerivation ({
] ++
optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration
[
@ -400,13 +367,6 @@ stdenv.mkDerivation ({
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
@ -414,8 +374,7 @@ stdenv.mkDerivation ({
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread)
);
));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -434,10 +393,7 @@ stdenv.mkDerivation ({
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
]) ++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]);
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };

View file

@ -24,7 +24,6 @@
, name ? "gcc"
, libcCross ? null
, crossStageStatic ? false
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, # Strip kills static libs of other archs (hence no cross)
stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
, gnused ? null
@ -192,39 +191,7 @@ stdenv.mkDerivation ({
'';
postPatch =
if targetPlatform.isHurd
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
@ -408,22 +375,13 @@ stdenv.mkDerivation ({
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread)
);
++ optionals javaAwtGtk [ gmp mpfr ]));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -442,10 +400,7 @@ stdenv.mkDerivation ({
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
]) ++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]);
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };

View file

@ -17,7 +17,6 @@
, name ? "gcc"
, libcCross ? null
, crossStageStatic ? false
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, # Strip kills static libs of other archs (hence no cross)
stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
, gnused ? null
@ -165,39 +164,7 @@ stdenv.mkDerivation ({
patchShebangs $configureScript
done
'' + (
if targetPlatform.isHurd
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
@ -357,19 +324,9 @@ stdenv.mkDerivation ({
CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib
++ optional (libpthread != null) libpthread)
);
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -388,10 +345,7 @@ stdenv.mkDerivation ({
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
]) ++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]);
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };

View file

@ -17,7 +17,6 @@
, name ? "gcc"
, libcCross ? null
, crossStageStatic ? false
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, # Strip kills static libs of other archs (hence no cross)
stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
, gnused ? null
@ -160,39 +159,7 @@ stdenv.mkDerivation ({
patchShebangs $configureScript
done
'' + (
if targetPlatform.isHurd
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
@ -346,19 +313,9 @@ stdenv.mkDerivation ({
CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib
++ optional (libpthread != null) libpthread)
);
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -377,10 +334,7 @@ stdenv.mkDerivation ({
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
]) ++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]);
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };

View file

@ -17,7 +17,6 @@
, name ? "gcc"
, libcCross ? null
, crossStageStatic ? false
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, # Strip kills static libs of other archs (hence no cross)
stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
, gnused ? null
@ -134,39 +133,7 @@ stdenv.mkDerivation ({
hardeningDisable = [ "format" ];
postPatch =
if targetPlatform.isHurd
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
@ -314,19 +281,9 @@ stdenv.mkDerivation ({
CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib
++ optional (libpthread != null) libpthread)
);
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -345,10 +302,7 @@ stdenv.mkDerivation ({
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
]) ++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]);
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };

View file

@ -0,0 +1,194 @@
{ stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin
, perl, which, pkgconfig, patch, procps
, pcre, cacert, llvm
, Security, Foundation
, makeWrapper, git, subversion, mercurial, bazaar }:
let
inherit (stdenv.lib) optionals optionalString;
clangHack = writeScriptBin "clang" ''
#!${stdenv.shell}
exec ${stdenv.cc}/bin/clang "$@" 2> >(sed '/ld: warning:.*ignoring unexpected dylib file/ d' 1>&2)
'';
goBootstrap = runCommand "go-bootstrap" {} ''
mkdir $out
cp -rf ${go_bootstrap}/* $out/
chmod -R u+w $out
find $out -name "*.c" -delete
cp -rf $out/bin/* $out/share/go/bin/
'';
in
stdenv.mkDerivation rec {
name = "go-${version}";
version = "1.11";
src = fetchFromGitHub {
owner = "golang";
repo = "go";
rev = "go${version}";
sha256 = "1k18d6rkijlgzn1zw4wphzcv6a6w9hb1msgrsh1102jb18644f2q";
};
GOCACHE = "off";
# perl is used for testing go vet
nativeBuildInputs = [ perl which pkgconfig patch makeWrapper procps ];
buildInputs = [ cacert pcre ]
++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
hardeningDisable = [ "all" ];
prePatch = ''
patchShebangs ./ # replace /bin/bash
# This source produces shell script at run time,
# and thus it is not corrected by patchShebangs.
substituteInPlace misc/cgo/testcarchive/carchive_test.go \
--replace '#!/usr/bin/env bash' '#!${stdenv.shell}'
# Disabling the 'os/http/net' tests (they want files not available in
# chroot builds)
rm src/net/{listen,parse}_test.go
rm src/syscall/exec_linux_test.go
# !!! substituteInPlace does not seems to be effective.
# The os test wants to read files in an existing path. Just don't let it be /usr/bin.
sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
# Disable the unix socket test
sed -i '/TestShutdownUnix/areturn' src/net/net_test.go
# Disable the hostname test
sed -i '/TestHostname/areturn' src/os/os_test.go
# ParseInLocation fails the test
sed -i '/TestParseInSydney/areturn' src/time/format_test.go
# Remove the api check as it never worked
sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
# Remove the coverage test as we have removed this utility
sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go
# Remove the timezone naming test
sed -i '/TestLoadFixed/areturn' src/time/time_test.go
# Remove disable setgid test
sed -i '/TestRespectSetgidDir/areturn' src/cmd/go/internal/work/build_test.go
# Remove cert tests that conflict with NixOS's cert resolution
sed -i '/TestEnvVars/areturn' src/crypto/x509/root_unix_test.go
# TestWritevError hangs sometimes
sed -i '/TestWritevError/areturn' src/net/writev_test.go
# TestVariousDeadlines fails sometimes
sed -i '/TestVariousDeadlines/areturn' src/net/timeout_test.go
sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
# Disable cgo lookup tests not works, they depend on resolver
rm src/net/cgo_unix_test.go
'' + optionalString stdenv.isLinux ''
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
'' + optionalString stdenv.isAarch32 ''
echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash
'' + optionalString stdenv.isDarwin ''
substituteInPlace src/race.bash --replace \
"sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go
sed -i '/TestCredentialNoSetGroups/areturn' src/os/exec/exec_posix_test.go
sed -i '/TestRead0/areturn' src/os/os_test.go
sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go
sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/areturn' src/cmd/go/go_test.go
sed -i '/TestBuildDashIInstallsDependencies/areturn' src/cmd/go/go_test.go
sed -i '/TestDisasmExtld/areturn' src/cmd/objdump/objdump_test.go
sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
'';
patches = [
./remove-tools-1.11.patch
./ssl-cert-file-1.9.patch
./remove-test-pie.patch
./creds-test.patch
./go-1.9-skip-flaky-19608.patch
./go-1.9-skip-flaky-20072.patch
./remove-fhs-test-references.patch
./skip-external-network-tests.patch
./skip-nohup-tests.patch
];
postPatch = optionalString stdenv.isDarwin ''
echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil"
substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
'';
GOOS = if stdenv.isDarwin then "darwin" else "linux";
GOARCH = if stdenv.isDarwin then "amd64"
else if stdenv.system == "i686-linux" then "386"
else if stdenv.system == "x86_64-linux" then "amd64"
else if stdenv.isAarch32 then "arm"
else if stdenv.isAarch64 then "arm64"
else throw "Unsupported system";
GOARM = optionalString (stdenv.system == "armv5tel-linux") "5";
GO386 = 387; # from Arch: don't assume sse2 on i686
CGO_ENABLED = 1;
GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
# Hopefully avoids test timeouts on Hydra
GO_TEST_TIMEOUT_SCALE = 3;
# The go build actually checks for CC=*/clang and does something different, so we don't
# just want the generic `cc` here.
CC = if stdenv.isDarwin then "clang" else "cc";
configurePhase = ''
# Indicate that we are running on build infrastructure
# Some tests assume things like home directories and users exists
export GO_BUILDER_NAME=nix
mkdir -p $out/share/go/bin
export GOROOT=$out/share/go
export GOBIN=$GOROOT/bin
export PATH=$GOBIN:$PATH
ulimit -a
'';
postConfigure = optionalString stdenv.isDarwin ''
export PATH=${clangHack}/bin:$PATH
'';
installPhase = ''
cp -r . $GOROOT
( cd $GOROOT/src && ./all.bash )
# (https://github.com/golang/go/wiki/GoGetTools)
wrapProgram $out/share/go/bin/go --prefix PATH ":" "${stdenv.lib.makeBinPath [ git subversion mercurial bazaar ]}"
'';
preFixup = ''
rm -r $out/share/go/pkg/bootstrap
ln -s $out/share/go/bin $out/bin
'';
setupHook = ./setup-hook.sh;
disallowedReferences = [ go_bootstrap ];
meta = with stdenv.lib; {
branch = "1.9";
homepage = http://golang.org/;
description = "The Go Programming language";
license = licenses.bsd3;
maintainers = with maintainers; [ cstrahan orivej velovix mic92 ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,13 @@
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go
index d694990..87fa259 100644
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go
+++ b/src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go
@@ -452,7 +452,7 @@ func TestGetwd(t *testing.T) {
defer fd.Close()
// These are chosen carefully not to be symlinks on a Mac
// (unlike, say, /var, /etc)
- dirs := []string{"/", "/usr/bin"}
+ dirs := []string{"/"}
switch runtime.GOOS {
case "android":
dirs = []string{"/", "/system/bin"}

View file

@ -0,0 +1,35 @@
diff --git a/src/go/build/build.go b/src/go/build/build.go
index b68a712..b60bf19 100644
--- a/src/go/build/build.go
+++ b/src/go/build/build.go
@@ -1708,7 +1708,7 @@ func init() {
}
// ToolDir is the directory containing build tools.
-var ToolDir = getToolDir()
+var ToolDir = runtime.GOTOOLDIR()
// IsLocalImport reports whether the import path is
// a local import path, like ".", "..", "./foo", or "../foo".
diff --git a/src/runtime/extern.go b/src/runtime/extern.go
index 7171b13..18a942c 100644
--- a/src/runtime/extern.go
+++ b/src/runtime/extern.go
@@ -229,6 +229,17 @@ func GOROOT() string {
return sys.DefaultGoroot
}
+// GOTOOLDIR returns the root of the Go tree.
+// It uses the GOTOOLDIR environment variable, if set,
+// or else the root used during the Go build.
+func GOTOOLDIR() string {
+ s := gogetenv("GOTOOLDIR")
+ if s != "" {
+ return s
+ }
+ return GOROOT() + "/pkg/tool/" + GOOS + "_" + GOARCH
+}
+
// Version returns the Go tree's version string.
// It is either the commit hash and date at the time of the build or,
// when possible, a release tag like "go1.3".

View file

@ -0,0 +1,26 @@
diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go
index 85cae90..94b4edd 100644
--- a/src/cmd/go/go_test.go
+++ b/src/cmd/go/go_test.go
@@ -4946,6 +4946,8 @@ func TestBuildmodePIE(t *testing.T) {
}
func TestExecBuildX(t *testing.T) {
+ t.Skipf("skipping, test requires networking")
+
tooSlow(t)
if !canCgo {
t.Skip("skipping because cgo not enabled")
diff --git a/src/net/dial_test.go b/src/net/dial_test.go
index 00a84d1..27f9ec9 100644
--- a/src/net/dial_test.go
+++ b/src/net/dial_test.go
@@ -968,6 +968,8 @@ func TestDialerControl(t *testing.T) {
// mustHaveExternalNetwork is like testenv.MustHaveExternalNetwork
// except that it won't skip testing on non-iOS builders.
func mustHaveExternalNetwork(t *testing.T) {
+ t.Skipf("Nix sandbox does not have networking")
+
t.Helper()
ios := runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64")
if testenv.Builder() == "" || ios {

View file

@ -0,0 +1,22 @@
diff --git a/src/os/signal/signal_test.go b/src/os/signal/signal_test.go
index 3d79c7a..6e0f7b4 100644
--- a/src/os/signal/signal_test.go
+++ b/src/os/signal/signal_test.go
@@ -217,6 +217,8 @@ var checkSighupIgnored = flag.Bool("check_sighup_ignored", false, "if true, Test
// Test that Ignored(SIGHUP) correctly detects whether it is being run under nohup.
func TestDetectNohup(t *testing.T) {
+ t.Skip("Fails in nix build environment")
+
if *checkSighupIgnored {
if !Ignored(syscall.SIGHUP) {
t.Fatal("SIGHUP is not ignored.")
@@ -306,6 +308,8 @@ func TestStop(t *testing.T) {
// Test that when run under nohup, an uncaught SIGHUP does not kill the program,
// but a
func TestNohup(t *testing.T) {
+ t.Skip("Fails in nix build environment")
+
// Ugly: ask for SIGHUP so that child will not have no-hup set
// even if test is running under nohup environment.
// We have no intention of reading from c.

View file

@ -63,5 +63,6 @@ stdenv.mkDerivation rec {
license = "PHP/Zend";
platforms = [ "x86_64-linux" ];
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
broken = true; # Since 2018-04-21, see https://hydra.nixos.org/build/73059373
};
}

View file

@ -1,4 +1,9 @@
{stdenv, lib, fetchFromGitHub, crystal, zlib, openssl, duktape}:
# Updating the dependencies for this package:
#
# wget https://github.com/mint-lang/mint/blob/0.2.1/shard.lock
# nix-shell -p crystal libyaml --run 'crystal run crystal2nix.cr'
#
{stdenv, lib, fetchFromGitHub, crystal, zlib, openssl, duktape, which }:
let
crystalPackages = lib.mapAttrs (name: src:
stdenv.mkDerivation {
@ -28,15 +33,16 @@ let
};
in
stdenv.mkDerivation rec {
version = "0.2.0";
version = "0.2.1";
name = "mint-${version}";
src = fetchFromGitHub {
owner = "mint-lang";
repo = "mint";
rev = "0.2.0";
sha256 = "1ds9zrvbmnfy744i9ri6v4w37aw7ccmdxzxmy8l97h045hzz9cp3";
rev = version;
sha256 = "0r8hv2j5yz0rlvrbpnybihj44562pkmsssa8f0hjs45m1ifvf4b1";
};
nativeBuildInputs = [ which ];
buildInputs = [ crystal zlib openssl duktape ];
buildPhase = ''

View file

@ -2,8 +2,8 @@
admiral = {
owner = "jwaldrip";
repo = "admiral.cr";
rev = "v1.7.2";
sha256 = "1j2cr4p3d44848v0gfl97p9kw2dslscnb1piyb7b3374iy345i0k";
rev = "v1.7.3";
sha256 = "0b98qjy43wsrc08am7lkhcdsxc7gplf9hcmbvd4p3dw4g107rk91";
};
ameba = {
owner = "veelenga";
@ -14,8 +14,8 @@
baked_file_system = {
owner = "schovi";
repo = "baked_file_system";
rev = "24dbaf2180b872c0f0fc777b34e3759108959e6e";
sha256 = "01p7hzsvms9cywdgs0rcs6mxdi94491wk55823fw2vxv24hvxnvk";
rev = "v0.9.7";
sha256 = "1fi6zag1a6h4xwrfizy01dls3hhraqw0cmpwj7rjv1qcddjgig5z";
};
diff = {
owner = "MakeNowJust";
@ -38,8 +38,8 @@
kemal = {
owner = "kemalcr";
repo = "kemal";
rev = "09bb1fcd4073a374b3a61c99e48e05a866b23c08";
sha256 = "0yyb59i897gr8cqjbf48d6s0znq68ibpxarxkxkgrqk7lbvrqqr7";
rev = "v0.24.0";
sha256 = "0sg7gy1lbhid9y9wh77m9sd00jygk92njm4mpb7w1fq8bjnm738k";
};
kilt = {
owner = "jeromegn";

View file

@ -1,15 +1,15 @@
{ stdenv, libgcrypt, fetchFromGitHub, ocamlPackages, perl }:
stdenv.mkDerivation rec {
name = "obliv-c-${version}";
version = "0.0pre20170827";
version = "0.0pre20180624";
buildInputs = [ perl ]
++ (with ocamlPackages; [ ocaml findlib ocamlbuild ]);
propagatedBuildInputs = [ libgcrypt ];
src = fetchFromGitHub {
owner = "samee";
repo = "obliv-c";
rev = "9a6be5a5f44d341bc357055e11922f6a4c4c3b65";
sha256 = "0jz2ayadx62zv2b5ji947bkvw63axl4a2q70lwli86zgmcl390gf";
rev = "3d6804ca0fd85868207a0ccbd2509ec064723ac2";
sha256 = "1ib21ngn7zr58xxq4sjigrpaxb0wx35x3k9l4qvwflzrmvnman20";
};
patches = [ ./ignore-complex-float128.patch ];

View file

@ -43,25 +43,6 @@ let
};
in rec {
vala_0_26 = generic {
major = "0.26";
minor = "2";
sha256 = "1i03ds1z5hivqh4nhf3x80fg7n0zd22908w5minkpaan1i1kzw9p";
};
vala_0_28 = generic {
major = "0.28";
minor = "1";
sha256 = "0isg327w6rfqqdjja6a8pc3xcdkj7pqrkdhw48bsyxab2fkaw3hw";
};
vala_0_32 = generic {
major = "0.32";
minor = "1";
sha256 = "1ab1l44abf9fj1wznzq5956431ia136rl5049cggnk5393jlf3fx";
};
vala_0_34 = generic {
major = "0.34";
minor = "17";

View file

@ -43,7 +43,7 @@ core-packages:
default-package-overrides:
# Newer versions require contravariant-1.5.*, which many builds refuse at the moment.
- base-compat-batteries ==0.10.1
# LTS Haskell 12.6
# LTS Haskell 12.7
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@ -76,7 +76,7 @@ default-package-overrides:
- alarmclock ==0.5.0.2
- alerts ==0.1.0.0
- alex ==3.2.4
- alg ==0.2.5.0
- alg ==0.2.6.0
- algebra ==4.3.1
- Allure ==0.8.3.0
- almost-fix ==0.0.2
@ -244,7 +244,7 @@ default-package-overrides:
- bench ==1.0.11
- bencode ==0.6.0.0
- between ==0.11.0.0
- bhoogle ==0.1.3.4
- bhoogle ==0.1.3.5
- bibtex ==0.1.0.6
- bifunctors ==5.5.3
- bimap ==0.3.3
@ -333,7 +333,7 @@ default-package-overrides:
- cabal2spec ==2.1.1
- cabal-doctest ==1.0.6
- cabal-rpm ==0.12.5
- cache ==0.1.1.0
- cache ==0.1.1.1
- cachix ==0.1.1
- cachix-api ==0.1.0.1
- cairo ==0.13.5.0
@ -410,7 +410,7 @@ default-package-overrides:
- codo-notation ==0.5.2
- coercible-utils ==0.0.0
- colonnade ==1.2.0.1
- colorful-monoids ==0.2.1.1
- colorful-monoids ==0.2.1.2
- colorize-haskell ==1.0.1
- colour ==2.3.4
- combinatorial ==0.1
@ -670,7 +670,7 @@ default-package-overrides:
- errors ==2.3.0
- errors-ext ==0.4.2
- error-util ==0.0.1.2
- ersatz ==0.4.3
- ersatz ==0.4.4
- etc ==0.4.0.3
- event ==0.1.4
- eventful-core ==0.2.0
@ -870,9 +870,9 @@ default-package-overrides:
- graph-wrapper ==0.2.5.1
- gravatar ==0.8.0
- graylog ==0.1.0.1
- greskell ==0.2.0.3
- greskell ==0.2.1.0
- greskell-core ==0.1.2.2
- greskell-websocket ==0.1.0.0
- greskell-websocket ==0.1.1.0
- groom ==0.1.2.1
- groups ==0.4.1.0
- gtk ==0.14.10
@ -900,7 +900,7 @@ default-package-overrides:
- hashmap ==1.3.3
- hashtables ==1.2.3.1
- haskeline ==0.7.4.3
- haskell-gi ==0.21.3
- haskell-gi ==0.21.4
- haskell-gi-base ==0.21.1
- haskell-gi-overloading ==1.0
- haskell-lexer ==1.0.1
@ -1065,7 +1065,7 @@ default-package-overrides:
- hvect ==0.4.0.0
- hvega ==0.1.0.3
- hw-balancedparens ==0.2.0.2
- hw-bits ==0.7.0.2
- hw-bits ==0.7.0.3
- hw-conduit ==0.2.0.3
- hw-diagnostics ==0.0.0.5
- hweblib ==0.6.3
@ -1079,7 +1079,7 @@ default-package-overrides:
- hw-mquery ==0.1.0.1
- hworker ==0.1.0.1
- hw-parser ==0.0.0.3
- hw-prim ==0.6.2.3
- hw-prim ==0.6.2.9
- hw-rankselect ==0.10.0.3
- hw-rankselect-base ==0.3.2.1
- hw-string-parse ==0.0.0.4
@ -1098,7 +1098,7 @@ default-package-overrides:
- hybrid-vectors ==0.2.2
- hyperloglog ==0.4.2
- hyphenation ==0.7.1
- hyraxAbif ==0.2.3.9
- hyraxAbif ==0.2.3.10
- iconv ==0.4.1.3
- identicon ==0.2.2
- ieee754 ==0.8.0
@ -1134,7 +1134,7 @@ default-package-overrides:
- interpolation ==0.1.0.2
- IntervalMap ==0.6.0.0
- intervals ==0.8.1
- intro ==0.3.1.0
- intro ==0.3.2.0
- invariant ==0.5.1
- invertible ==0.2.0.5
- invertible-grammar ==0.1.1
@ -1354,7 +1354,7 @@ default-package-overrides:
- mmorph ==1.1.2
- mnist-idx ==0.1.2.8
- mockery ==0.3.5
- modern-uri ==0.2.1.0
- modern-uri ==0.2.2.0
- moesocks ==1.0.0.44
- monad-control ==1.0.2.3
- monad-control-aligned ==0.0.1.1
@ -1399,7 +1399,7 @@ default-package-overrides:
- mtl-prelude ==2.0.3.1
- multiarg ==0.30.0.10
- multimap ==1.2.1
- multipart ==0.1.2
- multipart ==0.1.3
- multistate ==0.8.0.0
- murmur-hash ==0.1.0.9
- MusicBrainz ==0.4
@ -1493,7 +1493,7 @@ default-package-overrides:
- open-browser ==0.2.1.0
- openexr-write ==0.1.0.1
- OpenGL ==3.0.2.2
- OpenGLRaw ==3.3.0.2
- OpenGLRaw ==3.3.1.0
- openpgp-asciiarmor ==0.1.1
- opensource ==0.1.0.0
- openssl-streams ==1.2.1.3
@ -1687,7 +1687,7 @@ default-package-overrides:
- range-set-list ==0.1.3
- rank1dynamic ==0.4.0
- rank2classes ==1.1.0.1
- Rasterific ==0.7.3
- Rasterific ==0.7.4
- rasterific-svg ==0.3.3.1
- ratel ==1.0.5
- ratel-wai ==1.0.3
@ -1743,7 +1743,7 @@ default-package-overrides:
- rest-stringmap ==0.2.0.7
- result ==0.2.6.0
- rethinkdb-client-driver ==0.0.25
- retry ==0.7.6.2
- retry ==0.7.6.3
- rev-state ==0.1.2
- rfc5051 ==0.1.0.3
- rhine ==0.4.0.1
@ -1774,7 +1774,7 @@ default-package-overrides:
- sampling ==0.3.3
- sandi ==0.4.2
- sandman ==0.2.0.1
- say ==0.1.0.0
- say ==0.1.0.1
- sbp ==2.3.17
- scalendar ==1.2.0
- SCalendar ==1.1.0
@ -1838,7 +1838,7 @@ default-package-overrides:
- servant-tracing ==0.1.0.2
- servant-websockets ==1.1.0
- servant-yaml ==0.1.0.0
- serverless-haskell ==0.6.6
- serverless-haskell ==0.6.7
- serversession ==1.0.1
- serversession-frontend-wai ==1.0
- servius ==1.2.3.0
@ -1918,7 +1918,7 @@ default-package-overrides:
- state-codes ==0.1.3
- stateref ==0.3
- statestack ==0.2.0.5
- StateVar ==1.1.1.0
- StateVar ==1.1.1.1
- static-canvas ==0.2.0.3
- static-text ==0.2.0.2
- statistics ==0.14.0.2
@ -2033,7 +2033,7 @@ default-package-overrides:
- texmath ==0.11.0.1
- text ==1.2.3.0
- text-binary ==0.2.1.1
- text-builder ==0.5.3
- text-builder ==0.5.3.1
- text-conversions ==0.3.0
- text-icu ==0.7.0.1
- text-latin1 ==0.3.1
@ -2113,7 +2113,7 @@ default-package-overrides:
- tuple-sop ==0.3.1.0
- tuple-th ==0.2.5
- turtle ==1.5.10
- typed-process ==0.2.2.0
- typed-process ==0.2.3.0
- type-fun ==0.1.1
- type-hint ==0.1
- type-level-integers ==0.0.1
@ -2220,7 +2220,7 @@ default-package-overrides:
- wai-conduit ==3.0.0.4
- wai-cors ==0.2.6
- wai-eventsource ==3.0.0
- wai-extra ==3.0.24.0
- wai-extra ==3.0.24.1
- wai-handler-launch ==3.0.2.4
- wai-logger ==2.3.2
- wai-middleware-caching ==0.1.0.2
@ -2265,8 +2265,8 @@ default-package-overrides:
- with-location ==0.1.0
- witness ==0.4
- wizards ==1.0.2
- wl-pprint-annotated ==0.1.0.0
- wl-pprint-console ==0.1.0.1
- wl-pprint-annotated ==0.1.0.1
- wl-pprint-console ==0.1.0.2
- wl-pprint-extras ==3.5.0.5
- wl-pprint-terminfo ==3.7.1.4
- wl-pprint-text ==1.2.0.0
@ -2281,8 +2281,8 @@ default-package-overrides:
- writer-cps-full ==0.1.0.0
- writer-cps-lens ==0.1.0.1
- writer-cps-morph ==0.1.0.2
- writer-cps-mtl ==0.1.1.4
- writer-cps-transformers ==0.1.1.3
- writer-cps-mtl ==0.1.1.5
- writer-cps-transformers ==0.1.1.4
- ws ==0.0.4
- wuss ==1.1.10
- X11 ==1.9
@ -4742,7 +4742,6 @@ dont-distribute-packages:
gi-gtkosxapplication: [ i686-linux, x86_64-linux, x86_64-darwin ]
gi-notify: [ i686-linux, x86_64-linux, x86_64-darwin ]
gi-poppler: [ i686-linux, x86_64-linux, x86_64-darwin ]
gi-vte: [ i686-linux, x86_64-linux, x86_64-darwin ]
gi-wnck: [ i686-linux, x86_64-linux, x86_64-darwin ]
giak: [ i686-linux, x86_64-linux, x86_64-darwin ]
Gifcurry: [ i686-linux, x86_64-linux, x86_64-darwin ]

File diff suppressed because it is too large Load diff

View file

@ -234,6 +234,7 @@ rec {
*/
justStaticExecutables = drv: overrideCabal drv (drv: {
enableSharedExecutables = false;
enableLibraryProfiling = false;
isLibrary = false;
doHaddock = false;
postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";

View file

@ -1,8 +1,8 @@
diff --git a/src/XMonad/Core.hs b/src/XMonad/Core.hs
index 138d735..65b5a84 100644
index 7810522..3262934 100644
--- a/src/XMonad/Core.hs
+++ b/src/XMonad/Core.hs
@@ -51,6 +51,7 @@ import System.Posix.Types (ProcessID)
@@ -53,6 +53,7 @@ import System.Posix.Types (ProcessID)
import System.Process
import System.Directory
import System.Exit
@ -10,7 +10,7 @@ index 138d735..65b5a84 100644
import Graphics.X11.Xlib
import Graphics.X11.Xlib.Extras (getWindowAttributes, WindowAttributes, Event)
import Data.Typeable
@@ -571,6 +572,7 @@ recompile force = io $ do
@@ -601,6 +602,7 @@ recompile force = io $ do
lib = cfgdir </> "lib"
buildscript = cfgdir </> "build"
@ -18,7 +18,7 @@ index 138d735..65b5a84 100644
libTs <- mapM getModTime . Prelude.filter isSource =<< allFiles lib
srcT <- getModTime src
binT <- getModTime bin
@@ -586,7 +588,7 @@ recompile force = io $ do
@@ -643,7 +645,7 @@ recompile force = io $ do
status <- bracket (openFile err WriteMode) hClose $ \errHandle ->
waitForProcess =<< if useBuildscript
then compileScript bin cfgdir buildscript errHandle
@ -27,24 +27,24 @@ index 138d735..65b5a84 100644
-- re-enable SIGCHLD:
installSignalHandlers
@@ -594,6 +596,7 @@ recompile force = io $ do
-- now, if it fails, run xmessage to let the user know:
when (status /= ExitSuccess) $ do
ghcErr <- readFile err
+ xmessage <- fromMaybe "xmessage" <$> liftIO (lookupEnv "XMONAD_XMESSAGE")
let msg = unlines $
["Error detected while loading xmonad configuration file: " ++ src]
++ lines (if null ghcErr then show status else ghcErr)
@@ -601,7 +604,7 @@ recompile force = io $ do
-- nb, the ordering of printing, then forking, is crucial due to
-- lazy evaluation
hPutStrLn stderr msg
- forkProcess $ executeFile "xmessage" True ["-default", "okay", replaceUnicode msg] Nothing
+ forkProcess $ executeFile xmessage True ["-default", "okay", replaceUnicode msg] Nothing
return ()
@@ -653,6 +655,7 @@ recompile force = io $ do
then trace "XMonad recompilation process exited with success!"
else do
ghcErr <- readFile err
+ xmessage <- fromMaybe "xmessage" <$> liftIO (lookupEnv "XMONAD_XMESSAGE")
let msg = unlines $
["Error detected while loading xmonad configuration file: " ++ src]
++ lines (if null ghcErr then show status else ghcErr)
@@ -660,7 +663,7 @@ recompile force = io $ do
-- nb, the ordering of printing, then forking, is crucial due to
-- lazy evaluation
hPutStrLn stderr msg
- forkProcess $ executeFile "xmessage" True ["-default", "okay", replaceUnicode msg] Nothing
+ forkProcess $ executeFile xmessage True ["-default", "okay", replaceUnicode msg] Nothing
return ()
return (status == ExitSuccess)
else return True
@@ -619,16 +622,16 @@ recompile force = io $ do
@@ -678,16 +681,16 @@ recompile force = io $ do
'\8216' -> '`' --
'\8217' -> '`' --
_ -> c

View file

@ -1,7 +1,7 @@
{ mkDerivation }:
mkDerivation rec {
version = "1.7.2";
sha256 = "0wnrx6wlpmr23ypm8za0c4dl952nj4rjylcsdzz0xrma92ylrqfq";
version = "1.7.3";
sha256 = "0d7rj4khmvy76z12njzwzknm1j9rhjadgj9k1chjd4gnjffkb1aa";
minimumOTPVersion = "19";
}

View file

@ -36,7 +36,7 @@ in
stdenv.mkDerivation rec {
name = "racket-${version}";
version = "6.12";
version = "7.0";
src = (stdenv.lib.makeOverridable ({ name, sha256 }:
fetchurl rec {
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
}
)) {
inherit name;
sha256 = "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5";
sha256 = "1glv5amsp9xp480d4yr63hhm9kkyav06yl3a6p489nkr4cln0j9a";
};
FONTCONFIG_FILE = fontsConf;

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
stdenv.mkDerivation rec {
version = "8.600.0";
version = "9.100.5";
name = "armadillo-${version}";
src = fetchurl {
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
sha256 = "0h3bj93s7pr7nfwgjx6c49hgf6jlp5ninp921a8krhkzx4swf02z";
sha256 = "1ka1vd9fcmvp12qkcm4888dkfqwnalvv00x04wy29f3nx3qwczby";
};
nativeBuildInputs = [ cmake ];

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