Merge remote-tracking branch 'upstream/master' into hardened-stdenv

This commit is contained in:
Robin Gloster 2016-08-16 07:54:01 +00:00
commit 33e1c78ae3
139 changed files with 1301 additions and 1116 deletions

View File

@ -566,7 +566,7 @@ running `nix-shell` with the following `shell.nix`
with import <nixpkgs> {}; with import <nixpkgs> {};
(python3.buildEnv.override { (python3.buildEnv.override {
extraLibs = with python3Packages; [ numpy requests ]; extraLibs = with python3Packages; [ numpy requests2 ];
}).env }).env
will drop you into a shell where Python will have the will drop you into a shell where Python will have the
@ -605,7 +605,7 @@ attribute. The `shell.nix` file from the previous section can thus be also writt
with import <nixpkgs> {}; with import <nixpkgs> {};
(python33.withPackages (ps: [ps.numpy ps.requests])).env (python33.withPackages (ps: [ps.numpy ps.requests2])).env
In contrast to `python.buildEnv`, `python.withPackages` does not support the more advanced options In contrast to `python.buildEnv`, `python.withPackages` does not support the more advanced options
such as `ignoreCollisions = true` or `postBuild`. If you need them, you have to use `python.buildEnv`. such as `ignoreCollisions = true` or `postBuild`. If you need them, you have to use `python.buildEnv`.

View File

@ -240,7 +240,7 @@
mathnerd314 = "Mathnerd314 <mathnerd314.gph+hs@gmail.com>"; mathnerd314 = "Mathnerd314 <mathnerd314.gph+hs@gmail.com>";
matthiasbeyer = "Matthias Beyer <mail@beyermatthias.de>"; matthiasbeyer = "Matthias Beyer <mail@beyermatthias.de>";
maurer = "Matthew Maurer <matthew.r.maurer+nix@gmail.com>"; maurer = "Matthew Maurer <matthew.r.maurer+nix@gmail.com>";
mbakke = "Marius Bakke <ymse@tuta.io>"; mbakke = "Marius Bakke <mbakke@fastmail.com>";
matthewbauer = "Matthew Bauer <mjbauer95@gmail.com>"; matthewbauer = "Matthew Bauer <mjbauer95@gmail.com>";
mbe = "Brandon Edens <brandonedens@gmail.com>"; mbe = "Brandon Edens <brandonedens@gmail.com>";
mboes = "Mathieu Boespflug <mboes@tweag.net>"; mboes = "Mathieu Boespflug <mboes@tweag.net>";
@ -248,6 +248,7 @@
meditans = "Carlo Nucera <meditans@gmail.com>"; meditans = "Carlo Nucera <meditans@gmail.com>";
meisternu = "Matt Miemiec <meister@krutt.org>"; meisternu = "Matt Miemiec <meister@krutt.org>";
michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>"; michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
michalrus = "Michal Rus <m@michalrus.com>";
michelk = "Michel Kuhlmann <michel@kuhlmanns.info>"; michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
mimadrid = "Miguel Madrid <mimadrid@ucm.es>"; mimadrid = "Miguel Madrid <mimadrid@ucm.es>";
mingchuan = "Ming Chuan <ming@culpring.com>"; mingchuan = "Ming Chuan <ming@culpring.com>";

View File

@ -265,6 +265,11 @@
<sect1 xml:id="sec-grsec-issues"><title>Issues and work-arounds</title> <sect1 xml:id="sec-grsec-issues"><title>Issues and work-arounds</title>
<itemizedlist> <itemizedlist>
<listitem><para>User namespaces require <literal>CAP_SYS_ADMIN</literal>:
consequently, unprivileged namespaces are unsupported. Applications that
rely on namespaces for sandboxing must use a privileged helper. For chromium
there is <option>security.chromiumSuidSandbox.enable</option>.</para></listitem>
<listitem><para>Access to EFI runtime services is disabled by default: <listitem><para>Access to EFI runtime services is disabled by default:
this plugs a potential code injection attack vector; use this plugs a potential code injection attack vector; use
<option>security.grsecurity.disableEfiRuntimeServices</option> to override <option>security.grsecurity.disableEfiRuntimeServices</option> to override

View File

@ -12,6 +12,9 @@
# directly. # directly.
partitioned ? true partitioned ? true
# Whether to invoke switch-to-configuration boot during image creation
, installBootLoader ? true
, # The root file system type. , # The root file system type.
fsType ? "ext4" fsType ? "ext4"
@ -108,7 +111,7 @@ pkgs.vmTools.runInLinuxVM (
# Generate the GRUB menu. # Generate the GRUB menu.
ln -s vda /dev/xvda ln -s vda /dev/xvda
ln -s vda /dev/sda ln -s vda /dev/sda
chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot ${optionalString installBootLoader "chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot"}
umount /mnt/proc /mnt/dev /mnt/sys umount /mnt/proc /mnt/dev /mnt/sys
umount /mnt umount /mnt

View File

@ -119,11 +119,13 @@ in
"kernel.grsecurity.chroot_deny_chroot" = mkForce 0; "kernel.grsecurity.chroot_deny_chroot" = mkForce 0;
"kernel.grsecurity.chroot_deny_mount" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
"kernel.grsecurity.chroot_deny_pivot" = mkForce 0; "kernel.grsecurity.chroot_deny_pivot" = mkForce 0;
"kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
} // optionalAttrs containerSupportRequired { } // optionalAttrs containerSupportRequired {
# chroot(2) restrictions that conflict with NixOS lightweight containers # chroot(2) restrictions that conflict with NixOS lightweight containers
"kernel.grsecurity.chroot_deny_chmod" = mkForce 0; "kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
"kernel.grsecurity.chroot_deny_mount" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
"kernel.grsecurity.chroot_restrict_nice" = mkForce 0; "kernel.grsecurity.chroot_restrict_nice" = mkForce 0;
"kernel.grsecurity.chroot_caps" = mkForce 0;
}; };
assertions = [ assertions = [

View File

@ -28,7 +28,7 @@ with lib;
description = "CrashPlan Backup Engine"; description = "CrashPlan Backup Engine";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" "local-fs.target" ];
preStart = '' preStart = ''
ensureDir() { ensureDir() {

View File

@ -75,9 +75,10 @@ in
boot.kernelModules = [ "autofs4" ]; boot.kernelModules = [ "autofs4" ];
systemd.services.autofs = systemd.services.autofs =
{ description = "Filesystem automounter"; { description = "Automounts filesystems on demand";
after = [ "network.target" "ypbind.service" "sssd.service" "network-online.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = '' preStart = ''
# There should be only one autofs service managed by systemd, so this should be safe. # There should be only one autofs service managed by systemd, so this should be safe.
@ -85,7 +86,9 @@ in
''; '';
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.autofs5}/sbin/automount ${if cfg.debug then "-d" else ""} -f -t ${builtins.toString cfg.timeout} ${autoMaster} ${if cfg.debug then "-l7" else ""}"; Type = "forking";
PIDFile = "/run/autofs.pid";
ExecStart = "${pkgs.autofs5}/bin/automount ${optionalString cfg.debug "-d"} -p /run/autofs.pid -t ${builtins.toString cfg.timeout} ${autoMaster}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
}; };
}; };

View File

@ -111,10 +111,10 @@ in {
description = "ejabberd server"; description = "ejabberd server";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
path = [ pkgs.findutils pkgs.coreutils ] ++ lib.optional cfg.imagemagick pkgs.imagemagick; path = [ pkgs.findutils pkgs.coreutils pkgs.runit ] ++ lib.optional cfg.imagemagick pkgs.imagemagick;
serviceConfig = { serviceConfig = {
Type = "forking"; ExecStart = ''${ectl} foreground'';
# FIXME: runit is used for `chpst` -- can we get rid of this? # FIXME: runit is used for `chpst` -- can we get rid of this?
ExecStop = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} stop''; ExecStop = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} stop'';
ExecReload = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} reload_config''; ExecReload = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} reload_config'';
@ -132,29 +132,24 @@ in {
mkdir -p -m750 "${cfg.spoolDir}" mkdir -p -m750 "${cfg.spoolDir}"
chown -R "${cfg.user}:${cfg.group}" "${cfg.spoolDir}" chown -R "${cfg.user}:${cfg.group}" "${cfg.spoolDir}"
if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then
touch "${cfg.spoolDir}/.firstRun"
fi
''; '';
script = '' postStart = ''
[ -z "$(ls -A '${cfg.spoolDir}')" ] && firstRun=1
${ectl} start
count=0
while ! ${ectl} status >/dev/null 2>&1; do while ! ${ectl} status >/dev/null 2>&1; do
if [ $count -eq 30 ]; then if ! kill -0 "$MAINPID"; then exit 1; fi
echo "ejabberd server hasn't started in 30 seconds, giving up" sleep 0.1
exit 1
fi
count=$((count++))
sleep 1
done done
if [ -n "$firstRun" ]; then if [ -e "${cfg.spoolDir}/.firstRun" ]; then
rm "${cfg.spoolDir}/.firstRun"
for src in ${dumps}; do for src in ${dumps}; do
find "$src" -type f | while read dump; do find "$src" -type f | while read dump; do
echo "Loading configuration dump at $dump" echo "Loading configuration dump at $dump"
${ectl} load "$dump" chpst -u "${cfg.user}:${cfg.group}" ${ectl} load "$dump"
done done
done done
fi fi

View File

@ -235,19 +235,13 @@ in {
systemd.packages = cfg.packages; systemd.packages = cfg.packages;
# Create an initialisation service that both starts systemd.services."network-manager" = {
# NetworkManager when network.target is reached,
# and sets up necessary directories for NM.
systemd.services."networkmanager-init" = {
description = "NetworkManager initialisation";
wantedBy = [ "network.target" ]; wantedBy = [ "network.target" ];
wants = [ "network-manager.service" ];
before = [ "network-manager.service" ]; preStart = ''
script = ''
mkdir -m 700 -p /etc/NetworkManager/system-connections mkdir -m 700 -p /etc/NetworkManager/system-connections
mkdir -m 755 -p ${stateDirs} mkdir -m 755 -p ${stateDirs}
''; '';
serviceConfig.Type = "oneshot";
}; };
# Turn off NixOS' network management # Turn off NixOS' network management

View File

@ -105,7 +105,7 @@ in {
}; };
}; };
config = mkIf (cfg.pools != {}) { config = mkIf (cfg.pools != {} || cfg.poolConfigs != {}) {
systemd.services.phpfpm = { systemd.services.phpfpm = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View File

@ -30,7 +30,7 @@ import ./make-test.nix ({ pkgs, ... }:
$machine->sleep(2); $machine->sleep(2);
# Why do I need to do this?? # Why do I need to do this??
$machine->succeed("su alice -c ecryptfs-umount-private"); $machine->succeed("su alice -c ecryptfs-umount-private || true");
$machine->sleep(1); $machine->sleep(1);
$machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted $machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted
@ -53,7 +53,7 @@ import ./make-test.nix ({ pkgs, ... }:
$machine->sleep(2); $machine->sleep(2);
# Why do I need to do this?? # Why do I need to do this??
$machine->succeed("su alice -c ecryptfs-umount-private"); $machine->succeed("su alice -c ecryptfs-umount-private || true");
$machine->sleep(1); $machine->sleep(1);
# Check that the filesystem is not accessible # Check that the filesystem is not accessible

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, gettext, intltool, pkgconfig, python { stdenv, fetchurl, gettext, intltool, pkgconfig, python
, avahi, bluez, boost, eigen, fftw, glib, glibmm, gtk, gtkmm, libjack2 , avahi, bluez, boost, eigen, fftw, glib, glib_networking
, glibmm, gsettings_desktop_schemas, gtk, gtkmm, libjack2
, ladspaH, librdf, libsndfile, lilv, lv2, serd, sord, sratom , ladspaH, librdf, libsndfile, lilv, lv2, serd, sord, sratom
, webkitgtk2, zita-convolver, zita-resampler , webkitgtk2, wrapGAppsHook, zita-convolver, zita-resampler
, optimizationSupport ? false # Enable support for native CPU extensions , optimizationSupport ? false # Enable support for native CPU extensions
}: }:
@ -11,19 +12,20 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "guitarix-${version}"; name = "guitarix-${version}";
version = "0.34.0"; version = "0.35.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2"; url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
sha256 = "0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8"; sha256 = "066qva1zk63qw60s0vbi9g9jh22ljw67p91pk82kv11gw24h3vg6";
}; };
nativeBuildInputs = [ gettext intltool pkgconfig python ]; nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python ];
buildInputs = [ buildInputs = [
avahi bluez boost eigen fftw glib glibmm gtk gtkmm libjack2 avahi bluez boost eigen fftw glib glibmm glib_networking.out
ladspaH librdf libsndfile lilv lv2 serd sord sratom gsettings_desktop_schemas gtk gtkmm libjack2 ladspaH librdf
webkitgtk2 zita-convolver zita-resampler libsndfile lilv lv2 serd sord sratom webkitgtk2 zita-convolver
zita-resampler
]; ];
configureFlags = [ configureFlags = [

View File

@ -1,8 +1,10 @@
{ stdenv, fetchgit, python, pythonPackages, cdparanoia, cdrdao { stdenv, fetchgit, pythonPackages, cdparanoia, cdrdao
, pygobject, gst_python, gst_plugins_base, gst_plugins_good , gst_python, gst_plugins_base, gst_plugins_good
, setuptools, utillinux, makeWrapper, substituteAll, autoreconfHook }: , utillinux, makeWrapper, substituteAll, autoreconfHook }:
stdenv.mkDerivation rec { let
inherit (pythonPackages) python;
in stdenv.mkDerivation rec {
name = "morituri-${version}"; name = "morituri-${version}";
version = "0.2.3.20151109"; version = "0.2.3.20151109";
namePrefix = ""; namePrefix = "";
@ -14,10 +16,10 @@ stdenv.mkDerivation rec {
sha256 = "1sl5y5j3gdbynf2v0gf9dwd2hzawj8lm8ywadid7qm34yn8lx12k"; sha256 = "1sl5y5j3gdbynf2v0gf9dwd2hzawj8lm8ywadid7qm34yn8lx12k";
}; };
pythonPath = [ pythonPath = with pythonPackages; [
pygobject gst_python pythonPackages.musicbrainzngs pygobject gst_python musicbrainzngs
pythonPackages.pycdio pythonPackages.pyxdg setuptools pycdio pyxdg setuptools
pythonPackages.CDDB CDDB
]; ];
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];

View File

@ -1,10 +1,10 @@
{ stdenv, buildPythonApplication, fetchurl, gettext { stdenv, pythonPackages, fetchurl, gettext
, pkgconfig, libofa, ffmpeg, chromaprint , pkgconfig, libofa, ffmpeg, chromaprint
, pyqt4, mutagen, python-libdiscid
}: }:
let version = "1.3.2"; in let
buildPythonApplication { version = "1.3.2";
in pythonPackages.buildPythonApplication {
name = "picard-${version}"; name = "picard-${version}";
namePrefix = ""; namePrefix = "";
@ -20,10 +20,10 @@ buildPythonApplication {
gettext gettext
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = with pythonPackages; [
pyqt4 pyqt4
mutagen mutagen
python-libdiscid discid
]; ];
installPhase = '' installPhase = ''

View File

@ -12,10 +12,10 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "nano-${version}"; name = "nano-${version}";
version = "2.6.2"; version = "2.6.3";
src = fetchurl { src = fetchurl {
url = "https://nano-editor.org/dist/v2.6/${name}.tar.gz"; url = "https://nano-editor.org/dist/v2.6/${name}.tar.gz";
sha256 = "11c9iqiah4q7q3ndn7z9192a796vp4fffkg27s6q1dn8avp06dj5"; sha256 = "00ym3zws1vdds726drgr5wj14mjn18d96ghn6vjci0915zhm8h2g";
}; };
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchFromGitHub, cmake, qt4, quazip, qt-mobility, qxt, python, pycrypto, glib }: { stdenv, fetchurl, fetchFromGitHub, cmake, qt4, quazip, qt-mobility, qxt, pythonPackages, glib }:
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
sha256 = "1s0dxa1sa37nvna5nfqdsp294810favj68qb7ghl78qna7zw0cim"; sha256 = "1s0dxa1sa37nvna5nfqdsp294810favj68qb7ghl78qna7zw0cim";
}; };
buildInputs = [ cmake qt4 quazip qt-mobility qxt python pycrypto ]; buildInputs = [ cmake qt4 quazip qt-mobility qxt pythonPackages.python pythonPackages.pycrypto ];
patchPhase = '' patchPhase = ''
# Required to make the configure script work. Normally, screencloud's # Required to make the configure script work. Normally, screencloud's
@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
patchShebangs $prefix/opt/screencloud/screencloud.sh patchShebangs $prefix/opt/screencloud/screencloud.sh
substituteInPlace "$prefix/opt/screencloud/screencloud.sh" --replace "/opt" "$prefix/opt" substituteInPlace "$prefix/opt/screencloud/screencloud.sh" --replace "/opt" "$prefix/opt"
sed -i "2 i\export PYTHONPATH=$(toPythonPath ${pycrypto}):\$PYTHONPATH" "$prefix/opt/screencloud/screencloud.sh" sed -i "2 i\export PYTHONPATH=$(toPythonPath ${pythonPackages.pycrypto}):\$PYTHONPATH" "$prefix/opt/screencloud/screencloud.sh"
mkdir $prefix/bin mkdir $prefix/bin
mkdir $prefix/lib mkdir $prefix/lib
ln -s $prefix/opt/screencloud/screencloud.sh $prefix/bin/screencloud ln -s $prefix/opt/screencloud/screencloud.sh $prefix/bin/screencloud

View File

@ -1,12 +1,13 @@
{ stdenv, fetchurl, requireFile, makeWrapper, unzip, jre }: { stdenv, fetchurl, requireFile, makeWrapper, unzip, jre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "yEd-3.15.0.2"; name = "yEd-${version}";
version = "3.16.1";
src = requireFile { src = requireFile {
name = "${name}.zip"; name = "${name}.zip";
url = "https://www.yworks.com/en/products/yfiles/yed/"; url = "https://www.yworks.com/en/products/yfiles/yed/";
sha256 = "c60e4868f267303ee8b6fc2587beb4cc846f32bd8a6a557b77e01f0d8039aa4d"; sha256 = "0h7ykcpvsikjfap51hpcz6z814riiwyps585j2i1yv9dmsbqdi7j";
}; };
nativeBuildInputs = [ unzip makeWrapper ]; nativeBuildInputs = [ unzip makeWrapper ];

View File

@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
inherit patches; inherit patches;
postPatch = '' postPatch = ''
sed -ri -e 's!\<(dmenu|stest)\>!'"$out/bin"'/&!g' dmenu_run sed -ri -e 's!\<(dmenu|dmenu_path|stest)\>!'"$out/bin"'/&!g' dmenu_run
sed -ri -e 's!\<stest\>!'"$out/bin"'/&!g' dmenu_path
''; '';
preConfigure = '' preConfigure = ''

View File

@ -1,10 +1,11 @@
{ stdenv, fetchurl, gtk3, pythonPackages, python, pycairo, pygobject3, intltool, { stdenv, fetchurl, gtk3, pythonPackages, intltool,
pango, gsettings_desktop_schemas }: pango, gsettings_desktop_schemas }:
pythonPackages.buildPythonApplication rec { let
inherit (pythonPackages) python buildPythonApplication;
in buildPythonApplication rec {
version = "4.1.1"; version = "4.1.1";
name = "gramps-${version}"; name = "gramps-${version}";
namePrefix = "";
buildInputs = [ intltool gtk3 ]; buildInputs = [ intltool gtk3 ];
@ -16,7 +17,7 @@ pythonPackages.buildPythonApplication rec {
sha256 = "0jdps7yx2mlma1hdj64wssvnqd824xdvw0bmn2dnal5fn3h7h060"; sha256 = "0jdps7yx2mlma1hdj64wssvnqd824xdvw0bmn2dnal5fn3h7h060";
}; };
pythonPath = [ pygobject3 pango pycairo pythonPackages.bsddb ]; pythonPath = with pythonPackages; [ pygobject3 pycairo bsddb ] ++ [ pango ];
# Same installPhase as in buildPythonApplication but without --old-and-unmanageble # Same installPhase as in buildPythonApplication but without --old-and-unmanageble
# install flag. # install flag.

View File

@ -3,10 +3,13 @@
, libctemplate, libglade , libctemplate, libglade
, libiodbc , libiodbc
, libgnome, libsigcxx, libuuid, libxml2, libzip, lua, mesa, mysql , libgnome, libsigcxx, libuuid, libxml2, libzip, lua, mesa, mysql
, pango, paramiko, pcre, pexpect, pkgconfig, pycrypto, python, sqlite, sudo , pango, pcre, pkgconfig, sqlite, sudo
, pythonPackages
}: }:
stdenv.mkDerivation rec { let
inherit (pythonPackages) pexpect pycrypto python paramiko;
in stdenv.mkDerivation rec {
pname = "mysql-workbench"; pname = "mysql-workbench";
version = "5.2.47"; version = "5.2.47";
name = "${pname}-${version}"; name = "${pname}-${version}";

View File

@ -1,113 +0,0 @@
From 0be3198cccf753226758684955f49a32d8d920c0 Mon Sep 17 00:00:00 2001
From: Nikolay Amiantov <ab@fmap.me>
Date: Wed, 17 Feb 2016 14:37:31 +0300
Subject: [PATCH] Don't use static library
---
octoprint_m3dfio/__init__.py | 67 +-----------------------------------------
shared library source/Makefile | 6 ++--
2 files changed, 5 insertions(+), 68 deletions(-)
diff --git a/octoprint_m3dfio/__init__.py b/octoprint_m3dfio/__init__.py
index a2ca533..43f178a 100644
--- a/octoprint_m3dfio/__init__.py
+++ b/octoprint_m3dfio/__init__.py
@@ -793,72 +793,7 @@ class M3DFioPlugin(
# Set file locations
self.setFileLocations()
- # Check if running on Linux
- if platform.uname()[0].startswith("Linux") :
-
- # Check if running on a Raspberry Pi 1
- if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm1176jzf-s.so")
-
- # Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
- elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm_cortex-a7.so")
-
- # Otherwise check if running on an ARM7 device
- elif platform.uname()[4].startswith("armv7") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm7.so")
-
- # Otherwise check if using an i386 or x86-64 device
- elif platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64") :
-
- # Check if Python is running as 32-bit
- if platform.architecture()[0].startswith("32") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.so")
-
- # Otherwise check if Python is running as 64-bit
- elif platform.architecture()[0].startswith("64") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.so")
-
- # Otherwise check if running on Windows and using an i386 or x86-64 device
- elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
-
- # Check if Python is running as 32-bit
- if platform.architecture()[0].startswith("32") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dll")
-
- # Otherwise check if Python is running as 64-bit
- elif platform.architecture()[0].startswith("64") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dll")
-
- # Otherwise check if running on OS X and using an i386 or x86-64 device
- elif platform.uname()[0].startswith("Darwin") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
-
- # Check if Python is running as 32-bit
- if platform.architecture()[0].startswith("32") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dylib")
-
- # Otherwise check if Python is running as 64-bit
- elif platform.architecture()[0].startswith("64") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dylib")
-
+ self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/../../../libpreprocessor.so")
# Check if shared library was set
if self.sharedLibrary :
diff --git a/shared library source/Makefile b/shared library source/Makefile
index 9d015a1..a24f134 100644
--- a/shared library source/Makefile
+++ b/shared library source/Makefile
@@ -58,13 +58,15 @@ ifeq ($(TARGET_PLATFORM), OSX64)
CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
endif
+PROG = lib$(LIBRARY_NAME).so
+CC = g++
SRCS = preprocessor.cpp gcode.cpp vector.cpp
-CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared
+CFLAGS = -O3 -fPIC -Wall -std=c++11 -fvisibility=hidden -shared
all: $(PROG)
$(PROG): $(SRCS)
- $(CC) $(CFLAGS) -o ../octoprint_m3dfio/static/libraries/$(PROG) $(SRCS)
+ $(CC) $(CFLAGS) -o $(PROG) $(SRCS)
clean:
rm -f ../octoprint_m3dfio/static/libraries/$(PROG)
--
2.7.1

View File

@ -2,41 +2,44 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "OctoPrint-${version}"; name = "OctoPrint-${version}";
version = "1.2.10"; version = "1.2.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "foosel"; owner = "foosel";
repo = "OctoPrint"; repo = "OctoPrint";
rev = version; rev = version;
sha256 = "1ips1083c4qrfnkssvp1lxrs92svlid29l225ifsymrinpbjawav"; sha256 = "0qfragp7n8m7l5l30s5fz1x7xzini2sdh2y3m1ahs7ay8zp4xk56";
}; };
# We need old Tornado # We need old Tornado
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
awesome-slugify flask_assets watchdog rsa requests2 pkginfo pylru awesome-slugify flask_assets rsa requests2 pkginfo watchdog
semantic-version flask_principal sarge tornado_4_0_1 werkzeug netaddr flaskbabel semantic-version flask_principal werkzeug flaskbabel tornado_4_0_1
netifaces psutil pyserial flask_login pyyaml sockjs-tornado psutil pyserial flask_login netaddr markdown sockjs-tornado
pylru pyyaml sarge feedparser netifaces
]; ];
# Jailbreak dependencies.
# Currently broken for new: tornado, pyserial, flask_login
postPatch = '' postPatch = ''
# Jailbreak dependencies
sed -i \ sed -i \
-e 's,rsa==,rsa>=,g' \ -e 's,werkzeug>=[^"]*,werkzeug,g' \
-e 's,sockjs-tornado==,sockjs-tornado>=,g' \ -e 's,requests>=[^"]*,requests,g' \
-e 's,Flask-Principal==,Flask-Principal>=,g' \ -e 's,pkginfo>=[^"]*,pkginfo,g' \
-e 's,werkzeug==,werkzeug>=,g' \ -e 's,semantic_version>=[^"]*,semantic_version,g' \
-e 's,netaddr==,netaddr>=,g' \ -e 's,psutil>=[^"]*,psutil,g' \
-e 's,requests==,requests>=,g' \ -e 's,Flask-Babel>=[^"]*,Flask-Babel,g' \
-e 's,netifaces==,netifaces>=,g' \ -e 's,Flask-Principal>=[^"]*,Flask-Principal,g' \
-e 's,psutil==,psutil>=,g' \ -e 's,markdown>=[^"]*,markdown,g' \
-e 's,PyYAML==,PyYAML>=,g' \ -e 's,Flask-Assets>=[^"]*,Flask-Assets,g' \
-e 's,rsa>=[^"]*,rsa,g' \
-e 's,PyYAML>=[^"]*,PyYAML,g' \
setup.py setup.py
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://octoprint.org/"; homepage = "http://octoprint.org/";
description = "The snappy web interface for your 3D printer"; description = "The snappy web interface for your 3D printer";
platforms = platforms.all;
license = licenses.agpl3; license = licenses.agpl3;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];
}; };

View File

@ -0,0 +1,161 @@
From 62b4fabd1d4ee7a584a565d48c7eaec6e80fe0bd Mon Sep 17 00:00:00 2001
From: Nikolay Amiantov <ab@fmap.me>
Date: Fri, 12 Aug 2016 23:41:22 +0300
Subject: [PATCH] Build and use one version of preprocessor library
---
octoprint_m33fio/__init__.py | 66 +-----------------------------------------
shared library source/Makefile | 59 +++----------------------------------
2 files changed, 5 insertions(+), 120 deletions(-)
diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py
index da539f5..b0a17ad 100755
--- a/octoprint_m33fio/__init__.py
+++ b/octoprint_m33fio/__init__.py
@@ -979,71 +979,7 @@ class M33FioPlugin(
# Check if using shared library or checking if it is usable
if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable :
- # Check if running on Linux
- if platform.uname()[0].startswith("Linux") :
-
- # Check if running on a Raspberry Pi 1
- if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm1176jzf-s.so")
-
- # Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
- elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm_cortex-a7.so")
-
- # Otherwise check if running on an ARM7 device
- elif platform.uname()[4].startswith("armv7") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm7.so")
-
- # Otherwise check if using an i386 or x86-64 device
- elif platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64") :
-
- # Check if Python is running as 32-bit
- if platform.architecture()[0].startswith("32") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.so")
-
- # Otherwise check if Python is running as 64-bit
- elif platform.architecture()[0].startswith("64") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.so")
-
- # Otherwise check if running on Windows and using an i386 or x86-64 device
- elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
-
- # Check if Python is running as 32-bit
- if platform.architecture()[0].startswith("32") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dll")
-
- # Otherwise check if Python is running as 64-bit
- elif platform.architecture()[0].startswith("64") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dll")
-
- # Otherwise check if running on OS X and using an i386 or x86-64 device
- elif platform.uname()[0].startswith("Darwin") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
-
- # Check if Python is running as 32-bit
- if platform.architecture()[0].startswith("32") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dylib")
-
- # Otherwise check if Python is running as 64-bit
- elif platform.architecture()[0].startswith("64") :
-
- # Set shared library
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dylib")
+ self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so")
# Check if shared library was set
if self.sharedLibrary :
diff --git a/shared library source/Makefile b/shared library source/Makefile
index a43d657..0b254aa 100755
--- a/shared library source/Makefile
+++ b/shared library source/Makefile
@@ -1,62 +1,11 @@
# Target platform options: LINUX32, LINUX64, WINDOWS32, WINDOWS64, PI, PI2, ARM7, OSX32, OSX64
-LIBRARY_NAME = preprocessor
+LIBRARY_NAME = libpreprocessor
TARGET_PLATFORM = LINUX64
VER = .1
-ifeq ($(TARGET_PLATFORM), LINUX32)
- PROG = $(LIBRARY_NAME)_i386.so
- CC = g++
- CFLAGS = -fPIC -m32 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
-endif
-
-ifeq ($(TARGET_PLATFORM), LINUX64)
- PROG = $(LIBRARY_NAME)_x86-64.so
- CC = g++
- CFLAGS = -fPIC -m64 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
-endif
-
-ifeq ($(TARGET_PLATFORM), WINDOWS32)
- PROG = $(LIBRARY_NAME)_i386.dll
- CC = i686-w64-mingw32-g++
- CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
-endif
-
-ifeq ($(TARGET_PLATFORM), WINDOWS64)
- PROG = $(LIBRARY_NAME)_x86-64.dll
- CC = x86_64-w64-mingw32-g++
- CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
-endif
-
-ifeq ($(TARGET_PLATFORM), PI)
- PROG = $(LIBRARY_NAME)_arm1176jzf-s.so
- CC = ~/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
- CFLAGS = -fPIC -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
-endif
-
-ifeq ($(TARGET_PLATFORM), PI2)
- PROG = $(LIBRARY_NAME)_arm_cortex-a7.so
- CC = ~/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
- CFLAGS = -fPIC -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
-endif
-
-ifeq ($(TARGET_PLATFORM), ARM7)
- PROG = $(LIBRARY_NAME)_arm7.so
- CC = ~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
- CFLAGS = -fPIC -mcpu=generic-armv7-a -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
-endif
-
-ifeq ($(TARGET_PLATFORM), OSX32)
- PROG = $(LIBRARY_NAME)_i386.dylib
- CC = clang++
- CFLAGS = -fPIC -m32 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
-
-endif
-
-ifeq ($(TARGET_PLATFORM), OSX64)
- PROG = $(LIBRARY_NAME)_x86-64.dylib
- CC = clang++
- CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
-endif
+PROG = $(LIBRARY_NAME).so
+CC = g++
+CFLAGS = -fPIC -O3 -Wl,-soname,$(PROG)$(VER)
SRCS = preprocessor.cpp gcode.cpp vector.cpp
CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared
--
2.9.2

View File

@ -4,79 +4,84 @@ let
buildPlugin = args: pythonPackages.buildPythonApplication (args // { buildPlugin = args: pythonPackages.buildPythonApplication (args // {
buildInputs = (args.buildInputs or []) ++ [ octoprint ]; buildInputs = (args.buildInputs or []) ++ [ octoprint ];
}); });
in {
m3d-fio = buildPlugin rec { self = {
name = "M3D-Fio-${version}";
version = "0.32";
src = fetchFromGitHub { # Deprecated alias
owner = "donovan6000"; m3d-fio = self.m33-fio; # added 2016-08-13
repo = "M3D-Fio";
rev = "V${version}"; m33-fio = buildPlugin rec {
sha256 = "1s15nx6v56yjwd88b19fx0gk1l0abp76nz10yicspdn91fpr1sf4"; name = "M33-Fio-${version}";
version = "1.5";
src = fetchFromGitHub {
owner = "donovan6000";
repo = "M33-Fio";
rev = "V${version}";
sha256 = "0ss8ic9l5srb5wj2mj0qafam0z4d6zv0cixhxgghh03fp0lvwjyq";
};
patches = [
./m33-fio-one-library.patch
];
postPatch = ''
rm -rf octoprint_m33fio/static/libraries/*
(
cd 'shared library source'
make
)
'';
meta = with stdenv.lib; {
homepage = "https://github.com/donovan6000/M3D-Fio";
description = "OctoPrint plugin for the Micro 3D printer";
platforms = platforms.all;
license = licenses.gpl3;
maintainers = with maintainers; [ abbradar ];
};
}; };
patches = [ titlestatus = buildPlugin rec {
./0001-Don-t-use-static-library.patch name = "OctoPrint-TitleStatus-${version}";
]; version = "0.0.4";
postInstall = '' src = fetchFromGitHub {
( owner = "MoonshineSG";
cd 'shared library source' repo = "OctoPrint-TitleStatus";
make rev = version;
install -Dm755 libpreprocessor.so $out/lib/libpreprocessor.so sha256 = "1l78xrabn5hcly2mgxwi17nwgnp2s6jxi9iy4wnw8k8icv74ag7k";
) };
rm -rf $out/${pythonPackages.python.sitePackages}/octoprint_m3dfio/static/libraries
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://github.com/donovan6000/M3D-Fio"; homepage = "https://github.com/MoonshineSG/OctoPrint-TitleStatus";
description = "OctoPrint plugin for the Micro 3D printer"; description = "Show printers status in window title";
platforms = platforms.all; platforms = platforms.all;
license = licenses.gpl3; license = licenses.agpl3;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];
};
}; };
stlviewer = buildPlugin rec {
name = "OctoPrint-STLViewer-${version}";
version = "0.3.0";
src = fetchFromGitHub {
owner = "jneilliii";
repo = "OctoPrint-STLViewer";
rev = "v${version}";
sha256 = "1a6sa8pw9ay7x27pfwr3nzb22x3jaw0c9vwyz4mrj76zkiw6svfi";
};
meta = with stdenv.lib; {
homepage = "https://github.com/jneilliii/Octoprint-STLViewer";
description = "A simple stl viewer tab for OctoPrint";
platforms = platforms.all;
license = licenses.agpl3;
maintainers = with maintainers; [ abbradar ];
};
};
}; };
titlestatus = buildPlugin rec { in self
name = "OctoPrint-TitleStatus-${version}";
version = "0.0.4";
src = fetchFromGitHub {
owner = "MoonshineSG";
repo = "OctoPrint-TitleStatus";
rev = version;
sha256 = "1l78xrabn5hcly2mgxwi17nwgnp2s6jxi9iy4wnw8k8icv74ag7k";
};
meta = with stdenv.lib; {
homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus;
description = "Show printers status in window title";
platforms = platforms.all;
license = licenses.agpl3;
maintainers = with maintainers; [ abbradar ];
};
};
stlviewer = buildPlugin rec {
name = "OctoPrint-STLViewer-${version}";
version = "0.3.0";
src = fetchFromGitHub {
owner = "jneilliii";
repo = "OctoPrint-STLViewer";
rev = "v${version}";
sha256 = "1a6sa8pw9ay7x27pfwr3nzb22x3jaw0c9vwyz4mrj76zkiw6svfi";
};
meta = with stdenv.lib; {
homepage = https://github.com/jneilliii/Octoprint-STLViewer;
description = "A simple stl viewer tab for OctoPrint";
platforms = platforms.all;
license = licenses.agpl3;
maintainers = with maintainers; [ abbradar ];
};
};
}

View File

@ -1,15 +1,14 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libX11, libxkbcommon, pango { stdenv, fetchurl, autoreconfHook, pkgconfig, libxkbcommon, pango
, cairo, glib, libxcb, xcbutil, xcbutilwm, libstartup_notification , cairo, glib, libxcb, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification
, i3Support ? false, i3
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.1.0"; version = "1.2.0";
name = "rofi-${version}"; name = "rofi-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.xz"; url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.xz";
sha256 = "1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn"; sha256 = "0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc";
}; };
preConfigure = '' preConfigure = ''
@ -18,9 +17,10 @@ stdenv.mkDerivation rec {
sed -i 's/~root/~nobody/g' test/helper-expand.c sed -i 's/~root/~nobody/g' test/helper-expand.c
''; '';
buildInputs = [ autoreconfHook pkgconfig libX11 libxkbcommon pango buildInputs = [ autoreconfHook pkgconfig libxkbcommon pango cairo
cairo libstartup_notification libxcb xcbutil xcbutilwm libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm
] ++ stdenv.lib.optional i3Support i3; ];
doCheck = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Window switcher, run dialog and dmenu replacement"; description = "Window switcher, run dialog and dmenu replacement";

View File

@ -1,17 +1,18 @@
{ stdenv, fetchgit }: { stdenv, fetchFromGitHub, perl }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "urxvt-tabbedex-2015-03-03"; name = "urxvt-tabbedex-2016-08-09";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/mina86/urxvt-tabbedex"; owner = "mina86";
rev = "b0a02018b1cbaaba2a0c8ea7af9368db0adf3363"; repo = "urxvt-tabbedex";
sha256 = "f0025f2741d424736620147d9fc39faac68193cb9f74bde0fb6e02a6f1ae61c3"; rev = "ac220eb3984e151ba14dce08f446bc7bc8ca29a2";
sha256 = "1b5mff5137jb5ysklsmfp5ql3m4g1z3bdhk0nwhz2hgwz40ap6k8";
}; };
installPhase = '' nativeBuildInputs = [ perl ];
install -D tabbedex $out/lib/urxvt/perl/tabbedex
''; installFlags = [ "PREFIX=$(out)" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Tabbed plugin for rxvt-unicode with many enhancements (mina86's fork)"; description = "Tabbed plugin for rxvt-unicode with many enhancements (mina86's fork)";

View File

@ -17,6 +17,7 @@
, gtk3 , gtk3
, libX11 , libX11
, libXScrnSaver , libXScrnSaver
, libxcb
, libXcomposite , libXcomposite
, libXdamage , libXdamage
, libXext , libXext
@ -90,6 +91,7 @@ stdenv.mkDerivation {
libX11 libX11
libXScrnSaver libXScrnSaver
libXcomposite libXcomposite
libxcb
libXdamage libXdamage
libXext libXext
libXfixes libXfixes

View File

@ -1,19 +1,21 @@
{ stdenv, fetchurl, cmake, pkgconfig, intltool, vala, makeWrapper { stdenv, fetchurl, cmake, pkgconfig, intltool, vala, wrapGAppsHook
, gtk3, webkitgtk, librsvg, libnotify, sqlite , gtk3, webkitgtk, librsvg, libnotify, sqlite
, glib_networking, gsettings_desktop_schemas, libsoup, pcre, gnome3 , glib_networking, gsettings_desktop_schemas, libsoup, pcre, gnome3
, libxcb, libpthreadstubs, libXdmcp, libxkbcommon, epoxy, at_spi2_core
, zeitgeistSupport ? false, zeitgeist ? null
}: }:
let assert zeitgeistSupport -> zeitgeist != null;
version = "0.5.11";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "midori-${version}"; name = "midori-${version}";
version = "0.5.11";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Lightweight WebKitGTK+ web browser"; description = "Lightweight WebKitGTK+ web browser";
homepage = "http://midori-browser.org"; homepage = "http://midori-browser.org";
license = licenses.lgpl21Plus; license = with licenses; [ lgpl21Plus ];
platforms = platforms.linux; platforms = with platforms; linux;
maintainers = with maintainers; [ raskin ramkromberg ]; maintainers = with maintainers; [ raskin ramkromberg ];
}; };
@ -26,24 +28,29 @@ stdenv.mkDerivation rec {
sha256 = "0gcwqkcyliqz10i33ww3wl02mmfnl7jzl2d493l4l53ipsb1l6cn"; sha256 = "0gcwqkcyliqz10i33ww3wl02mmfnl7jzl2d493l4l53ipsb1l6cn";
}; };
nativeBuildInputs = [
pkgconfig wrapGAppsHook cmake intltool
];
buildInputs = [ buildInputs = [
cmake pkgconfig intltool vala makeWrapper vala
webkitgtk librsvg libnotify sqlite gsettings_desktop_schemas pcre gnome3.gcr gtk3 webkitgtk librsvg libnotify sqlite gsettings_desktop_schemas pcre gnome3.gcr
libxcb libpthreadstubs libXdmcp libxkbcommon epoxy at_spi2_core
(libsoup.override {gnomeSupport = true; valaSupport = true;}) (libsoup.override {gnomeSupport = true; valaSupport = true;})
] ++ stdenv.lib.optionals zeitgeistSupport [
zeitgeist
]; ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_BUILD_TYPE=Release"
"-DUSE_ZEITGEIST=OFF" "-DUSE_ZEITGEIST=${if zeitgeistSupport then "ON" else "OFF"}"
"-DHALF_BRO_INCOM_WEBKIT2=OFF" "-DHALF_BRO_INCOM_WEBKIT2=ON"
"-DUSE_GTK3=1" "-DUSE_GTK3=1"
]; ];
NIX_LDFLAGS="-lX11"; NIX_LDFLAGS="-lX11";
preFixup = '' preFixup = ''
wrapProgram $out/bin/midori \ gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules")
--prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
''; '';
} }

View File

@ -1,6 +1,7 @@
{ stdenv, fetchurl, python, buildPythonApplication, qtmultimedia, pyqt5 { stdenv, fetchurl, buildPythonApplication, makeQtWrapper, wrapGAppsHook
, jinja2, pygments, pyyaml, pypeg2, gst-plugins-base, gst-plugins-good , qtmultimedia, pyqt5, jinja2, pygments, pyyaml, pypeg2, glib_networking
, gst-plugins-bad, gst-libav, wrapGAppsHook, glib_networking, makeQtWrapper }: , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt
, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav }:
let version = "0.8.2"; in let version = "0.8.2"; in
@ -16,18 +17,42 @@ buildPythonApplication rec {
# Needs tox # Needs tox
doCheck = false; doCheck = false;
buildInputs = [ wrapGAppsHook makeQtWrapper buildInputs = [
qtmultimedia qtmultimedia
gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
glib_networking ]; glib_networking
];
nativeBuildInputs = [
makeQtWrapper wrapGAppsHook asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
];
propagatedBuildInputs = [ propagatedBuildInputs = [
python pyyaml pyqt5 jinja2 pygments pypeg2 pyyaml pyqt5 jinja2 pygments pypeg2
]; ];
postPatch = ''
sed -i "s,/usr/share/qutebrowser,$out/share/qutebrowser,g" qutebrowser/utils/standarddir.py
'';
postBuild = ''
a2x -f manpage doc/qutebrowser.1.asciidoc
'';
postInstall = '' postInstall = ''
mv $out/bin/qutebrowser $out/bin/.qutebrowser-noqtpath mv $out/bin/qutebrowser $out/bin/.qutebrowser-noqtpath
makeQtWrapper $out/bin/.qutebrowser-noqtpath $out/bin/qutebrowser makeQtWrapper $out/bin/.qutebrowser-noqtpath $out/bin/qutebrowser
install -Dm644 doc/qutebrowser.1 "$out/share/man/man1/qutebrowser.1"
install -Dm644 qutebrowser.desktop \
"$out/share/applications/qutebrowser.desktop"
for i in 16 24 32 48 64 128 256 512; do
install -Dm644 "icons/qutebrowser-''${i}x''${i}.png" \
"$out/share/icons/hicolor/''${i}x''${i}/apps/qutebrowser.png"
done
install -Dm644 icons/qutebrowser.svg \
"$out/share/icons/hicolor/scalable/apps/qutebrowser.svg"
install -Dm755 -t "$out/share/qutebrowser/userscripts/" misc/userscripts/*
''; '';
meta = { meta = {

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "marathon-${version}"; name = "marathon-${version}";
version = "0.15.3"; version = "1.1.1";
src = fetchurl { src = fetchurl {
url = "https://downloads.mesosphere.io/marathon/v${version}/marathon-${version}.tgz"; url = "https://downloads.mesosphere.com/marathon/v${version}/marathon-${version}.tgz";
sha256 = "1br4k596sjp4cf5l2nyaqhlsfdr443n08fvdyf4kilhr803x2rjq"; sha256 = "35a80401383f6551c45c676beed30b3c1af6d3ad027f44735c208abe8eaca93d";
}; };
buildInputs = [ makeWrapper jdk mesos ]; buildInputs = [ makeWrapper jdk mesos ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pythonPackages, pyqt4, cython, libvncserver, zlib, twisted { stdenv, fetchurl, pythonPackages, libvncserver, zlib
, gnutls, libvpx, makeDesktopItem }: , gnutls, libvpx, makeDesktopItem }:
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication rec {
propagatedBuildInputs = with pythonPackages;[ pyqt4 cjson sipsimple twisted propagatedBuildInputs = with pythonPackages;[ pyqt4 cjson sipsimple twisted
]; ];
buildInputs = [ cython zlib libvncserver libvpx ]; buildInputs = [ pythonPackages.cython zlib libvncserver libvpx ];
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "Blink"; name = "Blink";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, python, pythonPackages, pyqt4, openssl }: { stdenv, fetchFromGitHub, pythonPackages, openssl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pybitmessage-${version}"; name = "pybitmessage-${version}";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "1f4h0yc1mfjnxzvxiv9hxgak59mgr3a5ykv50vlyiay82za20jax"; sha256 = "1f4h0yc1mfjnxzvxiv9hxgak59mgr3a5ykv50vlyiay82za20jax";
}; };
buildInputs = [ python pyqt4 openssl pythonPackages.wrapPython pythonPackages.sqlite3 ]; buildInputs = with pythonPackages; [ python pyqt4 wrapPython sqlite3 ] ++ [ openssl ];
preConfigure = '' preConfigure = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
substituteInPlace $out/bin/pybitmessage \ substituteInPlace $out/bin/pybitmessage \
--replace "exec python2" "exec ${python}/bin/python" \ --replace "exec python2" "exec ${pythonPackages.python}/bin/python" \
--replace "/opt/openssl-compat-bitcoin/lib/" "${openssl.out}/lib/" --replace "/opt/openssl-compat-bitcoin/lib/" "${openssl.out}/lib/"
wrapProgram $out/bin/pybitmessage \ wrapProgram $out/bin/pybitmessage \
--prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH" --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"

View File

@ -16,20 +16,20 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "telegram-desktop-${version}"; name = "telegram-desktop-${version}";
version = "0.9.56"; version = "0.10.1";
qtVersion = lib.replaceStrings ["."] ["_"] packagedQt; qtVersion = lib.replaceStrings ["."] ["_"] packagedQt;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "telegramdesktop"; owner = "telegramdesktop";
repo = "tdesktop"; repo = "tdesktop";
rev = "v${version}"; rev = "v${version}";
sha256 = "000ngg6arfb6mif0hvin099f83q3sn7mw4vfvrikskczblw3a5lc"; sha256 = "08isxwif6zllglkpd9i7ypxm2s4bibzqris48607bafr88ylksdk";
}; };
tgaur = fetchgit { tgaur = fetchgit {
url = "https://aur.archlinux.org/telegram-desktop.git"; url = "https://aur.archlinux.org/telegram-desktop.git";
rev = "f8907d1ccaf8345c06232238342921213270e3d8"; rev = "9ce7be9efed501f988bb099956fa63729f2c25ea";
sha256 = "04jh0fsrh4iwg188d20z15qkxv05wa5lpd8h21yxx3jxqljpdkws"; sha256 = "1wp6lqscpm2byizchm0bj48dg9bga02r9r69ns10zxk0gk0qvvdn";
}; };
buildInputs = [ buildInputs = [
@ -50,22 +50,8 @@ in stdenv.mkDerivation rec {
"CONFIG+=release" "CONFIG+=release"
"DEFINES+=TDESKTOP_DISABLE_AUTOUPDATE" "DEFINES+=TDESKTOP_DISABLE_AUTOUPDATE"
"DEFINES+=TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" "DEFINES+=TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
"INCLUDEPATH+=${gtk2.dev}/include/gtk-2.0"
"INCLUDEPATH+=${glib.dev}/include/glib-2.0"
"INCLUDEPATH+=${glib.out}/lib/glib-2.0/include"
"INCLUDEPATH+=${cairo.dev}/include/cairo"
"INCLUDEPATH+=${pango.dev}/include/pango-1.0"
"INCLUDEPATH+=${gtk2.out}/lib/gtk-2.0/include"
"INCLUDEPATH+=${gdk_pixbuf.dev}/include/gdk-pixbuf-2.0"
"INCLUDEPATH+=${atk.dev}/include/atk-1.0"
"INCLUDEPATH+=${libappindicator-gtk2}/include/libappindicator-0.1"
"INCLUDEPATH+=${libunity}/include/unity"
"INCLUDEPATH+=${dee}/include/dee-1.0"
"INCLUDEPATH+=${libdbusmenu-glib}/include/libdbusmenu-glib-0.4"
"INCLUDEPATH+=${breakpad}/include/breakpad" "INCLUDEPATH+=${breakpad}/include/breakpad"
"QT_TDESKTOP_VERSION=${systemQt}" "QT_TDESKTOP_VERSION=${systemQt}"
"LIBS+=-lcrypto"
"LIBS+=-lssl"
]; ];
qtSrcs = [ qtbase.src qtimageformats.src ]; qtSrcs = [ qtbase.src qtimageformats.src ];
@ -79,11 +65,10 @@ in stdenv.mkDerivation rec {
sed -i 'Telegram/Telegram.pro' \ sed -i 'Telegram/Telegram.pro' \
-e 's,CUSTOM_API_ID,,g' \ -e 's,CUSTOM_API_ID,,g' \
-e 's,/usr,/does-not-exist,g' \ -e 's,/usr,/does-not-exist,g' \
-e '/LIBS += .*libxkbcommon.a/d' \
-e 's,LIBS += .*libz.a,LIBS += -lz,' \
-e 's,LIBS += .*libbreakpad_client.a,LIBS += ${breakpad}/lib/libbreakpad_client.a,' \
-e 's, -flto,,g' \ -e 's, -flto,,g' \
-e 's, -static-libstdc++,,g' -e 's,LIBS += .*libbreakpad_client.a,LIBS += ${breakpad}/lib/libbreakpad_client.a,' \
-e 's, -static-libstdc++,,g' \
-e '/LIBS += .*libxkbcommon.a/d'
export qmakeFlags="$qmakeFlags QT_TDESKTOP_PATH=$PWD/../qt" export qmakeFlags="$qmakeFlags QT_TDESKTOP_PATH=$PWD/../qt"
@ -105,7 +90,7 @@ in stdenv.mkDerivation rec {
export configureFlags="-prefix "$PWD/../qt" -release -opensource -confirm-license -system-zlib \ export configureFlags="-prefix "$PWD/../qt" -release -opensource -confirm-license -system-zlib \
-system-libpng -system-libjpeg -system-freetype -system-harfbuzz -system-pcre -system-xcb \ -system-libpng -system-libjpeg -system-freetype -system-harfbuzz -system-pcre -system-xcb \
-system-xkbcommon-x11 -no-opengl -static -nomake examples -nomake tests \ -system-xkbcommon-x11 -no-opengl -static -nomake examples -nomake tests \
-openssl-linked -dbus-linked -system-sqlite -verbose \ -openssl-linked -dbus-linked -system-sqlite -verbose -no-gtkstyle \
${lib.optionalString (!system-x86_64) "-no-sse2"} -no-sse3 -no-ssse3 \ ${lib.optionalString (!system-x86_64) "-no-sse2"} -no-sse3 -no-ssse3 \
-no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2" -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2"
export dontAddPrefix=1 export dontAddPrefix=1

View File

@ -32,7 +32,7 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "claws-mail-${version}"; name = "claws-mail-${version}";
version = "3.13.2"; version = "3.14.0";
meta = { meta = {
description = "The user-friendly, lightweight, and fast email client"; description = "The user-friendly, lightweight, and fast email client";
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz"; url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
sha256 = "1l8ankx0qpq1ix1an8viphcf11ksh53jsrm1xjmq8cjbh5910wva"; sha256 = "0nfchgga3ir91s8rky0a0vnz8cgj2f6h716wh3cmb466a01xfss6";
}; };
patches = [ ./mime.patch ]; patches = [ ./mime.patch ];

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, go }: { stdenv, fetchFromGitHub, go }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.14.3"; version = "0.14.4";
name = "syncthing-${version}"; name = "syncthing-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "114i0911h3q6dn3j9x2qcm5lzpqclvrpf5vk87qpqp9qy62jp3az"; sha256 = "0i1pgwy7vn2hfcqa7dvrrc40hzrzn47alvnxm058f2hhxjis3fdw";
}; };
buildInputs = [ go ]; buildInputs = [ go ];

View File

@ -1,10 +1,10 @@
{ fetchurl, stdenv, python, makeWrapper, lib { fetchurl, stdenv, pythonPackages, makeWrapper, lib
, xpdf, pillow, pyopengl, pygame , xpdf, mesa, freeglut }:
, setuptools, mesa, freeglut }:
let version = "0.10.5"; let
in inherit (pythonPackages) python pyopengl pygame setuptools pillow;
stdenv.mkDerivation { version = "0.10.5";
in stdenv.mkDerivation {
# This project was formerly known as KeyJNote. # This project was formerly known as KeyJNote.
# See http://keyj.s2000.ws/?p=77 for details. # See http://keyj.s2000.ws/?p=77 for details.

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, file, which, intltool, findutils, xdg_utils, pycairo, { stdenv, fetchurl, file, which, intltool, findutils, xdg_utils,
gnome3, pythonPackages, wrapGAppsHook }: gnome3, pythonPackages, wrapGAppsHook }:
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {

View File

@ -1,16 +1,14 @@
{ stdenv, fetchurl, itstool, buildPythonApplication, python27, intltool, wrapGAppsHook { stdenv, fetchurl, itstool, pythonPackages, intltool, wrapGAppsHook
, libxml2, pygobject3, gobjectIntrospection, gtk3, gnome3, pycairo, cairo, file , libxml2, gobjectIntrospection, gtk3, gnome3, cairo, file
}: }:
let let
minor = "3.16"; minor = "3.16";
version = "${minor}.2"; version = "${minor}.2";
in inherit (pythonPackages) python buildPythonApplication pycairo pygobject3;
in buildPythonApplication rec {
buildPythonApplication rec {
name = "meld-${version}"; name = "meld-${version}";
namePrefix = "";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz"; url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
@ -18,19 +16,19 @@ buildPythonApplication rec {
}; };
buildInputs = [ buildInputs = [
python27 intltool wrapGAppsHook itstool libxml2 intltool wrapGAppsHook itstool libxml2
gnome3.gtksourceview gnome3.gsettings_desktop_schemas pycairo cairo gnome3.gtksourceview gnome3.gsettings_desktop_schemas pycairo cairo
gnome3.defaultIconTheme gnome3.dconf file gnome3.defaultIconTheme gnome3.dconf file
]; ];
propagatedBuildInputs = [ gobjectIntrospection pygobject3 gtk3 ]; propagatedBuildInputs = [ gobjectIntrospection pygobject3 gtk3 ];
installPhase = '' installPhase = ''
mkdir -p "$out/lib/${python27.libPrefix}/site-packages" mkdir -p "$out/lib/${python.libPrefix}/site-packages"
export PYTHONPATH="$out/lib/${python27.libPrefix}/site-packages:$PYTHONPATH" export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
${python27}/bin/${python27.executable} setup.py install \ ${python}/bin/${python.executable} setup.py install \
--install-lib=$out/lib/${python27.libPrefix}/site-packages \ --install-lib=$out/lib/${python.libPrefix}/site-packages \
--prefix="$out" --prefix="$out"
mkdir -p $out/share/gsettings-schemas/$name mkdir -p $out/share/gsettings-schemas/$name

View File

@ -1,11 +1,13 @@
{stdenv, fetchurl, makeWrapper, python27, python27Packages, git, { stdenv, fetchurl, makeWrapper, python27Packages, git
docbook_xml_dtd_412, docbook_xml_xslt, asciidoc, xmlto, , docbook_xml_dtd_412, docbook_xml_xslt, asciidoc, xmlto
cython ? null, , bazaar ? null, cvs ? null, darcs ? null, fossil ? null
bazaar ? null, cvs ? null, darcs ? null, fossil ? null, , mercurial ? null, monotone ? null, rcs ? null, src ? null
mercurial ? null, monotone ? null, rcs ? null, src ? null, , subversion ? null, cvs_fast_export ? null }:
subversion ? null, cvs_fast_export ? null }:
with stdenv; with lib; with stdenv; with lib;
mkDerivation rec { let
inherit (python27Packages) python cython;
in mkDerivation rec {
name = "reposurgeon-${meta.version}"; name = "reposurgeon-${meta.version}";
meta = { meta = {
description = "A tool for editing version-control repository history"; description = "A tool for editing version-control repository history";
@ -33,8 +35,8 @@ mkDerivation rec {
makeFlagsArray=( makeFlagsArray=(
XML_CATALOG_FILES="${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml ${docbook_xml_xslt}/xml/xsl/docbook/catalog.xml" XML_CATALOG_FILES="${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml ${docbook_xml_xslt}/xml/xsl/docbook/catalog.xml"
prefix="$out" prefix="$out"
pyinclude="-I${python27}/include/python2.7" pyinclude="-I${python}/include/python2.7"
pylib="-L${python27}/lib -lpython2.7" pylib="-L${python}/lib -lpython2.7"
) )
''; '';
@ -51,7 +53,7 @@ mkDerivation rec {
[ out git bazaar cvs darcs fossil mercurial [ out git bazaar cvs darcs fossil mercurial
monotone rcs src subversion cvs_fast_export ] monotone rcs src subversion cvs_fast_export ]
); );
pythonpath = makeSearchPathOutput "lib" python27.sitePackages ( pythonpath = makeSearchPathOutput "lib" python.sitePackages (
filter (x: x != null) filter (x: x != null)
[ python27Packages.readline or null python27Packages.hglib or null ] [ python27Packages.readline or null python27Packages.hglib or null ]
); );

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, python, rcs, git, pylint }: { stdenv, fetchurl, python, rcs, git }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "src-1.11"; name = "src-1.11";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, which, gnome3, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1 }: { stdenv, fetchgit, wrapGAppsHook, which, gnome3, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1, xorg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.2.3.alpha"; version = "0.2.3.alpha";
@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
buildInputs = [ which gnome3.gnome_common glib intltool pkgconfig libtool cairo gtk3 gst_all_1.gstreamer gst_all_1.gst-plugins-base ]; buildInputs = [ which gnome3.gnome_common glib intltool pkgconfig libtool cairo gtk3 xorg.xwininfo ]
++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]);
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser"; description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser";

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, python, buildPythonApplication, pythonPackages, pkgconfig { stdenv, fetchurl, pkgconfig
, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkitgtk2, libsoup, pygtk , pythonPackages, pyrex096, ffmpeg, boost, glib, gtk2, webkitgtk2, libsoup
, taglib, sqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk , taglib, sqlite
, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas , libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
, gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg , gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg
, enableBonjour ? false, avahi ? null , enableBonjour ? false, avahi ? null
@ -10,10 +10,11 @@ assert enableBonjour -> avahi != null;
with stdenv.lib; with stdenv.lib;
buildPythonApplication rec { let
name = "miro-${version}"; inherit (pythonPackages) python buildPythonApplication;
namePrefix = "";
version = "6.0"; version = "6.0";
in buildPythonApplication rec {
name = "miro-${version}";
src = fetchurl { src = fetchurl {
url = "http://ftp.osuosl.org/pub/pculture.org/miro/src/${name}.tar.gz"; url = "http://ftp.osuosl.org/pub/pculture.org/miro/src/${name}.tar.gz";
@ -56,7 +57,7 @@ buildPythonApplication rec {
preInstall = '' preInstall = ''
# see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
${python}/bin/${python.executable} setup.py install_data --root=$out ${python.interpreter} setup.py install_data --root=$out
sed -i '/data_files=data_files/d' setup.py sed -i '/data_files=data_files/d' setup.py
''; '';
@ -68,14 +69,14 @@ buildPythonApplication rec {
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
''; '';
buildInputs = [ buildInputs = with pythonPackages; [ pygtk pygobject ] ++ [
pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup pkgconfig pyrex096 ffmpeg boost glib gtk2 webkitgtk2 libsoup
pygtk taglib gsettings_desktop_schemas sqlite taglib gsettings_desktop_schemas sqlite
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = with pythonPackages; [
pygobject pygtk pycurl python.modules.sqlite3 mutagen pycairo pythonDBus pygobject pygtk pycurl sqlite3 mutagen pycairo dbus
pywebkitgtk libtorrentRasterbar pywebkitgtk] ++ [ libtorrentRasterbar
gst_python gst_plugins_base gst_plugins_good gst_ffmpeg gst_python gst_plugins_base gst_plugins_good gst_ffmpeg
] ++ optional enableBonjour avahi; ] ++ optional enableBonjour avahi;

View File

@ -1,6 +1,9 @@
{ stdenv, fetchbzr, python, pyqt4, sip, rtmpdump, makeWrapper }: { stdenv, fetchbzr, pythonPackages, rtmpdump, makeWrapper }:
stdenv.mkDerivation { let
inherit (pythonPackages) python pyqt4;
sip = pythonPackages.sip_4_16;
in stdenv.mkDerivation {
name = "qarte-2.4.0"; name = "qarte-2.4.0";
src = fetchbzr { src = fetchbzr {
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk; url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk;

View File

@ -7,14 +7,12 @@ stdenv.mkDerivation rec {
url = "https://github.com/krallin/tini/archive/v0.8.3.tar.gz"; url = "https://github.com/krallin/tini/archive/v0.8.3.tar.gz";
sha256 ="1w7rj4crrcyv25idmh4asbp2sxzwyihy5mbpw384bzxjzaxn9xpa"; sha256 ="1w7rj4crrcyv25idmh4asbp2sxzwyihy5mbpw384bzxjzaxn9xpa";
}; };
patchPhase = "sed -i /tini-static/d CMakeLists.txt";
NIX_CFLAGS_COMPILE = [ NIX_CFLAGS_COMPILE = [
"-DPR_SET_CHILD_SUBREAPER=36" "-DPR_SET_CHILD_SUBREAPER=36"
"-DPR_GET_CHILD_SUBREAPER=37" "-DPR_GET_CHILD_SUBREAPER=37"
]; ];
buildInputs = [ cmake ]; buildInputs = [ cmake ];
postInstall = ''
rm $out/bin/tini-static
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A tiny but valid init for containers"; description = "A tiny but valid init for containers";
homepage = https://github.com/krallin/tini; homepage = https://github.com/krallin/tini;

View File

@ -1,7 +1,5 @@
source $stdenv/setup source $stdenv/setup
set -o pipefail
version=$(cd $kernel/lib/modules && ls -d *) version=$(cd $kernel/lib/modules && ls -d *)
echo "kernel version is $version" echo "kernel version is $version"

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "emojione-${version}"; name = "emojione-${version}";
version = "1.2"; version = "1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eosrei"; owner = "eosrei";
repo = "emojione-color-font"; repo = "emojione-color-font";
rev = "v${version}"; rev = "v${version}";
sha256 = "001c2bph4jcdg9arfmyxrscf1i09gvg44kqy28chjmhxzq99hpcg"; sha256 = "0hgs661g1j91lkafhrfx5ix7ymarh5bzcx34r2id6jl7dc3j41l3";
}; };
preBuild = '' preBuild = ''

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "wireless-regdb-${version}"; name = "wireless-regdb-${version}";
version = "2016-05-02"; version = "2016-06-10";
src = fetchgit { src = fetchgit {
sha256 = "1qa741an242wi6gdikkr4ahanphfhwnjg8q2z3rsv8wdha91k895"; sha256 = "0im9likzpziircl96pql2jpyl8pfcqc5v0wgqy705j4ga5sx8pmn";
url = https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git; url = https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git;
rev = "refs/tags/master-${version}"; rev = "refs/tags/master-${version}";
}; };

View File

@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
networkmanager modemmanager makeWrapper gnome3.gnome-bluetooth grilo ]; networkmanager modemmanager makeWrapper gnome3.gnome-bluetooth grilo ];
preBuild = '' preBuild = ''
substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab" substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
# hack to make test-endianess happy # hack to make test-endianess happy

View File

@ -19,10 +19,6 @@ let baseAttrs = rec {
enableParallelBuilding = true; enableParallelBuilding = true;
postInstall = ''
substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.gnome.org/; homepage = http://www.gnome.org/;
description = "A library implementing a terminal emulator widget for GTK+"; description = "A library implementing a terminal emulator widget for GTK+";

View File

@ -1,8 +1,8 @@
{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, python, pykde4}: { stdenv, kde, kdelibs, kactivities, qjson, pythonPackages, pykde4}:
kde { kde {
buildInputs = [ kdelibs kactivities qjson pyqt4 python pykde4 ]; buildInputs = [ kdelibs kactivities qjson pythonPackages.pyqt4 pythonPackages.python pykde4 ];
meta = { meta = {
description = "Kate, the KDE Advanced Text Editor, as well as KWrite"; description = "Kate, the KDE Advanced Text Editor, as well as KWrite";

View File

@ -1,9 +1,10 @@
{ kde, kdelibs, python, pyqt4, kdepimlibs, shared_desktop_ontologies, { kde, kdelibs, pythonPackages, kdepimlibs, shared_desktop_ontologies,
polkit_qt4, boost, lndir, pkgconfig }: polkit_qt4, boost, lndir, pkgconfig }:
let pydir = "lib/python${python.majorVersion}"; in let
inherit (pythonPackages) python pyqt4;
kde { pydir = "lib/python${python.majorVersion}";
in kde {
patches = [ ./pykde4-gcc-5.patch ]; patches = [ ./pykde4-gcc-5.patch ];

View File

@ -1,5 +1,5 @@
{ kde, kdelibs { kde, kdelibs
, pythonPackages, cups, pyqt4, pykde4, pycups, system-config-printer }: , pythonPackages, cups, pykde4, system-config-printer }:
let s_c_p = system-config-printer.override { withGUI = false; }; in let s_c_p = system-config-printer.override { withGUI = false; }; in
@ -7,7 +7,7 @@ kde rec {
buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
] ++ pythonPath; ] ++ pythonPath;
pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ]; pythonPath = [ cups pythonPackages.pyqt4 pykde4 pythonPackages.pycups s_c_p ];
# system-config-printer supplies some D-Bus policy that we need. # system-config-printer supplies some D-Bus policy that we need.
propagatedUserEnvPkgs = [ s_c_p ]; propagatedUserEnvPkgs = [ s_c_p ];

View File

@ -5,4 +5,5 @@
plasmaPackage { plasmaPackage {
name = "breeze-gtk"; name = "breeze-gtk";
nativeBuildInputs = [ ecm ]; nativeBuildInputs = [ ecm ];
cmakeFlags = [ "-DWITH_GTK3_VERSION=3.20" ];
} }

View File

@ -30,6 +30,9 @@ self: super: {
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
}); });
# This test keeps being aborted because it runs too quietly for too long
Lazy-Pbkdf2 = if pkgs.stdenv.isi686 then dontCheck super.Lazy-Pbkdf2 else super.Lazy-Pbkdf2;
# Use the default version of mysql to build this package (which is actually mariadb). # Use the default version of mysql to build this package (which is actually mariadb).
mysql = super.mysql.override { mysql = pkgs.mysql.lib; }; mysql = super.mysql.override { mysql = pkgs.mysql.lib; };

View File

@ -1,7 +1,9 @@
{ stdenv, fetchurl, python, cython, pkgconfig, wrapPython { stdenv, fetchurl, pythonPackages, pkgconfig, SDL
, pygame, SDL, libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib , libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib
}: }:
with pythonPackages;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "renpy-6.17.6"; name = "renpy-6.17.6";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }: { stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5-cpp }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "7.200.2"; version = "7.200.2";
@ -9,12 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "1yvx75caks477jqwx5gspi6946jialddk00wdvg6dnh5wdi2xasm"; sha256 = "1yvx75caks477jqwx5gspi6946jialddk00wdvg6dnh5wdi2xasm";
}; };
buildInputs = [ cmake openblasCompat superlu hdf5 ]; buildInputs = [ cmake openblasCompat superlu hdf5-cpp ];
cmakeFlags = [ "-DDETECT_HDF5=ON" ]; cmakeFlags = [ "-DDETECT_HDF5=ON" ];
patches = [ ./use-unix-config-on-OS-X.patch patches = [ ./use-unix-config-on-OS-X.patch ];
./use-OpenBLAS-as-LAPACK.patch ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "C++ linear algebra library"; description = "C++ linear algebra library";

View File

@ -1,14 +0,0 @@
diff --git a/cmake_aux/Modules/ARMA_FindLAPACK.cmake b/cmake_aux/Modules/ARMA_FindLAPACK.cmake
index 5395afb..a203c93 100644
--- a/cmake_aux/Modules/ARMA_FindLAPACK.cmake
+++ b/cmake_aux/Modules/ARMA_FindLAPACK.cmake
@@ -5,7 +5,7 @@
# also defined, but not for general use are
# LAPACK_LIBRARY, where to find the LAPACK library.
-SET(LAPACK_NAMES ${LAPACK_NAMES} lapack)
+SET(LAPACK_NAMES ${LAPACK_NAMES} openblas)
FIND_LIBRARY(LAPACK_LIBRARY
NAMES ${LAPACK_NAMES}
PATHS /usr/lib64/atlas /usr/lib/atlas /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "cppzmq-${version}"; name = "cppzmq-${version}";
version = "2016-01-20"; version = "2016-07-18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zeromq"; owner = "zeromq";
repo = "cppzmq"; repo = "cppzmq";
rev = "68a7b09cfce01c4c279fba2cf91686fcfc566848"; rev = "92d2af6def80a01b76d5e73f073c439ad00ab757";
sha256 = "00dsqqlm8mxhm8kfdspxfln0wzwkyywscnf264afw02k6xf28ndm"; sha256 = "0lnwh314hh5ifad2sa2nz1g1ld1jc4vplm7clyvx304sjjvbvl27";
}; };
installPhase = '' installPhase = ''

View File

@ -1,18 +1,18 @@
{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, boost, libevent, double_conversion, glog { stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, boost, libevent
, google-gflags, python, libiberty, openssl }: , double_conversion, glog, google-gflags, python, libiberty, openssl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "folly-${version}"; name = "folly-${version}";
version = "2016-04-29"; version = "2016.08.08.00";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "facebook"; owner = "facebook";
repo = "folly"; repo = "folly";
rev = "b31eb722e444ab0293a73fe9de3f94e657ca6de9"; rev = "v${version}";
sha256 = "0s95y0wnz4xbrkzbiksnb0n0d0qrkcsbssznng57kwlq8jlfka24"; sha256 = "0f9xdi8w2mbn6gxjfvpzh8i22ca8p11a2ss6qkw31yhdgd3s9087";
}; };
nativeBuildInputs = [ autoreconfHook python ]; nativeBuildInputs = [ autoreconfHook python pkgconfig ];
buildInputs = [ libiberty boost libevent double_conversion glog google-gflags openssl ]; buildInputs = [ libiberty boost libevent double_conversion glog google-gflags openssl ];
postPatch = "cd folly"; postPatch = "cd folly";

View File

@ -2,7 +2,7 @@
let let
pname = "icu4c"; pname = "icu4c";
version = "56.1"; version = "57.1";
in in
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = pname + "-" + version; name = pname + "-" + version;
@ -10,7 +10,7 @@ stdenv.mkDerivation ({
src = fetchurl { src = fetchurl {
url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-" url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
+ (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz"; + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
sha256 = "05j86714qaj0lvhvyr2s1xncw6sk0h2dcghb3iiwykbkbh8fjr1s"; sha256 = "10cmkqigxh9f73y7q3p991q6j8pph0mrydgj11w1x6wlcp5ng37z";
}; };
outputs = [ "dev" "out" ]; outputs = [ "dev" "out" ];

View File

@ -8,6 +8,11 @@ stdenv.mkDerivation rec {
sha256 = "1bmdr51wxiir595k2r6z9a7rcgm42kkgnr586xir7vdcndr3pwf8"; sha256 = "1bmdr51wxiir595k2r6z9a7rcgm42kkgnr586xir7vdcndr3pwf8";
}; };
# By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
# then stops downstream builds (mariadb in particular) from detecting it. This
# option should remove the prefix and give us a working jemalloc.
configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix=";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.canonware.com/jemalloc/index.html; homepage = http://www.canonware.com/jemalloc/index.html;
description = "General purpose malloc(3) implementation"; description = "General purpose malloc(3) implementation";

View File

@ -9,12 +9,6 @@ in stdenv.mkDerivation {
sha256 = "02i5brb2007sxq3mn862mr7yxxm0g6nj172417hjyvjax7549xmj"; sha256 = "02i5brb2007sxq3mn862mr7yxxm0g6nj172417hjyvjax7549xmj";
}; };
patchPhase = ''
substituteInPlace Makefile \
--replace "/usr" "$out" \
--replace "{exec_prefix}" "{prefix}"
'';
meta = { meta = {
description = "Common functions found on BSD systems"; description = "Common functions found on BSD systems";
homepage = http://libbsd.freedesktop.org/; homepage = http://libbsd.freedesktop.org/;

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, cmake }:
let version = "0.7.2"; in
stdenv.mkDerivation {
name = "libdynd-${version}";
src = fetchFromGitHub {
owner = "libdynd";
repo = "libdynd";
rev = "v${version}";
sha256 = "0fkd5rawqni1cq51fmr76iw7ll4fmbahfwv4rglnsabbkylf73pr";
};
cmakeFlags = [
"-DDYND_BUILD_BENCHMARKS=OFF"
];
buildInputs = [ cmake ];
outputs = [ "dev" "out" ];
outputDoc = "dev";
meta = with stdenv.lib; {
description = "C++ dynamic ndarray library, with Python exposure.";
homepage = http://libdynd.org;
license = licenses.bsd2;
};
}

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libvdpau-va-gl-${version}"; name = "libvdpau-va-gl-${version}";
version = "0.3.6"; version = "0.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "i-rinat"; owner = "i-rinat";
repo = "libvdpau-va-gl"; repo = "libvdpau-va-gl";
rev = "v${version}"; rev = "v${version}";
sha256 = "06lcg6zfj6mn17svz7s0y6ijdah55l9rnp9r440lcbixivjbgyn5"; sha256 = "1y511jxs0df1fqzjcvb6zln7nbmchv1g6z3lw0z9nsf64ziycj8k";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -1,17 +1,15 @@
{ stdenv, fetchurl, unzip, openblas, gfortran }: { stdenv, fetchurl, unzip, openblas, gfortran }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.12.4"; version = "3.12.6";
name = "ipopt-${version}"; name = "ipopt-${version}";
src = fetchurl { src = fetchurl {
url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip"; url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
sha256 = "0hxmpi3zx5zgv2ijscdvc40xf88hx5if0d9sgch155z70g15wx0l"; sha256 = "0lx09h1757s5jppwnxwblcjk0biqjxy7yaf3z4vfqbl4rl93avs0";
}; };
preConfigure = '' CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ];
export CXXDEFS="-DHAVE_RAND -DHAVE_CSTRING -DHAVE_CSTDIO"
'';
configureFlags = [ configureFlags = [
"--with-blas-lib=-lopenblas" "--with-blas-lib=-lopenblas"

View File

@ -2,17 +2,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xgboost-${version}"; name = "xgboost-${version}";
version = "2016-05-14"; version = "0.60";
# needs submodules # needs submodules
src = fetchgit { src = fetchgit {
url = "https://github.com/dmlc/xgboost"; url = "https://github.com/dmlc/xgboost";
rev = "9c26566eb09733423f821f139938ff4105c3775d"; rev = "refs/tags/v${version}";
sha256 = "1d7lnbwxwakclqqfjwyk9w3wd2clkihdr6ljs5z08ydiaspri093"; sha256 = "0536vfl59n9vlagl1cpdl06c9y19dscwhwdzvi27zk5nc5qb6rdq";
}; };
postPatch = "sed '1i#include <cmath>' -i src/tree/param.h";
enableParallelBuilding = true; enableParallelBuilding = true;
installPhase = '' installPhase = ''

View File

@ -40,7 +40,10 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
passthru.pythonPath = []; passthru = {
pythonPath = [];
qt = qt4;
};
meta = { meta = {
description = "Python bindings for Qt"; description = "Python bindings for Qt";

View File

@ -0,0 +1,42 @@
{ stdenv, fetchzip, lib, makeWrapper, jdk, gtk }:
stdenv.mkDerivation rec {
name = "visualvm-1.3.8";
src = fetchzip {
url = "https://java.net/projects/visualvm/downloads/download/release138/visualvm_138.zip";
sha256 = "09wsi85z1g7bwyfhb37vw0gy3wl0j1cy35aj59rg7067q262gy1y";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
rm bin/visualvm.exe
substituteInPlace etc/visualvm.conf \
--replace "#visualvm_jdkhome=" "visualvm_jdkhome=" \
--replace "/path/to/jdk" "${jdk.home}" \
--replace 'visualvm_default_options="' 'visualvm_default_options="--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel -J-Dawt.useSystemAAFontSettings=lcd -J-Dswing.aatext=true '
cp -r . $out
# To get the native LAF, JVM needs to see GTKs .so-s.
wrapProgram $out/bin/visualvm \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk ]}"
'';
meta = with stdenv.lib; {
description = "A visual interface for viewing information about Java applications";
longDescription = ''
VisualVM is a visual tool integrating several commandline JDK
tools and lightweight profiling capabilities. Designed for both
production and development time use, it further enhances the
capability of monitoring and performance analysis for the Java
SE platform.
'';
homepage = https://visualvm.java.net/;
license = licenses.gpl2ClasspathPlus;
platforms = platforms.all;
maintainers = with maintainers; [ michalrus ];
};
}

View File

@ -3,21 +3,16 @@
let let
deps = import ./deps.nix { inherit fetchurl; }; deps = import ./deps.nix { inherit fetchurl; };
version = "1.3.0"; version = "1.4.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/garbas/pypi2nix/archive/v${version}.tar.gz"; url = "https://github.com/garbas/pypi2nix/archive/v${version}.tar.gz";
sha256 = "0mk9v4s51jdrrcs78v3cm131pz3fdhjkd4cmmfn1kkcfcpqzw6j8"; sha256 = "0w5f10p4d4ppwg2plbbrmqwmi1ycgpaidyajza11c9svka014zrb";
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "pypi2nix-${version}"; name = "pypi2nix-${version}";
srcs = with deps; [ srcs = with deps; [
src src
pip
click click
setuptools
zcbuildout
zcrecipeegg
requests requests
]; # six attrs effect ]; ]; # six attrs effect ];
buildInputs = [ python zip makeWrapper ]; buildInputs = [ python zip makeWrapper ];
@ -26,17 +21,13 @@ in stdenv.mkDerivation rec {
postUnpack = '' postUnpack = ''
mkdir -p $out/pkgs mkdir -p $out/pkgs
mv pip-*/pip $out/pkgs/pip
mv click-*/click $out/pkgs/click mv click-*/click $out/pkgs/click
mv setuptools-*/setuptools $out/pkgs/setuptools
mv zc.buildout-*/src/zc $out/pkgs/zc
mv zc.recipe.egg-*/src/zc/recipe $out/pkgs/zc/recipe
# mv six-*/six.py $out/pkgs/ # mv six-*/six.py $out/pkgs/
# mv attrs-*/src/attr $out/pkgs/attrs # mv attrs-*/src/attr $out/pkgs/attrs
# mv effect-*/effect $out/pkgs/effect # mv effect-*/effect $out/pkgs/effect
mv requests-*/requests $out/pkgs/ mv requests-*/requests $out/pkgs/
if [ -z "$IN_NIX_SHELL" ]; then if [ "$IN_NIX_SHELL" != "1" ]; then
if [ -e git-export ]; then if [ -e git-export ]; then
mv git-export/src/pypi2nix $out/pkgs/pypi2nix mv git-export/src/pypi2nix $out/pkgs/pypi2nix
else else
@ -48,9 +39,9 @@ in stdenv.mkDerivation rec {
commonPhase = '' commonPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
echo "#!${python}/bin/python3" > $out/bin/pypi2nix echo "#!${python.interpreter}" > $out/bin/pypi2nix
echo "import pypi2nix.cli" >> $out/bin/pypi2nix echo "import pypi2nix.cli" >> $out/bin/pypi2nix
echo "pypi2nix.cli.main()" >> $out/bin/pypi2nix echo "pypi2nix.cli.main()" >> $out/bin/pypi2nix
chmod +x $out/bin/pypi2nix chmod +x $out/bin/pypi2nix
@ -81,6 +72,5 @@ in stdenv.mkDerivation rec {
homepage = https://github.com/garbas/pypi2nix; homepage = https://github.com/garbas/pypi2nix;
description = "A tool that generates nix expressions for your python packages, so you don't have to."; description = "A tool that generates nix expressions for your python packages, so you don't have to.";
maintainers = with stdenv.lib.maintainers; [ garbas ]; maintainers = with stdenv.lib.maintainers; [ garbas ];
platforms = with stdenv.lib.platforms; unix;
}; };
} }

View File

@ -17,6 +17,9 @@ rec {
zcrecipeeggVersion = "2.0.3"; zcrecipeeggVersion = "2.0.3";
zcrecipeeggHash = "69a8ce276029390a36008150444aa0b4"; zcrecipeeggHash = "69a8ce276029390a36008150444aa0b4";
buildoutrequirementsVersion = "0.2.2";
buildoutrequirementsHash = "0b4e53d871b167eaac0846942221af00";
wheelVersion = "0.29.0"; wheelVersion = "0.29.0";
wheelHash = "555a67e4507cedee23a0deb9651e452f"; wheelHash = "555a67e4507cedee23a0deb9651e452f";
@ -71,6 +74,11 @@ rec {
md5 = zcrecipeeggHash; md5 = zcrecipeeggHash;
}; };
buildoutrequirements = fetchurl {
url = "https://github.com/garbas/buildout.requirements/archive/1e2977e2d254184399401746736d2b17c912b350.tar.gz";
md5 = buildoutrequirementsHash;
};
wheel = fetchurl { wheel = fetchurl {
url = "https://pypi.python.org/packages/c9/1d/bd19e691fd4cfe908c76c429fe6e4436c9e83583c4414b54f6c85471954a/wheel-${wheelVersion}.tar.gz"; url = "https://pypi.python.org/packages/c9/1d/bd19e691fd4cfe908c76c429fe6e4436c9e83583c4414b54f6c85471954a/wheel-${wheelVersion}.tar.gz";
md5 = wheelHash; md5 = wheelHash;

View File

@ -3,15 +3,15 @@
, tileMode ? false , tileMode ? false
}: }:
let version = "0.18.0";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "crawl-${version}" + (if tileMode then "-tiles" else ""); name = "crawl-${version}" + (if tileMode then "-tiles" else "");
version = "0.18.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "crawl-ref"; owner = "crawl-ref";
repo = "crawl-ref"; repo = "crawl-ref";
rev = version; rev = version;
sha256 = "0mgg9lzy7lp5bhp8340a6c6qyz7yiz80wb39gknls8hvv0f6i0si"; sha256 = "1cg5mxhx0lfhadls6n8avcpkjx08nqf1y085li97zqxl3gjaj64j";
}; };
patches = [ ./crawl_purify.patch ]; patches = [ ./crawl_purify.patch ];

View File

@ -5,7 +5,7 @@ let
callPackage_i686 = pkgsi686Linux.newScope self; callPackage_i686 = pkgsi686Linux.newScope self;
self = rec { self = rec {
dwarf-fortress-original = callPackage_i686 ./game.nix { }; dwarf-fortress-original = callPackage ./game.nix { };
dfhack = callPackage_i686 ./dfhack { dfhack = callPackage_i686 ./dfhack {
inherit (pkgsi686Linux.perlPackages) XMLLibXML XMLLibXSLT; inherit (pkgsi686Linux.perlPackages) XMLLibXML XMLLibXSLT;
@ -14,7 +14,7 @@ let
}; };
}; };
dwarf-fortress-unfuck = callPackage_i686 ./unfuck.nix { }; dwarf-fortress-unfuck = callPackage ./unfuck.nix { };
dwarf-fortress = callPackage ./wrapper { dwarf-fortress = callPackage ./wrapper {
themes = { themes = {

View File

@ -5,8 +5,9 @@
}: }:
let let
dfVersion = "0.42.06"; dfVersion = "0.43.03";
version = "${dfVersion}-r1"; version = "${dfVersion}-r1";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
# revision of library/xml submodule # revision of library/xml submodule
xmlRev = "98cc1e01886aaea161d651cf97229ad08e9782b0"; xmlRev = "98cc1e01886aaea161d651cf97229ad08e9782b0";
@ -14,7 +15,7 @@ let
fakegit = writeScriptBin "git" '' fakegit = writeScriptBin "git" ''
#! ${stdenv.shell} #! ${stdenv.shell}
if [ "$*" = "describe --tags --long" ]; then if [ "$*" = "describe --tags --long" ]; then
echo "${dfVersion}-unknown" echo "${version}-unknown"
elif [ "$*" = "rev-parse HEAD" ]; then elif [ "$*" = "rev-parse HEAD" ]; then
if [ "$(dirname "$(pwd)")" = "xml" ]; then if [ "$(dirname "$(pwd)")" = "xml" ]; then
echo "${xmlRev}" echo "${xmlRev}"
@ -35,19 +36,20 @@ in stdenv.mkDerivation rec {
src = fetchgit { src = fetchgit {
url = "https://github.com/DFHack/dfhack"; url = "https://github.com/DFHack/dfhack";
inherit rev; inherit rev;
sha256 = "1p234m8r84cdr4bx622hcd13mshnjc5bw7hdxhv18waaxvdpv6jh"; sha256 = "0m5kqpaz0ypji4c32w0hhbsicvgvnjh56pqvq7af6pqqnyg1nzcx";
}; };
patches = [ ./use-system-libraries.patch ]; patches = [ ./use-system-libraries.patch ];
postPatch = "sed '1i#include <math.h>' -i plugins/3dveins.cpp";
nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ]; nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
# we can't use native Lua; upstream uses private headers # we can't use native Lua; upstream uses private headers
buildInputs = [ zlib jsoncpp protobuf tinyxml ]; buildInputs = [ zlib jsoncpp protobuf tinyxml ];
cmakeFlags = [ "-DEXTERNAL_TINYXML=ON" ];
enableParallelBuilding = true; enableParallelBuilding = true;
passthru = { inherit dfVersion; }; passthru = { inherit version dfVersion; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Memory hacking library for Dwarf Fortress and a set of tools that use it"; description = "Memory hacking library for Dwarf Fortress and a set of tools that use it";

View File

@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index 46fd565..254c3c0 100644 index 956edfc..fb0e6bc 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -160,8 +160,6 @@ ELSEIF(MSVC) @@ -160,8 +160,6 @@ ELSEIF(MSVC)
@ -11,7 +11,7 @@ index 46fd565..254c3c0 100644
ADD_DEFINITIONS(-DLUA_BUILD_AS_DLL) ADD_DEFINITIONS(-DLUA_BUILD_AS_DLL)
if(APPLE) if(APPLE)
@@ -182,11 +180,8 @@ else() @@ -182,10 +180,8 @@ else()
set(ZLIB_ROOT /usr/lib/i386-linux-gnu) set(ZLIB_ROOT /usr/lib/i386-linux-gnu)
endif() endif()
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
@ -19,27 +19,31 @@ index 46fd565..254c3c0 100644
include_directories(depends/lua/include) include_directories(depends/lua/include)
include_directories(depends/md5) include_directories(depends/md5)
-include_directories(depends/jsoncpp) -include_directories(depends/jsoncpp)
-include_directories(depends/tinyxml)
include_directories(depends/tthread) # Support linking against external tinyxml
include_directories(${ZLIB_INCLUDE_DIRS}) # If we find an external tinyxml, set the DFHACK_TINYXML variable to "tinyxml"
include_directories(depends/clsocket/src)
diff --git a/depends/CMakeLists.txt b/depends/CMakeLists.txt diff --git a/depends/CMakeLists.txt b/depends/CMakeLists.txt
index bf0345b..2a1a852 100644 index d8442b1..b47dc2a 100644
--- a/depends/CMakeLists.txt --- a/depends/CMakeLists.txt
+++ b/depends/CMakeLists.txt +++ b/depends/CMakeLists.txt
@@ -1,10 +1,7 @@ @@ -1,7 +1,6 @@
#list depends here. #list depends here.
add_subdirectory(lua) add_subdirectory(lua)
add_subdirectory(md5) add_subdirectory(md5)
-add_subdirectory(protobuf) -add_subdirectory(protobuf)
-add_subdirectory(tinyxml)
# Don't build tinyxml if it's being externally linked against.
if(NOT TinyXML_FOUND)
@@ -9,7 +8,6 @@ if(NOT TinyXML_FOUND)
endif()
add_subdirectory(tthread) add_subdirectory(tthread)
-add_subdirectory(jsoncpp) -add_subdirectory(jsoncpp)
# build clsocket static and only as a dependency. Setting those options here overrides its own default settings. # build clsocket static and only as a dependency. Setting those options here overrides its own default settings.
OPTION(CLSOCKET_SHARED "Build clsocket lib as shared." OFF) OPTION(CLSOCKET_SHARED "Build clsocket lib as shared." OFF)
OPTION(CLSOCKET_DEP_ONLY "Build for use inside other CMake projects as dependency." ON) OPTION(CLSOCKET_DEP_ONLY "Build for use inside other CMake projects as dependency." ON)
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 54300ec..128bfd1 100644 index d3e3480..5d4b572 100644
--- a/library/CMakeLists.txt --- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt +++ b/library/CMakeLists.txt
@@ -223,10 +223,10 @@ LIST(APPEND PROJECT_SOURCES ${PROJECT_PROTO_SRCS}) @@ -223,10 +223,10 @@ LIST(APPEND PROJECT_SOURCES ${PROJECT_PROTO_SRCS})
@ -55,24 +59,8 @@ index 54300ec..128bfd1 100644
) )
# Merge headers into sources # Merge headers into sources
@@ -269,12 +269,12 @@ IF(UNIX)
ENDIF()
IF(APPLE)
- SET(PROJECT_LIBS dl dfhack-md5 dfhack-tinyxml dfhack-tinythread)
+ SET(PROJECT_LIBS dl dfhack-md5 tinyxml dfhack-tinythread)
ELSEIF(UNIX)
- SET(PROJECT_LIBS rt dl dfhack-md5 dfhack-tinyxml dfhack-tinythread)
+ SET(PROJECT_LIBS rt dl dfhack-md5 tinyxml dfhack-tinythread)
ELSE(WIN32)
#FIXME: do we really need psapi?
- SET(PROJECT_LIBS psapi dfhack-md5 dfhack-tinyxml dfhack-tinythread)
+ SET(PROJECT_LIBS psapi dfhack-md5 tinyxml dfhack-tinythread)
ENDIF()
ADD_LIBRARY(dfhack-version STATIC DFHackVersion.cpp)
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
index dd1c634..7bd8c17 100644 index c24b940..afeb888 100644
--- a/plugins/CMakeLists.txt --- a/plugins/CMakeLists.txt
+++ b/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt
@@ -47,11 +47,11 @@ STRING(REPLACE ".proto" ".pb.h" PROJECT_PROTO_HDRS "${PROJECT_PROTOS}") @@ -47,11 +47,11 @@ STRING(REPLACE ".proto" ".pb.h" PROJECT_PROTO_HDRS "${PROJECT_PROTOS}")

View File

@ -3,10 +3,18 @@
}: }:
let let
baseVersion = "42"; baseVersion = "43";
patchVersion = "06"; patchVersion = "05";
dfVersion = "0.${baseVersion}.${patchVersion}"; dfVersion = "0.${baseVersion}.${patchVersion}";
libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc dwarf-fortress-unfuck SDL ]; libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc dwarf-fortress-unfuck SDL ];
platform =
if stdenv.system == "x86_64-linux" then "linux"
else if stdenv.system == "i686-linux" then "linux32"
else throw "Unsupported platform";
sha256 =
if stdenv.system == "x86_64-linux" then "1r0b96yrdf24m9476k5x7rmp3faxr0kfwwdf35agpvlb1qbi6v45"
else if stdenv.system == "i686-linux" then "16l1lydpkbnl3zhz4i2snmjk7pps8vmw3zv0bjgr8dncbsrycd03"
else throw "Unsupported platform";
in in
@ -16,8 +24,8 @@ stdenv.mkDerivation {
name = "dwarf-fortress-original-${dfVersion}"; name = "dwarf-fortress-original-${dfVersion}";
src = fetchurl { src = fetchurl {
url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_linux.tar.bz2"; url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_${platform}.tar.bz2";
sha256 = "17y9zq9xn1g0a501w4vkinb0n2yjiczsi2g7r6zggr41pxrqxpq3"; inherit sha256;
}; };
installPhase = '' installPhase = ''
@ -39,11 +47,11 @@ stdenv.mkDerivation {
passthru = { inherit baseVersion patchVersion dfVersion; }; passthru = { inherit baseVersion patchVersion dfVersion; };
meta = { meta = with stdenv.lib; {
description = "A single-player fantasy game with a randomly generated adventure world"; description = "A single-player fantasy game with a randomly generated adventure world";
homepage = http://www.bay12games.com/dwarves; homepage = http://www.bay12games.com/dwarves;
license = lib.licenses.unfreeRedistributable; license = licenses.unfreeRedistributable;
platforms = [ "i686-linux" ]; platforms = platforms.linux;
maintainers = with lib.maintainers; [ a1russell robbinch roconnor the-kenny abbradar ]; maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar ];
}; };
} }

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "cla-theme-${version}"; name = "cla-theme-${version}";
version = "42.06-v22"; version = "43.04-v23";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "DFgraphics"; owner = "DFgraphics";
repo = "CLA"; repo = "CLA";
rev = version; rev = version;
sha256 = "1rr52j1wns17axc27fab0wn0338axzwkqp7cpa690kb3bl1y0pf5"; sha256 = "0a88jkcli9iq0prg5w0xh1cyms0b7dnc9rdahn7wy7fyakyp7s27";
}; };
installPhase = '' installPhase = ''
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
cp -r data raw $out cp -r data raw $out
''; '';
passthru.dfVersion = "0.42.06"; passthru.dfVersion = "0.43.05";
preferLocalBuild = true; preferLocalBuild = true;

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "phoebus-theme-${version}"; name = "phoebus-theme-${version}";
version = "42.06a"; version = "43.03";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "DFgraphics"; owner = "DFgraphics";
repo = "Phoebus"; repo = "Phoebus";
rev = version; rev = version;
sha256 = "1mkj882mf1lvjs2b7jxfazym9fl1y20slbfi1lgqzbp1872aaxi0"; sha256 = "1mga5w3mks3bm6qch7azffr51g3q26za7hnas4qmxfs3m56bjav7";
}; };
installPhase = '' installPhase = ''
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
cp -r data raw $out cp -r data raw $out
''; '';
passthru.dfVersion = "0.42.06"; passthru.dfVersion = "0.43.05";
preferLocalBuild = true; preferLocalBuild = true;

View File

@ -4,17 +4,15 @@
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "dwarf_fortress_unfuck-2016-04-22"; name = "dwarf_fortress_unfuck-2016-07-13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "svenstaro"; owner = "svenstaro";
repo = "dwarf_fortress_unfuck"; repo = "dwarf_fortress_unfuck";
rev = "dde40a2c619eac119b6db1bcd0c8d8612472f866"; rev = "d6a4ee67e7b41bec1caa87548640643db35a6080";
sha256 = "12bqh3k4wsk1c0bz2zly8h0ilbsdmsbwr9cdjc6i7liwg9906g7i"; sha256 = "17p7jzmwd5z54wn6bxmic0i8y8mma3q359zcy3r9x2mp2wv1yd7p";
}; };
postPatch = "sed '1i#include <math.h>' -i g_src/ttf_manager.cpp";
cmakeFlags = [ cmakeFlags = [
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
@ -32,13 +30,13 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
passthru.dfVersion = "0.42.06"; passthru.dfVersion = "0.43.05";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Unfucked multimedia layer for Dwarf Fortress"; description = "Unfucked multimedia layer for Dwarf Fortress";
homepage = https://github.com/svenstaro/dwarf_fortress_unfuck; homepage = https://github.com/svenstaro/dwarf_fortress_unfuck;
license = licenses.free; license = licenses.free;
platforms = [ "i686-linux" ]; platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, curl, cacert { stdenv, curl, xidel, cacert
# Begin download parameters # Begin download parameters
, username ? "" , username ? ""
, password ? "" , password ? ""
@ -18,7 +18,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "factorio.tar.gz"; name = "factorio.tar.gz";
buildInputs = [ curl ]; buildInputs = [ curl xidel ];
inherit url loginUrl username password cacert; inherit url loginUrl username password cacert;

View File

@ -9,23 +9,34 @@ curl="curl \
--max-redirs 20 \ --max-redirs 20 \
--retry 3 \ --retry 3 \
--cacert $cacert/etc/ssl/certs/ca-bundle.crt \ --cacert $cacert/etc/ssl/certs/ca-bundle.crt \
-b cookies \
-c cookies \
$curlOpts \ $curlOpts \
$NIX_CURL_FLAGS" $NIX_CURL_FLAGS"
# We don't want the password to be on any program's argv, as it may be # We don't want the password to be on any program's argv, as it may be
# visible in /proc. Writing it to file with echo should be safe, since # visible in /proc. Writing it to file with echo should be safe, since
# it's a shell builtin. # it's a shell builtin.
echo "password=$password" > password echo -n "$password" > password
# Might as well hide the username as well. # Might as well hide the username as well.
echo "username-or-email=$username" > username echo -n "$username" > username
# Get a CSRF token.
csrf=$($curl $loginUrl | xidel - -e '//input[@id="csrf_token"]/@value')
# Log in. We don't especially care about the result, but let's check if login failed. # Log in. We don't especially care about the result, but let's check if login failed.
$curl -c cookies -d @username -d @password $loginUrl -D headers > /dev/null $curl --data-urlencode csrf_token="$csrf" \
--data-urlencode username_or_email@username \
--data-urlencode password@password \
-d action=Login \
$loginUrl -D headers > /dev/null
if grep -q 'Location: /' headers; then if grep -q 'Location: https://' headers; then
# Now download. We need --insecure for this, but the sha256 should cover us. # Now download. We need --insecure for this, but the sha256 should cover us.
$curl -b cookies --insecure --location $url > $out $curl --insecure --location $url > $out
set +x
else else
set +x
echo 'Login failed' echo 'Login failed'
echo 'Please set username and password with config.nix,' echo 'Please set username and password with config.nix,'
echo 'or /etc/nix/nixpkgs-config.nix if on NixOS.' echo 'or /etc/nix/nixpkgs-config.nix if on NixOS.'

View File

@ -1,12 +1,10 @@
{ stdenv { stdenv
, fetchurl , fetchurl
, buildPythonApplication
, pyqt4
, pythonPackages , pythonPackages
}: }:
let let
version = "2.3.2"; version = "2.3.2";
in buildPythonApplication rec { in pythonPackages.buildPythonApplication rec {
name = "mnemosyne-${version}"; name = "mnemosyne-${version}";
src = fetchurl { src = fetchurl {
url = "http://sourceforge.net/projects/mnemosyne-proj/files/mnemosyne/${name}/Mnemosyne-${version}.tar.gz"; url = "http://sourceforge.net/projects/mnemosyne-proj/files/mnemosyne/${name}/Mnemosyne-${version}.tar.gz";

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ioquake3-git-${version}"; name = "ioquake3-git-${version}";
version = "2016-04-05"; version = "2016-08-11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ioquake"; owner = "ioquake";
repo = "ioq3"; repo = "ioq3";
rev = "1f6703821f11be9c711c6ee42371ab290dd12776"; rev = "1cf0b21cda562bade9152958f1525e5ac281ab9c";
sha256 = "0jbn4lv85khfcmn1dc3mrx7zxldj3p4cggx85hdfpiwmnsjl4w67"; sha256 = "104yrgi9dnfb493pm9wvk2kn80nazcr1nllb5vd7di66jnvcjks0";
}; };
nativeBuildInputs = [ which pkgconfig ]; nativeBuildInputs = [ which pkgconfig ];

View File

@ -1254,6 +1254,15 @@
name = "libvpx1.deb"; name = "libvpx1.deb";
}; };
} }
rec {
name = "libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_amd64";
md5 = "4d9ac7966de8160a13817291206b51a4";
url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_amd64.deb";
source = fetchurl {
inherit url md5;
name = "libvulkan1.deb";
};
}
rec { rec {
name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_amd64"; name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_amd64";
md5 = "a1e5b4a8f8200feef82dab976f1b4e5d"; md5 = "a1e5b4a8f8200feef82dab976f1b4e5d";
@ -2993,6 +3002,15 @@
name = "libvpx1.deb"; name = "libvpx1.deb";
}; };
} }
rec {
name = "libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_i386";
md5 = "de2c787fcc443fb989b1862367a2e0c7";
url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_i386.deb";
source = fetchurl {
inherit url md5;
name = "libvulkan1.deb";
};
}
rec { rec {
name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_i386"; name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_i386";
md5 = "6265aab9d541aea8aad3496ebcc5908e"; md5 = "6265aab9d541aea8aad3496ebcc5908e";

View File

@ -9,7 +9,7 @@ let arch = if stdenv.system == "x86_64-linux" then "amd64"
inputFile = writeText "steam-runtime.json" (builtins.toJSON input); inputFile = writeText "steam-runtime.json" (builtins.toJSON input);
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "steam-runtime-2016-03-03"; name = "steam-runtime-2016-08-13";
nativeBuildInputs = [ python2 dpkg binutils ]; nativeBuildInputs = [ python2 dpkg binutils ];

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, scons, pkgconfig, SDL, lua, fftwFloat }: { stdenv, fetchFromGitHub, scons, pkgconfig, SDL, lua, fftwFloat }:
let version = "91.3.328";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "the-powder-toy-${version}"; name = "the-powder-toy-${version}";
version = "91.5.330";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "simtr"; owner = "simtr";
repo = "The-Powder-Toy"; repo = "The-Powder-Toy";
rev = "v${version}"; rev = "v${version}";
sha256 = "0krg4d2m8cnfabm5qq7wr1y53h21i49xjcggzg98xjd0972zvfrk"; sha256 = "19m7jyg3pnppymvr6lz454mjiw18hvldpdhi33596m9ji3nrq8x7";
}; };
patches = [ ./fix-env.patch ]; patches = [ ./fix-env.patch ];

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wesnoth"; pname = "wesnoth";
version = "1.13.4"; version = "1.13.5";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2"; url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
sha256 = "1ys25ijwphld11002cad9iz5mc5rqazmjn8866l8gcdfrrhk943s"; sha256 = "15hvf06r7086plwmagh89plcxal2zql8k4mg0yf1zgwjvdz284dx";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -3,7 +3,7 @@
, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils , cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
, net_snmp, polkit , net_snmp, polkit
, bash, coreutils, utillinux , bash, coreutils, utillinux
, qtSupport ? true, qt4, pyqt4 , qtSupport ? true, qt4
, withPlugin ? false , withPlugin ? false
}: }:

View File

@ -3,7 +3,7 @@
, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils , cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
, net_snmp, openssl, polkit , net_snmp, openssl, polkit
, bash, coreutils, utillinux , bash, coreutils, utillinux
, qtSupport ? true, qt4, pyqt4 , qtSupport ? true, qt4
, withPlugin ? false , withPlugin ? false
}: }:

View File

@ -1,18 +1,18 @@
{ stdenv, fetchFromGitHub }: { stdenv, fetchFromGitHub }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "M3D-Linux-2016-01-20"; name = "M33-Linux-2016-06-23";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "donovan6000"; owner = "donovan6000";
repo = "M3D-Linux"; repo = "M3D-Linux";
rev = "d0bbb0379c52a88af55740a937edc92af162cdf6"; rev = "5c1b90c13d260771dac970b49fdc9f840fee5f4a";
sha256 = "0fwzb9mf04bw5wxabh3js7nir60kfq8iz7kcigw6c233aadwg03i"; sha256 = "1bvbclkyfcv23vxb4s1zssvygklks1nhp4iwi4v90c1fvyz0356f";
}; };
installPhase = '' installPhase = ''
install -Dm755 m3d-linux $out/bin/m3d-linux install -Dm755 m33-linux $out/bin/m33-linux
install -Dm755 90-m3d-local.rules $out/lib/udev/rules.d/90-m3d-local.rules install -Dm755 90-micro-3d-local.rules $out/lib/udev/rules.d/90-micro-3d-local.rules
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -30,9 +30,9 @@ in rec {
}; };
unstable = fetchurl rec { unstable = fetchurl rec {
version = "1.9.14"; version = "1.9.16";
url = "mirror://sourceforge/wine/wine-${version}.tar.bz2"; url = "mirror://sourceforge/wine/wine-${version}.tar.bz2";
sha256 = "0b65j8lc2axyc7lpa5rjr7vbjz4y78gkd7hhmvhra78pmwf9dgkz"; sha256 = "010gjib4nhrn9j9q12v5irda8df8xp17a6v6qqskkadd79kxc871";
inherit (stable) mono; inherit (stable) mono;
gecko32 = fetchurl rec { gecko32 = fetchurl rec {
version = "2.44"; version = "2.44";
@ -48,7 +48,7 @@ in rec {
staging = fetchFromGitHub rec { staging = fetchFromGitHub rec {
inherit (unstable) version; inherit (unstable) version;
sha256 = "0582ylrvl7racpb0il3wmbivb2d7lh6n3mymh19yw94qzgifwqrw"; sha256 = "0rcy0i36jxv2akczd4sfrdmlsqxmj5v0wzvqb3xl8p2mldk9i8yl";
owner = "wine-compholio"; owner = "wine-compholio";
repo = "wine-staging"; repo = "wine-staging";
rev = "v${version}"; rev = "v${version}";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pythonPackages, lilypond, pyqt4, pygame }: { stdenv, fetchurl, pythonPackages, lilypond}:
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "frescobaldi-${version}"; name = "frescobaldi-${version}";

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: let { stdenv, fetchurl }: let
version = "1.0.0"; version = "1.1.0";
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "long-shebang-${version}"; name = "long-shebang-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/shlevy/long-shebang/releases/download/v1.0.0/long-shebang-1.0.0.tar.xz"; url = "https://github.com/shlevy/long-shebang/releases/download/v${version}/long-shebang-${version}.tar.xz";
sha256 = "15f5rmihj3r53rmalix1bn1agybbzrc3g2a9xzjyd4v3vfd2vckr"; sha256 = "0rlyibf7pczjfsi91nl1n5vri2vqibmvyyy070jaw3wb0wjm565a";
}; };
meta = { meta = {

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "android-udev-rules-${version}"; name = "android-udev-rules-${version}";
version = "2016-04-26"; version = "20160805";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "M0Rf30"; owner = "M0Rf30";
repo = "android-udev-rules"; repo = "android-udev-rules";
rev = "9af6e552016392db35191142b599a5199cf8a9fa"; rev = version;
sha256 = "1lvh7md6qz91q8jy9phnfxlb19s104lvsk75a5r07d8bjc4w9pxb"; sha256 = "0sdf3insqs73cdzmwl3lqy7nj82f1lprxd3vm0jh3qpf0sd1k93c";
}; };
installPhase = '' installPhase = ''
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/M0Rf30/android-udev-rules; homepage = "https://github.com/M0Rf30/android-udev-rules";
description = "Android udev rules list aimed to be the most comprehensive on the net"; description = "Android udev rules list aimed to be the most comprehensive on the net";
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -1,27 +1,27 @@
{ stdenv, fetchurl, flex, bison, linuxHeaders }: { stdenv, lib, fetchurl, flex, bison, linuxHeaders, libtirpc, utillinux, nfs-utils, e2fsprogs
, libxml2 }:
let let
version = "5.1.1"; version = "5.1.2";
name = "autofs-${version}"; name = "autofs-${version}";
in stdenv.mkDerivation { in stdenv.mkDerivation {
inherit name; inherit name;
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz"; url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz";
sha256 = "1hr1f11wp538h7r298wpa5khfkhfs8va3p1kdixxhrgkkzpz13z0"; sha256 = "031z64hmbzyllgvi72cw87755vnmafvsfwi0w21xksla10wxxdw8";
}; };
preConfigure = '' preConfigure = ''
configureFlags="--disable-move-mount --with-path=$PATH" configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH"
export MOUNT=/var/run/current-system/sw/bin/mount
export UMOUNT=/var/run/current-system/sw/bin/umount export MOUNT=${lib.getBin utillinux}/bin/mount
export MODPROBE=/var/run/current-system/sw/bin/modprobe export MOUNT_NFS=${lib.getBin nfs-utils}/bin/mount.nfs
# Grrr, rpcgen can't find cpp. (NIXPKGS-48) export UMOUNT=${lib.getBin utillinux}/bin/umount
mkdir rpcgen export MODPROBE=${lib.getBin utillinux}/bin/modprobe
echo "#! $shell" > rpcgen/rpcgen export E2FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext2
echo "exec $(type -tp rpcgen) -Y $(dirname $(type -tp cpp)) \"\$@\"" >> rpcgen/rpcgen export E3FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext3
chmod +x rpcgen/rpcgen export E4FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext4
export RPCGEN=$(pwd)/rpcgen/rpcgen
''; '';
installPhase = '' installPhase = ''
@ -29,7 +29,9 @@ in stdenv.mkDerivation {
#make install SUBDIRS="samples" # impure! #make install SUBDIRS="samples" # impure!
''; '';
buildInputs = [ flex bison linuxHeaders ]; buildInputs = [ linuxHeaders libtirpc libxml2 ];
nativeBuildInputs = [ flex bison ];
meta = { meta = {
inherit version; inherit version;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "btfs-${version}"; name = "btfs-${version}";
version = "2.10"; version = "2.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "johang"; owner = "johang";
repo = "btfs"; repo = "btfs";
rev = "2eac5e70a1ed22fa0761b6357c54fd90eea02de6"; rev = "fe585ca285690579db50b1624cec81ae76279ba2";
sha256 = "146vgwn79dnbkkn35safga55lkwhvarkmilparmr26hjb56cs1dk"; sha256 = "1vqya2k8cx5x7jfapl9vmmb002brwbsz4j5xs4417kzv3j2bsms9";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,19 +0,0 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec {
version = "4.5.7";
extraMeta.branch = "4.5";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0azvh7lf9kak1xcs5f9smlvx4gkf45vyandizmxhx0zyjlhacw60";
};
kernelPatches = args.kernelPatches;
features.iwlwifi = true;
features.efiBootStub = true;
features.needsCifsUtils = true;
features.canDisableNetfilterConntrackHelpers = true;
features.netfilterRPFilter = true;
} // (args.argsOverride or {}))

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args: { stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "4.6.5"; version = "4.6.6";
extraMeta.branch = "4.6"; extraMeta.branch = "4.6";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1i8ksv8w6dn86q54gzk230gxrylqx3m55x789d29q5balg456bby"; sha256 = "1lx00j0z0rasmc87mcvqd1h6r4znb9c2q22jbs2mrissr5w05vgm";
}; };
kernelPatches = args.kernelPatches; kernelPatches = args.kernelPatches;

View File

@ -1,12 +1,13 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args: { stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "4.6.5"; version = "4.7";
extraMeta.branch = "4.6"; modDirVersion = "4.7.0";
extraMeta.branch = "4.7";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1i8ksv8w6dn86q54gzk230gxrylqx3m55x789d29q5balg456bby"; sha256 = "042z53ik3mqaqlfrn5b70kw882fwd42zanqld10s1vcs438w742i";
}; };
kernelPatches = args.kernelPatches; kernelPatches = args.kernelPatches;

View File

@ -93,9 +93,9 @@ rec {
grsecurity_4_4 = throw "grsecurity stable is no longer supported"; grsecurity_4_4 = throw "grsecurity stable is no longer supported";
grsecurity_testing = grsecPatch grsecurity_testing = grsecPatch
{ kver = "4.6.5"; { kver = "4.7";
grrev = "201607312210"; grrev = "201608131240";
sha256 = "17dnp6w092kvqxqxbdgjpl4mrsn2wkb7z8q5d8ck7dfanpmqap0w"; sha256 = "0bcng47xk5nf4xwcl1l6a2nfb54b8v5piwg42nf3d99hy4si8fvd";
}; };
# This patch relaxes grsec constraints on the location of usermode helpers, # This patch relaxes grsec constraints on the location of usermode helpers,

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Support to authenticate against PostgreSQL for PAM-enabled appliations"; description = "Support to authenticate against PostgreSQL for PAM-enabled appliations";
homepage = https://github.com/pam-pgsql/pam-pgsql; homepage = "https://github.com/pam-pgsql/pam-pgsql";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];

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