Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2019-08-17 09:30:16 +02:00
commit c68f58d95c
174 changed files with 4836 additions and 1996 deletions

View File

@ -312,7 +312,23 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
Maximum number of layers to create.
</para>
<para>
<emphasis>Default:</emphasis> <literal>24</literal>
<emphasis>Default:</emphasis> <literal>100</literal>
</para>
<para>
<emphasis>Maximum:</emphasis> <literal>125</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>extraCommands</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Shell commands to run while building the final layer, without access
to most of the layer contents. Changes to this layer are "on top"
of all the other layers, so can create additional directories
and files.
</para>
</listitem>
</varlistentry>

View File

@ -1484,6 +1484,11 @@
github = "eadwu";
name = "Edmund Wu";
};
ealasu = {
email = "emanuel.alasu@gmail.com";
github = "ealasu";
name = "Emanuel Alasu";
};
eamsden = {
email = "edward@blackriversoft.com";
github = "eamsden";

View File

@ -29,13 +29,14 @@
</para>
<para>
You are logged-in automatically as <literal>root</literal>. (The
<literal>root</literal> user account has an empty password.)
You are logged-in automatically as <literal>nixos</literal>.
The <literal>nixos</literal> user account has an empty password so you
can use <command>sudo</command> without a password.
</para>
<para>
If you downloaded the graphical ISO image, you can run <command>systemctl
start display-manager</command> to start KDE. If you want to continue on the
start display-manager</command> to start the desktop environment. If you want to continue on the
terminal, you can use <command>loadkeys</command> to switch to your
preferred keyboard layout. (We even provide neo2 via <command>loadkeys de
neo</command>!)
@ -65,9 +66,9 @@
<para>
If you would like to continue the installation from a different machine you
need to activate the SSH daemon via <literal>systemctl start
sshd</literal>. In order to be able to login you also need to set a
password for <literal>root</literal> using <literal>passwd</literal>.
need to activate the SSH daemon via <command>systemctl start
sshd</command>. You then must set a password for either <literal>root</literal> or
<literal>nixos</literal> with <command>passwd></command> to be able to login.
</para>
</section>
</section>

View File

@ -35,6 +35,12 @@
<replaceable>shell-command</replaceable>
</arg>
<arg>
<arg choice='plain'>
<option>--silent</option>
</arg>
</arg>
<arg>
<arg choice='plain'>
<option>--help</option>
@ -100,6 +106,16 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--silent</option>
</term>
<listitem>
<para>
Suppresses all output from the activation script of the target system.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--</option>

View File

@ -42,6 +42,12 @@
set up binfmt interpreters for each of those listed systems.
</para>
</listitem>
<listitem>
<para>
The installer now uses a less privileged <literal>nixos</literal> user whereas before we logged in as root.
To gain root privileges use <literal>sudo -i</literal> without a password.
</para>
</listitem>
</itemizedlist>
</section>
@ -248,6 +254,15 @@
If IBus support in Qt 4.x applications is required, add the <literal>ibus-qt</literal> package to your <xref linkend="opt-environment.systemPackages" /> manually.
</para>
</listitem>
<listitem>
<para>
The CUPS Printing service now uses socket-based activation by
default, only starting when needed. The previous behavior can
be restored by setting
<option>services.cups.startWhenNeeded</option> to
<literal>false</literal>.
</para>
</listitem>
</itemizedlist>
</section>

View File

@ -0,0 +1,56 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.hardware.deviceTree;
in {
options = {
hardware.deviceTree = {
enable = mkOption {
default = pkgs.stdenv.hostPlatform.platform.kernelDTB or false;
type = types.bool;
description = ''
Build device tree files. These are used to describe the
non-discoverable hardware of a system.
'';
};
base = mkOption {
default = "${config.boot.kernelPackages.kernel}/dtbs";
defaultText = "\${config.boot.kernelPackages.kernel}/dtbs";
example = literalExample "pkgs.deviceTree_rpi";
type = types.path;
description = ''
The package containing the base device-tree (.dtb) to boot. Contains
device trees bundled with the Linux kernel by default.
'';
};
overlays = mkOption {
default = [];
example = literalExample
"[\"\${pkgs.deviceTree_rpi.overlays}/w1-gpio.dtbo\"]";
type = types.listOf types.path;
description = ''
A path containing device tree overlays (.dtbo) to be applied to all
base device-trees.
'';
};
package = mkOption {
default = null;
type = types.nullOr types.path;
internal = true;
description = ''
A path containing the result of applying `overlays` to `base`.
'';
};
};
};
config = mkIf (cfg.enable) {
hardware.deviceTree.package = if (cfg.overlays != [])
then pkgs.deviceTree.applyOverlays cfg.base cfg.overlays else cfg.base;
};
}

View File

@ -8,16 +8,30 @@ with lib;
{
imports = [ ./installation-cd-base.nix ];
# Whitelist wheel users to do anything
# This is useful for things like pkexec
#
# WARNING: this is dangerous for systems
# outside the installation-cd and shouldn't
# be used anywhere else.
security.polkit.extraConfig = ''
polkit.addRule(function(action, subject) {
if (subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});
'';
services.xserver = {
enable = true;
# Don't start the X server by default.
autorun = mkForce false;
# Automatically login as root.
# Automatically login as nixos.
displayManager.slim = {
enable = true;
defaultUser = "root";
defaultUser = "nixos";
autoLogin = true;
};
@ -33,7 +47,6 @@ with lib;
# Enable sound in graphical iso's.
hardware.pulseaudio.enable = true;
hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root.
environment.systemPackages = [
# Include gparted for partitioning disks.

View File

@ -30,15 +30,20 @@ with lib;
Version=1.0
Type=Application
Name=NixOS Manual
Exec=firefox ${config.system.build.manual.manualHTMLIndex}
Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html
Icon=text-html
'';
homeDir = "/home/nixos/";
desktopDir = homeDir + "Desktop/";
in ''
mkdir -p /root/Desktop
ln -sfT ${manualDesktopFile} /root/Desktop/nixos-manual.desktop
ln -sfT ${pkgs.konsole}/share/applications/org.kde.konsole.desktop /root/Desktop/org.kde.konsole.desktop
ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.desktop
mkdir -p ${desktopDir}
chown nixos ${homeDir} ${desktopDir}
ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"}
ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"}
ln -sfT ${pkgs.konsole}/share/applications/org.kde.konsole.desktop ${desktopDir + "org.kde.konsole.desktop"}
'';
}

View File

@ -16,7 +16,8 @@ fi
mountPoint=/mnt
system=/nix/var/nix/profiles/system
command=($system/sw/bin/bash "--login")
command=("$system/sw/bin/bash" "--login")
silent=0
while [ "$#" -gt 0 ]; do
i="$1"; shift 1
@ -32,9 +33,12 @@ while [ "$#" -gt 0 ]; do
exit 1
;;
--command|-c)
command=($system/sw/bin/bash "-c" "$1")
command=("$system/sw/bin/bash" "-c" "$1")
shift 1
;;
--silent)
silent=1
;;
--)
command=("$@")
break
@ -51,11 +55,20 @@ if [[ ! -e $mountPoint/etc/NIXOS ]]; then
exit 126
fi
mkdir -m 0755 -p "$mountPoint/dev" "$mountPoint/sys"
mkdir -p "$mountPoint/dev" "$mountPoint/sys"
chmod 0755 "$mountPoint/dev" "$mountPoint/sys"
mount --rbind /dev "$mountPoint/dev"
mount --rbind /sys "$mountPoint/sys"
# If silent, write both stdout and stderr of activation script to /dev/null
# otherwise, write both streams to stderr of this process
if [ "$silent" -eq 0 ]; then
PIPE_TARGET="/dev/stderr"
else
PIPE_TARGET="/dev/null"
fi
# Run the activation script. Set $LOCALE_ARCHIVE to supress some Perl locale warnings.
LOCALE_ARCHIVE=$system/sw/lib/locale/locale-archive chroot "$mountPoint" "$system/activate" >&2 || true
LOCALE_ARCHIVE="$system/sw/lib/locale/locale-archive" chroot "$mountPoint" "$system/activate" >>$PIPE_TARGET 2>&1 || true
exec chroot "$mountPoint" "${command[@]}"

View File

@ -46,6 +46,7 @@
./hardware/cpu/amd-microcode.nix
./hardware/cpu/intel-microcode.nix
./hardware/digitalbitbox.nix
./hardware/device-tree.nix
./hardware/sensor/iio.nix
./hardware/ksm.nix
./hardware/ledger.nix
@ -111,6 +112,7 @@
./programs/firejail.nix
./programs/fish.nix
./programs/freetds.nix
./programs/fuse.nix
./programs/gnome-disks.nix
./programs/gnome-documents.nix
./programs/gpaste.nix

View File

@ -44,6 +44,9 @@ with lib;
# Disable legacy virtual syscalls
"vsyscall=none"
# Enable page allocator randomization
"page_alloc.shuffle=1"
];
boot.blacklistedKernelModules = [
@ -121,4 +124,7 @@ with lib;
# Ignore outgoing ICMP redirects (this is ipv4 only)
boot.kernel.sysctl."net.ipv4.conf.all.send_redirects" = mkDefault false;
boot.kernel.sysctl."net.ipv4.conf.default.send_redirects" = mkDefault false;
# Restrict userfaultfd syscalls to processes with the SYS_PTRACE capability
boot.kernel.sysctl."vm.unprivileged_userfaultfd" = mkDefault false;
}

View File

@ -32,19 +32,35 @@ with lib;
#services.rogue.enable = true;
# Disable some other stuff we don't need.
security.sudo.enable = mkDefault false;
services.udisks2.enable = mkDefault false;
# Use less privileged nixos user
users.users.nixos = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" ];
# Allow the graphical user to login without password
initialHashedPassword = "";
};
# Allow the user to log in as root without a password.
users.users.root.initialHashedPassword = "";
# Allow passwordless sudo from nixos user
security.sudo = {
enable = mkDefault true;
wheelNeedsPassword = mkForce false;
};
# Automatically log in at the virtual consoles.
services.mingetty.autologinUser = "root";
services.mingetty.autologinUser = "nixos";
# Some more help text.
services.mingetty.helpLine =
''
The "root" account has an empty password. ${
The "nixos" and "root" account have empty passwords. ${
optionalString config.services.xserver.enable
"Type `systemctl start display-manager' to\nstart the graphical user interface."}
"Type `sudo systemctl start display-manager' to\nstart the graphical user interface."}
'';
# Allow sshd to be started manually through "systemctl start sshd".
@ -86,8 +102,5 @@ with lib;
# because we have the firewall enabled. This makes installs from the
# console less cumbersome if the machine has a public IP.
networking.firewall.logRefusedConnections = mkDefault false;
# Allow the user to log in as root without a password.
users.users.root.initialHashedPassword = "";
};
}

View File

@ -0,0 +1,37 @@
{ config, lib, ... }:
with lib;
let
cfg = config.programs.fuse;
in {
meta.maintainers = with maintainers; [ primeos ];
options.programs.fuse = {
mountMax = mkOption {
# In the C code it's an "int" (i.e. signed and at least 16 bit), but
# negative numbers obviously make no sense:
type = types.ints.between 0 32767; # 2^15 - 1
default = 1000;
description = ''
Set the maximum number of FUSE mounts allowed to non-root users.
'';
};
userAllowOther = mkOption {
type = types.bool;
default = false;
description = ''
Allow non-root users to specify the allow_other or allow_root mount
options, see mount.fuse3(8).
'';
};
};
config = {
environment.etc."fuse.conf".text = ''
${optionalString (!cfg.userAllowOther) "#"}user_allow_other
mount_max = ${toString cfg.mountMax}
'';
};
}

View File

@ -208,9 +208,9 @@ in {
config = mkIf cfg.enable {
environment.systemPackages = [ wrapped ];
environment.etc."fuse.conf" = mkIf cfg.autoMount { text = ''
user_allow_other
''; };
programs.fuse = mkIf cfg.autoMount {
userAllowOther = true;
};
users.users = mkIf (cfg.user == "ipfs") {
ipfs = {

View File

@ -127,7 +127,7 @@ in
startWhenNeeded = mkOption {
type = types.bool;
default = false;
default = true;
description = ''
If set, CUPS is socket-activated; that is,
instead of having it permanently running as a daemon,
@ -296,11 +296,16 @@ in
# gets loaded, and then cups cannot access the printers.
boot.blacklistedKernelModules = [ "usblp" ];
# Some programs like print-manager rely on this value to get
# printer test pages.
environment.sessionVariables.CUPS_DATADIR = "${bindir}/share/cups";
systemd.packages = [ cups.out ];
systemd.sockets.cups = mkIf cfg.startWhenNeeded {
wantedBy = [ "sockets.target" ];
listenStreams = map (x: replaceStrings ["localhost"] ["127.0.0.1"] (removePrefix "*:" x)) cfg.listenAddresses;
listenStreams = [ "/run/cups/cups.sock" ]
++ map (x: replaceStrings ["localhost"] ["127.0.0.1"] (removePrefix "*:" x)) cfg.listenAddresses;
};
systemd.services.cups =
@ -362,10 +367,10 @@ in
{ description = "CUPS Remote Printer Discovery";
wantedBy = [ "multi-user.target" ];
wants = [ "cups.service" "avahi-daemon.service" ];
bindsTo = [ "cups.service" "avahi-daemon.service" ];
partOf = [ "cups.service" "avahi-daemon.service" ];
after = [ "cups.service" "avahi-daemon.service" ];
wants = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service";
bindsTo = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service";
partOf = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service";
after = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service";
path = [ cups ];
@ -421,4 +426,7 @@ in
security.pam.services.cups = {};
};
meta.maintainers = with lib.maintainers; [ matthewbauer ];
}

View File

@ -15,12 +15,16 @@ let
'';
};
nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; }
nixos-gsettings-desktop-schemas = let
defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome3.gnome-shell ];
in
pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; }
''
mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
cp -rf ${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
${concatMapStrings (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n") cfg.extraGSettingsOverridePackages}
${concatMapStrings
(pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n")
(defaultPackages ++ cfg.extraGSettingsOverridePackages)}
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
@ -30,6 +34,9 @@ let
[org.gnome.desktop.screensaver]
picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png'
[org.gnome.shell]
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'evolution.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
${cfg.extraGSettingsOverrides}
EOF

View File

@ -714,7 +714,7 @@ in
nativeBuildInputs = [ pkgs.xkbvalidate ];
preferLocalBuild = true;
} ''
validate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions"
xkbvalidate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions"
touch "$out"
'');

View File

@ -46,8 +46,8 @@ let
ln -s ${kernelPath} $out/kernel
ln -s ${config.system.modulesTree} $out/kernel-modules
${optionalString (pkgs.stdenv.hostPlatform.platform.kernelDTB or false) ''
ln -s ${config.boot.kernelPackages.kernel}/dtbs $out/dtbs
${optionalString (config.hardware.deviceTree.package != null) ''
ln -s ${config.hardware.deviceTree.package} $out/dtbs
''}
echo -n "$kernelParams" > $out/kernel-params

View File

@ -75,9 +75,8 @@ addEntry() {
copyToKernelsDir "$path/kernel"; kernel=$result
copyToKernelsDir "$path/initrd"; initrd=$result
# XXX UGLY: maybe the system config should have a top-level "dtbs" entry?
dtbDir=$(readlink -m "$path/kernel/../dtbs")
if [ -d "$dtbDir" ]; then
dtbDir=$(readlink -m "$path/dtbs")
if [ -e "$dtbDir" ]; then
copyToKernelsDir "$dtbDir"; dtbs=$result
fi

View File

@ -10,7 +10,7 @@ let
checkLink = checkUnitConfig "Link" [
(assertOnlyFields [
"Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name"
"Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "OriginalName"
"MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port"
"TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload"
"GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels"

View File

@ -35,8 +35,7 @@ in
autoResize = true;
};
boot.extraModulePackages =
[ config.boot.kernelPackages.ixgbevf
boot.extraModulePackages = [
config.boot.kernelPackages.ena
];
boot.initrd.kernelModules = [ "xen-blkfront" "xen-netfront" ];

View File

@ -3,7 +3,7 @@
import ./make-test.nix ({pkgs, ... }: {
name = "printing";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ domenkozar eelco ];
maintainers = [ domenkozar eelco matthewbauer ];
};
nodes = {
@ -34,10 +34,6 @@ import ./make-test.nix ({pkgs, ... }: {
''
startAll;
# Make sure that cups is up on both sides.
$server->waitForUnit("cups.service");
$client->waitForUnit("cups.service");
$client->sleep(10); # wait until cups is fully initialized
$client->succeed("lpstat -r") =~ /scheduler is running/ or die;
# check local encrypted connections work without error
$client->succeed("lpstat -E -r") =~ /scheduler is running/ or die;

View File

@ -5,13 +5,13 @@
with stdenv.lib;
stdenv.mkDerivation rec{
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.18.0";
version = "0.18.1";
src = fetchurl {
urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
"https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
];
sha256 = "5e4e6890e07b620a93fdb24605dae2bb53e8435b2a93d37558e1db1913df405f";
sha256 = "5c7d93f15579e37aa2d1dc79e8f5ac675f59045fceddf604ae0f1550eb03bf96";
};
nativeBuildInputs =

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, fftw, qtbase, qtmultimedia, qmake
{ stdenv, mkDerivation, fetchFromGitHub, fftw, qtbase, qtmultimedia, qmake, itstool, wrapQtAppsHook
, alsaSupport ? true, alsaLib ? null
, jackSupport ? false, libjack2 ? null
, portaudioSupport ? false, portaudio ? null }:
@ -9,18 +9,18 @@ assert portaudioSupport -> portaudio != null;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "fmit-${version}";
version = "1.1.14";
mkDerivation rec {
pname = "fmit";
version = "1.2.6";
src = fetchFromGitHub {
sha256 = "18gvl8smcnigzldy1acs5h8rscf287b39xi4y2cl5armqbj0y38x";
rev = "v${version}";
repo = "fmit";
owner = "gillesdegottex";
repo = "fmit";
rev = "v${version}";
sha256 = "03nzkig5mw2rqwhwmg0qvc5cnk9bwh2wp13jh0mdrr935w0587mz";
};
nativeBuildInputs = [ qmake ];
nativeBuildInputs = [ qmake itstool wrapQtAppsHook ];
buildInputs = [ fftw qtbase qtmultimedia ]
++ optionals alsaSupport [ alsaLib ]
++ optionals jackSupport [ libjack2 ]

View File

@ -15,13 +15,12 @@
, gobject-introspection
, wrapGAppsHook
, lastFMSupport ? true
, wikipediaSupport ? true
, youtubeSupport ? true, youtube-dl
, youtubeSupport ? true
}:
python3.pkgs.buildPythonApplication rec {
pname = "lollypop";
version = "1.1.4.2";
version = "1.1.4.14";
format = "other";
doCheck = false;
@ -30,7 +29,7 @@ python3.pkgs.buildPythonApplication rec {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
sha256 = "0rn3q7xslqq5hw4wb739ywg5dr99xpkbmyw80y84rsg0wfrwbjlc";
sha256 = "004cwbnxss6vmdsc6i0y83h3xbc2bzc0ra4z99pkizkky2mz6swj";
};
nativeBuildInputs = [
@ -64,7 +63,6 @@ python3.pkgs.buildPythonApplication rec {
pygobject3
]
++ lib.optional lastFMSupport pylast
++ lib.optional wikipediaSupport wikipedia
++ lib.optional youtubeSupport youtube-dl
;

View File

@ -1,27 +1,20 @@
{ stdenv, fetchFromGitHub, fetchpatch, boost, libpulseaudio }:
stdenv.mkDerivation rec {
name = "pamixer-${version}";
version = "1.3.1";
pname = "pamixer";
version = "1.4";
src = fetchFromGitHub {
owner = "cdemoulins";
repo = "pamixer";
rev = version;
sha256 = "15zs2x4hnrpxphqn542b6qqm4ymvhkvbcfyffy69d6cki51chzzw";
sha256 = "1i14550n8paijwwnhksv5izgfqm3s5q2773bdfp6vyqybkll55f7";
};
# Remove after https://github.com/cdemoulins/pamixer/pull/16 gets fixed
patches = [(fetchpatch {
url = "https://github.com/oxij/pamixer/commit/dea1cd967aa837940e5c0b04ef7ebc47a7a93d63.patch";
sha256 = "0s77xmsiwywyyp6f4bjxg1sqdgms1k5fiy7na6ws0aswshfnzfjb";
})];
buildInputs = [ boost libpulseaudio ];
installPhase = ''
mkdir -p $out/bin
cp pamixer $out/bin
install -Dm755 pamixer -t $out/bin
'';
meta = with stdenv.lib; {

View File

@ -73,6 +73,23 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
propagatedUserEnvPkgs = old.propagatedUserEnvPkgs ++ [ external.elpy ];
});
emacsql-sqlite = super.emacsql-sqlite.overrideAttrs(old: {
buildInputs = old.buildInputs ++ [ pkgs.sqlite ];
postBuild = ''
cd source/sqlite
make
cd -
'';
postInstall = ''
install -m=755 -D source/sqlite/emacsql-sqlite \
$out/share/emacs/site-lisp/elpa/emacsql-sqlite-${old.version}/sqlite/emacsql-sqlite
'';
stripDebugList = [ "share" ];
});
evil-magit = super.evil-magit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =

View File

@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb";
};
hunspellDictionaries = with stdenv.lib; filter isDerivation (attrValues hunspellDicts);
hunspellDictionaries = with stdenv.lib; filter isDerivation (unique (attrValues hunspellDicts));
mathJaxSrc = fetchurl {
url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip;

View File

@ -27,13 +27,13 @@ in
stdenv.mkDerivation rec {
name = "macvim-${version}";
version = "8.1.1517";
version = "8.1.1722";
src = fetchFromGitHub {
owner = "macvim-dev";
repo = "macvim";
rev = "snapshot-156";
sha256 = "17plmqcn49gqwr1km77mkxflrg0f4sn06r3n0fbxa8zcz9zmb1q2";
rev = "snapshot-157";
sha256 = "1gmgc4pwaqy78gj4p7iib94n7j52ir0aa03ks595h3vy1hkcwwky";
};
enableParallelBuilding = true;

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "11.1.1";
version = "11.1.4";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
sha256 = "1jibkxx00rma641c3xr7720qj9slqsvhbpi7nawi6f2f91gzyc10";
sha256 = "0ca8wkkdr7kbb8il84nq05qgd5ykjq15fdv9432wr5p9xmqixz1q";
};
nativeBuildInputs = [
@ -70,18 +70,18 @@ stdenv.mkDerivation rec {
# Application icon
mkdir -p $out/share/icons/hicolor
cp -r usr/share/icons/hicolor/0x0 $out/share/icons/hicolor/1024x1024
cp -r usr/share/icons/hicolor/* $out/share/icons/hicolor/
# XDG desktop item
cp -r usr/share/applications $out/share/applications
# Symlink wrapper
mkdir -p $out/bin
ln -s $out/share/draw.io/draw.io $out/bin/draw.io
ln -s $out/share/draw.io/drawio $out/bin/drawio
# Update binary path
substituteInPlace $out/share/applications/draw.io.desktop \
--replace /opt/draw.io/draw.io $out/bin/draw.io
substituteInPlace $out/share/applications/drawio.desktop \
--replace /opt/draw.io/drawio $out/bin/drawio
'';
meta = with stdenv.lib; {

View File

@ -1,20 +1,29 @@
{ buildGoPackage
{ buildGoModule
, fetchFromGitHub
, lib
}:
buildGoPackage rec {
buildGoModule rec {
pname = "wtf";
version = "0.17.1";
version = "0.19.1";
src = fetchFromGitHub {
owner = "wtfutil";
repo = pname;
rev = "v${version}";
sha256 = "1qiwl6z5rraspjqry8dwnx8fgl9vv70sn5kgvh8074vl651yjq8c";
sha256 = "19qzg5blqm5p7rrnaqh4f9aj53i743mawjnd1h9lfahbgmil1d24";
};
goPackagePath = "github.com/wtfutil/wtf";
modSha256 = "1q21pc4yyiq4dihsb9n7261ssj52nnik8dq6fg4gvlnnpgcjp570";
# As per https://github.com/wtfutil/wtf/issues/501, one of the
# dependencies can't be fetched, so vendored dependencies should
# be used instead
modBuildPhase = ''
runHook preBuild
make build -mod=vendor
runHook postBuild
'';
meta = with lib; {
description = "The personal information dashboard for your terminal";

View File

@ -13,7 +13,7 @@
, bison, gperf
, glib, gtk3, dbus-glib
, glibc
, libXScrnSaver, libXcursor, libXtst, libGLU_combined
, libXScrnSaver, libXcursor, libXtst, libGLU_combined, libGL
, protobuf, speechd, libXdamage, cups
, ffmpeg, libxslt, libxml2, at-spi2-core
, jdk
@ -309,6 +309,13 @@ let
targets = extraAttrs.buildTargets or [];
commands = map buildCommand targets;
in concatStringsSep "\n" commands;
postFixup = ''
# Make sure that libGLESv2 is found by dlopen (if using EGL).
chromiumBinary="$libExecPath/$packageName"
origRpath="$(patchelf --print-rpath "$chromiumBinary")"
patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary"
'';
};
# Remove some extraAttrs we supplied to the base attributes already.

View File

@ -17,10 +17,10 @@ rec {
firefox = common rec {
pname = "firefox";
ffversion = "68.0.1";
ffversion = "68.0.2";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "20rqfa5sdaagryk00iywnbap0bmhq1c74pfbxi3pq1cs52qs5nhjqn3xm6910zwcn5nw08i9qd5jkg5blvqrjzw780nh8qbrwsm3d4n";
sha512 = "2xzakpb6mp9hjqkim353afv059i4zfpmhflhv3l3qzajgjz36cacbmp4bkn4cghinm8krhp8z02264ww0bcraryjjwn5q0dzljrha2w";
};
patches = [
@ -99,10 +99,10 @@ rec {
firefox-esr-68 = common rec {
pname = "firefox-esr";
ffversion = "68.0.1esr";
ffversion = "68.0.2esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "27ncapq18rdlrf0kp5r09spcqazi0g8nbzbfxijs9pi3cvlkayagi3fbbzzq5jkn0n3j580vadc6v1v3zibvdwb5s3c6bz559a7nra2";
sha512 = "0dyjayrbcq6dg8vmzbf7303aixnhpd6r777chxpdvqq892rgvw5q4f8yfb6pr8j978hahn4dz968vzmi6sp40y3hf62hnzdqpzd2bx1";
};
patches = [

View File

@ -300,7 +300,8 @@ stdenv.mkDerivation rec {
# Clear out some files that tend to capture store references but are
# easily generated by firefox at startup.
rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/{compatibility.ini,extensions.ini,extensions.json}
rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/{addonStartup.json.lz4,compatibility.ini,extensions.ini,extensions.json}
rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/startupCache/*
# XDG
: "\''${XDG_RUNTIME_DIR:=/run/user/\$(id -u)}"

View File

@ -17,11 +17,11 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "2.6.1566.49-1";
version = "2.6.1566.51-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
sha256 = "1hl7aqq3i6mkkg7sdcax26kn08p8mqwlq4xpg4v05ivdvyh5ac9d";
sha256 = "0582f16saldgn482806f9igb97is4p3ayvh99j0wx9plxnyq5xmm";
};
unpackPhase = ''

View File

@ -0,0 +1,22 @@
From b0ab95b9664916618ebf5fe637b1bc4de4ba9a6e Mon Sep 17 00:00:00 2001
From: "Wael M. Nasreddine" <wael.nasreddine@gmail.com>
Date: Wed, 14 Aug 2019 23:07:51 -0700
Subject: [PATCH] fix the hash of gomodules.xyz/jsonpatch/v2
---
go.sum | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/go.sum b/go.sum
index 6bb130b4d9b..b3f48a85d4a 100644
--- a/go.sum
+++ b/go.sum
@@ -452,7 +452,7 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138 h1:H3uGjxCR/6Ds0Mjgyp7LMK8
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190404132500-923d25813098 h1:MtqjsZmyGRgMmLUgxnmMJ6RYdvd2ib8ipiayHhqSxs4=
golang.org/x/tools v0.0.0-20190404132500-923d25813098/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-gomodules.xyz/jsonpatch/v2 v2.0.0 h1:lHNQverf0+Gm1TbSbVIDWVXOhZ2FpZopxRqpr2uIjs4=
+gomodules.xyz/jsonpatch/v2 v2.0.0 h1:OyHbl+7IOECpPKfVK42oFr6N7+Y2dR+Jsb/IiDV3hOo=
gomodules.xyz/jsonpatch/v2 v2.0.0/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU=
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
google.golang.org/api v0.0.0-20181021000519-a2651947f503/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=

View File

@ -0,0 +1,71 @@
{ buildGoModule, fetchFromGitHub, lib }:
buildGoModule rec {
pname = "prow-unstable";
version = "2019-08-14";
rev = "35a7744f5737bbc1c4e1256a9c9c5ad135c650e4";
src = fetchFromGitHub {
inherit rev;
owner = "kubernetes";
repo = "test-infra";
sha256 = "07kdlzrj59xyaa73vlx4s50fpg0brrkb0h0cyjgx81a0hsc7s03k";
};
patches = [
# https://github.com/kubernetes/test-infra/pull/13918
./13918-fix-go-sum.patch
];
modSha256 = "06q1zvhm78k64aj475k1xl38h7nk83mysd0bja0wknja048ymgsq";
subPackages = [
"./prow/cmd/admission"
"./prow/cmd/artifact-uploader"
"./prow/cmd/branchprotector"
"./prow/cmd/build"
"./prow/cmd/checkconfig"
"./prow/cmd/clonerefs"
"./prow/cmd/config-bootstrapper"
"./prow/cmd/crier"
"./prow/cmd/deck"
"./prow/cmd/entrypoint"
"./prow/cmd/gcsupload"
"./prow/cmd/gerrit"
"./prow/cmd/hook"
"./prow/cmd/horologium"
"./prow/cmd/initupload"
"./prow/cmd/jenkins-operator"
"./prow/cmd/mkbuild-cluster"
"./prow/cmd/mkpj"
"./prow/cmd/mkpod"
"./prow/cmd/peribolos"
"./prow/cmd/phaino"
"./prow/cmd/phony"
"./prow/cmd/pipeline"
"./prow/cmd/plank"
"./prow/cmd/sidecar"
"./prow/cmd/sinker"
"./prow/cmd/status-reconciler"
"./prow/cmd/sub"
"./prow/cmd/tackle"
"./prow/cmd/tide"
"./prow/cmd/tot"
];
meta = with lib; {
description = "Prow is a Kubernetes based CI/CD system";
longDescription = ''
Prow is a Kubernetes based CI/CD system. Jobs can be triggered by various
types of events and report their status to many different services. In
addition to job execution, Prow provides GitHub automation in the form of
policy enforcement, chat-ops via /foo style commands, and automatic PR
merging.
'';
homepage = "https://github.com/kubernetes/test-infra/tree/master/prow";
license = licenses.asl20;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@ -57,11 +57,11 @@ let
in stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
version = "1.26.0";
version = "1.26.1";
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "17g5yxr6ydc4rlbqc3r3876jis1x7mw496skc098n4q4f0m2ih24";
sha256 = "1s48mgya1gvidk0fmm7pifhqj2k0dc9xdq3h5ifz9kivjp7h0z09";
};
phases = [ "unpackPhase" "installPhase" ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, which, gfortran, libGLU, xorg } :
stdenv.mkDerivation rec {
version = "6.1";
version = "6.2";
name = "molden-${version}";
src = fetchurl {
url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz";
sha256 = "0swbjnqlkwhy8lvjkbx8yklqj4zfphwdg6s3haawxi3dd65ij539";
sha256 = "01m5p7v5pz1fi77var50sp1bzlvdckwr6kn4wanvic2jmvgp9q5n";
};
nativeBuildInputs = [ which ];

View File

@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
patchPhase = ''
substituteInPlace Makefile \
--replace 'all: check_include' 'all:' \
--replace '-install_name ''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' \
--replace '-install_name ''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}'
'';
@ -25,7 +24,7 @@ stdenv.mkDerivation rec {
makeFlags = [
"T=$(out)"
"INCDIR=${lib.getDev stdenv.cc.libc}/include"
"INCDIR="
"BINDIR=/bin"
"LIBDIR=/lib"
"CALC_SHAREDIR=/share/calc"

View File

@ -0,0 +1,31 @@
diff --git a/ccx_2.15/src/Makefile b/ccx_2.15/src/Makefile
index 9cab2fc..6e977b8 100755
--- a/ccx_2.15/src/Makefile
+++ b/ccx_2.15/src/Makefile
@@ -1,6 +1,6 @@
CFLAGS = -Wall -O3 -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT
-FFLAGS = -Wall -O3
+FFLAGS = -Wall -O3
CC=cc
FC=gfortran
@@ -18,15 +18,10 @@ OCCXF = $(SCCXF:.f=.o)
OCCXC = $(SCCXC:.c=.o)
OCCXMAIN = $(SCCXMAIN:.c=.o)
-DIR=../../../SPOOLES.2.2
+LIBS = -lpthread -lm -lc -lspooles -larpack -lopenblas
-LIBS = \
- $(DIR)/spooles.a \
- ../../../ARPACK/libarpack_INTEL.a \
- -lpthread -lm -lc
-
-ccx_2.15: $(OCCXMAIN) ccx_2.15.a $(LIBS)
- ./date.pl; $(CC) $(CFLAGS) -c ccx_2.15.c; $(FC) -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS)
+ccx_2.15: $(OCCXMAIN) ccx_2.15.a
+ $(CC) $(CFLAGS) -c ccx_2.15.c; $(FC) -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS)
ccx_2.15.a: $(OCCXF) $(OCCXC)
ar vr $@ $?

View File

@ -0,0 +1,39 @@
{ stdenv, fetchurl, gfortran, arpack, spooles, openblas }:
stdenv.mkDerivation rec {
pname = "calculix";
version = "2.15";
src = fetchurl {
url = "http://www.dhondt.de/ccx_${version}.src.tar.bz2";
sha256 = "0d4axfxgm3ag4p2vx9rjcky7c122k99a2nhv1jv53brm35rblzdw";
};
nativeBuildInputs = [ gfortran ];
buildInputs = [ arpack spooles openblas ];
NIX_CFLAGS_COMPILE = [
"-I${spooles}/include/spooles"
];
patches = [
./calculix.patch
];
postPatch = ''
cd ccx*/src
'';
installPhase = ''
install -Dm0755 ccx_${version} $out/bin/ccx
'';
meta = with stdenv.lib; {
homepage = "http://www.calculix.de/";
description = "Three-dimensional structural finite element program";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ gebner ];
platforms = platforms.unix;
};
}

View File

@ -1,10 +1,9 @@
{ stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
, zlib, libGLU_combined, libGLU, xorg }:
, zlib, libGLU_combined, libGLU, xorg, opencascade-occt }:
let version = "4.4.1"; in
stdenv.mkDerivation {
name = "gmsh-${version}";
stdenv.mkDerivation rec {
pname = "gmsh";
version = "4.4.1";
src = fetchurl {
url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
@ -14,15 +13,14 @@ stdenv.mkDerivation {
buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined
libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
opencascade-occt
];
nativeBuildInputs = [ cmake gfortran ];
enableParallelBuilding = true;
meta = {
description = "A three-dimensional finite element mesh generator";
homepage = http://gmsh.info/;
homepage = "http://gmsh.info/";
platforms = [ "x86_64-linux" ];
license = stdenv.lib.licenses.gpl2Plus;
};

View File

@ -0,0 +1,17 @@
# Lists past failures and files associated with it. The intention is to build
# up a subset of a testsuite that catches 95% of failures that are relevant for
# distributions while only taking ~5m to run. This in turn makes it more
# reasonable to re-test sage on dependency changes and makes it easier for
# users to override the sage derivation.
# This is an experiment for now. If it turns out that there really is a small
# subset of files responsible for the vast majority of packaging tests, we can
# think about moving this upstream.
[
"src/sage/env.py" # [1]
"src/sage/misc/persist.pyx" # [1]
"src/sage/misc/inline_fortran.py" # [1]
"src/sage/repl/ipython_extension.py" # [1]
]
# Numbered list of past failures to annotate files with
# [1] PYTHONPATH related issue https://github.com/NixOS/nixpkgs/commit/ec7f569211091282410050e89e68832d4fe60528

View File

@ -0,0 +1,19 @@
diff --git a/src/sage/repl/configuration.py b/src/sage/repl/configuration.py
index 67d7d2accf..18279581e2 100644
--- a/src/sage/repl/configuration.py
+++ b/src/sage/repl/configuration.py
@@ -9,10 +9,11 @@ the IPython simple prompt is being used::
sage: cmd = 'print([sys.stdin.isatty(), sys.stdout.isatty()])'
sage: import pexpect
sage: output = pexpect.run(
- ....: 'bash -c \'echo "{0}" | sage\''.format(cmd),
+ ....: 'bash -c \'export SAGE_BANNER=no; echo "{0}" | sage\''.format(cmd),
....: ).decode('utf-8', 'surrogateescape')
- sage: 'sage: [False, True]' in output
- True
+ sage: print(output)
+ sage...[False, True]
+ sage...Exiting Sage ...
"""
#*****************************************************************************

View File

@ -61,7 +61,11 @@ stdenv.mkDerivation rec {
# Since sage unfortunately does not release bugfix releases, packagers must
# fix those bugs themselves. This is for critical bugfixes, where "critical"
# == "causes (transient) doctest failures / somebody complained".
bugfixPatches = [ ];
bugfixPatches = [
# To help debug the transient error in
# https://trac.sagemath.org/ticket/23087 when it next occurs.
./patches/configurationpy-error-verbose.patch
];
# Patches needed because of package updates. We could just pin the versions of
# dependencies, but that would lead to rebuilds, confusion and the burdons of

View File

@ -51,6 +51,10 @@ stdenv.mkDerivation rec {
export HOME="$TMPDIR/sage-home"
mkdir -p "$HOME"
# avoid running out of memory with many threads in subprocesses, see
# https://github.com/NixOS/nixpkgs/pull/65802
export GLIBC_TUNABLES=glibc.malloc.arena_max=4
echo "Running sage tests with arguments ${timeSpecifier} ${patienceSpecifier} ${testArgs}"
"sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
'';

View File

@ -8,13 +8,13 @@ with stdenv.lib;
buildGoPackage rec {
pname = "gitea";
version = "1.9.0";
version = "1.9.1";
src = fetchFromGitHub {
owner = "go-gitea";
repo = "gitea";
rev = "v${version}";
sha256 = "1z7rkhxkymv7rgc7blh9ps5sqrgl4sryf0rqcp16nh9n5snfm1rm";
sha256 = "0sk877rp6zhch1b9c7zbmk8pnlyqjp4nws2gzq24qvw5f4chlprw";
# Required to generate the same checksum on MacOS due to unicode encoding differences
# More information: https://github.com/NixOS/nixpkgs/pull/48128
extraPostFetch = ''

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "smartgithg";
version = "18.2.9";
version = "19.1.1";
src = fetchurl {
url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz";
sha256 = "0d08awb2s3w1w8n8048abw2x4wnqhfx96sls9kdsnxj0xrszgz67";
sha256 = "0i0dvyy9d63f4hk8czlyk83ai0ywhqp7wbdkq3s87l7irwgs42jy";
};
nativeBuildInputs = [ wrapGAppsHook ];

View File

@ -0,0 +1,60 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, buildGoModule
, srht, redis, celery, pyyaml, markdown }:
let
version = "0.45.13";
buildWorker = src: buildGoModule {
inherit src version;
pname = "builds-sr-ht-worker";
goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker";
modSha256 = "1jm259ncw8dgqp0fqbjn30c4y3v3vwqj41gfh99jx30bwlmpgfax";
};
in buildPythonPackage rec {
inherit version;
pname = "buildsrht";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
rev = version;
sha256 = "002pcj2a98gbmv77a10449w1q6iqhqjz4fim8hm4qm7vn6bwp0hz";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
redis
celery
pyyaml
markdown
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
postInstall = ''
mkdir -p $out/lib
mkdir -p $out/bin/builds.sr.ht
cp -r images $out/lib
cp contrib/submit_image_build $out/bin/builds.sr.ht
cp ${buildWorker "${src}/worker"}/bin/worker $out/bin/builds.sr.ht-worker
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/builds.sr.ht;
description = "Continuous integration service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,80 @@
{ stdenv, fetchgit, fetchNodeModules, buildPythonPackage
, pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests
, sqlalchemy, flask_login, beautifulsoup4, sqlalchemy-utils, celery, alembic
, sassc, nodejs-11_x
, writeText }:
buildPythonPackage rec {
pname = "srht";
version = "0.52.13";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
rev = version;
sha256 = "0i7gd2rkq4y4lffxsgb3mql9ddmk3vqckan29w266imrqs6p8c0z";
};
node_modules = fetchNodeModules {
src = "${src}/srht";
nodejs = nodejs-11_x;
sha256 = "0axl50swhcw8llq8z2icwr4nkr5qsw2riih0a040f9wx4xiw4p6p";
};
patches = [
./disable-npm-install.patch
];
nativeBuildInputs = [
sassc
nodejs-11_x
];
propagatedBuildInputs = [
pgpy
flask
bleach
misaka
humanize
markdown
psycopg2
pygments
requests
sqlalchemy
flask_login
beautifulsoup4
sqlalchemy-utils
# Unofficial runtime dependencies?
celery
alembic
];
PKGVER = version;
preBuild = ''
cp -r ${node_modules} srht/node_modules
'';
# No actual? tests but seems like it needs this anyway
preCheck = let
config = writeText "config.ini" ''
[webhooks]
private-key=K6JupPpnr0HnBjelKTQUSm3Ro9SgzEA2T2Zv472OvzI=
[meta.sr.ht]
origin=http://meta.sr.ht.local
'';
in ''
# Validation needs config option(s)
# webhooks <- ( private-key )
# meta.sr.ht <- ( origin )
cp ${config} config.ini
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/srht;
description = "Core modules for sr.ht";
license = licenses.bsd3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,49 @@
{ python37, openssl_1_1
, callPackage }:
# To expose the *srht modules, they have to be a python module so we use `buildPythonModule`
# Then we expose them through all-packages.nix as an application through `toPythonApplication`
# https://github.com/NixOS/nixpkgs/pull/54425#discussion_r250688781
let
fetchNodeModules = callPackage ../../networking/instant-messengers/rambox/fetchNodeModules.nix { };
python = python37.override {
packageOverrides = self: super: {
srht = self.callPackage ./core.nix { inherit fetchNodeModules; };
buildsrht = self.callPackage ./builds.nix { };
dispatchsrht = self.callPackage ./dispatch.nix { };
gitsrht = self.callPackage ./git.nix { };
hgsrht = self.callPackage ./hg.nix { };
listssrht = self.callPackage ./lists.nix { };
mansrht = self.callPackage ./man.nix { };
metasrht = self.callPackage ./meta.nix { };
pastesrht = self.callPackage ./paste.nix { };
todosrht = self.callPackage ./todo.nix { };
scmsrht = self.callPackage ./scm.nix { };
# OVERRIDES
cryptography = super.cryptography.override {
openssl = openssl_1_1;
};
pyopenssl = super.pyopenssl.override {
openssl = openssl_1_1;
};
};
};
in with python.pkgs; {
inherit python;
buildsrht = toPythonApplication buildsrht;
dispatchsrht = toPythonApplication dispatchsrht;
gitsrht = toPythonApplication gitsrht;
hgsrht = toPythonApplication hgsrht;
listssrht = toPythonApplication listssrht;
mansrht = toPythonApplication mansrht;
metasrht = toPythonApplication metasrht;
pastesrht = toPythonApplication pastesrht;
todosrht = toPythonApplication todosrht;
}

View File

@ -0,0 +1,14 @@
diff --git a/setup.py b/setup.py
index d63bac8..e1d0c35 100755
--- a/setup.py
+++ b/setup.py
@@ -5,9 +5,6 @@ import glob
import os
import sys
-if subprocess.call(["npm", "i"], cwd="srht") != 0:
- sys.exit(1)
-
ver = os.environ.get("PKGVER") or subprocess.run(['git', 'describe', '--tags'],
stdout=subprocess.PIPE).stdout.decode().strip()

View File

@ -0,0 +1,39 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, srht, pyyaml, PyGithub, cryptography }:
buildPythonPackage rec {
pname = "dispatchsrht";
version = "0.11.0";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht";
rev = version;
sha256 = "1kahl2gy5a5li79djwkzkglkw2s7pl4d29bzqp8c53r0xvx4sqkz";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
pyyaml
PyGithub
cryptography
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
meta = with stdenv.lib; {
homepage = https://dispatch.sr.ht/~sircmpwn/dispatch.sr.ht;
description = "Task dispatcher and service integration tool for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,55 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, buildGoModule
, srht, pygit2, scmsrht }:
let
version = "0.32.3";
buildDispatcher = src: buildGoModule {
inherit src version;
pname = "git-sr-ht-dispatcher";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-dispatch";
modSha256 = "1lmgmlin460g09dph2hw6yz25d4agqwjhrjv0qqsis7df9qpf3i1";
};
in buildPythonPackage rec {
inherit version;
pname = "gitsrht";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/git.sr.ht";
rev = version;
sha256 = "0grycmblhm9dnhcf1kcmn6bclgb9znahk2026dan58m9j9pja5vw";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
pygit2
scmsrht
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
# TODO: Remove redundant mkdir?
postInstall = ''
mkdir -p $out/bin
cp ${buildDispatcher "${src}/gitsrht-dispatch"}/bin/gitsrht-dispatch $out/bin/gitsrht-dispatch
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/git.sr.ht;
description = "Git repository hosting service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,39 @@
{ stdenv, fetchhg, buildPythonPackage
, python
, srht, hglib, scmsrht, unidiff }:
buildPythonPackage rec {
pname = "hgsrht";
version = "0.13.0";
src = fetchhg {
url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
rev = version;
sha256 = "0qkknvja0pyk69fvzqafj3x8hi5miw22nmksvifbrjcqph8jknqg";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
hglib
scmsrht
unidiff
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/hg.sr.ht;
description = "Mercurial repository hosting service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,40 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, srht, asyncpg, unidiff, aiosmtpd, emailthreads }:
buildPythonPackage rec {
pname = "listssrht";
version = "0.36.3";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
rev = version;
sha256 = "1q2z2pjwz4zifsrkxab9b9jh1vzayjqych1cx3i4859f1swl2gwa";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
asyncpg
unidiff
aiosmtpd
emailthreads
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/lists.sr.ht;
description = "Mailing list service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,37 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, srht, pygit2 }:
buildPythonPackage rec {
pname = "mansrht";
version = "0.12.4";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/man.sr.ht";
rev = version;
sha256 = "1csnw71yh5zw7l17xmmxyskwiqbls0ynbbjrg45y5k1i3622mhiy";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
pygit2
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/man.sr.ht;
description = "Wiki service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,48 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache
, sshpubkeys, weasyprint, prometheus_client }:
buildPythonPackage rec {
pname = "metasrht";
version = "0.34.3";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
rev = version;
sha256 = "1yj3npw1vlqawzj6q1mh6qryx009dg5prja9fn6rasfmxjn2gr7v";
};
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
pgpy
srht
redis
bcrypt
qrcode
stripe
zxcvbn
alembic
pystache
sshpubkeys
weasyprint
prometheus_client
];
patches = [
./use-srht-path.patch
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/meta.sr.ht;
description = "Account management service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,37 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, srht, pyyaml }:
buildPythonPackage rec {
pname = "pastesrht";
version = "0.5.1";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
rev = version;
sha256 = "0bzw03hcwi1pw16kliqjsr7kphqq3qw0pbpdjqkcs7jdr0a59vny";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
pyyaml
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/paste.sr.ht;
description = "Ad-hoc text file hosting service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,55 @@
{ stdenv, fetchgit, buildPythonPackage
, srht, redis, pyyaml, buildsrht
, writeText }:
buildPythonPackage rec {
pname = "scmsrht";
version = "0.13.3";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
rev = version;
sha256 = "0bapddgfqrs27y6prd6kwpz6jdlr33zdqr6ci6ixi584a7z8z7d6";
};
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
redis
pyyaml
buildsrht
];
preBuild = ''
export PKGVER=${version}
'';
# No actual? tests but seems like it needs this anyway
preCheck = let
config = writeText "config.ini" ''
[webhooks]
private-key=K6JupPpnr0HnBjelKTQUSm3Ro9SgzEA2T2Zv472OvzI=
[builds.sr.ht]
origin=http://builds.sr.ht.local
oauth-client-id=
[meta.sr.ht]
origin=http://meta.sr.ht.local
'';
in ''
# Validation needs config option(s)
# webhooks <- ( private-key )
# meta.sr.ht <- ( origin )
# builds.sr.ht <- ( origin, oauth-client-id )
cp ${config} config.ini
'';
meta = with stdenv.lib; {
homepage = https://git.sr.ht/~sircmpwn/git.sr.ht;
description = "Shared support code for sr.ht source control services.";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,42 @@
{ stdenv, fetchgit, buildPythonPackage
, python
, srht, redis, alembic, pystache }:
buildPythonPackage rec {
pname = "todosrht";
version = "0.46.8";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/todo.sr.ht";
rev = version;
sha256 = "17nqqy81535jnkidjiqv8v2301w5wzbbvx4czib69aagw1l85gnn";
};
patches = [
./use-srht-path.patch
];
nativeBuildInputs = srht.nativeBuildInputs;
propagatedBuildInputs = [
srht
redis
alembic
pystache
];
preBuild = ''
export PKGVER=${version}
export SRHT_PATH=${srht}/${python.sitePackages}/srht
'';
# Tests require a network connection
doCheck = false;
meta = with stdenv.lib; {
homepage = https://todo.sr.ht/~sircmpwn/todo.sr.ht;
description = "Ticket tracking service for the sr.ht network";
license = licenses.agpl3;
maintainers = with maintainers; [ eadwu ];
};
}

View File

@ -0,0 +1,54 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p git mercurial common-updater-scripts
cd "$(dirname "${BASH_SOURCE[0]}")"
root=../../../..
default() {
(cd "$root" && nix-instantiate --eval --strict -A "sourcehut.python.pkgs.$1.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')
}
version() {
(cd "$root" && nix-instantiate --eval --strict -A "sourcehut.python.pkgs.$1.version" | tr -d '"')
}
src_url() {
(cd "$root" && nix-instantiate --eval --strict -A "sourcehut.python.pkgs.$1.src.drvAttrs.url" | tr -d '"')
}
get_latest_version() {
src="$(src_url "$1")"
tmp=$(mktemp -d)
if [ "$1" = "hgsrht" ]; then
hg clone "$src" "$tmp" &> /dev/null
printf "%s" "$(cd "$tmp" && hg log --limit 1 --template '{latesttag}')"
else
git clone "$src" "$tmp"
printf "%s" "$(cd "$tmp" && git describe $(git rev-list --tags --max-count=1))"
fi
}
update_version() {
default_nix="$(default "$1")"
version_old="$(version "$1")"
version="$(get_latest_version "$1")"
(cd "$root" && update-source-version "sourcehut.python.pkgs.$1" "$version")
git add "$default_nix"
git commit -m "$1: $version_old -> $version"
}
services=( "srht" "buildsrht" "dispatchsrht" "gitsrht" "hgsrht" "listssrht" "mansrht" "metasrht"
"pastesrht" "todosrht" "scmsrht" )
# Whether or not a specific service is requested
if [ -n "$1" ]; then
version="$(get_latest_version "$1")"
(cd "$root" && update-source-version "sourcehut.python.pkgs.$1" "$version")
else
for service in "${services[@]}"; do
update_version "$service"
done
fi

View File

@ -0,0 +1,43 @@
diff --git a/setup.py b/setup.py
index e6ecfb6..89fa92a 100755
--- a/setup.py
+++ b/setup.py
@@ -5,28 +5,16 @@ import os
import site
import sys
-if hasattr(site, 'getsitepackages'):
- pkg_dirs = site.getsitepackages()
- if site.getusersitepackages():
- pkg_dirs.append(site.getusersitepackages())
- for pkg_dir in pkg_dirs:
- srht_path = os.path.join(pkg_dir, "srht")
- if os.path.isdir(srht_path):
- break
- else:
- raise Exception("Can't find core srht module in your site packages "
- "directories. Please install it first.")
-else:
- srht_path = os.getenv("SRHT_PATH")
- if not srht_path:
- raise Exception("You're running inside a virtual environment. "
- "Due to virtualenv limitations, you need to set the "
- "$SRHT_PATH environment variable to the path of the "
- "core srht module.")
- elif not os.path.isdir(srht_path):
- raise Exception(
- "The $SRHT_PATH environment variable points to an invalid "
- "directory: {}".format(srht_path))
+srht_path = os.getenv("SRHT_PATH")
+if not srht_path:
+ raise Exception("You're running inside a virtual environment. "
+ "Due to virtualenv limitations, you need to set the "
+ "$SRHT_PATH environment variable to the path of the "
+ "core srht module.")
+elif not os.path.isdir(srht_path):
+ raise Exception(
+ "The $SRHT_PATH environment variable points to an invalid "
+ "directory: {}".format(srht_path))
subp = subprocess.run(["make", "SRHT_PATH=" + srht_path])
if subp.returncode != 0:

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, qmake, qtscript }:
{ lib, mkDerivation, fetchurl, qmake, qtscript }:
stdenv.mkDerivation rec {
mkDerivation rec {
name = "smplayer-19.5.0";
src = fetchurl {
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = {
description = "A complete front-end for MPlayer";
homepage = http://smplayer.sourceforge.net/;
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux;
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
};
}

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, qmake, qtscript, qtwebkit }:
{ lib, mkDerivation, fetchurl, qmake, qtscript, qtwebkit }:
stdenv.mkDerivation rec {
mkDerivation rec {
version = "19.6.0";
name = "smtube-${version}";
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ qmake ];
buildInputs = [ qtscript qtwebkit ];
meta = with stdenv.lib; {
meta = with lib; {
description = "Play and download Youtube videos";
homepage = http://smplayer.sourceforge.net/smtube.php;
license = licenses.gpl2Plus;

View File

@ -5,13 +5,13 @@
buildGoPackage rec {
name = "podman-${version}";
version = "1.4.4";
version = "1.5.1";
src = fetchFromGitHub {
owner = "containers";
repo = "libpod";
rev = "v${version}";
sha256 = "13qgrvqawrrz4apdcds4amkljyjzx056545962wk8p0d291hqv5a";
sha256 = "1jg7fdshqz0x71339i0wndskb17x1k5rwpkjiwd463f96fnbfp4x";
};
goPackagePath = "github.com/containers/libpod";

View File

@ -291,9 +291,10 @@ rec {
# Files to add to the layer.
closure,
configJson,
# Docker has a 42-layer maximum, we pick 24 to ensure there is plenty
# of room for extension
maxLayers ? 24
# Docker has a 125-layer maximum, we pick 100 to ensure there is
# plenty of room for extension.
# https://github.com/moby/moby/blob/b3e9f7b13b0f0c414fa6253e1f17a86b2cff68b5/layer/layer_store.go#L23-L26
maxLayers ? 100
}:
let
storePathToLayer = substituteAll

View File

@ -1,4 +1,4 @@
{ stdenv, cacert, git, cargo, rustc, fetchcargo, buildPackages }:
{ stdenv, cacert, git, cargo, rustc, fetchcargo, buildPackages, windows }:
{ name ? "${args.pname}-${args.version}"
, cargoSha256 ? "unset"
@ -41,18 +41,26 @@ let
cargoDepsCopy="$sourceRoot/${cargoVendorDir}"
'';
hostConfig = stdenv.hostPlatform.config;
rustHostConfig = {
"x86_64-pc-mingw32" = "x86_64-pc-windows-gnu";
}."${hostConfig}" or hostConfig;
ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
releaseDir = "target/${stdenv.hostPlatform.config}/${buildType}";
in stdenv.mkDerivation (args // {
releaseDir = "target/${rustHostConfig}/${buildType}";
in
stdenv.mkDerivation (args // {
inherit cargoDeps;
patchRegistryDeps = ./patch-registry-deps;
nativeBuildInputs = [ cargo rustc git cacert ] ++ nativeBuildInputs;
inherit buildInputs;
nativeBuildInputs = nativeBuildInputs ++ [ cacert git cargo rustc ];
buildInputs = buildInputs ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW windows.pthreads;
patches = cargoPatches ++ patches;
@ -76,7 +84,7 @@ in stdenv.mkDerivation (args // {
[target."${stdenv.buildPlatform.config}"]
"linker" = "${ccForBuild}"
${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
[target."${stdenv.hostPlatform.config}"]
[target."${rustHostConfig}"]
"linker" = "${ccForHost}"
''}
EOF
@ -102,7 +110,7 @@ in stdenv.mkDerivation (args // {
"CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \
cargo build \
${stdenv.lib.optionalString (buildType == "release") "--release"} \
--target ${stdenv.hostPlatform.config} \
--target ${rustHostConfig} \
--frozen ${concatStringsSep " " cargoBuildFlags}
)

View File

@ -1,6 +1,6 @@
{ fetchurl }:
fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/4db96602103463d72e59ce214d0da8af35405f07.tar.gz";
sha256 = "14r7m3555ngfafk2wgdj4lnv7zzajcc4j4fiws4k3kr3xwbrwrxr";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/2b4df08d487f0821b932f92392b67fe12dc1d42c.tar.gz";
sha256 = "02d06fr2jr69za5751z25c3x3zspiwdmlhmdmxaj1g48v00gbfag";
}

View File

@ -13,7 +13,7 @@ in
stdenv.mkDerivation {
name = "chicken-${version}";
binaryVersion = 9;
binaryVersion = 11;
src = fetchurl {
url = "https://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz";
@ -22,8 +22,8 @@ stdenv.mkDerivation {
setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
buildFlags = "PLATFORM=${platform} PREFIX=$(out)";
installFlags = "PLATFORM=${platform} PREFIX=$(out)";
buildInputs = [
makeWrapper
@ -37,10 +37,6 @@ stdenv.mkDerivation {
wrapProgram $f \
--prefix PATH : ${stdenv.cc}/bin
done
mv $out/var/lib/chicken $out/lib
rmdir $out/var/lib
rmdir $out/var
'';
# TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion

View File

@ -1,4 +1,4 @@
{ pkgs }:
{ pkgs, stdenv }:
rec {
inherit (pkgs) eggDerivation fetchegg;
@ -33,12 +33,12 @@ rec {
};
srfi-1 = eggDerivation {
name = "srfi-1-0.5";
name = "srfi-1-0.5.1";
src = fetchegg {
name = "srfi-1";
version = "0.5";
sha256 = "0gh1h406xbxwm5gvc5znc93nxp9xjbhyqf7zzga08k5y6igxrlvk";
version = "0.5.1";
sha256 = "15x0ajdkw5gb3vgs8flzh5g0pzl3wmcpf11iimlm67mw6fxc8p7j";
};
buildInputs = [
@ -47,12 +47,12 @@ rec {
};
srfi-13 = eggDerivation {
name = "srfi-13-0.2";
name = "srfi-13-0.2.1";
src = fetchegg {
name = "srfi-13";
version = "0.2";
sha256 = "0jazbdnn9bjm7wwxqq7xzqxc9zfvaapq565rf1czj6ayl96yvk3n";
version = "0.2.1";
sha256 = "0204i7fhc4dy0l89lbi2lv9cjndrvwyrk68z3wy7x445jb4ky1gq";
};
buildInputs = [
@ -61,12 +61,12 @@ rec {
};
srfi-14 = eggDerivation {
name = "srfi-14-0.2";
name = "srfi-14-0.2.1";
src = fetchegg {
name = "srfi-14";
version = "0.2";
sha256 = "13nm4nn1d52nkvhjizy26z3s6q41x1ml4zm847xzf86x1zwvymni";
version = "0.2.1";
sha256 = "0gc33cx4xll9vsf7fm8jvn3gc0604kn3bbi6jfn6xscqp86kqb9p";
};
buildInputs = [

View File

@ -1,5 +1,5 @@
addChickenRepositoryPath() {
addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_PATH "$1/lib/chicken/9/"
addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_PATH "$1/lib/chicken/11/"
addToSearchPathWithCustomDelimiter : CHICKEN_INCLUDE_PATH "$1/share/"
}

View File

@ -1,13 +1,13 @@
{ stdenv, callPackage, fetchFromGitHub }:
callPackage ./build.nix {
version = "unstable-2019-02-05";
# git-version = "4.9.3";
version = "unstable-2019-07-21";
# git-version = "4.9.3-109-g3b5f74fa";
src = fetchFromGitHub {
owner = "feeley";
repo = "gambit";
rev = "baf7de67f6d800821412fe83a8d9e9e09faeb490";
sha256 = "0ygm5y8fvq6dbb8mwq52v8rc8pdnwm4qpmxlnx5m9hzzbm1kzxxv";
rev = "3b5f74fae74b2159e3bf6923f29a18b31cc15dcc";
sha256 = "07cb0d8754dqhxawkp5dp4y0bsa9kfald4dkj60j5yfnsp81y5mi";
};
inherit stdenv;
}

View File

@ -1,14 +1,14 @@
{ stdenv, callPackage, fetchFromGitHub, gambit-unstable }:
callPackage ./build.nix {
version = "unstable-2019-02-09";
git-version = "0.16-DEV-15-gafc20fc2";
version = "unstable-2019-08-11";
git-version = "0.16-DEV-132-gcb58f9a3";
gambit = gambit-unstable;
src = fetchFromGitHub {
owner = "vyzo";
repo = "gerbil";
rev = "afc20fc21030e8445b46b8267cc4c52cfd662aad";
sha256 = "02v16zya9zryjs4wallibp1kvnpba60aw15y4k7zhddc71qjfbhw";
rev = "cb58f9a30630a6f3e85a55f2c1dcc654f517ffed";
sha256 = "18jh64v1gi6z3pks9zf19f2wcjpv21cs270dnaq617kgwp53vysh";
};
inherit stdenv;
}

View File

@ -86,12 +86,12 @@ let
in
stdenv.mkDerivation (rec {
version = "8.8.0.20190613";
version = "8.8.0.20190721";
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/~ghc/8.8.1-alpha2/ghc-${version}-src.tar.xz";
sha256 = "17531jabkdmlhj57mkshjfwlri2g3jgal8fw9zpkl1kbplnrivyr";
url = "https://downloads.haskell.org/ghc/8.8.1-rc1/ghc-${version}-src.tar.xz";
sha256 = "1ih76zpxk8ay84xjyaflqc754002y8pdaainqfvb4cnhy6lpb1br";
};
enableParallelBuilding = true;

View File

@ -0,0 +1,53 @@
Index: lib/Driver/ToolChains/BareMetal.cpp
===================================================================
--- a/lib/Driver/ToolChains/BareMetal.cpp
+++ b/lib/Driver/ToolChains/BareMetal.cpp
@@ -157,7 +157,7 @@
void BareMetal::AddLinkRuntimeLib(const ArgList &Args,
ArgStringList &CmdArgs) const {
CmdArgs.push_back(Args.MakeArgString("-lclang_rt.builtins-" +
- getTriple().getArchName() + ".a"));
+ getTriple().getArchName()));
}
void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
Index: test/Driver/baremetal.cpp
===================================================================
--- a/test/Driver/baremetal.cpp
+++ b/test/Driver/baremetal.cpp
@@ -13,7 +13,7 @@
// CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
// CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
// CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
-// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
+// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
// CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
@@ -35,7 +35,7 @@
// CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
// CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
// CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
-// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
+// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
// CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
// RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
@@ -48,7 +48,7 @@
// CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
// CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
// CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
-// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
+// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
// CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o"
// RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
@@ -61,7 +61,7 @@
// CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
// CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
// CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
-// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
+// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
// CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
// RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \

View File

@ -47,6 +47,8 @@ let
# Backport for the `--unwindlib=[libgcc|compiler-rt]` flag, which is
# needed for our bootstrapping to not interfere with C.
./unwindlib.patch
# https://reviews.llvm.org/D51899
./compiler-rt-baremetal.patch
];
postPatch = ''

View File

@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
"-DCOMPILER_RT_BUILD_XRAY=OFF"
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
] ++ stdenv.lib.optionals (stdenv.hostPlatform.parsed.kernel.name == "none") [
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCOMPILER_RT_OS_DIR=baremetal"
];
outputs = [ "out" "dev" ];

View File

@ -25,6 +25,10 @@ stdenv.mkDerivation ( rec {
substituteInPlace packages/process/_test.pony \
--replace '=/bin' "${coreutils}/bin"
# Disabling the stdlib tests
substituteInPlace Makefile-ponyc \
--replace 'test-ci: all check-version test-core test-stdlib-debug test-stdlib' 'test-ci: all check-version test-core'
# Remove impure system refs
substituteInPlace src/libponyc/pkg/package.c \
--replace "/usr/local/lib" "" \

View File

@ -0,0 +1,35 @@
{ stdenv, lib, rustPlatform, rustc, Security, patchelf }:
rustPlatform.buildRustPackage rec {
name = "clippy-${rustc.version}";
inherit (rustc) version src;
# the rust source tarball already has all the dependencies vendored, no need to fetch them again
cargoVendorDir = "vendor";
preBuild = "pushd src/tools/clippy";
postBuild = "popd";
# changes hash of vendor directory otherwise
dontUpdateAutotoolsGnuConfigScripts = true;
buildInputs = [ rustc ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
# fixes: error: the option `Z` is only accepted on the nightly compiler
RUSTC_BOOTSTRAP = 1;
# Without disabling the test the build fails with:
# error: failed to run custom build command for `rustc_llvm v0.0.0
# (/private/tmp/nix-build-clippy-1.36.0.drv-0/rustc-1.36.0-src/src/librustc_llvm)
doCheck = false;
preFixup = stdenv.lib.optionalString stdenv.isDarwin ''
install_name_tool -add_rpath "${rustc}/lib" $out/bin/clippy-driver
'';
meta = with stdenv.lib; {
homepage = https://rust-lang.github.io/rust-clippy/;
description = "A bunch of lints to catch common mistakes and improve your Rust code";
maintainers = with maintainers; [ basvandijk ];
license = with licenses; [ mit asl20 ];
platforms = platforms.unix;
};
}

View File

@ -64,6 +64,7 @@
rustPlatform = bootRustPlatform;
inherit CoreFoundation Security;
};
clippy = self.callPackage ./clippy.nix { inherit Security; };
});
};
}

View File

@ -214,15 +214,19 @@ self: super: {
# base bound
digit = doJailbreak super.digit;
# Needs older version of QuickCheck.
these_0_7_6 = doJailbreak super.these_0_7_6;
# dontCheck: Can be removed once https://github.com/haskell-nix/hnix/commit/471712f is in (5.2 probably)
# This is due to GenList having been removed from generic-random in 1.2.0.0
# doJailbreak: Can be removed once https://github.com/haskell-nix/hnix/pull/329 is in (5.2 probably)
# This is due to hnix currently having an upper bound of <0.5 on deriving-compat, works just fine with our current version 0.5.1 though
# Does not support recent versions of "these".
# https://github.com/haskell-nix/hnix/issues/514
hnix =
generateOptparseApplicativeCompletion "hnix" (
dontCheck (doJailbreak (overrideCabal super.hnix (old: {
testHaskellDepends = old.testHaskellDepends or [] ++ [ pkgs.nix ];
}))));
dontCheck (doJailbreak (super.hnix.override { these = self.these_0_7_6; }))
);
# Fails for non-obvious reasons while attempting to use doctest.
search = dontCheck super.search;
@ -1224,14 +1228,14 @@ self: super: {
# The latest release version is ancient. You really need this tool from git.
haskell-ci = generateOptparseApplicativeCompletion "haskell-ci"
(addBuildDepend (overrideSrc (dontCheck super.haskell-ci) {
version = "20190625-git";
version = "20190814-git";
src = pkgs.fetchFromGitHub {
owner = "haskell-CI";
repo = "haskell-ci";
rev = "260f967c6973dfb22ecc8061a1811a2ea4b79e01";
sha256 = "1mvn6pqa6wfcm4jxhlhm4l54pwrlgnz7vdrmkwabliwz4q0bzgqk";
rev = "70918d80b6fd43aca7e4d00ba0d2ea116b666556";
sha256 = "0bzp959qy74zmqq75f60rcixpjbvvyrb5a8zp2nyql3nm9vxzy5k";
};
}) (with self; [base-compat generic-lens microlens optparse-applicative ShellCheck exceptions temporary]));
}) (with self; [temporary lattices Cabal_3_0_0_0]));
# Fix build with attr-2.4.48 (see #53716)
xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;

View File

@ -43,7 +43,7 @@ core-packages:
- ghcjs-base-0
default-package-overrides:
# LTS Haskell 14.0
# LTS Haskell 14.1
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@ -91,8 +91,8 @@ default-package-overrides:
- ANum ==0.2.0.2
- aos-signature ==0.1.1
- apecs ==0.8.1
- apecs-gloss ==0.2.1
- apecs-physics ==0.4.0
- apecs-gloss ==0.2.2
- apecs-physics ==0.4.2
- api-field-json-th ==0.1.0.2
- appar ==0.1.8
- appendmap ==0.1.5
@ -134,12 +134,12 @@ default-package-overrides:
- authenticate ==1.3.4
- authenticate-oauth ==1.6
- auto ==0.4.3.1
- autoexporter ==1.1.13
- autoexporter ==1.1.14
- auto-update ==0.1.6
- avers ==0.0.17.1
- avers-api ==0.1.0
- avers-server ==0.1.0.1
- avro ==0.4.5.1
- avro ==0.4.5.2
- avwx ==0.3.0.2
- aws-cloudfront-signed-cookies ==0.2.0.1
- aws-lambda-haskell-runtime ==2.0.1
@ -203,7 +203,7 @@ default-package-overrides:
- bits ==0.5.2
- bitset-word8 ==0.1.1.1
- bits-extra ==0.0.1.3
- bitvec ==1.0.0.0
- bitvec ==1.0.0.1
- bitx-bitcoin ==0.12.0.0
- blake2 ==0.3.0
- blas-carray ==0.1.0.1
@ -260,7 +260,7 @@ default-package-overrides:
- bytestring-to-vector ==0.3.0.1
- bytestring-tree-builder ==0.2.7.3
- bzlib ==0.5.0.5
- bzlib-conduit ==0.3.0.1
- bzlib-conduit ==0.3.0.2
- c2hs ==0.28.6
- Cabal ==2.4.1.0
- cabal2spec ==2.2.2.1
@ -413,7 +413,7 @@ default-package-overrides:
- crc32c ==0.0.0
- credential-store ==0.1.2
- criterion ==1.5.5.0
- criterion-measurement ==0.1.1.0
- criterion-measurement ==0.1.2.0
- cron ==0.6.1
- crypto-api ==0.13.3
- crypto-api-tests ==0.3
@ -540,7 +540,7 @@ default-package-overrides:
- distribution-opensuse ==1.1.1
- distributive ==0.6
- dl-fedora ==0.5
- dlist ==0.8.0.6
- dlist ==0.8.0.7
- dlist-instances ==0.1.1.1
- dlist-nonempty ==0.1.1
- dns ==4.0.0
@ -581,7 +581,7 @@ default-package-overrides:
- edit-distance-vector ==1.0.0.4
- editor-open ==0.6.0.0
- either ==5.0.1.1
- either-both ==0.1.0.0
- either-both ==0.1.1.1
- ekg ==0.4.0.15
- ekg-core ==0.1.1.6
- ekg-json ==0.1.0.6
@ -668,7 +668,7 @@ default-package-overrides:
- filepattern ==0.1.1
- fileplow ==0.1.0.0
- filter-logger ==0.6.0.0
- filtrable ==0.1.1.0
- filtrable ==0.1.2.0
- fin ==0.1
- FindBin ==0.0.5
- fingertree ==0.1.4.2
@ -852,12 +852,12 @@ default-package-overrides:
- HandsomeSoup ==0.4.2
- hapistrano ==0.3.9.3
- happy ==1.19.11
- hasbolt ==0.1.3.3
- hasbolt ==0.1.3.4
- hashable ==1.2.7.0
- hashable-time ==0.2.0.2
- hashids ==1.0.2.4
- hashmap ==1.3.3
- hashtables ==1.2.3.3
- hashtables ==1.2.3.4
- haskeline ==0.7.5.0
- haskell-gi ==0.23.0
- haskell-gi-base ==0.23.0
@ -893,7 +893,7 @@ default-package-overrides:
- hedgehog ==1.0
- hedgehog-corpus ==0.1.0
- hedgehog-fn ==1.0
- hedis ==0.12.6
- hedis ==0.12.7
- hedn ==0.2.0.1
- here ==1.2.13
- heredoc ==0.2.0.0
@ -1184,7 +1184,7 @@ default-package-overrides:
- language-java ==0.2.9
- language-javascript ==0.6.0.13
- language-puppet ==1.4.5
- lapack ==0.3.0.1
- lapack ==0.3.1
- lapack-carray ==0.0.3
- lapack-comfort-array ==0.0.0.1
- lapack-ffi ==0.0.2
@ -1229,7 +1229,7 @@ default-package-overrides:
- lift-generics ==0.1.2
- line ==4.0.1
- linear ==1.20.9
- linear-circuit ==0.1.0.1
- linear-circuit ==0.1.0.2
- linux-file-extents ==0.2.0.0
- linux-namespaces ==0.1.3.0
- List ==0.6.2
@ -1338,7 +1338,7 @@ default-package-overrides:
- mmtf ==0.1.3.1
- mnist-idx ==0.1.2.8
- mockery ==0.3.5
- modern-uri ==0.3.0.1
- modern-uri ==0.3.1.0
- modular ==0.1.0.8
- monad-control ==1.0.2.3
- monad-control-aligned ==0.0.1.1
@ -1509,14 +1509,14 @@ default-package-overrides:
- pandoc-citeproc ==0.16.2
- pandoc-csv2table ==1.0.7
- pandoc-markdown-ghci-filter ==0.1.0.0
- pandoc-pyplot ==2.1.4.0
- pandoc-pyplot ==2.1.5.1
- pandoc-types ==1.17.5.4
- pantry ==0.1.1.1
- parallel ==3.2.2.0
- parallel-io ==0.3.3
- paripari ==0.6.0.0
- parseargs ==0.2.0.9
- parsec ==3.1.13.0
- parsec ==3.1.14.0
- parsec-class ==1.0.0.0
- parsec-numbers ==0.1.0
- parsec-numeric ==0.1.0.0
@ -1610,7 +1610,7 @@ default-package-overrides:
- port-utils ==0.2.1.0
- posix-paths ==0.2.1.6
- possibly ==1.0.0.0
- postgresql-binary ==0.12.1.2
- postgresql-binary ==0.12.1.3
- postgresql-libpq ==0.9.4.2
- postgresql-orm ==0.5.1
- postgresql-schema ==0.1.14
@ -1692,7 +1692,7 @@ default-package-overrides:
- quickcheck-classes ==0.6.1.0
- quickcheck-instances ==0.3.22
- quickcheck-io ==0.2.0
- quickcheck-simple ==0.1.1.0
- quickcheck-simple ==0.1.1.1
- quickcheck-special ==0.1.0.6
- quickcheck-state-machine ==0.6.0
- quickcheck-text ==0.1.2.1
@ -1754,7 +1754,7 @@ default-package-overrides:
- regex-tdfa ==1.2.3.2
- regex-tdfa-text ==1.0.0.3
- regex-with-pcre ==1.0.2.0
- registry ==0.1.6.2
- registry ==0.1.7.0
- reinterpret-cast ==0.1.0
- relapse ==1.0.0.0
- relational-query ==0.12.2.2
@ -1771,7 +1771,7 @@ default-package-overrides:
- req-conduit ==1.0.0
- require ==0.4.2
- rerebase ==1.3.1.1
- resistor-cube ==0.0.1.1
- resistor-cube ==0.0.1.2
- resource-pool ==0.2.3.2
- resourcet ==1.2.2
- result ==0.2.6.0
@ -1808,7 +1808,7 @@ default-package-overrides:
- safe-json ==0.1.0
- safe-money ==0.9
- SafeSemaphore ==0.10.1
- salak ==0.3.3
- salak ==0.3.3.1
- salak-toml ==0.3.3
- salak-yaml ==0.3.3
- saltine ==0.1.0.2
@ -2222,7 +2222,7 @@ default-package-overrides:
- ucam-webauth ==0.1.0.0
- ucam-webauth-types ==0.1.0.0
- uglymemo ==0.1.0.1
- unagi-chan ==0.4.1.0
- unagi-chan ==0.4.1.2
- unbounded-delays ==0.1.1.0
- unbound-generics ==0.4.0
- unboxed-ref ==0.4.0.0
@ -2251,7 +2251,7 @@ default-package-overrides:
- universe-reverse-instances ==1.1
- universum ==1.5.0
- unix-bytestring ==0.3.7.3
- unix-compat ==0.5.1
- unix-compat ==0.5.2
- unix-time ==0.4.7
- unliftio ==0.2.12
- unliftio-core ==0.1.2.0
@ -2361,7 +2361,7 @@ default-package-overrides:
- windns ==0.1.0.1
- winery ==1.1.2
- wire-streams ==0.1.1.0
- witherable ==0.3.1
- witherable ==0.3.2
- with-location ==0.1.0
- witness ==0.4
- wizards ==1.0.3
@ -2522,6 +2522,7 @@ extra-packages:
- seqid-streams < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
- split < 0.2 # newer versions don't work with GHC 6.12.3
- tar < 0.4.2.0 # later versions don't work with GHC < 7.6.x
- these == 0.7.6 # required by hnix 0.6.1
- transformers == 0.4.3.* # the latest version isn't supported by mtl yet
- vector < 0.10.10 # newer versions don't work with GHC 6.12.3
- xml-conduit ^>= 1.7 # pre-lts-11.x versions neeed by git-annex 6.20180227
@ -3253,6 +3254,7 @@ broken-packages:
- Bang
- bank-holiday-usa
- banwords
- barbly
- barchart
- barcodes-code128
- barecheck
@ -4943,6 +4945,7 @@ broken-packages:
- functional-arrow
- functor
- functor-combinators
- functor-products
- functorm
- funflow
- funflow-nix
@ -5921,7 +5924,6 @@ broken-packages:
- hmumps
- hnetcdf
- hnix
- hnix-store-core
- hnix-store-remote
- HNM
- hnormalise
@ -5990,7 +5992,6 @@ broken-packages:
- hp2any-core
- hp2any-graph
- hp2any-manager
- hpack
- hpack-convert
- hpack-dhall
- hpaco
@ -6237,7 +6238,6 @@ broken-packages:
- http-conduit-browser
- http-directory
- http-dispatch
- http-download
- http-enumerator
- http-grammar
- http-kinder
@ -6579,7 +6579,6 @@ broken-packages:
- join-api
- joinlist
- jonathanscard
- jose
- jpeg
- js-good-parts
- jsaddle-hello
@ -7612,6 +7611,7 @@ broken-packages:
- Nomyx-Web
- non-empty-zipper
- NonEmpty
- nonempty-lift
- NonEmptyList
- normalization-insensitive
- NoSlow
@ -7792,7 +7792,6 @@ broken-packages:
- pang-a-lambda
- pangraph
- panpipe
- pantry
- pantry-tmp
- papa-export
- papa-implement
@ -8532,6 +8531,7 @@ broken-packages:
- rfc-servant
- rg
- rhythm-game-tutorial
- rib
- RichConditional
- ridley
- ridley-extras
@ -8767,7 +8767,6 @@ broken-packages:
- servant-aeson-specs
- servant-auth-cookie
- servant-auth-hmac
- servant-auth-server
- servant-auth-token
- servant-auth-token-acid
- servant-auth-token-api
@ -9106,6 +9105,7 @@ broken-packages:
- sparrow
- sparse
- sparse-lin-alg
- sparse-tensor
- sparsebit
- sparsecheck
- sparser
@ -9394,6 +9394,7 @@ broken-packages:
- taglib-api
- tagsoup-ht
- tagsoup-megaparsec
- tagsoup-navigate
- tagsoup-parsec
- tagsoup-selection
- tai64
@ -9413,11 +9414,9 @@ broken-packages:
- task-distribution
- taskell
- tasty-auto
- tasty-discover
- tasty-fail-fast
- tasty-groundhog-converters
- tasty-hedgehog-coverage
- tasty-hspec
- tasty-integrate
- tasty-jenkins-xml
- tasty-laws
@ -10292,6 +10291,7 @@ broken-packages:
- yate
- yavie
- yaya
- yaya-hedgehog
- yaya-unsafe
- ycextra
- yeller

View File

@ -95,6 +95,7 @@ self: super: builtins.intersectAttrs super {
sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
cachix = enableSeparateBinOutput super.cachix;
ghcid = enableSeparateBinOutput super.ghcid;
hzk = overrideCabal super.hzk (drv: {
preConfigure = "sed -i -e /include-dirs/d hzk.cabal";

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,6 @@ mkDerivation rec {
];
prePatch = ''
substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
'';
}

View File

@ -5,6 +5,6 @@ mkDerivation rec {
sha256 = "0v2iiyzss8hiih98wvj0gi2qzdmmhh7bvc9p025wlfm4k7r1109a";
prePatch = ''
substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
'';
}

View File

@ -5,6 +5,6 @@ mkDerivation rec {
sha256 = "1szybirrcpqsl2nmlmpbkxjqnm6i7l7bma87m5cpwi0kpvlxwmcw";
prePatch = ''
substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
'';
}

View File

@ -5,7 +5,7 @@ mkDerivation rec {
sha256 = "1aqkhd6nwdn4xp5yz02zbymd4x8ij8fjw9ji8kh860n1a513k9ai";
prePatch = ''
substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' '10.10'
substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
substituteInPlace erts/configure.in --replace '-Wl,-no_weak_imports' ""
'';
}

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,18 @@
{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang }:
rustPlatform.buildRustPackage rec {
name = "wasmtime-${version}";
version = "0.1.0";
pname = "wasmtime";
version = "20190521";
src = fetchFromGitHub {
owner = "CraneStation";
repo = "wasmtime";
rev = "07a6ca8f4e1136ecd9f4af8d1f03a01aade60407";
sha256 = "1cq6nz90kaf023mcyblca90bpvbzhq8xjq01laa28v7r50lagcn5";
rev = "e530a582afe6a2b5735fd7cdf5e2e88391e58669";
sha256 = "13lqf9dp1cnw7ms7hcgirmlfkr0v7nrn3p5g7yacfasrqgnwsyl8";
fetchSubmodules = true;
};
cargoSha256 = "0xy8vazb4nc4q1098ws92j1yfwp9w7q30z0yk2gindkn898603bc";
cargoSha256 = "1jbpq09czm295316gdv3y0pfapqs0ynj3qbarwlnrv7valq5ak13";
cargoPatches = [ ./cargo-lock.patch ];

View File

@ -0,0 +1,24 @@
{ stdenv, fetchFromGitHub, cmake, gflags }:
stdenv.mkDerivation rec {
pname = "crc32c";
version = "1.1.0";
src = fetchFromGitHub {
owner = "google";
repo = "crc32c";
rev = version;
sha256 = "1sazkis9rzbrklfrvk7jn1mqywnq4yghmzg94mxd153h8b1sb149";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
buildInputs = [ gflags ];
NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isAarch64 "-march=armv8-a+crc";
meta = with stdenv.lib; {
homepage = https://github.com/google/crc32c;
description = "CRC32C implementation with support for CPU-specific acceleration instructions";
license = with licenses; [ bsd3 ];
maintainers = with maintainers; [ andir ];
};
}

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "cre2-${version}";
version = "0.3.0";
version = "0.3.6";
src = fetchFromGitHub {
owner = "marcomaggi";
repo = "cre2";
rev = version;
sha256 = "12yrdad87jjqrhbqm02hzsayan2402vf61a9x1b2iabv6d1c1bnj";
rev = "v${version}";
sha256 = "1h9jwn6z8kjf4agla85b5xf7gfkdwncp0mfd8zwk98jkm8y2qx9q";
};
nativeBuildInputs = [

View File

@ -0,0 +1,65 @@
{ stdenv, grpc, curl, cmake, pkgconfig, fetchFromGitHub, doxygen, protobuf, crc32c, c-ares, nlohmann_json, fetchurl }:
let
googleapis_rev = "a8ee1416f4c588f2ab92da72e7c1f588c784d3e6";
googleapis = fetchurl {
name = "${googleapis_rev}.tar.gz";
url = "https://github.com/googleapis/googleapis/archive/${googleapis_rev}.tar.gz";
sha256 = "1kxi27r034p7jfldhvgpbn6rqqqddycnja47m6jyjxj4rcmrp2kb";
};
in stdenv.mkDerivation rec {
pname = "google-cloud-cpp";
version = "0.11.0";
src = fetchFromGitHub {
owner = "googleapis";
repo = "google-cloud-cpp";
rev = "v${version}";
sha256 = "1w942gzyv01ym1cv2a417x92zxra9s2v3xz5crcv84j919f616f8";
};
buildInputs = [ curl grpc protobuf nlohmann_json crc32c c-ares c-ares.cmake-config ];
nativeBuildInputs = [ cmake pkgconfig doxygen ];
outputs = [ "out" "dev" ];
postPatch = ''
NLOHMANN_SHA256=$(sha256sum ${nlohmann_json}/include/nlohmann/json.hpp | cut -f1 -d' ')
sed -e 's,https://github.com/nlohmann/json/releases/download/.*,file://${nlohmann_json}/include/nlohmann/json.hpp"),' \
-e "s,JSON_SHA256 .*,JSON_SHA256 ''${NLOHMANN_SHA256}," \
-i cmake/DownloadNlohmannJson.cmake
sed -e 's,https://github.com/googleapis/googleapis/archive/${googleapis_rev}.tar.gz,file://${googleapis},' \
-i cmake/external/googleapis.cmake
# Fixup the library path. It would build a path like /build/external//nix/store/…-foo/lib/foo.so for each library instead of /build/external/lib64/foo.so
sed -e 's,''${CMAKE_INSTALL_LIBDIR},lib64,g' \
-e 's,;lib64,lib,g' \
-i cmake/ExternalProjectHelper.cmake
'';
preFixup = ''
mv --no-clobber $out/lib64/cmake/* $out/lib/cmake
mv --no-clobber $out/lib64/pkgconfig/* $out/lib/pkgconfig
rmdir $out/lib64/cmake $out/lib64/pkgconfig
find $out/lib64
for file in $out/lib/pkgconfig/*; do
sed -e 's,\''${prefix}//,/,g' -i $file
done
'';
cmakeFlags = [
"-DGOOGLE_CLOUD_CPP_BIGTABLE_ENABLE_INSTALL=no"
"-DGOOGLE_CLOUD_CPP_DEPENDENCY_PROVIDER=package"
"-DGOOGLE_CLOUD_CPP_GOOGLEAPIS_PROVIDER=external"
"-DBUILD_SHARED_LIBS:BOOL=ON"
"-DGOOGLE_CLOUD_CPP_INSTALL_RPATH=$(out)/lib"
];
meta = with stdenv.lib; {
license = with licenses; [ asl20 ];
homepage = https://github.com/googleapis/google-cloud-cpp;
description = "C++ Idiomatic Clients for Google Cloud Platform services";
maintainers = with maintainers; [ andir ];
};
}

View File

@ -0,0 +1,37 @@
From 8c67f314de2684d77315eecd99ef091d441f17dd Mon Sep 17 00:00:00 2001
From: Matthew Bauer <mjbauer95@gmail.com>
Date: Wed, 24 Jul 2019 15:35:18 -0400
Subject: [PATCH] Make hunspell look in XDG_DATA_DIRS for dictionaries
Some dictionaries may exist but only show up under XDG_DATA_DIRS. For
instance, $HOME/.local/share/hunspell could contain some dictionaries.
This patch adds each directory in the hunspell subdir of each
XDG_DATA_DIRS to the lookup path.
Upstream pr is available at: https://github.com/hunspell/hunspell/pull/637
---
src/tools/hunspell.cxx | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/tools/hunspell.cxx b/src/tools/hunspell.cxx
index 690e34a..6cd127e 100644
--- a/src/tools/hunspell.cxx
+++ b/src/tools/hunspell.cxx
@@ -2044,6 +2044,13 @@ int main(int argc, char** argv) {
if (getenv("DICPATH")) {
path_std_str.append(getenv("DICPATH")).append(PATHSEP);
}
+ if (getenv("XDG_DATA_DIRS")) {
+ char* dir = strtok(getenv("XDG_DATA_DIRS"), ":");
+ while (dir != NULL) {
+ path_std_str.append(dir).append("/hunspell:");
+ dir = strtok(NULL, ":");
+ }
+ }
path_std_str.append(LIBDIR).append(PATHSEP);
if (HOME) {
const char * userooodir[] = USEROOODIR;
--
2.22.0

View File

@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
buildInputs = [ ncurses readline ];
nativeBuildInputs = [ autoreconfHook ];
patches = [ ./0001-Make-hunspell-look-in-XDG_DATA_DIRS-for-dictionaries.patch ];
postPatch = ''
patchShebangs tests
'';

View File

@ -286,10 +286,11 @@ let
};
};
in {
in rec {
/* ENGLISH */
en_US = en-us;
en-us = mkDictFromWordlist {
shortName = "en-us";
shortDescription = "English (United States)";
@ -300,6 +301,7 @@ in {
};
};
en_CA = en-ca;
en-ca = mkDictFromWordlist {
shortName = "en-ca";
shortDescription = "English (Canada)";
@ -310,6 +312,7 @@ in {
};
};
en_GB-ise = en-gb-ise;
en-gb-ise = mkDictFromWordlist {
shortName = "en-gb-ise";
shortDescription = "English (United Kingdom, 'ise' ending)";
@ -320,6 +323,7 @@ in {
};
};
en_GB-ize = en-gb-ize;
en-gb-ize = mkDictFromWordlist {
shortName = "en-gb-ize";
shortDescription = "English (United Kingdom, 'ize' ending)";
@ -332,126 +336,147 @@ in {
/* SPANISH */
es_ANY = es-any;
es-any = mkDictFromRla {
shortName = "es-any";
shortDescription = "Spanish (any variant)";
dictFileName = "es_ANY";
};
es_AR = es-ar;
es-ar = mkDictFromRla {
shortName = "es-ar";
shortDescription = "Spanish (Argentina)";
dictFileName = "es_AR";
};
es_BO = es-bo;
es-bo = mkDictFromRla {
shortName = "es-bo";
shortDescription = "Spanish (Bolivia)";
dictFileName = "es_BO";
};
es_CL = es-cl;
es-cl = mkDictFromRla {
shortName = "es-cl";
shortDescription = "Spanish (Chile)";
dictFileName = "es_CL";
};
es_CO = es-co;
es-co = mkDictFromRla {
shortName = "es-co";
shortDescription = "Spanish (Colombia)";
dictFileName = "es_CO";
};
es_CR = es-cr;
es-cr = mkDictFromRla {
shortName = "es-cr";
shortDescription = "Spanish (Costra Rica)";
dictFileName = "es_CR";
};
es_CU = es-cu;
es-cu = mkDictFromRla {
shortName = "es-cu";
shortDescription = "Spanish (Cuba)";
dictFileName = "es_CU";
};
es_DO = es-do;
es-do = mkDictFromRla {
shortName = "es-do";
shortDescription = "Spanish (Dominican Republic)";
dictFileName = "es_DO";
};
es_EC = es-ec;
es-ec = mkDictFromRla {
shortName = "es-ec";
shortDescription = "Spanish (Ecuador)";
dictFileName = "es_EC";
};
es_ES = es-es;
es-es = mkDictFromRla {
shortName = "es-es";
shortDescription = "Spanish (Spain)";
dictFileName = "es_ES";
};
es_GT = es-gt;
es-gt = mkDictFromRla {
shortName = "es-gt";
shortDescription = "Spanish (Guatemala)";
dictFileName = "es_GT";
};
es_HN = es-hn;
es-hn = mkDictFromRla {
shortName = "es-hn";
shortDescription = "Spanish (Honduras)";
dictFileName = "es_HN";
};
es_MX = es-mx;
es-mx = mkDictFromRla {
shortName = "es-mx";
shortDescription = "Spanish (Mexico)";
dictFileName = "es_MX";
};
es_NI = es-ni;
es-ni = mkDictFromRla {
shortName = "es-ni";
shortDescription = "Spanish (Nicaragua)";
dictFileName = "es_NI";
};
es_PA = es-pa;
es-pa = mkDictFromRla {
shortName = "es-pa";
shortDescription = "Spanish (Panama)";
dictFileName = "es_PA";
};
es_PE = es-pe;
es-pe = mkDictFromRla {
shortName = "es-pe";
shortDescription = "Spanish (Peru)";
dictFileName = "es_PE";
};
es_PR = es-pr;
es-pr = mkDictFromRla {
shortName = "es-pr";
shortDescription = "Spanish (Puerto Rico)";
dictFileName = "es_PR";
};
es_PY = es-py;
es-py = mkDictFromRla {
shortName = "es-py";
shortDescription = "Spanish (Paraguay)";
dictFileName = "es_PY";
};
es_SV = es-sv;
es-sv = mkDictFromRla {
shortName = "es-sv";
shortDescription = "Spanish (El Salvador)";
dictFileName = "es_SV";
};
es_UY = es-uy;
es-uy = mkDictFromRla {
shortName = "es-uy";
shortDescription = "Spanish (Uruguay)";
dictFileName = "es_UY";
};
es_VE = es-ve;
es-ve = mkDictFromRla {
shortName = "es-ve";
shortDescription = "Spanish (Venezuela)";
@ -505,6 +530,7 @@ in {
/* ITALIAN */
it_IT = it-it;
it-it = mkDictFromLinguistico rec {
shortName = "it-it";
dictFileName = "it_IT";
@ -517,6 +543,7 @@ in {
/* BASQUE */
eu_ES = eu-es;
eu-es = mkDictFromXuxen {
shortName = "eu-es";
dictFileName = "eu_ES";
@ -549,6 +576,7 @@ in {
/* HUNGARIAN */
hu_HU = hu-hu;
hu-hu = mkDictFromLibreOffice {
shortName = "hu-hu";
dictFileName = "hu_HU";
@ -558,6 +586,7 @@ in {
/* SWEDISH */
sv_SE = sv-se;
sv-se = mkDictFromDSSO rec {
shortName = "sv-se";
dictFileName = "sv_SE";
@ -565,6 +594,7 @@ in {
};
# Finlandian Swedish (hello Linus Torvalds)
sv_FI = sv-fi;
sv-fi = mkDictFromDSSO rec {
shortName = "sv-fi";
dictFileName = "sv_FI";
@ -573,18 +603,21 @@ in {
/* GERMAN */
de_DE = de-de;
de-de = mkDictFromJ3e {
shortName = "de-de";
shortDescription = "German (Germany)";
dictFileName = "de_DE";
};
de_AT = de-at;
de-at = mkDictFromJ3e {
shortName = "de-at";
shortDescription = "German (Austria)";
dictFileName = "de_AT";
};
de_CH = de-ch;
de-ch = mkDictFromJ3e {
shortName = "de-ch";
shortDescription = "German (Switzerland)";
@ -593,6 +626,7 @@ in {
/* UKRAINIAN */
uk_UA = uk-ua;
uk-ua = mkDict rec {
name = "hunspell-dict-uk-ua-${version}";
version = "4.2.5";

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