diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index dee2d6f0dff..f99e5d76a47 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -26,6 +26,15 @@ stdenv.mkDerivation rec { ${optionalString enableTiny "--enable-tiny"} ''; + patchFlags = [ "-p0" ]; + + patches = optional stdenv.isDarwin + (fetchurl { + name = "darwin.patch"; + url = "https://trac.macports.org/browser/trunk/dports/editors/nano/files/patch-src-winio.c.diff?rev=151356&format=txt"; + sha256 = "184q33irz9px2svwr2qx70zvfby5zlwlhv4k607yzsy90fq2jpdd"; + }); + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace src/text.c --replace "__time_t" "time_t" ''; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index f2c37d9e973..e55a599267a 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,4 +1,4 @@ -{ newScope, stdenv, makeWrapper, makeDesktopItem, writeScript +{ newScope, stdenv, makeWrapper, makeDesktopItem, ed # package customization , channel ? "stable" @@ -66,38 +66,36 @@ let in stdenv.mkDerivation { name = "chromium${suffix}-${chromium.browser.version}"; - buildInputs = [ makeWrapper ]; + buildInputs = [ makeWrapper ed ]; outputs = ["out" "sandbox"]; buildCommand = let browserBinary = "${chromium.browser}/libexec/chromium/chromium"; getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")"; - launchScript = writeScript "chromium" '' - #! ${stdenv.shell} - - if [ -x "/var/setuid-wrappers/${sandboxExecutableName}" ] - then - export CHROME_DEVEL_SANDBOX="/var/setuid-wrappers/${sandboxExecutableName}" - else - export CHROME_DEVEL_SANDBOX="@sandbox@/bin/${sandboxExecutableName}" - fi - - # libredirect causes chromium to deadlock on startup - export LD_PRELOAD="$(echo -n "$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\.so$ | tr '\n' ':')" - - exec @out@/bin/.chromium-wrapped "''${extraFlagsArray[@]}" "$@" - ''; in with stdenv.lib; '' mkdir -p "$out/bin" "$out/share/applications" ln -s "${chromium.browser}/share" "$out/share" - eval makeWrapper "${browserBinary}" "$out/bin/.chromium-wrapped" \ + eval makeWrapper "${browserBinary}" "$out/bin/chromium" \ ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled} - cp -v "${launchScript}" "$out/bin/chromium" - substituteInPlace $out/bin/chromium --subst-var out --subst-var sandbox - chmod 755 "$out/bin/chromium" + ed -v -s "$out/bin/chromium" << EOF + 2i + + if [ -x "/var/setuid-wrappers/${sandboxExecutableName}" ] + then + export CHROME_DEVEL_SANDBOX="/var/setuid-wrappers/${sandboxExecutableName}" + else + export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}" + fi + + # libredirect causes chromium to deadlock on startup + export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')" + + . + w + EOF ln -sv "${chromium.browser.sandbox}" "$sandbox" diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index cc3ea899043..45931e6914a 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -36,10 +36,7 @@ in customEmacsPackages.emacsWithPackages (epkgs: [ epkgs.evil epkgs.magit ]) with lib; let inherit (self) emacs; in -{ - packagesFun ? [], # packages explicitly requested by the user - extraStart ? "" -}: +packagesFun: # packages explicitly requested by the user let explicitRequires = @@ -56,7 +53,7 @@ stdenv.mkDerivation { # Store all paths we want to add to emacs here, so that we only need to add # one path to the load lists deps = runCommand "emacs-packages-deps" - { inherit explicitRequires lndir emacs extraStart; } + { inherit explicitRequires lndir emacs; } '' mkdir -p $out/bin mkdir -p $out/share/emacs/site-lisp @@ -99,7 +96,6 @@ stdenv.mkDerivation { (load-file "$emacs/share/emacs/site-lisp/site-start.el") (add-to-list 'load-path "$out/share/emacs/site-lisp") (add-to-list 'exec-path "$out/bin") -$extraStart EOF # Byte-compiling improves start-up time only slightly, but costs nothing. diff --git a/pkgs/development/compilers/vala/0.32.nix b/pkgs/development/compilers/vala/0.32.nix index 8ae76ec1b05..202b9fff6c8 100644 --- a/pkgs/development/compilers/vala/0.32.nix +++ b/pkgs/development/compilers/vala/0.32.nix @@ -4,8 +4,8 @@ let major = "0.32"; - minor = "0"; - sha256 = "0vpvq403vdd25irvgk7zibz3nw4x4i17m0dgnns8j1q4vr7am8h7"; + minor = "1"; + sha256 = "1ab1l44abf9fj1wznzq5956431ia136rl5049cggnk5393jlf3fx"; in stdenv.mkDerivation rec { name = "vala-${major}.${minor}"; @@ -27,4 +27,5 @@ stdenv.mkDerivation rec { buildInputs = [ glib libiconv ] ++ libintlOrEmpty; + } diff --git a/pkgs/development/libraries/cxx-prettyprint/default.nix b/pkgs/development/libraries/cxx-prettyprint/default.nix new file mode 100644 index 00000000000..8be68a314e3 --- /dev/null +++ b/pkgs/development/libraries/cxx-prettyprint/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "cxx-prettyprint-unstable-${version}"; + version = "2016-04-30"; + rev = "9ab26d228f2960f50b38ad37fe0159b7381f7533"; + + src = fetchFromGitHub { + owner = "louisdx"; + repo = "cxx-prettyprint"; + inherit rev; + sha256 = "1bp25yw8fb0mi432f72ihfxfj887gi36b36fpv677gawm786l7p1"; + }; + + installPhase = '' + mkdir -p "$out/include" + cp prettyprint.hpp "$out/include" + ''; + + meta = with stdenv.lib; { + description = "Header only C++ library for pretty printing standard containers"; + homepage = https://github.com/louisdx/cxx-prettyprint; + license = stdenv.lib.licenses.boost; + platforms = platforms.all; + + # This is a header-only library, no point in hydra building it: + hydraPlatforms = []; + }; +} diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix index 2c7cbe04019..3c40ae247f6 100644 --- a/pkgs/development/libraries/talloc/default.nix +++ b/pkgs/development/libraries/talloc/default.nix @@ -24,6 +24,10 @@ stdenv.mkDerivation rec { "--builtin-libraries=replace" ]; + postInstall = '' + ar qf $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o + ''; + meta = with stdenv.lib; { description = "Hierarchical pool based memory allocator with destructors"; homepage = http://tdb.samba.org/; diff --git a/pkgs/development/libraries/wt/cmake.patch b/pkgs/development/libraries/wt/cmake.patch new file mode 100644 index 00000000000..e7b1f87411d --- /dev/null +++ b/pkgs/development/libraries/wt/cmake.patch @@ -0,0 +1,10 @@ +--- a/CMakeLists.txt 2016-07-13 14:27:26.000000000 +0200 ++++ b/CMakeLists.txt 2016-08-16 12:58:28.135652964 +0200 +@@ -6,6 +6,7 @@ + CMAKE_POLICY(SET CMP0002 OLD) + CMAKE_POLICY(SET CMP0003 OLD) + CMAKE_POLICY(SET CMP0005 OLD) ++ CMAKE_POLICY(SET CMP0037 OLD) + ENDIF(COMMAND CMAKE_POLICY) + + PROJECT(WT) diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix new file mode 100644 index 00000000000..4461975402b --- /dev/null +++ b/pkgs/development/libraries/wt/default.nix @@ -0,0 +1,40 @@ +{stdenv, fetchFromGitHub, cmake, boost, pkgconfig, doxygen, qt48Full, libharu, + pango, fcgi, firebird, libmysql, postgresql, graphicsmagick, glew, openssl, + pcre }: + +stdenv.mkDerivation rec { + name = "wt"; + version = "3.3.6"; + + src = fetchFromGitHub { + owner = "kdeforche"; + repo = name; + rev = version; + sha256 = "1pvykc969l9cpd0da8bgpi4gr8f6qczrbpprrxamyj1pn0ydzvq3"; + }; + + enableParallelBuilding = true; + + buildInputs = [ cmake boost pkgconfig doxygen qt48Full libharu + pango fcgi firebird libmysql postgresql graphicsmagick glew + openssl pcre ]; + + cmakeFlags = [ + "-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick" + "-DWT_CPP_11_MODE=-std=c++11" + "-DGM_PREFIX=${graphicsmagick}" + "-DMYSQL_PREFIX=${libmysql}" + "--no-warn-unused-cli" + ]; + + patches = [ ./cmake.patch ]; # fix a cmake warning; PR sent to upstream + + meta = with stdenv.lib; { + homepage = "https://www.webtoolkit.eu/wt"; + description = "C++ library for developing web applications"; + platforms = platforms.linux ; + license = licenses.gpl2; + maintainers = [ maintainers.juliendehos ]; + }; +} + diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix new file mode 100644 index 00000000000..c80861b2fd7 --- /dev/null +++ b/pkgs/development/tools/leaps/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }: + +buildGoPackage rec { + name = "leaps-${version}"; + version = "20160626-${stdenv.lib.strings.substring 0 7 rev}"; + rev = "5cf7328a8c498041d2a887e89f22f138498f4621"; + + goPackagePath = "github.com/jeffail/leaps"; + + src = fetchgit { + inherit rev; + url = "https://github.com/jeffail/leaps"; + sha256 = "1qbgz48x9yi0w9yz39zsnnhx5nx2xmrns9v8hx28jah2bvag6sq7"; + fetchSubmodules = false; + }; + + goDeps = ./deps.json; + meta = { + description = "A pair programming tool and library written in Golang"; + homepage = "https://github.com/jeffail/leaps/"; + license = "MIT"; + maintainers = with stdenv.lib.maintainers; [ qknight ]; + meta.platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/tools/leaps/deps.json b/pkgs/development/tools/leaps/deps.json new file mode 100644 index 00000000000..60141d5eeee --- /dev/null +++ b/pkgs/development/tools/leaps/deps.json @@ -0,0 +1,11 @@ +[ + { + "goPackagePath": "golang.org/x/net", + "fetch": { + "type": "git", + "url": "https://go.googlesource.com/net", + "rev": "07b51741c1d6423d4a6abab1c49940ec09cb1aaf", + "sha256": "12lvdj0k2gww4hw5f79qb9yswqpy4i3bgv1likmf3mllgdxfm20w" + } + } +] diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 7a7571a9fa5..c40337d54f5 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, fetchzip, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true +, withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps +, writeScriptBin, makeWrapper }: let @@ -18,6 +20,12 @@ let sha256 = "0qnmfzz0v8vxrrvxnm7szphrlrlvhkwn3y92b4iy0b4b6yam0yd4"; }; + playmidi = writeScriptBin "playmidi" '' + #!/bin/sh + trap "${procps}/bin/pkill fluidsynth" EXIT + ${fluidsynth}/bin/fluidsynth -a ${audioDriver} -i ${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2 $* + ''; + in stdenv.mkDerivation rec { name = "openttd-${version}"; @@ -28,8 +36,9 @@ stdenv.mkDerivation rec { sha256 = "1ak32fj5xkk2fvmm3g8i7wzmk4bh2ijsp8fzvvw5wj6365p9j24v"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ SDL libpng xz zlib freetype fontconfig ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; + buildInputs = [ SDL libpng xz zlib freetype fontconfig ] + ++ stdenv.lib.optional withFluidSynth [ fluidsynth soundfont-fluid ]; prefixKey = "--prefix-dir="; @@ -52,8 +61,16 @@ stdenv.mkDerivation rec { cp ${opensfx}/*.{obs,cat} $out/share/games/openttd/data ''} + mkdir $out/share/games/openttd/baseset/openmsx + ${stdenv.lib.optionalString withOpenMSX '' - cp ${openmsx}/*.{obm,mid} $out/share/games/openttd/data + cp ${openmsx}/*.{obm,mid} $out/share/games/openttd/baseset/openmsx + ''} + + ${stdenv.lib.optionalString withFluidSynth '' + wrapProgram $out/bin/openttd \ + --add-flags -m \ + --add-flags extmidi:cmd=${playmidi}/bin/playmidi ''} ''; diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix index 899c4a13502..71cc5865fb8 100644 --- a/pkgs/servers/emby/default.nix +++ b/pkgs/servers/emby/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "emby-${version}"; - version = "3.0.6060"; + version = "3.0.6070"; src = fetchurl { url = "https://github.com/MediaBrowser/Emby/archive/${version}.tar.gz"; - sha256 = "1s895198x3kiqfznhp56vj67wld9fgh2wd7k8hw69mrasby0kmp3"; + sha256 = "1szxqyr1pj90dfz9ga8ddcipzidm3ajinyp1vngzvwqcsdb7dxc5"; }; propagatedBuildInputs = with pkgs; [ diff --git a/pkgs/tools/system/proot/default.nix b/pkgs/tools/system/proot/default.nix index aecab9c35d0..87c463bdac9 100644 --- a/pkgs/tools/system/proot/default.nix +++ b/pkgs/tools/system/proot/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { owner = "cedric-vincent"; }; - buildInputs = [ talloc ]; + buildInputs = [ talloc ] ++ stdenv.lib.optional enableStatic stdenv.cc.libc.static; nativeBuildInputs = [ docutils ]; enableParallelBuilding = true; preBuild = stdenv.lib.optionalString enableStatic '' - export LDFLAGS="-static -L${talloc}/lib" + export LDFLAGS="-static" ''; makeFlags = [ "-C src" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a14498dcce4..ecc201ebcb7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7084,6 +7084,8 @@ in cwiid = callPackage ../development/libraries/cwiid { }; + cxx-prettyprint = callPackage ../development/libraries/cxx-prettyprint { }; + cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { kerberos = if stdenv.isFreeBSD then libheimdal else kerberos; }; @@ -9717,6 +9719,8 @@ in wiredtiger = callPackage ../development/libraries/wiredtiger { }; + wt = callPackage ../development/libraries/wt { }; + wvstreams = callPackage ../development/libraries/wvstreams { }; wxGTK = wxGTK28; @@ -9983,6 +9987,8 @@ in go2nix = callPackage ../development/tools/go2nix { }; + leaps = callPackage ../development/tools/leaps { }; + ### DEVELOPMENT / LISP MODULES asdf = callPackage ../development/lisp-modules/asdf { diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index e8273f35cde..f287a35bdc4 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -489,6 +489,54 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { # }; # }; + GitVersionTree = buildDotnetPackage rec { + baseName = "GitVersionTree"; + version = "2013-10-01"; + + src = fetchFromGitHub { + owner = "crc8"; + repo = "GitVersionTree"; + rev = "58dc39c43cffea44f721ee4425835e56518f7da2"; + sha256 = "0mna5pkpqkdr5jgn8paz004h1pa24ncsvmi2c8s4gp94nfw34x05"; + }; + + buildInputs = with pkgs; [ ed ]; + + postPatch = '' + ed -v -p: -s GitVersionTree/Program.cs << EOF + /Main() + c + static void Main(string[] args) + . + /EnableVisualStyles + i + Reg.Write("GitPath", "${pkgs.gitMinimal}/bin/git"); + Reg.Write("GraphvizPath", "${pkgs.graphviz}/bin/dot"); + if (args.Length > 0) { + Reg.Write("GitRepositoryPath", args[0]); + } + . + w + EOF + + substituteInPlace GitVersionTree/Forms/MainForm.cs \ + --replace 'Directory.GetParent(Application.ExecutablePath)' 'Environment.CurrentDirectory' \ + --replace '\\' '/' \ + --replace '@"\"' '"/"' + ''; + + outputFiles = [ "GitVersionTree/bin/Release/*" ]; + exeFiles = [ "GitVersionTree.exe" ]; + + meta = with stdenv.lib; { + description = "A tool to help visualize git revisions and branches"; + homepage = https://github.com/crc8/GitVersionTree; + license = licenses.gpl2; + maintainers = with maintainers; [ obadz ]; + platforms = platforms.all; + }; + }; + MathNetNumerics = buildDotnetPackage rec { baseName = "MathNet.Numerics"; version = "3.7.0"; diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index ef616f37e0c..d2e3d2b866f 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -63,7 +63,7 @@ let inherit fetchurl lib stdenv texinfo; }; - emacsWrapper = import ../build-support/emacs/wrapper.nix { + emacsWithPackages = import ../build-support/emacs/wrapper.nix { inherit lib lndir makeWrapper stdenv runCommand; }; @@ -71,9 +71,7 @@ let inherit emacs melpaBuild trivialBuild; - emacsWrapper = emacsWrapper self; - - emacsWithPackages = packagesFun: emacsWrapper { inherit packagesFun; }; + emacsWithPackages = emacsWithPackages self; ## START HERE