Large diffs are not rendered by default.

This file was deleted.

@@ -13,46 +13,17 @@ To update the list of packages from ELPA,

{ fetchurl, lib, stdenv, texinfo }:

let

inherit (lib) makeScope mapAttrs;

json = builtins.readFile ./elpa-packages.json;
manifest = builtins.fromJSON json;

mkPackage = self: name: recipe:
let drv =
{ elpaBuild, stdenv, fetchurl }:
let
unknownFetcher =
abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'";
fetch =
{ inherit fetchurl; }."${recipe.fetch.tag}"
or unknownFetcher;
args = builtins.removeAttrs recipe.fetch [ "tag" ];
src = fetch args;
in elpaBuild {
pname = name;
inherit (recipe) version;
inherit src;
packageRequires =
let lookupDep = d: self."${d}" or null;
in map lookupDep recipe.deps;
meta = {
homepage = "http://elpa.gnu.org/packages/${name}.html";
license = stdenv.lib.licenses.free;
};
};
in self.callPackage drv {};

in

self:

let
super = removeAttrs (mapAttrs (mkPackage self) manifest) [ "dash" ];

elpaBuild = import ../../../build-support/emacs/melpa.nix {
imported = import ./elpa-generated.nix {
inherit (self) callPackage;
};

super = removeAttrs imported [ "dash" ];

elpaBuild = import ../../../build-support/emacs/elpa.nix {
inherit fetchurl lib stdenv texinfo;
inherit (self) emacs;
};
@@ -63,11 +34,14 @@ self:
});
};

elpaPackages = super // {
overrides = {
# These packages require emacs-25
el-search = markBroken super.el-search;
iterators = markBroken super.iterators;
midi-kbd = markBroken super.midi-kbd;
stream = markBroken super.stream;
};

elpaPackages = super // overrides;

in elpaPackages // { inherit elpaBuild elpaPackages; }
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, emacs, texinfo
, mpg321, vorbisTools, taglib, mp3info, alsaUtils }:
, mpg321, vorbis-tools, taglib, mp3info, alsaUtils }:

# XXX: EMMS also supports Xine, MPlayer, Jack, etc.

@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
sed -i "emms-player-mpg321-remote.el" \
-e 's|emms-player-mpg321-remote-command[[:blank:]]\+"mpg321"|emms-player-mpg321-remote-command "${mpg321}/bin/mpg321"|g'
sed -i "emms-player-simple.el" \
-e 's|"ogg123"|"${vorbisTools}/bin/ogg123"|g'
-e 's|"ogg123"|"${vorbis-tools}/bin/ogg123"|g'
sed -i "emms-info-ogginfo.el" \
-e 's|emms-info-ogginfo-program-name[[:blank:]]\+"ogginfo"|emms-info-ogginfo-program-name "${vorbisTools}/bin/ogginfo"|g'
-e 's|emms-info-ogginfo-program-name[[:blank:]]\+"ogginfo"|emms-info-ogginfo-program-name "${vorbis-tools}/bin/ogginfo"|g'
sed -i "emms-info-libtag.el" \
-e "s|\"emms-print-metadata\"|\"$out/bin/emms-print-metadata\"|g"
sed -i "emms-volume-amixer.el" \

Large diffs are not rendered by default.

This file was deleted.

@@ -14,62 +14,174 @@ To update the list of packages from MELPA,

{ lib }:

let

inherit (lib) makeScope mapAttrs;

json = builtins.readFile ./melpa-packages.json;
manifest = builtins.fromJSON json;

mkPackage = self: name: recipe:
let drv =
{ melpaBuild, stdenv, fetchbzr, fetchcvs, fetchFromGitHub, fetchFromGitLab
, fetchgit, fetchhg, fetchsvn, fetchurl }:
let
unknownFetcher =
abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'";
fetch =
{
inherit fetchbzr fetchcvs fetchFromGitHub fetchFromGitLab fetchgit fetchhg
fetchsvn fetchurl;
}."${recipe.fetch.tag}"
or unknownFetcher;
args = builtins.removeAttrs recipe.fetch [ "tag" ];
src = fetch args;
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/${recipe.recipe.commit}/recipes/${name}";
inherit (recipe.recipe) sha256;
};
in melpaBuild {
pname = name;
inherit (recipe) version;
inherit recipeFile src;
packageRequires =
let lookupDep = d: self."${d}" or null;
in map lookupDep recipe.deps;
meta = {
homepage = "http://melpa.org/#/${name}";
license = stdenv.lib.licenses.free;
};
};
in self.callPackage drv {};

in

self:

let
super = mapAttrs (mkPackage self) manifest;
imported = import ./melpa-generated.nix { inherit (self) callPackage; };
super = builtins.removeAttrs imported [
"swbuff-x" # required dependency swbuff is missing
];

markBroken = pkg: pkg.override {
melpaBuild = args: self.melpaBuild (args // {
meta = (args.meta or {}) // { broken = true; };
dontConfigure = pkg: pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
configureScript = "true";
});
};
});

markBroken = pkg: pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
meta = (drv.meta or {}) // { broken = true; };
});
});

melpaPackages = super // {
# broken upstream
overrides = {
ac-php = super.ac-php.override {
inherit (self.melpaPackages) company popup;
};

# upstream issue: mismatched filename
ack-menu = markBroken super.ack-menu;

airline-themes = super.airline-themes.override {
inherit (self.melpaPackages) powerline;
};

# upstream issue: missing file header
bufshow = markBroken super.bufshow;

# part of a larger package
# upstream issue: missing package version
cmake-mode = markBroken (dontConfigure super.cmake-mode);

# upstream issue: missing file header
cn-outline = markBroken super.cn-outline;

# upstream issue: missing file header
connection = markBroken super.connection;

# upstream issue: missing file header
crux = markBroken super.crux;

# upstream issue: missing file header
dictionary = markBroken super.dictionary;

easy-kill-extras = super.easy-kill-extras.override {
inherit (self.melpaPackages) easy-kill;
};

# missing git
egg = markBroken super.egg;

# upstream issue: missing file header
elmine = markBroken super.elmine;

ess-R-data-view = super.ess-R-data-view.override {
inherit (self.melpaPackages) ess ctable popup;
};

ess-R-object-popup = super.ess-R-object-popup.override {
inherit (self.melpaPackages) ess popup;
};

# missing OCaml
flycheck-ocaml = markBroken super.flycheck-ocaml;

# upstream issue: missing file header
fold-dwim = markBroken super.fold-dwim;

# build timeout
graphene = markBroken super.graphene;

# upstream issue: mismatched filename
helm-lobsters = markBroken super.helm-lobsters;

# upstream issue: missing file header
helm-words = markBroken super.helm-words;

# upstream issue: missing file header
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;

# upstream issue: missing file header
initsplit = markBroken super.initsplit;

# upstream issue: missing file header
jsfmt = markBroken super.jsfmt;

# upstream issue: missing file header
link = markBroken super.link;

# upstream issue: mismatched filename
link-hint = markBroken super.link-hint;

# part of a larger package
llvm-mode = dontConfigure super.llvm-mode;

# upstream issue: missing file header
maxframe = markBroken super.maxframe;

# missing OCaml
merlin = markBroken super.merlin;

mhc = super.mhc.override {
inherit (self.melpaPackages) calfw;
};

# missing .NET
nemerle = markBroken super.nemerle;

# part of a larger package
notmuch = dontConfigure super.notmuch;

# missing OCaml
ocp-indent = markBroken super.ocp-indent;

# upstream issue: missing file header
perl-completion = markBroken super.perl-completion;

# upstream issue: truncated file
powershell = markBroken super.powershell;

# upstream issue: mismatched filename
processing-snippets = markBroken super.processing-snippets;

# upstream issue: missing file header
qiita = markBroken super.qiita;

# upstream issue: missing package version
quack = markBroken super.quack;

# upstream issue: missing file header
railgun = markBroken super.railgun;

# upstream issue: missing file footer
seoul256-theme = markBroken super.seoul256-theme;

spaceline = super.spaceline.override {
inherit (self.melpaPackages) powerline;
};

# upstream issue: missing file header
speech-tagger = markBroken super.speech-tagger;

# upstream issue: missing file header
stgit = markBroken super.stgit;

# upstream issue: missing file header
textmate = markBroken super.textmate;

# missing OCaml
utop = markBroken super.utop;

# upstream issue: missing file header
voca-builder = markBroken super.voca-builder;

# upstream issue: missing file header
window-numbering = markBroken super.window-numbering;

# upstream issue: missing file header
zeitgeist = markBroken super.zeitgeist;
};

melpaPackages = super // overrides;
in
melpaPackages // { inherit melpaPackages; }

Large diffs are not rendered by default.

This file was deleted.

@@ -16,62 +16,149 @@ To update the list of packages from MELPA Stable,

{ lib }:

let

inherit (lib) makeScope mapAttrs;

json = builtins.readFile ./melpa-stable-packages.json;
manifest = builtins.fromJSON json;

mkPackage = self: name: recipe:
let drv =
{ melpaBuild, stdenv, fetchbzr, fetchcvs, fetchFromGitHub, fetchFromGitLab
, fetchgit, fetchhg, fetchsvn, fetchurl }:
let
unknownFetcher =
abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'";
fetch =
{
inherit fetchbzr fetchcvs fetchFromGitHub fetchFromGitLab fetchgit fetchhg
fetchsvn fetchurl;
}."${recipe.fetch.tag}"
or unknownFetcher;
args = builtins.removeAttrs recipe.fetch [ "tag" ];
src = fetch args;
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/${recipe.recipe.commit}/recipes/${name}";
inherit (recipe.recipe) sha256;
};
in melpaBuild {
pname = name;
inherit (recipe) version;
inherit recipeFile src;
packageRequires =
let lookupDep = d: self."${d}" or null;
in map lookupDep recipe.deps;
meta = {
homepage = "http://stable.melpa.org/#/${name}";
license = stdenv.lib.licenses.free;
};
};
in self.callPackage drv {};

in

self:

let
super = mapAttrs (mkPackage self) manifest;
imported = import ./melpa-stable-generated.nix { inherit (self) callPackage; };

super = imported;

markBroken = pkg: pkg.override {
melpaBuild = args: self.melpaBuild (args // {
meta = (args.meta or {}) // { broken = true; };
dontConfigure = pkg: pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
configureScript = "true";
});
};
});

markBroken = pkg: pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
meta = (drv.meta or {}) // { broken = true; };
});
});

overrides = {
ac-php = super.ac-php.override {
inherit (self.melpaPackages) company popup;
};

melpaStablePackages = super // {
# broken upstream
# upstream issue: mismatched filename
ack-menu = markBroken super.ack-menu;

airline-themes = super.airline-themes.override {
inherit (self.melpaPackages) powerline;
};

# upstream issue: missing file header
bufshow = markBroken super.bufshow;

# part of a larger package
# upstream issue: missing package version
cmake-mode = markBroken (dontConfigure super.cmake-mode);

# upstream issue: missing file header
connection = markBroken super.connection;

# upstream issue: missing file header
crux = markBroken super.crux;

# upstream issue: missing file header
dictionary = markBroken super.dictionary;

easy-kill-extras = super.easy-kill-extras.override {
inherit (self.melpaPackages) easy-kill;
};

# missing git
egg = markBroken super.egg;

# upstream issue: missing file header
elmine = markBroken super.elmine;

ess-R-data-view = super.ess-R-data-view.override {
inherit (self.melpaPackages) ess ctable popup;
};

ess-R-object-popup = super.ess-R-object-popup.override {
inherit (self.melpaPackages) ess popup;
};

# missing OCaml
flycheck-ocaml = markBroken super.flycheck-ocaml;

# upstream issue: missing file header
fold-dwim = markBroken super.fold-dwim;

# build timeout
graphene = markBroken super.graphene;

# upstream issue: mismatched filename
helm-lobsters = markBroken super.helm-lobsters;

# upstream issue: missing file header
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;

# upstream issue: missing file header
initsplit = markBroken super.initsplit;

# upstream issue: missing file header
jsfmt = markBroken super.jsfmt;

# upstream issue: missing file header
link = markBroken super.link;

# upstream issue: mismatched filename
link-hint = markBroken super.link-hint;

# upstream issue: missing file header
maxframe = markBroken super.maxframe;

# missing OCaml
merlin = markBroken super.merlin;

mhc = super.mhc.override {
inherit (self.melpaPackages) calfw;
};

# missing .NET
nemerle = markBroken super.nemerle;

# part of a larger package
notmuch = dontConfigure super.notmuch;

# missing OCaml
ocp-indent = markBroken super.ocp-indent;

# upstream issue: truncated file
powershell = markBroken super.powershell;

# upstream issue: mismatched filename
processing-snippets = markBroken super.processing-snippets;

# upstream issue: missing file header
qiita = markBroken super.qiita;

spaceline = super.spaceline.override {
inherit (self.melpaPackages) powerline;
};

# upstream issue: missing file header
speech-tagger = markBroken super.speech-tagger;

# upstream issue: missing file header
stgit = markBroken super.stgit;

# upstream issue: missing file header
textmate = markBroken super.textmate;

# missing OCaml
utop = markBroken super.utop;

# upstream issue: missing file header
voca-builder = markBroken super.voca-builder;

# upstream issue: missing file header
window-numbering = markBroken super.window-numbering;
};

melpaStablePackages = super // overrides;
in
melpaStablePackages // { inherit melpaStablePackages; }
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip
, coreutils, gnugrep, which, git, python, unzip, androidsdk }:
, coreutils, gnugrep, which, git, python, unzip, jdk }:

{ name, product, version, build, src, meta, jdk } @ attrs:
{ name, product, version, build, src, meta } @ attrs:

with stdenv.lib;

@@ -1,19 +1,14 @@
{ stdenv, callPackage, fetchurl, makeDesktopItem, makeWrapper, patchelf
, coreutils, gnugrep, which, git, python, unzip, p7zip
, androidsdk, jdk, oraclejdk8
, androidsdk, jdk
}:

assert stdenv.isLinux;

let

bnumber = with stdenv.lib; build: last (splitString "-" build);
mkIdeaProduct' = callPackage ./common.nix { };
mkIdeaProduct = attrs: mkIdeaProduct' ({
# After IDEA 15 we can no longer use OpenJDK.
# https://youtrack.jetbrains.com/issue/IDEA-147272
jdk = if (bnumber attrs.build) < "143" then jdk else oraclejdk8;
} // attrs);
mkIdeaProduct = callPackage ./common.nix { };

buildAndroidStudio = { name, version, build, src, license, description }:
let drv = (mkIdeaProduct rec {
@@ -166,13 +161,13 @@ in

clion = buildClion rec {
name = "clion-${version}";
version = "1.0.4";
build = "141.874";
version = "1.2.4";
build = "143.1186";
description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/cpp/${name}.tar.gz";
sha256 = "1cz59h2znzjy7zncc049f2w30kc89rvmk7l51a1y6ymf9s7cj4cm";
sha256 = "0asjgfshbximjk6i57fz3d2ykby5qw5x6nhw91cpzrzszc59dmm2";
};
};

@@ -190,25 +185,25 @@ in

idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "15.0.2";
build = "IC-143.1184";
version = "15.0.3";
build = "IC-143.1821";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "0y8rrbsb87avn1dhw5r1xb4axpbm1qvgcd0aysir9bqzhx8qg64c";
sha256 = "15hj4kqlpg3b4xp2v4f4iidascrc8s97mq8022nvbcs879gpajqa";
};
};

idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "15.0.2";
build = "IU-143.1184";
version = "15.0.3";
build = "IU-143.1821";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
sha256 = "1r8gw7mv1b0k223k76ib08f4yrrgrw24qmhkbx88rknmls5nsgss";
sha256 = "02v8v2a7p620l4mlk7jqw9sl2455a1nya1dy84y23h9vq20aihlh";
};
};

@@ -15,11 +15,10 @@ with stdenv.lib;

let

version = "0.1.1";

# Note: this is NOT the libvterm already in nixpkgs, but some NIH silliness:
neovimLibvterm = let version = "2015-11-06"; in stdenv.mkDerivation {
neovimLibvterm = stdenv.mkDerivation rec {
name = "neovim-libvterm-${version}";
version = "2015-11-06";

src = fetchFromGitHub {
sha256 = "0f9r0wnr9ajcdd6as24igmch0n8s1annycb9f4k0vg6fngwaypy9";
@@ -59,8 +58,9 @@ let
ignoreCollisions = true;
};

neovim = stdenv.mkDerivation {
neovim = stdenv.mkDerivation rec {
name = "neovim-${version}";
version = "0.1.1";

src = fetchFromGitHub {
sha256 = "0crswjslp687yp1cpn7nmm0j2sccqhcxryzxv1s81cgpai0fzf60";
@@ -145,8 +145,11 @@ let
};

in if (vimAlias == false && configure == null) then neovim else stdenv.mkDerivation {
name = "neovim-${version}-configured";
name = "neovim-${neovim.version}-configured";
inherit (neovim) version;

nativeBuildInputs = [ makeWrapper ];

buildCommand = ''
mkdir -p $out/bin
for item in ${neovim}/bin/*; do
@@ -15,7 +15,11 @@ stdenv.mkDerivation rec {
version = "6.9.2-0";

src = fetchurl {
url = "mirror://imagemagick/releases/ImageMagick-${version}.tar.xz";
urls = [
"mirror://imagemagick/releases/ImageMagick-${version}.tar.xz"
# the original source above removes tarballs quickly
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
];
sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7";
};

@@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, cmake, libX11, procps, python, qtbase }:

let version = "7.1"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "apitrace-${version}";
version = "7.1";

src = fetchFromGitHub {
sha256 = "1n2gmsjnpyam7isg7n1ksggyh6y1l8drvx0a93bnvbcskr7jiz9a";
@@ -20,7 +20,6 @@ stdenv.mkDerivation {
'';

meta = with stdenv.lib; {
inherit version;
homepage = https://apitrace.github.io;
description = "Tools to trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs";
license = licenses.mit;
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {

#configureFlags = [ "--disable-print" ];

enableParallelBuilding = true;

# "screenshot" needs this.
NIX_LDFLAGS = "-rpath ${xorg.libX11.out}/lib"
+ stdenv.lib.optionalString stdenv.isDarwin " -lintl";

This file was deleted.

@@ -4,11 +4,11 @@

stdenv.mkDerivation rec {
name = "openimageio-${version}";
version = "1.4.16";
version = "1.6.9";

src = fetchurl {
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
sha256 = "0f9gspsjhniz992c04dm4lvffzz7zjqn1n34nqn6c32r498kimcj";
sha256 = "0942xj877875f4dpfg7aqwyw015y82vkhaqap7yhybmvzsfj7wki";
};

buildInputs = [
@@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
sha256 = "0j2kvxfb5pd9abciv161nkcsyam6n8kfqs8ymwj2mxiqflwbmfl1";
};

buildInputs = [ cmake makeWrapper qtbase qttools exiv2 graphicsmagick ];
buildInputs = [
cmake makeWrapper qtbase qtquickcontrols qttools exiv2 graphicsmagick
];

preConfigure = ''
export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
@@ -1,5 +1,5 @@
{ stdenv, fetchurl
, avahi, libusb1, libv4l, net_snmp
, avahi, libjpeg, libusb1, libv4l, net_snmp
, gettext, pkgconfig

# List of { src name backend } attibute sets - see installFirmware below:
@@ -13,7 +13,7 @@
}:

stdenv.mkDerivation {
inherit src;
inherit src version;

name = "sane-backends-${version}";

@@ -50,11 +50,12 @@ stdenv.mkDerivation {
mkdir -p $out/etc/udev/rules.d/
./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \
cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules
substituteInPlace $out/lib/libsane.la \
--replace "-ljpeg" "-L${libjpeg}/lib -ljpeg"
'' + stdenv.lib.concatStrings (builtins.map installFirmware compatFirmware);

meta = with stdenv.lib; {
inherit version;

description = "SANE (Scanner Access Now Easy) backends";
longDescription = ''
Collection of open-source SANE backends (device drivers).
@@ -1,10 +1,10 @@
{ callPackage, fetchgit, ... } @ args:

callPackage ./generic.nix (args // {
version = "2016-01-09";
version = "2016-01-25";
src = fetchgit {
sha256 = "440f88a4126841cfd139b17902ceb940bbf189defe21b208e93bfd474cfb16e8";
rev = "f78e85cad666492fadd5612af77fa7c84e270a12";
sha256 = "db1fecd671bd8b3a777138bb4815285b4364ee3ad01ab05424b4aa0c20ed9919";
rev = "056f590f2d147099554d97a89dd5e0ddfa8d6dda";
url = "git://alioth.debian.org/git/sane/sane-backends.git";
};
})
@@ -1,9 +1,9 @@
{ stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool
, libusb1, libxml2, pkgconfig, sane-backends, vala, wrapGAppsHook }:

let version = "3.19.4"; in
stdenv.mkDerivation rec {
name = "simple-scan-${version}";
version = "3.19.4";

src = fetchurl {
sha256 = "1v9sify1s38qd5sfg26m7sdg9bkrfmai2nijs4wzah7xa9p23c83";
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
doCheck = true;

meta = with stdenv.lib; {
inherit version;
description = "Simple scanning utility";
longDescription = ''
A really easy way to scan both documents and photos. You can crop out the
@@ -1,8 +1,8 @@
{ stdenv, fetchurl, makeDesktopItem, unzip, jre }:

let version = "0.2"; in
stdenv.mkDerivation rec {
name = "swingsane-${version}";
version = "0.2";

src = fetchurl {
sha256 = "15pgqgyw46yd2i367ax9940pfyvinyw2m8apmwhrn0ix5nywa7ni";
@@ -44,7 +44,6 @@ stdenv.mkDerivation rec {
'';

meta = with stdenv.lib; {
inherit version;
description = "Java GUI for SANE scanner servers (saned)";
longDescription = ''
SwingSane is a powerful, cross platform, open source Java front-end for
@@ -11,6 +11,8 @@ stdenv.mkDerivation (args // {
name = "${name}-${version}";
inherit src;

outputs = args.outputs or [ "dev" "out" ];

cmakeFlags =
(args.cmakeFlags or [])
++ [ "-DBUILD_TESTING=OFF" ]
@@ -6,6 +6,8 @@ kdeApp (args // {
sname = "kde-l10n-${name}";
name = "kde-l10n-${name}-qt4";

outputs = [ "out" ];

nativeBuildInputs =
[ automoc4 cmake gettext perl ]
++ (args.nativeBuildInputs or []);
@@ -17,4 +19,9 @@ kdeApp (args // {
sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt
${args.preConfigure or ""}
'';

preFixup = ''
propagatedBuildInputs=
propagatedNativeBuildInputs=
'';
})
@@ -6,6 +6,8 @@ kdeApp (args // {
sname = "kde-l10n-${name}";
name = "kde-l10n-${name}-qt5";

outputs = [ "out" ];

nativeBuildInputs =
[ cmake extra-cmake-modules gettext kdoctools ]
++ (args.nativeBuildInputs or []);
@@ -14,4 +16,9 @@ kdeApp (args // {
sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt
${args.preConfigure or ""}
'';

preFixup = ''
propagatedBuildInputs=
propagatedNativeBuildInputs=
'';
})
@@ -9,6 +9,8 @@
kdeApp {
name = "kdelibs";

outputs = [ "out" ];

buildInputs = [
attica attr avahi giflib libdbusmenu_qt libjpeg libxml2
polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre

This file was deleted.

@@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, qtbase, qtx11extras, makeQtWrapper, muparser, cmake }:

stdenv.mkDerivation rec {
name = "albert-${version}";
version = "0.8.0";

src = fetchFromGitHub {
owner = "manuelschneid3r";
repo = "albert";
rev = "v${version}";
sha256 = "0lzj1gbcc5sp2x1c0d3s21y55kcnnn4dmy8d205mrgnyavjrak7n";
};

buildInputs = [ cmake qtbase qtx11extras muparser makeQtWrapper ];

fixupPhase = ''
wrapQtProgram $out/bin/albert
'';

meta = {
homepage = https://github.com/manuelSchneid3r/albert;
description = "Desktop agnostic launcher";
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.ericsagnes ];
};
}
@@ -1,14 +1,16 @@
{ stdenv, fetchurl, unzip, alsaLib }:
{ stdenv, fetchFromGitHub, unzip, alsaLib }:
let
version = "1.2";
in
stdenv.mkDerivation rec {
name = "direwolf-${version}";
inherit version;

src = fetchurl {
url = "http://home.comcast.net/~wb2osz/Version%201.2/direwolf-${version}-src.zip";
sha256 = "0csl6harx7gmjmamxy0ylzhbamppphffisk8j33dc6g08k6rc77f";
src = fetchFromGitHub {
owner = "wb2osz";
repo = "direwolf";
rev = "8b81a32";
sha256 = "0r4fgdxghh292bzhqshr7zl5cg2lfsvlgmy4d5vqcli7x6qa1gcs";
};

buildInputs = [
@@ -1,23 +1,28 @@
{stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, vlc, rtmpdump}:
buildPerlPackage {
name = "get_iplayer-2.86";
name = "get_iplayer-2.94";

buildInputs = [makeWrapper perl];
propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP];
propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLSimple];

preConfigure = "touch Makefile.PL";
doCheck = false;

patchPhase = ''
sed -e 's|^update_script|#update_script|' \
-e '/WARNING.*updater/d' \
-i get_iplayer
'';

installPhase = ''
mkdir -p $out/bin
cp get_iplayer $out/bin
sed -i 's|^update_script|#update_script|' $out/bin/get_iplayer
wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg.bin}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin --prefix PERL5LIB : $PERL5LIB
'';

src = fetchurl {
url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.86.tar.gz;
sha256 = "0zhcw0ikxrrz1jayx7jjgxmdf7gzk4pmzfvpraxmv64xwzgc1sc1";
url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.94.tar.gz;
sha256 = "16p0bw879fl8cs6rp37g1hgrcai771z6rcqk2nvm49kk39dx1zi4";
};

}
@@ -0,0 +1,77 @@
/* Beware!
After starting Guake it will give the error message "Guake can not init! Gconf Error. Have you installed guake.schemas properly?",
which will have to be resolved manually, because I have not found a way to automate this, without being impure.
If you have Guake installed, you can use `nix-build -A gnome3.guake` to get the path to the build directory in the nix store,
which then can be used in the following command to install the schemas file of Guake:
gconftool-2 --install-schema-file /path/returned/by/nix-build/share/gconf/schemas/guake.schemas
It can be removed again by the following command:
gconftool-2 --recursive-unset /apps/guake
*/
{ stdenv, fetchurl, lib
, pkgconfig, libtool, intltool, makeWrapper
, dbus, gtk2, gconf, python2, python2Packages, libutempter, vte, keybinder, gnome2, gnome3 }:

with lib;

let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_common ];
pySubDir = "lib/${python2.libPrefix}/site-packages";
pyPath = makeSearchPath pySubDir (attrVals [ "dbus" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
in stdenv.mkDerivation rec {
name = "guake-${version}";
version = "0.8.3";

src = fetchurl {
url = "https://github.com/Guake/guake/archive/${version}.tar.gz";
sha256 = "1lbmdz3i9a97840h8239s360hd37nmhy3hs6kancxbzl1512ak1y";
};

nativeBuildInputs = [ pkgconfig libtool intltool makeWrapper ];

buildInputs = inputs ++ (with python2Packages; [ pyGtkGlade pyxdg ]);

patchPhase = ''
patchShebangs .
'';

configureScript = "./autogen.sh";

configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
"--disable-schemas-install"
];

installFlags = [
# Configuring the installation to not install gconf schemas is not always supported,
# therefore gconftool-2 has this variable, which will make gconftool-2 not update any of the databases.
"GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1"
"sysconfdir=\${out}/etc"
"localstatedir=\${TMPDIR}"
];

postInstall = ''
mkdir -p $out/share/gconf/schemas
cp data/guake.schemas $out/share/gconf/schemas
'';

postFixup = ''
for bin in $out/bin/{guake,guake-prefs}; do
substituteInPlace $bin \
--replace '/usr/bin/env python2' ${python2}/bin/python2
wrapProgram $bin \
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix LD_LIBRARY_PATH : ${makeLibraryPath inputs} \
--prefix PYTHONPATH : "$out/${pySubDir}:${pyPath}:$PYTHONPATH"
done
'';

meta = {
description = "Drop-down terminal for GNOME";
homepage = http://guake-project.org;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];
};
}
@@ -0,0 +1,34 @@
{ stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc }:

assert stdenv.isLinux;

stdenv.mkDerivation rec {
name = "IPMIView-${version}";
version = "20151223";

src = fetchurl {
url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_V2.11.0_bundleJRE_Linux_x64_${version}.tar.gz";
sha256 = "1rv9j0id7i2ipm25n60bpfdm1gj44xg2aj8rnx4s6id3ln90q121";
};

buildInputs = [ patchelf makeWrapper ];

buildPhase = with xorg; ''
patchelf --set-rpath "${libX11}/lib:${libXext}/lib:${libXrender}/lib:${libXtst}/lib:${libXi}/lib" ./jre/lib/amd64/xawt/libmawt.so
patchelf --set-rpath "${gcc.cc}/lib" ./libiKVM64.so
patchelf --set-rpath "${libXcursor}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${libXtst}/lib:${libXi}/lib" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/javaws
patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/amd64/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java
'';

installPhase = ''
mkdir -p $out/bin
cp -R . $out/
echo "$out/jre/bin/java -jar $out/IPMIView20.jar" > $out/bin/IPMIView
chmod +x $out/bin/IPMIView
'';

meta = with stdenv.lib; {
license = licenses.unfree;
};
}

@@ -8,17 +8,17 @@ let
in
stdenv.mkDerivation rec {
name = "kdbplus-${version}";
version = "3.2";
version = "3.3";

src = requireFile {
message = ''
Nix can't download kdb+ for you automatically. Go to
http://kx.com and download the free, 32-bit version for
Linux. Then run "nix-prefetch-url file:///linux.zip" in the
directory where you saved it. Note you need version 3.2.
directory where you saved it. Note you need version 3.3.
'';
name = "linux.zip";
sha256 = "0ah1kfvxnrck1kg8j7rpzgj6amji62zbm4ya6q55l54gm3qq6q0r";
sha256 = "5fd0837599e24f0f437a8314510888a86ab0787684120a8fcf592299800aa940";
};

dontStrip = true;
@@ -2,11 +2,11 @@

let
getmodel = name: sha256: {
inherit name;
src = fetchurl {
url = "http://www.tmbdev.net/ocropy/${name}";
inherit sha256;
};
inherit name;
};

models = [
@@ -16,10 +16,10 @@ let
"1wlwvxn91ilgmlri1hj81arl3mbzxc24ycdnkf5icq4hdi4c6y8b")
];

version = "20150316";
in
pythonPackages.buildPythonPackage {
pythonPackages.buildPythonPackage rec {
name = "ocropus-${version}";
version = "20150316";

src = fetchFromGitHub {
sha256 = "0m5bm2ah3p29c13vp7hz7rm058qnlm840zd8xv20byijhlz0447g";
@@ -49,7 +49,6 @@ pythonPackages.buildPythonPackage {
'';

meta = with stdenv.lib; {
inherit version;
description = "Open source document analysis and OCR system";
license = licenses.asl20;
homepage = https://github.com/tmbdev/ocropy/;
@@ -0,0 +1,35 @@
{stdenv, fetchurl, pkgconfig, gtk2, synergy}:

stdenv.mkDerivation rec {
name = "quicksynergy-${version}";
version = "0.9.0";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/quicksynergy/Linux/${version}/quicksynergy-${version}.tar.gz";
sha256 = "1pi8503bg8q1psw50y6d780i33nnvfjqiy9vnr3v52pdcfip8pix";
};
buildInputs = [
pkgconfig
gtk2
synergy
];
preBuild = "
sed -i 's@/usr/bin@${synergy.out}/bin@' src/synergy_config.c
";
meta = {
description = "GUI application to share mouse and keyboard between computers";
longDescription = "
QuickSynergy is a graphical interface (GUI) for easily configuring
Synergy2, an application that allows the user to share his mouse and
keyboard between two or more computers.
Without the need for any external hardware, Synergy2 uses the TCP-IP
protocol to share the resources, even between machines with diferent
operating systems, such as Mac OS, Linux and Windows.
Remember to open port 24800 (used by synergys program) if you want to
host mouse and keyboard.";
homepage = https://code.google.com/p/quicksynergy/;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.spinus ];
};
}
@@ -7,13 +7,14 @@
}:

let
version = "1.11";
mkFlag = flag: name: if flag
then "--enable-${name}"
else "--disable-${name}";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "redshift-${version}";
version = "1.11";

src = fetchurl {
sha256 = "0ngkwj7rg8nfk806w0sg443w6wjr91xdc0zisqfm5h2i77wm1qqh";
url = "https://github.com/jonls/redshift/releases/download/v${version}/redshift-${version}.tar.xz";
@@ -51,7 +52,6 @@ stdenv.mkDerivation {
'';

meta = with stdenv.lib; {
inherit version;
description = "Gradually change screen color temperature";
longDescription = ''
The color temperature is set according to the position of the
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
name = "scim-${version}";

src = fetchurl {
url = "https://github.com/andmarti1424/scim/archive/v${version}.tar.gz";
url = "https://github.com/andmarti1424/sc-im/archive/v${version}.tar.gz";
sha256 = "00rjz344acw0bxv78x1w9jz8snl9lb9qhr9z22phxinidnd3vaaz";
};

This file was deleted.

@@ -0,0 +1,43 @@
{fetchurl, stdenv, makeWrapper, gtk3, python3Packages}:
let
version = "0.9.2";
in
stdenv.mkDerivation {
name = "solaar-${version}";
src = fetchurl {
sha256 = "0954grz2adggfzcj4df4mpr4d7qyl7w8rb4j2s0f9ymawl92i05j";
url = "https://github.com/pwr/Solaar/archive/${version}.tar.gz";
};

buildInputs = [gtk3 python3Packages.pygobject3 python3Packages.pyudev];
enableParallelBuilding = true;
installPhase = ''
mkdir -p "$out";
'';
postInstall = ''
wrapProgram "$out/bin/solaar" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
wrapProgram "$out/bin/solaar-cli" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
'';
meta = with stdenv.lib; {
description = "Linux devices manager for the Logitech Unifying Receiver";
longDescription = ''
Solaar is a Linux device manager for Logitech’s Unifying Receiver
peripherals. It is able to pair/unpair devices to the receiver, and for
most devices read battery status.
It comes in two flavors, command-line and GUI. Both are able to list the
devices paired to a Unifying Receiver, show detailed info for each
device, and also pair/unpair supported devices with the receiver.
To be able to use it, make sure you have access to /dev/hidraw* files.
'';
license = licenses.gpl2;
homepage = https://pwr.github.io/Solaar/;
platforms = platforms.linux;
maintainers = [maintainers.spinus];
};
}
@@ -1,4 +1,4 @@
{ stdenv, fetchgit, pkgconfig, vte, gtk, ncurses }:
{ stdenv, fetchgit, pkgconfig, vte, gtk3, ncurses }:

stdenv.mkDerivation rec {
name = "termite-${version}";
@@ -10,11 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "107v59x8q2m1cx1x3i5ciibw4nl1qbq7p58bfw0irkhp7sl7kjk2";
};

makeFlags = "VERSION=v${version}";
makeFlags = [ "VERSION=v${version}" "PREFIX=$(out)" ];

buildInputs = [pkgconfig vte gtk ncurses];

installFlags = "PREFIX=$(out)";
buildInputs = [ pkgconfig vte gtk3 ncurses ];

meta = with stdenv.lib; {
description = "A simple VTE-based terminal";
@@ -3,23 +3,21 @@

let
pname = "yakuake";
version = "2.9.8";
version = "2.9.9";
in
stdenv.mkDerivation {
name = "${pname}-${version}";

src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.bz2";
sha256 = "0a9x3nmala8nl4xl3h7rcd76f5j7b7r74jc5cfbayc6jgkjdynd3";
url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
sha256 = "0e0e4994c568f8091c9424e4aab35645436a9ff341c00b1cd1eab0ada0bf61ce";
};

buildInputs = [ kdelibs ];

nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];

patchPhase = ''
substituteInPlace app/terminal.cpp --replace \"konsolepart\" "\"${konsole}/lib/kde4/libkonsolepart.so\""
'';
propagatedUserEnvPkgs = [ konsole ];

meta = {
homepage = http://yakuake.kde.org;
@@ -60,7 +60,7 @@ let
in

stdenv.mkDerivation {
name = "firefox-bin-${version}";
name = "firefox-bin-unwrapped-${version}";

src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";

Large diffs are not rendered by default.

@@ -1,4 +1,5 @@
{ stdenv
, lib
, fetchurl
, zlib
, alsaLib
@@ -54,6 +55,7 @@ let
else "_linux.i386"
else throw "Flash Player is not supported on this platform";

is-i686 = (stdenv.system == "i686-linux");
in
stdenv.mkDerivation rec {
name = "flashplayer-${version}";
@@ -67,19 +69,47 @@ stdenv.mkDerivation rec {
buildInputs = [ unzip ];

postUnpack = ''
cd */*${arch}
tar -xvzf *${suffix}.tar.gz
pushd $sourceRoot
tar -xvzf *${arch}/*${suffix}.tar.gz
${ lib.optionalString is-i686 ''
tar -xvzf */*_sa.*.tar.gz
tar -xvzf */*_sa_debug.*.tar.gz
''}
popd
'';

sourceRoot = ".";
sourceRoot = "fp_${version}_archive";

dontStrip = true;
dontPatchELF = true;

outputs = [ "out" ] ++ lib.optionals is-i686 ["sa" "saDbg" ];

installPhase = ''
mkdir -p $out/lib/mozilla/plugins
cp -pv libflashplayer.so $out/lib/mozilla/plugins
patchelf --set-rpath "$rpath" $out/lib/mozilla/plugins/libflashplayer.so
${ lib.optionalString is-i686 ''
mkdir -p $sa/bin
cp flashplayer $sa/bin/
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath "$rpath" \
$sa/bin/flashplayer
mkdir -p $saDbg/bin
cp flashplayerdebugger $saDbg/bin/
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath "$rpath" \
$saDbg/bin/flashplayerdebugger
''}
'';

passthru = {

This file was deleted.

@@ -1,6 +1,6 @@
{ stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo
, libpng, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
, dbus_glib, alsaLib, libpulseaudio, udev, pango
, dbus_glib, alsaLib, libpulseaudio, libudev, pango
}:

with stdenv.lib;
@@ -36,7 +36,7 @@ let
alsaLib
libpulseaudio
dbus_glib
udev
libudev
curl
pango
cairo

This file was deleted.

@@ -1,29 +1,30 @@
{ stdenv, fetchgit, python, buildPythonPackage, qtmultimedia, pyqt5
, jinja2, pygments, pyyaml, pypeg2, gst_plugins_base, gst_plugins_good
, gst_ffmpeg }:
{ stdenv, fetchurl, python, buildPythonPackage, qtmultimedia, pyqt5
, jinja2, pygments, pyyaml, pypeg2, gst-plugins-base, gst-plugins-good
, gst-plugins-bad, gst-libav, wrapGAppsHook, glib_networking }:

let version = "0.4.1"; in
let version = "0.5.1"; in

buildPythonPackage {
buildPythonPackage rec {
name = "qutebrowser-${version}";
namePrefix = "";

src = fetchgit {
url = "https://github.com/The-Compiler/qutebrowser.git";
rev = "8d9e9851f1dcff5deb6363586ad0f1edec040b72";
sha256 = "1qsdad10swnk14qw4pfyvb94y6valhkscyvl46zbxxs7ck6llsm2";
src = fetchurl {
url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
sha256 = "1pxgap04rv94kgcp9a05xx2kwg3j6jv8f6d3ww7hqs2xnkj8wzqb";
};

# Needs tox
doCheck = false;

buildInputs = [ wrapGAppsHook
gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav
glib_networking ];

propagatedBuildInputs = [
python pyyaml pyqt5 jinja2 pygments pypeg2
];

makeWrapperArgs = ''
--prefix GST_PLUGIN_PATH : "${stdenv.lib.makeSearchPath "lib/gstreamer-0.10"
[ gst_plugins_base gst_plugins_good gst_ffmpeg ]}"
--prefix QT_PLUGIN_PATH : "${qtmultimedia}/lib/qt5/plugins"
'';

@@ -1,8 +1,8 @@
{ stdenv, fetchurl, pythonPackages }:

let version = "2.21"; in
pythonPackages.buildPythonPackage rec {
name = "rawdog-${version}";
version = "2.21";

src = fetchurl {
url = "http://offog.org/files/${name}.tar.gz";
@@ -14,7 +14,6 @@ pythonPackages.buildPythonPackage rec {
namePrefix = "";

meta = with stdenv.lib; {
inherit version;
homepage = "http://offog.org/code/rawdog/";
description = "RSS Aggregator Without Delusions Of Grandeur";
license = licenses.gpl2;
@@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, cppcheck, libmrss }:

let version = "2.1"; in
stdenv.mkDerivation rec {
name = "rsstail-${version}";
version = "2.1";

src = fetchFromGitHub {
sha256 = "12p69i3g1fwlw0bds9jqsdmzkid3k5a41w31d227i7vm12wcvjf6";
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
doCheck = true;

meta = with stdenv.lib; {
inherit version;
description = "Monitor RSS feeds for new entries";
longDescription = ''
RSSTail is more or less an RSS reader: it monitors an RSS feed and if it

This file was deleted.

This file was deleted.

@@ -0,0 +1,58 @@
{ stdenv, fetchurl, pkgconfig, makeDesktopItem, unzip
, qtbase, qttools, makeQtWrapper, qtmultimedia, qtquick1, qtquickcontrols
, openssl, protobuf
}:

stdenv.mkDerivation rec {
name = "ricochet-${version}";
version = "1.1.1";

src = fetchurl {
url = "https://github.com/ricochet-im/ricochet/archive/v${version}.tar.gz";
sha256 = "0y79igzgl9xn00981zcyxdlks7vnqxhb4rq3x8gwxm0yr98p39ms";
};

desktopItem = makeDesktopItem {
name = "ricochet";
exec = "ricochet";
icon = "ricochet";
desktopName = "Ricochet";
genericName = "Ricochet";
comment = meta.description;
categories = "Office;Email;";
};

buildInputs = [
qtbase qttools qtmultimedia qtquick1 qtquickcontrols
openssl protobuf
];

nativeBuildInputs = [ pkgconfig makeQtWrapper ];

preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags openssl)"
'';

configureScript = "qmake";
dontAddPrefix = true;
configureFlags = [ "PREFIX=$(out)" "DEFINES+=RICOCHET_NO_PORTABLE" ];

installPhase = ''
mkdir -p $out/bin
cp ricochet $out/bin
wrapQtProgram $out/bin/ricochet
mkdir -p $out/share/applications
cp $desktopItem/share/applications"/"* $out/share/applications
mkdir -p $out/share/pixmaps
cp icons/ricochet.png $out/share/pixmaps/ricochet.png
'';

meta = with stdenv.lib; {
description = "Anonymous peer-to-peer instant messaging";
homepage = "https://ricochet.im";
license = licenses.bsd3;
maintainers = [ maintainers.codsl maintainers.jgillich ];
};
}

This file was deleted.

@@ -0,0 +1,84 @@
{ stdenv
, lib
, fetchurl
, cmake
, extra-cmake-modules
, kbookmarks
, karchive
, kconfig
, kconfigwidgets
, kcoreaddons
, kdbusaddons
, kdoctools
, kemoticons
, kglobalaccel
, ki18n
, kiconthemes
, kidletime
, kitemviews
, knotifications
, knotifyconfig
, kio
, kparts
, kwallet
, makeQtWrapper
, solid
, sonnet
, phonon}:

let
pn = "konversation";
v = "1.6";
in

stdenv.mkDerivation rec {
name = "${pn}-${v}";

src = fetchurl {
url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.xz";
sha256 = "789fd75644bf54606778971310433dbe2bc01ac0917b34bc4e8cac88e204d5b6";
};

buildInputs = [
cmake
extra-cmake-modules
kbookmarks
karchive
kconfig
kconfigwidgets
kcoreaddons
kdbusaddons
kdoctools
kemoticons
kglobalaccel
ki18n
kiconthemes
kidletime
kitemviews
knotifications
knotifyconfig
kio
kparts
kwallet
solid
sonnet
phonon
];

nativeBuildInputs = [
extra-cmake-modules
kdoctools
makeQtWrapper
];

postInstall = ''
wrapQtProgram "$out/bin/konversation"
'';

meta = {
description = "Integrated IRC client for KDE";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ fridh ];
homepage = https://konversation.kde.org;
};
}
@@ -4,12 +4,12 @@
, extraBuildInputs ? [] }:

stdenv.mkDerivation rec {
version = "1.3";
version = "1.4";
name = "weechat-${version}";

src = fetchurl {
url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
sha256 = "0j2ic1c69ksf78wi0cmc4yi5348x6c92g6annsx928sayxqxfgbh";
sha256 = "1m6xq6izcac5186xvvmm8znfjzrg9hq42p69jabdvv7cri4rjvg0";
};

cmakeFlags = stdenv.lib.optional stdenv.isDarwin
@@ -10,11 +10,11 @@ assert guiSupport -> (dbus_libs != null);
with stdenv.lib;
stdenv.mkDerivation rec {
name = "qbittorrent-${version}";
version = "3.3.1";
version = "3.3.3";

src = fetchurl {
url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
sha256 = "1li9law732n4vc7sn6i92pwxn8li7ypqaxcmfpm17kk978immlfs";
sha256 = "0lyv230vqwb77isjqm6fwwgv8hdap88zir9yrccj0qxj7zf8p3cw";
};

nativeBuildInputs = [ pkgconfig which ];
@@ -1,12 +1,17 @@
diff --git a/qm_gen.pri b/qm_gen.pri
index ed29b76..2d5990c 100644
index 5454440..2d5990c 100644
--- a/qm_gen.pri
+++ b/qm_gen.pri
@@ -5,7 +5,7 @@ isEmpty(QMAKE_LRELEASE) {
@@ -5,12 +5,7 @@ isEmpty(QMAKE_LRELEASE) {
win32|os2:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
unix {
- equals(QT_MAJOR_VERSION, 4) {
- !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt4 }
- }
- equals(QT_MAJOR_VERSION, 5) {
- !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt5 }
- }
+ !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease }
} else {
!exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease }
@@ -1,22 +1,14 @@
{ stdenv, fetchurl, cups, libssh, libXpm, nxproxy, openldap, makeWrapper, qt4 }:

let version = "4.0.5.0"; in
stdenv.mkDerivation rec {
name = "x2goclient-${version}";
version = "4.0.5.0";

src = fetchurl {
url = "http://code.x2go.org/releases/source/x2goclient/${name}.tar.gz";
sha256 = "18a2pszh0nq2ir64a1ah1mlzddn4qcd12b339bv30n0y1ir92bi4";
};

meta = with stdenv.lib; {
description = "Graphical NoMachine NX3 remote desktop client";
homepage = http://x2go.org/;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ nckx ];
};

buildInputs = [ cups libssh libXpm nxproxy openldap qt4 ];
nativeBuildInputs = [ makeWrapper ];

@@ -35,4 +27,12 @@ stdenv.mkDerivation rec {
postInstall = ''
wrapProgram "$out/bin/x2goclient" --suffix PATH : "${nxproxy}/bin";
'';

meta = with stdenv.lib; {
description = "Graphical NoMachine NX3 remote desktop client";
homepage = http://x2go.org/;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ nckx ];
};
}

This file was deleted.

@@ -1,8 +1,8 @@
{ stdenv, fetchurl, gd, ncurses }:

let version = "1.15"; in
stdenv.mkDerivation rec {
name = "vnstat-${version}";
version = "1.15";

src = fetchurl {
sha256 = "0fdw3nbrfm4acv48r0934ls6ld5lwkff3gyym2c72qlbm9dlp0f3";
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
'';

meta = with stdenv.lib; {
inherit version;
description = "Console-based network statistics utility for Linux";
longDescription = ''
vnStat is a console-based network traffic monitor for Linux and BSD that
@@ -0,0 +1,162 @@
{ stdenv, fetchurl, unzip, jdk, ib-tws, xpra }:

stdenv.mkDerivation rec {
version = "2.14.0";
name = "ib-controller-${version}";

src = fetchurl {
url = "https://github.com/ib-controller/ib-controller/archive/${version}.tar.gz";
sha256 = "17a8bcgg9z3b4y38k035hm2lgvhmf8srlz59c7n2q3fdw2i95i68";
};

phases = [ "unpackPhase" "installPhase" ];

buildInputs = [ unzip jdk ib-tws ];

installPhase = ''
mkdir -p $out $out/bin $out/etc/ib/controller $out/share/IBController
cp resources/*.jar $out/share/IBController/.
cp resources/*.ini $out/etc/ib/controller/.
classpath=""
for jar in ${ib-tws}/share/IBJts/*.jar; do
classpath="$classpath:$jar"
done
for jar in $out/share/IBController/*.jar; do
classpath="$classpath:$jar"
done
# strings to use below; separated to avoid nix specific substitutions
javaOptions={JAVA_OPTIONS:--Xmx1024M}
ibProfileDir={IB_PROFILE_DIR:-~/IB/}
cat<<EOF > $out/bin/ib-tws-c
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp ${ib-tws}/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
if [ ! -e \$IB_USER_PROFILE/IBController.ini ]; then cp $out/etc/ib/controller/IBController.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/IBController.ini; fi
if [[ \$1 == "-q" ]]; then
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra stop \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ &> /dev/null
fi
exit 0
fi
if [[ \$1 == "-d" ]] && [ ! -f \$IB_USER_PROFILE/xpra/run ]; then
( sleep infinity ) &
WAIT_DUMMY_PID=\$!
( trap "" INT;
DISPLAYNUM=100
while [ -f /tmp/.X\$DISPLAYNUM-lock ]; do DISPLAYNUM=\$((\$DISPLAYNUM + 1)); done
mkdir -p \$IB_USER_PROFILE/xpra
cd \$IB_USER_PROFILE
nohup ${xpra}/bin/xpra start :\$DISPLAYNUM \
--socket-dir=\$IB_USER_PROFILE/xpra/ \
--start-child="echo -n :\$DISPLAYNUM > \$IB_USER_PROFILE/xpra/run \
&& kill \$WAIT_DUMMY_PID &> /dev/null \
&& ${jdk}/bin/java -cp $classpath \$$javaOptions ibcontroller.IBController \$IB_USER_PROFILE/IBController.ini" \
--exit-with-children \
--no-pulseaudio \
--no-mdns \
--no-notification \
--no-daemon \
&> \$IB_USER_PROFILE/xpra/server.log
rm -f \$IB_USER_PROFILE/xpra/run
rm -f /tmp/.X\$DISPLAYNUM-lock
) &
wait \$WAIT_DUMMY_PID
exit 0
fi
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra attach \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ \
--windows \
--no-speaker \
--no-microphone \
--no-tray \
--title="\$IB_USER_PROFILE_TITLE: @title@" \
&> \$IB_USER_PROFILE/xpra/client.log
fi
EOF
chmod u+x $out/bin/ib-tws-c
cat<<EOF > $out/bin/ib-gw-c
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp ${ib-tws}/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
if [ ! -e \$IB_USER_PROFILE/IBController.ini ]; then cp $out/etc/ib/controller/IBController.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/IBController.ini; fi
if [[ \$1 == "-q" ]]; then
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra stop \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ &> /dev/null
fi
exit 0
fi
if [[ \$1 == "-d" ]] && [ ! -f \$IB_USER_PROFILE/xpra/run ]; then
( sleep infinity ) &
WAIT_DUMMY_PID=\$!
( trap "" INT;
DISPLAYNUM=100
while [ -f /tmp/.X\$DISPLAYNUM-lock ]; do DISPLAYNUM=\$((\$DISPLAYNUM + 1)); done
mkdir -p \$IB_USER_PROFILE/xpra
cd \$IB_USER_PROFILE
nohup ${xpra}/bin/xpra start :\$DISPLAYNUM \
--socket-dir=\$IB_USER_PROFILE/xpra/ \
--start-child="echo -n :\$DISPLAYNUM > \$IB_USER_PROFILE/xpra/run \
&& kill \$WAIT_DUMMY_PID &> /dev/null \
&& ${jdk}/bin/java -cp $classpath \$$javaOptions ibcontroller.IBGatewayController \$IB_USER_PROFILE/IBController.ini" \
--exit-with-children \
--no-pulseaudio \
--no-mdns \
--no-notification \
--no-daemon \
&> \$IB_USER_PROFILE/xpra/server.log
rm -f \$IB_USER_PROFILE/xpra/run
rm -f /tmp/.X\$DISPLAYNUM-lock
) &
wait \$WAIT_DUMMY_PID
exit 0
fi
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra attach \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ \
--windows \
--no-speaker \
--no-microphone \
--no-tray \
--title="\$IB_USER_PROFILE_TITLE: @title@" \
&> \$IB_USER_PROFILE/xpra/client.log
fi
EOF
chmod u+x $out/bin/ib-gw-c
'';


meta = with stdenv.lib; {
description = "Automation Controller for the Trader Work Station of Interactive Brokers";
homepage = https://github.com/ib-controller/ib-controller;
license = licenses.gpl3;
maintainers = [ maintainers.tstrobel ];
platforms = platforms.linux;
};
}
@@ -0,0 +1,96 @@
{ stdenv, requireFile, jdk }:

stdenv.mkDerivation rec {
version = "9542";
name = "ib-tws-${version}";

src = requireFile rec {
name = "ibtws_${version}.jar";
message = ''
This nix expression requires that ${name} is already part of the store.
Download the TWS from
https://download2.interactivebrokers.com/download/unixmacosx_latest.jar,
rename the file to ${name}, and add it to the nix store with
"nix-prefetch-url file://${name}".
'';
sha256 = "1a2jiwwnr5g3xfba1a89c257bdbnq4zglri8hz021vk7f6s4rlrf";
};

phases = [ "unpackPhase" "buildPhase" "installPhase" ];

buildInputs = [ jdk ];

buildPhase = ''
jar -xf IBJts/jts.jar
cp trader/common/images/ibapp_icon.gif ibtws_icon.gif
'';

unpackPhase = ''
jar xf ${src}
'';

installPhase = ''
mkdir -p $out $out/bin $out/etc/ib/tws $out/share/IBJts $out/share/icons
cp IBJts/*.jar $out/share/IBJts/.
cp IBJts/*.ini $out/etc/ib/tws/.
cp ibtws_icon.gif $out/share/icons/.
classpath=""
for jar in $out/share/IBJts/*.jar; do
classpath="$classpath:$jar"
done
# strings to use below; separated to avoid nix specific substitutions
javaOptions={JAVA_OPTIONS:-'-Xmx1024M -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=True -Dsun.java2d.opengl=False'}
# OTHER JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java
ibProfileDir={IB_PROFILE_DIR:-~/IB/}
cat<<EOF > $out/bin/ib-tws
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp $out/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
${jdk}/bin/java -cp $classpath \$$javaOptions jclient.LoginFrame \$IB_USER_PROFILE
EOF
chmod u+x $out/bin/ib-tws
cat<<EOF > $out/bin/ib-gw
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp $out/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
${jdk}/bin/java -cp $classpath -Dsun.java2d.noddraw=true \$$javaOptions ibgateway.GWClient \$IB_USER_PROFILE
EOF
chmod u+x $out/bin/ib-gw
'';

meta = with stdenv.lib; {
description = "Trader Work Station of Interactive Brokers";
homepage = https://www.interactivebrokers.com;
license = licenses.unfree;
maintainers = [ maintainers.tstrobel ];
platforms = platforms.linux;
};
}
@@ -1,7 +1,11 @@
#!/run/current-system/sw/bin/bash

# Ideally we would move as much as possible into derivation dependencies

# Take the list of files from the main package, ooo.lst.in

# This script wants an argument: download list file

cat <<EOF
[
EOF
@@ -11,11 +15,18 @@ write_entry(){
echo " name = \"${name}\";"
echo " md5 = \"${md5}\";"
echo " brief = ${brief};"
eval "echo -n \"\$additions_${name%%[-_.]*}\""
eval "test -n \"\$additions_${name%%[-_.]*}\" && echo"
echo '}'
}

cat "$(dirname "$0")/libreoffice-srcs-additions.sh" "$@" |
while read line; do
case "$line" in
EVAL\ *)
echo "${line#* }" >&2;
eval "${line#* }";
;;
\#*)
echo Skipping comment: "$line" >&2;
;;
@@ -42,6 +53,7 @@ while read line; do
line="${line#,}"
md5=${line:0:32};
name=${line:33};
name="${name%)}"
brief=false;
write_entry;
;;
@@ -0,0 +1 @@
EVAL additions_libgltf=' subDir = "libgltf/";'
@@ -323,6 +323,7 @@
name = "libgltf-0.0.2.tar.bz2";
md5 = "d63a9f47ab048f5009d90693d6aa6424";
brief = true;
subDir = "libgltf/";
}
{
name = "liblangtag-0.5.1.tar.bz2";

This file was deleted.

@@ -6,7 +6,7 @@
{stdenv, fetchurl, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}:

let
version = "8.5rc1";
version = "8.5";
coq-version = "8.5";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
inherit ocaml camlp5;

src = fetchurl {
url = https://coq.inria.fr/distrib/V8.5rc1/files/coq-8.5rc1.tar.gz;
sha256 = "0n8mb7di9iwg8dgy1xmivf2ajx8kqkrj9mafc32vicn2lbg16q2r";
url = https://coq.inria.fr/distrib/V8.5/files/coq-8.5.tar.gz;
sha256 = "0gdfm6k5q1f8sz1xr9ijdkkvwqsb7v8prj21gmwv0z0yp6w2zac9";
};

buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];

This file was deleted.

@@ -2,11 +2,11 @@

stdenv.mkDerivation rec {
name = "metis-prover-${version}";
version = "2.3.20160101";
version = "2.3.20160102";

src = fetchurl {
url = "http://www.gilith.com/software/metis/metis.tar.gz";
sha256 = "0wkh506ggwmfacwl19n84n1xi6ak4xhrc96d9pdkpk8zdwh5w58l";
sha256 = "13csr90i9lsxdyzxqiwgi98pa7phfl28drjcv4qdjhzi71wcdc66";
};

nativeBuildInputs = [ perl ];
@@ -2,13 +2,13 @@

stdenv.mkDerivation rec {
name = "z3-${version}";
version = "4.4.0";
version = "4.4.1";

src = fetchFromGitHub {
owner = "Z3Prover";
repo = "z3";
rev = "7f6ef0b6c0813f2e9e8f993d45722c0e5b99e152";
sha256 = "1xllvq9fcj4cz34biq2a9dn2sj33bdgrzyzkj26hqw70wkzv1kzx";
rev = "z3-${version}";
sha256 = "1ix100r1h00iph1bk5qx5963gpqaxmmx42r2vb5zglynchjif07c";
};

buildInputs = [ python ];
@@ -45,6 +45,8 @@ rec {
git-annex = pkgs.haskellPackages.git-annex-with-assistant;
gitAnnex = git-annex;

git-annex-remote-b2 = pkgs.goPackages.git-annex-remote-b2;

qgit = import ./qgit {
inherit fetchurl stdenv;
inherit (xorg) libXext libX11;
@@ -2,17 +2,16 @@
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, makeWrapper, xmlto
, pythonPackages }:

let version = "3.2015-09-08"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "git-bz-${version}";
version = "3.2015-09-08";

src = fetchgit {
sha256 = "19d9c81d4eeabe87079d8f60e4cfa7303f776f5a7c9874642cf2bd188851d029";
rev = "e17bbae7a2ce454d9f69c32fc40066995d44913d";
url = "git://git.fishsoup.net/git-bz";
};


nativeBuildInputs = [
asciidoc docbook_xml_dtd_45 docbook_xsl libxslt makeWrapper xmlto
];
@@ -32,7 +31,6 @@ stdenv.mkDerivation {
'';

meta = with stdenv.lib; {
inherit version;
description = "Bugzilla integration for git";
longDescription = ''
git-bz is a tool for integrating the Git command line with the
@@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, docutils, python }:

let version = "0.9.0"; in
stdenv.mkDerivation rec {
name = "git-hub-${version}";
version = "0.9.0";

src = fetchFromGitHub {
sha256 = "0c4kq4a906lr8nzway7qh0560n2ydvidh9rlffh44902rd48kp0h";
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
'';

meta = with stdenv.lib; {
inherit version;
inherit (src.meta) homepage;
description = "Git command line interface to GitHub";
longDescription = ''
@@ -1,12 +1,15 @@
{ stdenv, fetchurl }:
{ stdenv, fetchFromGitHub }:

stdenv.mkDerivation rec {
name = "gitflow-${version}";
version = "1.8.0";
pname = "gitflow";
version = "1.9.1";
name = "${pname}-${version}";

src = fetchurl {
url = "https://github.com/petervanderdoes/gitflow/archive/${version}.tar.gz";
sha256 = "1vxdawx4sinl19g59ifmrdalmr2dl5pkgawyj9z0s5mcildi6fc2";
src = fetchFromGitHub {
owner = "petervanderdoes";
repo = pname;
rev = version;
sha256 = "0ad2421r3iq4xrdy46f4rrqbm8r3xphqcsdj3gqy8fnlrmxw5dfw";
};

preBuild = ''
@@ -1,8 +1,8 @@
{ stdenv, fetchurl, makeDesktopItem, ffmpeg, qt4 }:

let version = "3.5.6"; in
stdenv.mkDerivation rec {
name = "clipgrab-${version}";
version = "3.5.6";

src = fetchurl {
sha256 = "0wm6hqaq6ydbvvd0fqkfydxd5h7gf4di7lvq63xgxl4z40jqc25n";
@@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
'';

meta = with stdenv.lib; {
inherit version;
description = "Video downloader for YouTube and other sites";
longDescription = ''
ClipGrab is a free downloader and converter for YouTube, Vimeo, Metacafe,
@@ -1,10 +1,10 @@
{ stdenv, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbisTools }:
{ stdenv, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools }:

let
wrapper = writeScript "dvd-slideshow.sh" ''
#!/bin/bash
# wrapper script for dvd-slideshow programs
export PATH=${cdrtools}/bin:${dvdauthor}/bin:${ffmpeg.bin}/bin:${imagemagick}/bin:${lame}/bin:${mjpegtools}/bin:${sox}/bin:${transcode}/bin:${vorbisTools}/bin:$PATH
export PATH=${cdrtools}/bin:${dvdauthor}/bin:${ffmpeg.bin}/bin:${imagemagick}/bin:${lame}/bin:${mjpegtools}/bin:${sox}/bin:${transcode}/bin:${vorbis-tools}/bin:$PATH

dir=`dirname "$0"`
exe=`basename "$0"`
@@ -2,9 +2,9 @@
# "Free" API key generated by nckx <tobias.geerinckx.rice@gmail.com>
, withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }:

let version = "2.4"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "minitube-${version}";
version = "2.4";

src = fetchFromGitHub {
sha256 = "0mm8v2vpspwxh2fqaykb381v6r9apywc1b0x8jkcbp7s43w10lp5";
@@ -13,20 +13,6 @@ stdenv.mkDerivation {
owner = "flaviotordini";
};

meta = with stdenv.lib; {
inherit version;
description = "Stand-alone YouTube video player";
longDescription = ''
Watch YouTube videos in a new way: you type a keyword, Minitube gives
you an endless video stream. Minitube is not about cloning the YouTube
website, it aims to create a new TV-like experience.
'';
homepage = http://flavio.tordini.org/minitube;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nckx ];
};

buildInputs = [ phonon phonon_backend_vlc qt4 ];
nativeBuildInputs = [ makeWrapper ];

@@ -40,4 +26,17 @@ stdenv.mkDerivation {
wrapProgram $out/bin/minitube \
--prefix QT_PLUGIN_PATH : "${phonon_backend_vlc}/lib/kde4/plugins"
'';

meta = with stdenv.lib; {
description = "Stand-alone YouTube video player";
longDescription = ''
Watch YouTube videos in a new way: you type a keyword, Minitube gives
you an endless video stream. Minitube is not about cloning the YouTube
website, it aims to create a new TV-like experience.
'';
homepage = http://flavio.tordini.org/minitube;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nckx ];
};
}
@@ -4,11 +4,11 @@

stdenv.mkDerivation rec {
name = "simplescreenrecorder-${version}";
version = "0.3.3";
version = "0.3.6";

src = fetchurl {
url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
sha256 = "09mcmvqbzq2blv404pklv6fc8ci3a9090p42rdsgmlr775bdyxfb";
sha256 = "1d89ncspjd8c4mckf0nb6y3hrxpv4rjpbj868pznhvfmdgr5nvql";
};

buildInputs = [
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, qtscript }:

stdenv.mkDerivation rec {
name = "smplayer-15.11.0";
name = "smplayer-16.1.0";

src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "1h8r5xjaq7p78raw1v29gsrcv221lzl8m2i2qls3khc65kx032cn";
sha256 = "1jfqpmbbjrs9lna44dp10zblj7b0cras9sb0nczycpkcsdi9np6j";
};

patches = [ ./basegui.cpp.patch ];
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, qtscript, qtwebkit }:

stdenv.mkDerivation rec {
version = "15.11.0";
version = "16.1.0";
name = "smtube-${version}";

src = fetchurl {
url = "mirror://sourceforge/smtube/SMTube/${version}/${name}.tar.bz2";
sha256 = "13pkd0462ygsdlmym6y2cfivihmi175y41jq5hjyh926cgfg7pny";
sha256 = "1yjn7gj5pfw8835gfazk29mhcvfh1dhfjqmbqln1ajxr89imjj4r";
};

makeFlags = [
@@ -1,8 +1,8 @@
{ stdenv, fetchurl, makeWrapper, perl, perlPackages }:

let version = "2.0"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "remotebox-${version}";
version = "2.0";

src = fetchurl {
url = "http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-${version}.tar.bz2";
@@ -26,7 +26,6 @@ stdenv.mkDerivation {
'';

meta = with stdenv.lib; {
inherit version;
description = "VirtualBox client with remote management";
homepage = http://remotebox.knobgoblin.org.uk/;
license = licenses.gpl2Plus;
@@ -1,31 +1,34 @@
{ stdenv, lib, autoconf, automake, go, file, git, wget, gnupg1, squashfsTools, cpio
, fetchurl, fetchFromGitHub }:
{ stdenv, lib, autoreconfHook, acl, go, file, git, wget, gnupg1, squashfsTools,
cpio, fetchurl, fetchFromGitHub, iptables, systemd, makeWrapper }:

let
coreosImageRelease = "794.1.0";
coreosImageSystemdVersion = "222";

# TODO: track https://github.com/coreos/rkt/issues/1758 to allow "host" flavor.
stage1Flavours = [ "coreos" "fly" ];
stage1Flavours = [ "coreos" "fly" "host" ];

in stdenv.mkDerivation rec {
version = "0.14.0";
version = "0.15.0";
name = "rkt-${version}";
BUILDDIR="build-${name}";

src = fetchFromGitHub {
rev = "v${version}";
owner = "coreos";
repo = "rkt";
sha256 = "0dmgs9s40xhan2rh9f5n0k5gv8p2dn946zffq02sq35qqvi67s71";
sha256 = "1pw14r38p8sdkma37xx0yy3zx5yxqc12zj35anmlbmrgw4vdgavf";
};

stage1BaseImage = fetchurl {
url = "http://alpha.release.core-os.net/amd64-usr/${coreosImageRelease}/coreos_production_pxe_image.cpio.gz";
sha256 = "05nzl3av6cawr8v203a8c95c443g6h1nfy2n4jmgvn0j4iyy44ym";
};

buildInputs = [ autoconf automake go file git wget gnupg1 squashfsTools cpio ];
buildInputs = [
autoreconfHook go file git wget gnupg1 squashfsTools cpio acl systemd
makeWrapper
];

preConfigure = ''
./autogen.sh
@@ -45,6 +48,9 @@ in stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp -Rv $BUILDDIR/bin/* $out/bin
wrapProgram $out/bin/rkt \
--prefix LD_LIBRARY_PATH : ${systemd}/lib \
--prefix PATH : ${iptables}/bin
'';

meta = with lib; {
@@ -18,7 +18,7 @@ let
# revision/hash as well. See
# http://download.virtualbox.org/virtualbox/${version}/SHA256SUMS
# for hashes.
version = "5.0.10";
version = "5.0.12";

forEachModule = action: ''
for mod in \
@@ -39,12 +39,12 @@ let
'';

# See https://github.com/NixOS/nixpkgs/issues/672 for details
extpackRevision = "104061";
extpackRevision = "104815";
extensionPack = requireFile rec {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
# IMPORTANT: Hash must be base16 encoded because it's used as an input to
# VBoxExtPackHelperApp!
sha256 = "c846fa26fec8587e57180c85c408cad377c48ad26830b0dc839ebf9025e3d29c";
sha256 = "ac1bc8452b7fdf183325272149e9f18b9810cc07adf18e48755385a9cd1b236d";
message = ''
In order to use the extension pack, you need to comply with the VirtualBox Personal Use
and Evaluation License (PUEL) by downloading the related binaries from:
@@ -63,7 +63,7 @@ in stdenv.mkDerivation {

src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "56eafae439b91ea3c3748f2128b2969ba76983acf821acaa08e043c129b45a89";
sha256 = "de0362b1d404d1ca0298db1984acb6f0f1c6210313aeb744fea345ad9201e86e";
};

buildInputs =
@@ -12,7 +12,7 @@ stdenv.mkDerivation {

src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "8f7ffee3fac75793e48d1859b65a95879b3ed5bc1c3164c967e85d69244c594b";
sha256 = "61a19c9ec4b449cbc6bb41b636b03a16bf5a47ffa4943423d262863017e8bc9b";
};

KERN_DIR = "${kernel.dev}/lib/modules/*/build";
@@ -5,7 +5,7 @@
, flex, cmake, ocaml, ocamlPackages, figlet, libaio, yajl
, checkpolicy, transfig, glusterfs, acl, fetchgit, xz, spice
, spice_protocol, usbredir, alsaLib, quilt
, coreutils, gawk, gnused, gnugrep, diffutils, multipath_tools
, coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools
, inetutils, iptables, openvswitch, nbd, drbd, xenConfig
, xenserverPatched ? false, ... }:

@@ -51,7 +51,7 @@ let
];

scriptEnvPath = stdenv.lib.concatStrings (stdenv.lib.intersperse ":" (map (x: "${x}/bin")
[ coreutils gawk gnused gnugrep which perl diffutils utillinux multipath_tools
[ coreutils gawk gnused gnugrep which perl diffutils utillinux multipath-tools
iproute inetutils iptables bridge-utils openvswitch nbd drbd ]));
in

@@ -7,15 +7,15 @@
}:

let
version = "3.5.6";
version = "3.5.7";
in with luaPackages;

stdenv.mkDerivation rec {
name = "awesome-${version}";

src = fetchurl {
url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
sha256 = "1ms6a3l1i2jdhzrd1zr25cqckznmb44qgz4n635jam42hzhrvx1p";
sha256 = "ba7f92b0ab8b729c569b19b098b0a08339d8654e3c040d07ad02cf99641ceecf";
};

meta = with stdenv.lib; {

This file was deleted.

This file was deleted.

@@ -12,6 +12,8 @@ let
'';

init = run: writeText "${name}-init" ''
source /etc/profile

# Make /tmp directory
mkdir -m 1777 /tmp

@@ -44,7 +46,7 @@ in runCommand name {
cat <<EOF >$out/bin/${name}
#! ${stdenv.shell}
export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:\$CHROOTENV_EXTRA_BINDS"
exec ${chroot-user}/bin/chroot-user ${env} ${bash'} -l ${init runScript} "\$(pwd)" "\$@"
exec ${chroot-user}/bin/chroot-user ${env} ${bash'} ${init runScript} "\$(pwd)" "\$@"
EOF
chmod +x $out/bin/${name}
${extraInstallCommands}
@@ -5,6 +5,7 @@
use IO::Handle;
use File::Path;
use File::Basename;
use File::Compare;
use JSON::PP;

STDOUT->autoflush(1);
@@ -38,20 +39,36 @@ sub isInPathsToLink {
sub findFiles;

sub findFilesInDir {
my ($relName, $target, $ignoreCollisions, $priority) = @_;
my ($relName, $target, $ignoreCollisions, $checkCollisionContents, $priority) = @_;

opendir DIR, "$target" or die "cannot open `$target': $!";
my @names = readdir DIR or die;
closedir DIR;

foreach my $name (@names) {
next if $name eq "." || $name eq "..";
findFiles("$relName/$name", "$target/$name", $name, $ignoreCollisions, $priority);
findFiles("$relName/$name", "$target/$name", $name, $ignoreCollisions, $checkCollisionContents, $priority);
}
}

sub checkCollision {
my ($path1, $path2) = @_;

my $stat1 = (stat($path1))[2];
my $stat2 = (stat($path2))[2];

if ($stat1 != $stat2) {
warn "different permissions in `$path1' and `$path2': "
. sprintf("%04o", $stat1 & 07777) . " <-> "
. sprintf("%04o", $stat2 & 07777);
return 0;
}

return compare($path1, $path2) == 0;
}

sub findFiles {
my ($relName, $target, $baseName, $ignoreCollisions, $priority) = @_;
my ($relName, $target, $baseName, $ignoreCollisions, $checkCollisionContents, $priority) = @_;

# Urgh, hacky...
return if
@@ -82,13 +99,15 @@ sub findFiles {
if ($ignoreCollisions) {
warn "collision between `$target' and `$oldTarget'\n" if $ignoreCollisions == 1;
return;
} elsif ($checkCollisionContents && checkCollision($oldTarget, $target)) {
return;
} else {
die "collision between `$target' and `$oldTarget'\n";
}
}

findFilesInDir($relName, $oldTarget, $ignoreCollisions, $oldPriority) unless $oldTarget eq "";
findFilesInDir($relName, $target, $ignoreCollisions, $priority);
findFilesInDir($relName, $oldTarget, $ignoreCollisions, $checkCollisionContents, $oldPriority) unless $oldTarget eq "";
findFilesInDir($relName, $target, $ignoreCollisions, $checkCollisionContents, $priority);

$symlinks{$relName} = ["", $priority]; # denotes directory
}
@@ -98,12 +117,12 @@ sub findFiles {
my %postponed;

sub addPkg {
my ($pkgDir, $ignoreCollisions, $priority) = @_;
my ($pkgDir, $ignoreCollisions, $checkCollisionContents, $priority) = @_;

return if (defined $done{$pkgDir});
$done{$pkgDir} = 1;

findFiles("", $pkgDir, "", $ignoreCollisions, $priority);
findFiles("", $pkgDir, "", $ignoreCollisions, $checkCollisionContents, $priority);

my $propagatedFN = "$pkgDir/nix-support/propagated-user-env-packages";
if (-e $propagatedFN) {
@@ -132,7 +151,11 @@ sub addPkg {
# user.
for my $pkg (@{decode_json $pkgs}) {
for my $path (@{$pkg->{paths}}) {
addPkg($path, $ENV{"ignoreCollisions"} eq "1", $pkg->{priority}) if -e $path;
addPkg($path,
$ENV{"ignoreCollisions"} eq "1",
$ENV{"checkCollisionContents"} eq "1",
$pkg->{priority})
if -e $path;
}
}

@@ -146,7 +169,7 @@ sub addPkg {
my @pkgDirs = keys %postponed;
%postponed = ();
foreach my $pkgDir (sort @pkgDirs) {
addPkg($pkgDir, 2, $priorityCounter++);
addPkg($pkgDir, 2, $ENV{"checkCollisionContents"} eq "1", $priorityCounter++);
}
}

@@ -16,6 +16,10 @@
, # Whether to ignore collisions or abort.
ignoreCollisions ? false

, # If there is a collision, check whether the contents and permissions match
# and only if not, throw a collision error.
checkCollisionContents ? true

, # The paths (relative to each element of `paths') that we want to
# symlink (e.g., ["/bin"]). Any file not inside any of the
# directories in the list is not symlinked.
@@ -35,7 +39,9 @@
}:

runCommand name
rec { inherit manifest ignoreCollisions passthru meta pathsToLink extraPrefix postBuild buildInputs;
rec {
inherit manifest ignoreCollisions checkCollisionContents passthru
meta pathsToLink extraPrefix postBuild buildInputs;
pkgs = builtins.toJSON (map (drv: {
paths = [ drv ];
priority = drv.meta.priority or 5;