diff --git a/doc/haskell-users-guide.xml b/doc/haskell-users-guide.xml index ca6c387e8df6..e3903ddd4113 100644 --- a/doc/haskell-users-guide.xml +++ b/doc/haskell-users-guide.xml @@ -136,6 +136,7 @@ haskell.compiler.ghc763 ghc-7.6.3 haskell.compiler.ghc784 ghc-7.8.4 haskell.compiler.ghc7101 ghc-7.10.1 haskell.compiler.ghcHEAD ghc-7.11.20150402 +haskell.compiler.ghcNokinds ghc-nokinds-7.11.20150704 haskell.compiler.ghcjs ghcjs-0.1.0 haskell.compiler.jhc jhc-0.8.2 haskell.compiler.uhc uhc-1.1.9.0 diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 80d6ff20f9b4..88c860110179 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -225,6 +225,7 @@ uwsgi = 201; gitit = 202; riemanntools = 203; + subsonic = 204; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -428,6 +429,7 @@ uwsgi = 201; gitit = 202; riemanntools = 203; + subsonic = 204; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index c1014bdff2e2..d580e269df96 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -218,6 +218,7 @@ ./services/misc/ripple-data-api.nix ./services/misc/rogue.nix ./services/misc/siproxd.nix + ./services/misc/subsonic.nix ./services/misc/svnserve.nix ./services/misc/synergy.nix ./services/misc/uhub.nix diff --git a/nixos/modules/services/hardware/udisks2.nix b/nixos/modules/services/hardware/udisks2.nix index f5b641c7378b..fd6d8886348e 100644 --- a/nixos/modules/services/hardware/udisks2.nix +++ b/nixos/modules/services/hardware/udisks2.nix @@ -46,7 +46,7 @@ with lib; serviceConfig = { Type = "dbus"; BusName = "org.freedesktop.UDisks2"; - ExecStart = "${pkgs.udisks2}/lib/udisks2/udisksd --no-debug"; + ExecStart = "${pkgs.udisks2}/libexec/udisks2/udisksd --no-debug"; }; }; }; diff --git a/nixos/modules/services/misc/subsonic.nix b/nixos/modules/services/misc/subsonic.nix new file mode 100644 index 000000000000..3e1a2e8fbb51 --- /dev/null +++ b/nixos/modules/services/misc/subsonic.nix @@ -0,0 +1,157 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.subsonic; + homeDir = "/var/subsonic"; + +in +{ + options = { + services.subsonic = { + enable = mkEnableOption "Subsonic daemon"; + + home = mkOption { + type = types.path; + default = "${homeDir}"; + description = '' + The directory where Subsonic will create files. + Make sure it is writable. + ''; + }; + + host = mkOption { + type = types.string; + default = "0.0.0.0"; + description = '' + The host name or IP address on which to bind Subsonic. + Only relevant if you have multiple network interfaces and want + to make Subsonic available on only one of them. The default value + will bind Subsonic to all available network interfaces. + ''; + }; + + port = mkOption { + type = types.int; + default = 4040; + description = '' + The port on which Subsonic will listen for + incoming HTTP traffic. Set to 0 to disable. + ''; + }; + + httpsPort = mkOption { + type = types.int; + default = 0; + description = '' + The port on which Subsonic will listen for + incoming HTTPS traffic. Set to 0 to disable. + ''; + }; + + contextPath = mkOption { + type = types.path; + default = "/"; + description = '' + The context path, i.e., the last part of the Subsonic + URL. Typically '/' or '/subsonic'. Default '/' + ''; + }; + + maxMemory = mkOption { + type = types.int; + default = 100; + description = '' + The memory limit (max Java heap size) in megabytes. + Default: 100 + ''; + }; + + defaultMusicFolder = mkOption { + type = types.path; + default = "/var/music"; + description = '' + Configure Subsonic to use this folder for music. This option + only has effect the first time Subsonic is started. + ''; + }; + + defaultPodcastFolder = mkOption { + type = types.path; + default = "/var/music/Podcast"; + description = '' + Configure Subsonic to use this folder for Podcasts. This option + only has effect the first time Subsonic is started. + ''; + }; + + defaultPlaylistFolder = mkOption { + type = types.path; + default = "/var/playlists"; + description = '' + Configure Subsonic to use this folder for playlists. This option + only has effect the first time Subsonic is started. + ''; + }; + + transcoders = mkOption { + type = types.listOf types.path; + default = [ "${pkgs.ffmpeg}/bin/ffmpeg" ]; + description = '' + List of paths to transcoder executables that should be accessible + from Subsonic. Symlinks will be created to each executable inside + ${cfg.home}/transcoders. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.subsonic = { + description = "Personal media streamer"; + after = [ "local-fs.target" "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = '' + ${pkgs.jre}/bin/java -Xmx${toString cfg.maxMemory}m \ + -Dsubsonic.home=${cfg.home} \ + -Dsubsonic.host=${cfg.host} \ + -Dsubsonic.port=${toString cfg.port} \ + -Dsubsonic.httpsPort=${toString cfg.httpsPort} \ + -Dsubsonic.contextPath=${cfg.contextPath} \ + -Dsubsonic.defaultMusicFolder=${cfg.defaultMusicFolder} \ + -Dsubsonic.defaultPodcastFolder=${cfg.defaultPodcastFolder} \ + -Dsubsonic.defaultPlaylistFolder=${cfg.defaultPlaylistFolder} \ + -Djava.awt.headless=true \ + -verbose:gc \ + -jar ${pkgs.subsonic}/subsonic-booter-jar-with-dependencies.jar + ''; + # Install transcoders. + ExecStartPre = '' + ${pkgs.coreutils}/bin/rm -rf ${cfg.home}/transcode ; \ + ${pkgs.coreutils}/bin/mkdir -p ${cfg.home}/transcode ; \ + ${pkgs.bash}/bin/bash -c ' \ + for exe in "$@"; do \ + ${pkgs.coreutils}/bin/ln -sf "$exe" ${cfg.home}/transcode; \ + done' IGNORED_FIRST_ARG ${toString cfg.transcoders} + ''; + # Needed for Subsonic to find subsonic.war. + WorkingDirectory = "${pkgs.subsonic}"; + Restart = "always"; + User = "subsonic"; + UMask = "0022"; + }; + }; + + users.extraUsers.subsonic = { + description = "Subsonic daemon user"; + home = homeDir; + createHome = true; + group = "subsonic"; + uid = config.ids.uids.subsonic; + }; + + users.extraGroups.subsonic.gid = config.ids.gids.subsonic; + }; +} diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix index bb31b24bf5ef..7ba523d3a602 100644 --- a/pkgs/applications/gis/saga/default.nix +++ b/pkgs/applications/gis/saga/default.nix @@ -2,15 +2,15 @@ libharu, opencv, vigra, postgresql }: stdenv.mkDerivation rec { - name = "saga-2.1.4"; + name = "saga-2.2.0"; buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ]; enableParallelBuilding = true; src = fetchurl { - url = "http://sourceforge.net/projects/saga-gis/files/SAGA%20-%202.1/SAGA%202.1.4/saga_2.1.4.tar.gz"; - sha256 = "694e4102f592f512c635328c40fdeff33493f74698d9466bb654baf3247e7b76"; + url = "http://sourceforge.net/projects/saga-gis/files/SAGA%20-%202.2/SAGA%202.2.0/saga_2.2.0.tar.gz"; + sha256 = "50b2e642331c817606bc954302e53757c4ffa6f6d6f468e12caeaaa7a182edaf"; }; meta = { diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix index 43d11f0a8ff6..ddaaa35da558 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix @@ -1,15 +1,15 @@ -{ fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr }: +{ fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr, python }: with stdenv.lib; stdenv.mkDerivation rec { - name = "bitlbee-3.4"; + name = "bitlbee-3.4.1"; src = fetchurl { url = "mirror://bitlbee/src/${name}.tar.gz"; - sha256 = "0plx4dryf8i6hz7vghg84z5f6w6rkw1l8ckl4c4wh5zxpd3ddfnf"; + sha256 = "1qf0ypa9ba5jvsnpg9slmaran16hcc5fnfzbb1sdch1hjhchn2jh"; }; - buildInputs = [ gnutls glib pkgconfig libotr ] + buildInputs = [ gnutls glib pkgconfig libotr python ] ++ optional doCheck check; configureFlags = [ @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { homepage = http://www.bitlbee.org/; license = licenses.gpl2Plus; - maintainers = with maintainers; [ wkennington ]; + maintainers = with maintainers; [ wkennington pSub ]; platforms = platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index 4304520383e0..7cbec61b5e2b 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - name = "notmuch-0.19"; + name = "notmuch-0.20.2"; passthru = { pythonSourceRoot = "${name}/bindings/python"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://notmuchmail.org/releases/${name}.tar.gz"; - sha256 = "1szf6c44g209pcjq5nvfhlp3nzcm3lrcwv4spsxmwy13hiaccvrr"; + sha256 = "1v5dcnlg4km5hfaq0i0qywq5fn66fi0rq4aaibyqkwxz8mis4hgp"; }; buildInputs = [ bash emacs glib gmime gnupg pkgconfig talloc xapian sphinx python ] diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 21836bd4fffb..b5029d3c1416 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -24,7 +24,13 @@ stdenv.mkDerivation rec { patchShebangs . ''; - doCheck = stdenv.system == "x86_64-linux"; + # Tests have been failing (at least for some people in some cases) + # and have been disabled until someone wants to fix them. Some + # initial digging uncovers that the tests call out to `git`, which + # they shouldn't, and then even once that's fixed have some + # perl-related errors later on. For more, see + # https://github.com/NixOS/nixpkgs/issues/7957 + doCheck = false; # stdenv.system == "x86_64-linux"; checkPhase = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' @@ -60,4 +66,3 @@ stdenv.mkDerivation rec { }; } - diff --git a/pkgs/development/compilers/ghc/nokinds.nix b/pkgs/development/compilers/ghc/nokinds.nix new file mode 100644 index 000000000000..1adb4207f059 --- /dev/null +++ b/pkgs/development/compilers/ghc/nokinds.nix @@ -0,0 +1,74 @@ +{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }: + +let + + buildMK = '' + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + DYNAMIC_BY_DEFAULT = NO + SRC_HC_OPTS = -H64m -O -fasm + GhcLibHcOpts = -O -dcore-lint + GhcStage1HcOpts = -Rghc-timing -O -fasm + GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG + SplitObjs = NO + HADDOCK_DOCS = NO + BUILD_DOCBOOK_HTML = NO + BUILD_DOCBOOK_PS = NO + BUILD_DOCBOOK_PDF = NO + LAX_DEPENDENCIES = YES + ${stdenv.lib.optionalString stdenv.isDarwin '' + libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" + libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" + ''} + ''; + +in + +stdenv.mkDerivation rec { + version = "7.11.20150703"; + name = "ghc-nokinds-${version}"; + rev = "887170ac254aaacc2d5e29f2565ac61522fd8f61"; + + src = fetchgit { + url = "https://github.com/goldfirere/ghc.git"; + inherit rev; + sha256 = "010x9ckig76sz97s2ss1j1sf70czqx1cn39nj4xbh49m8n2zvsqf"; + }; + + postUnpack = '' + pushd ghc-${builtins.substring 0 7 rev} + patchShebangs . + ./boot + popd + ''; + + buildInputs = [ ghc perl autoconf automake happy alex ]; + + preConfigure = '' + echo >mk/build.mk "${buildMK}" + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" + ''; + + configureFlags = [ + "--with-gcc=${stdenv.cc}/bin/cc" + "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" + ]; + + enableParallelBuilding = true; + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + + meta = { + homepage = "http://haskell.org/ghc"; + description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg"; + maintainers = with stdenv.lib.maintainers; [ ]; + inherit (ghc.meta) license platforms; + }; + +} diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix index 9e55d9f3ac2c..289c63f7bcf9 100644 --- a/pkgs/development/compilers/scala/default.nix +++ b/pkgs/development/compilers/scala/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, makeWrapper, jre }: stdenv.mkDerivation rec { - name = "scala-2.11.6"; + name = "scala-2.11.7"; src = fetchurl { url = "http://www.scala-lang.org/files/archive/${name}.tgz"; - sha256 = "10v58jm0wbb4v71sfi03gskd6n84jqn6nvd62x166104c3j4bfj1"; + sha256 = "1l16571fw5l339wd02w2pnr3556j804zpbsbymnad67f2dpikr7z"; }; buildInputs = [ jre makeWrapper ] ; diff --git a/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix b/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix new file mode 100644 index 000000000000..be78321b38a7 --- /dev/null +++ b/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix @@ -0,0 +1,104 @@ +{ pkgs }: + +with import ./lib.nix { inherit pkgs; }; + +self: super: { + + # Use the latest LLVM. + inherit (pkgs) llvmPackages; + + # Disable GHC 7.11.x core libraries. + array = null; + base = null; + binary = null; + bin-package-db = null; + bytestring = null; + Cabal = null; + containers = null; + deepseq = null; + directory = null; + filepath = null; + ghc-prim = null; + haskeline = null; + hoopl = null; + hpc = null; + integer-gmp = null; + pretty = null; + process = null; + rts = null; + template-haskell = null; + terminfo = null; + time = null; + transformers = null; + unix = null; + xhtml = null; + + # Don't use jailbreak built with Cabal 1.22.x because of https://github.com/peti/jailbreak-cabal/issues/9. + jailbreak-cabal = pkgs.haskell.packages.ghc784.jailbreak-cabal; + + # GHC 7.10.x's Haddock binary cannot generate hoogle files. + # https://ghc.haskell.org/trac/ghc/ticket/9921 + mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; doHaddock = false; }); + + # haddock: No input file(s). + nats = dontHaddock super.nats; + bytestring-builder = dontHaddock super.bytestring-builder; + + alex = dontCheck super.alex; + + # We have time 1.5 + aeson = disableCabalFlag super.aeson "old-locale"; + + # Show works differently for record syntax now, breaking haskell-src-exts' parser tests + # https://github.com/haskell-suite/haskell-src-exts/issues/224 + haskell-src-exts = dontCheck super.haskell-src-exts; + + mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch { + url = "https://github.com/snoyberg/mono-traversable/pull/77.patch"; + sha256 = "1qrvrh3cqfkymi5yb9y9z88rq4n7ag0ac2k00mcnqh4dz1vh4fg1"; + }); + yesod-auth = appendPatch super.yesod-auth (pkgs.fetchpatch { + url = "https://github.com/yesodweb/yesod/pull/1006.patch"; + sha256 = "0l6wjj8cfz6jy6j92kywsccafyffhlm5240q82bzirb278adqvar"; + stripLen = 1; + }); + + # Setup: At least the following dependencies are missing: base <4.8 + hspec-expectations = overrideCabal super.hspec-expectations (drv: { + patchPhase = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal"; + }); + utf8-string = overrideCabal super.utf8-string (drv: { + patchPhase = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal"; + }); + + # bos/attoparsec#92 + attoparsec = dontCheck super.attoparsec; + + # test suite hangs silently for at least 10 minutes + split = dontCheck super.split; + + # Test suite fails with some (seemingly harmless) error. + # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24 + syb = dontCheck super.syb; + + # Test suite has stricter version bounds + retry = dontCheck super.retry; + + # Test suite fails with time >= 1.5 + http-date = dontCheck super.http-date; + + # Version 1.19.5 fails its test suite. + happy = dontCheck super.happy; + + # Workaround for a workaround, see comment for "ghcjs" flag. + jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs"; + in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3 + self.webkitgtk3-javascriptcore ]; + + # The compat library is empty in the presence of mtl 2.2.x. + mtl-compat = dontHaddock super.mtl-compat; + + # Won't work with LLVM 3.5. + llvm-general = markBrokenVersion "3.4.5.3" super.llvm-general; + +} diff --git a/pkgs/development/interpreters/ruby/bundler.nix b/pkgs/development/interpreters/ruby/bundler.nix index 336d40544225..d5278bed885a 100644 --- a/pkgs/development/interpreters/ruby/bundler.nix +++ b/pkgs/development/interpreters/ruby/bundler.nix @@ -1,9 +1,9 @@ { buildRubyGem, makeWrapper, ruby, coreutils }: buildRubyGem { - name = "bundler-1.9.2"; + name = "bundler-1.10.5"; namePrefix = ""; - sha256 = "0ck9bnqg7miimggj1d6qlabrsa5h9yaw241fqn15cvqh915209zk"; + sha256 = "1zkxw6699bbmsamrij2lirscbh0j58p1p3bql22jsxvx34j6w5nc"; dontPatchShebangs = true; postInstall = '' find $out -type f -perm +0100 | while read f; do diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.6.nix b/pkgs/development/interpreters/ruby/ruby-2.1.6.nix new file mode 100644 index 000000000000..c9016a338af2 --- /dev/null +++ b/pkgs/development/interpreters/ruby/ruby-2.1.6.nix @@ -0,0 +1,122 @@ +{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub +, zlib, zlibSupport ? true +, openssl, opensslSupport ? true +, gdbm, gdbmSupport ? true +, ncurses, readline, cursesSupport ? true +, groff, docSupport ? false +, libyaml, yamlSupport ? true +, libffi, fiddleSupport ? true +, ruby_2_1_6, autoreconfHook, bison, useRailsExpress ? true +}: + +let + op = stdenv.lib.optional; + ops = stdenv.lib.optionals; + patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; }; + config = import ./config.nix fetchgit; + baseruby = ruby_2_1_6.override { useRailsExpress = false; }; +in + +stdenv.mkDerivation rec { + version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}"; + + name = "ruby-${version}"; + + src = if useRailsExpress then fetchFromGitHub { + owner = "ruby"; + repo = "ruby"; + rev = "v2_1_6"; + sha256 = "18kbjsbmgv6l3p1qxgmjnhh4jl7xdk3c20ycjpp62vrhq7pyzjsm"; + } else fetchurl { + url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz"; + sha256 = "1r4bs8lfwsypbcf8j2lpv3by40729vp5mh697njizj97fjp644qy"; + }; + + # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. + NROFF = "${groff}/bin/nroff"; + + buildInputs = ops useRailsExpress [ autoreconfHook bison ] + ++ (op fiddleSupport libffi) + ++ (ops cursesSupport [ ncurses readline ]) + ++ (op docSupport groff) + ++ (op zlibSupport zlib) + ++ (op opensslSupport openssl) + ++ (op gdbmSupport gdbm) + ++ (op yamlSupport libyaml) + # Looks like ruby fails to build on darwin without readline even if curses + # support is not enabled, so add readline to the build inputs if curses + # support is disabled (if it's enabled, we already have it) and we're + # running on darwin + ++ (op (!cursesSupport && stdenv.isDarwin) readline); + + enableParallelBuilding = true; + + # Fix a build failure on systems with nix store optimisation. + # (The build process attempted to copy file a overwriting file b, where a and + # b are hard-linked, which results in cp returning a non-zero exit code.) + # https://github.com/NixOS/nixpkgs/issues/4266 + postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"''; + + patches = ops useRailsExpress [ + "${patchSet}/patches/ruby/2.1.6/railsexpress/01-zero-broken-tests.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/02-improve-gc-stats.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/03-display-more-detailed-stack-trace.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/04-show-full-backtrace-on-stack-overflow.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/05-funny-falcon-stc-density.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/06-funny-falcon-stc-pool-allocation.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/07-aman-opt-aset-aref-str.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/08-funny-falcon-method-cache.patch" + "${patchSet}/patches/ruby/2.1.6/railsexpress/09-heap-dump-support.patch" + ]; + + # Ruby >= 2.1.0 tries to download config.{guess,sub} + postPatch = '' + rm tool/config_files.rb + cp ${config}/config.guess tool/ + cp ${config}/config.sub tool/ + ''; + + configureFlags = ["--enable-shared" ] + ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby" + # on darwin, we have /usr/include/tk.h -- so the configure script detects + # that tk is installed + ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]); + + installFlags = stdenv.lib.optionalString docSupport "install-doc"; + # Bundler tries to create this directory + postInstall = '' + # Bundler tries to create this directory + mkdir -pv $out/${passthru.gemPath} + mkdir -p $out/nix-support + cat > $out/nix-support/setup-hook < 3.16.14.0) ref - uglifier (2.5.0) + uglifier (2.7.0) execjs (>= 0.3.0) json (>= 1.8.0) diff --git a/pkgs/servers/consul/gemset.nix b/pkgs/servers/consul/gemset.nix index bf417f8c411c..e813fc9b3878 100644 --- a/pkgs/servers/consul/gemset.nix +++ b/pkgs/servers/consul/gemset.nix @@ -1,23 +1,23 @@ { execjs = { - version = "2.0.2"; + version = "2.3.0"; source = { type = "gem"; - sha256 = "167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs"; + sha256 = "097v02bhmzc70j7n0yyf8j0z5wms88zcmgpmggby4hnvqxf41y1h"; }; }; json = { - version = "1.8.1"; + version = "1.8.2"; source = { type = "gem"; - sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn"; + sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5"; }; }; libv8 = { - version = "3.16.14.3"; + version = "3.16.14.7"; source = { type = "gem"; - sha256 = "1arjjbmr9zxkyv6pdrihsz1p5cadzmx8308vgfvrhm380ccgridm"; + sha256 = "0dv5q5n5nf6b8h3fybwmsr3vkj70w4g1jpf6661j3hsv9vp0g4qq"; }; }; ref = { @@ -28,10 +28,10 @@ }; }; sass = { - version = "3.3.6"; + version = "3.4.11"; source = { type = "gem"; - sha256 = "0ra0kxx52cgyrq6db7a1vysk984ilshbx40bcf527k8b3fha6k5r"; + sha256 = "10dncnv7g5v8d1xpw2aaarxjjlm68f7nm02ns2kl8nf3yxi6wzdf"; }; }; therubyracer = { @@ -46,10 +46,10 @@ ]; }; uglifier = { - version = "2.5.0"; + version = "2.7.0"; source = { type = "gem"; - sha256 = "0b9kxgyg8cv3g1bp6casndfzfy71jd9xyjxwng0lj90vzqrgjp20"; + sha256 = "1x1mnakx086l83a3alj690c6n8kfmb4bk243a6m6yz99s15gbxfq"; }; dependencies = [ "execjs" diff --git a/pkgs/servers/misc/subsonic/default.nix b/pkgs/servers/misc/subsonic/default.nix new file mode 100644 index 000000000000..dad32139cbee --- /dev/null +++ b/pkgs/servers/misc/subsonic/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, jre }: + +let version = "5.2.1"; in + +stdenv.mkDerivation rec { + name = "subsonic-${version}"; + inherit version; + + src = fetchurl { + url = "mirror://sourceforge/subsonic/subsonic-${version}-standalone.tar.gz"; + sha256 = "523fa8357c961c1ae742a15f0ceaabdd41fcba9137c29d244957922af90ee791"; + }; + + inherit jre; + + # Create temporary directory to extract tarball into to satisfy Nix's need + # for a directory to be created in the unpack phase. + unpackPhase = '' + mkdir ${name} + tar -C ${name} -xzf $src + ''; + installPhase = '' + mkdir $out + cp -r ${name}/* $out + ''; + + meta = { + homepage = http://subsonic.org; + description = "Personal media streamer"; + license = stdenv.lib.licenses.gpl3; + }; + + phases = ["unpackPhase" "installPhase"]; +} diff --git a/pkgs/tools/filesystems/gitfs/default.nix b/pkgs/tools/filesystems/gitfs/default.nix new file mode 100644 index 000000000000..cd79f5db85b3 --- /dev/null +++ b/pkgs/tools/filesystems/gitfs/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, python, buildPythonPackage, pythonPackages }: + +buildPythonPackage rec { + name = "gitfs-0.2.5"; + + src = fetchFromGitHub { + owner = "PressLabs"; + repo = "gitfs"; + rev = "495c6c52ec3573294ba7b8426ed794eb466cbb82"; + sha256 = "04yh6b5ivbviqy5k2768ag75cd5kr8k70ar0d801yvc8hnijvphk"; + }; + + patchPhase = '' + # requirement checks are unnecessary at runtime + echo > requirements.txt + ''; + + propagatedBuildInputs = with pythonPackages; [ atomiclong fusepy pygit2 ]; + + meta = { + description = "A FUSE filesystem that fully integrates with git"; + longDescription = '' + A git remote repository's branch can be mounted locally, + and any subsequent changes made to the files will be + automatically committed to the remote. + ''; + homepage = https://github.com/PressLabs/gitfs; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.robbinch ]; + }; +} \ No newline at end of file diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix index cb1bf546bf60..a7fc4414f2c9 100644 --- a/pkgs/tools/networking/iftop/default.nix +++ b/pkgs/tools/networking/iftop/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { # Explicitly link against libgcc_s, to work around the infamous # "libgcc_s.so.1 must be installed for pthread_cancel to work". - LDFLAGS = "-lgcc_s"; + LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; preConfigure = '' cp ${automake}/share/automake*/config.{sub,guess} config @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; license = licenses.gpl2Plus; homepage = http://ex-parrot.com/pdw/iftop/; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.mornfall ]; }; } diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix index a5fdc2e26924..542baa95efe2 100644 --- a/pkgs/tools/security/gnupg/20.nix +++ b/pkgs/tools/security/gnupg/20.nix @@ -12,11 +12,11 @@ with stdenv.lib; assert x11Support -> pinentry != null; stdenv.mkDerivation rec { - name = "gnupg-2.0.27"; + name = "gnupg-2.0.28"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "1wihx7dphacg9fy5wfj93h236lr1w5gwzh7ir3js37wi9cz6sr2p"; + sha256 = "0k2k399fnhfhhr4dvm8d6vs4ihq6gg06191lzfwikzaqmgj2w2ff"; }; buildInputs diff --git a/pkgs/tools/security/sbsigntool/autoconf.patch b/pkgs/tools/security/sbsigntool/autoconf.patch new file mode 100644 index 000000000000..27f5b77c8848 --- /dev/null +++ b/pkgs/tools/security/sbsigntool/autoconf.patch @@ -0,0 +1,19 @@ +diff -uNr sbsigntool/configure.ac sbsigntool-new/configure.ac +--- sbsigntool/configure.ac 2015-07-05 12:18:18.932717136 +0200 ++++ sbsigntool-new/configure.ac 2015-07-05 14:51:39.659284938 +0200 +@@ -65,7 +65,7 @@ + + dnl gnu-efi headers require extra include dirs + EFI_ARCH=$(uname -m) +-EFI_CPPFLAGS="-I/usr/include/efi -I/usr/include/efi/$EFI_ARCH \ ++EFI_CPPFLAGS="-I@@NIX_GNUEFI@@/include/efi -I@@NIX_GNUEFI@@/include/efi/$EFI_ARCH \ + -DEFI_FUNCTION_WRAPPER" + CPPFLAGS_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $EFI_CPPFLAGS" +@@ -74,5 +74,5 @@ + AC_SUBST(EFI_CPPFLAGS, $EFI_CPPFLAGS) + + AC_CONFIG_FILES([Makefile src/Makefile lib/ccan/Makefile] +- [docs/Makefile tests/Makefile]) ++ [docs/Makefile]) + AC_OUTPUT diff --git a/pkgs/tools/security/sbsigntool/default.nix b/pkgs/tools/security/sbsigntool/default.nix new file mode 100644 index 000000000000..1571720a0b9b --- /dev/null +++ b/pkgs/tools/security/sbsigntool/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchgit, autoconf, automake, utillinux, openssl, libuuid, gnu-efi +, binutils, pkgconfig, help2man }: + +stdenv.mkDerivation rec { + name = "sbsigntool-${version}"; + version = "0.5"; + + src = fetchgit { + url = "git://kernel.ubuntu.com/jk/sbsigntool"; + rev = "951ee95a301674c046f55330cd7460e1314deff2"; + sha256 = "09k8by0qq8j7ff812l1l9z9frsx5c4cmhj5in3g1sgyz3v55nfy7"; + }; + + patches = [ ./autoconf.patch ]; + + buildInputs = [ autoconf automake utillinux openssl libuuid gnu-efi binutils pkgconfig help2man ]; + + configurePhase = '' + substituteInPlace configure.ac --replace "@@NIX_GNUEFI@@" "${gnu-efi}" + + lib/ccan.git/tools/create-ccan-tree --build-type=automake lib/ccan "talloc read_write_all build_assert array_size" + touch AUTHORS + touch ChangeLog + + echo "SUBDIRS = lib/ccan src docs" >> Makefile.am + + aclocal + autoheader + autoconf + automake --add-missing -Wno-portability + + ./configure --prefix=$out + ''; + + installPhase = '' + mkdir -p $out + make install + ''; + + meta = with stdenv.lib; { + description = "Tools for maintaining UEFI signature databases"; + homepage = http://jk.ozlabs.org/docs/sbkeysync-maintaing-uefi-key-databases; + maintainers = [ maintainers.tstrobel ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f4cc1e442dc..1d2e8e4fe379 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1580,6 +1580,8 @@ let git-hub = callPackage ../applications/version-management/git-and-tools/git-hub { }; + gitfs = callPackage ../tools/filesystems/gitfs { }; + gitlab = callPackage ../applications/version-management/gitlab { ruby = ruby_2_1_3; }; @@ -1724,6 +1726,8 @@ let zfsSupport = false; }; + sbsigntool = callPackage ../tools/security/sbsigntool { }; + gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { inherit (gnome) libglademm; }; @@ -3005,6 +3009,8 @@ let su = shadow.su; + subsonic = callPackage ../servers/misc/subsonic { }; + surfraw = callPackage ../tools/networking/surfraw { }; swec = callPackage ../tools/networking/swec { @@ -5026,14 +5032,15 @@ let ruby_2_1_1 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.1.nix { }); ruby_2_1_2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { }); ruby_2_1_3 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.3.nix { }); + ruby_2_1_6 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.6.nix { }); ruby_2_2_0 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.2.0.nix { }); # Ruby aliases - ruby = ruby_1_9; + ruby = ruby_2_1; ruby_1_8 = ruby_1_8_7; ruby_1_9 = ruby_1_9_3; ruby_2_0 = ruby_2_0_0; - ruby_2_1 = ruby_2_1_3; + ruby_2_1 = ruby_2_1_6; ruby_2_2 = ruby_2_2_0; rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) { @@ -10861,7 +10868,7 @@ let djview4 = pkgs.djview; dmenu = callPackage ../applications/misc/dmenu { - enableXft = config.dmenu.enableXft or false; + enableXft = true; }; dmenu2 = callPackage ../applications/misc/dmenu2 { }; @@ -13495,6 +13502,8 @@ let njam = callPackage ../games/njam { }; + newtonwars = callPackage ../games/newtonwars { }; + oilrush = callPackage ../games/oilrush { }; openra = callPackage ../games/openra { lua = lua5_1; }; diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index c2f06ee920c9..c8b1b0bd7c8a 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -851,6 +851,17 @@ let self = _self // overrides; meta = { license = gpl3Plus; }; }; + multiple-cursors = melpaBuild rec { + pname = "multiple-cursors"; + version = "20150627"; + src = fetchFromGitHub { + owner = "magnars"; + repo = "multiple-cursors.el"; + rev = "9b53e892e6167f930763a3c5aedf8773110a8ae9"; + sha256 = "0wcrdb137a9aq6dynlqbvypb6m2dj48m899xwy7ilnf2arrmipid"; + }; + }; + nyan-mode = callPackage ../applications/editors/emacs-modes/nyan-mode {}; org-plus-contrib = melpaBuild rec { diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 8ffa3ce8ebf9..5e3c6d6f0e05 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -40,6 +40,9 @@ rec { ghcHEAD = callPackage ../development/compilers/ghc/head.nix ({ inherit (packages.ghc784) ghc alex happy; } // stdenv.lib.optionalAttrs stdenv.isDarwin { libiconv = pkgs.darwin.libiconv; }); + ghcNokinds = callPackage ../development/compilers/ghc/nokinds.nix ({ inherit (packages.ghc784) ghc alex happy; } // stdenv.lib.optionalAttrs stdenv.isDarwin { + libiconv = pkgs.darwin.libiconv; + }); ghcjs = packages.ghc7101.callPackage ../development/compilers/ghcjs { ghc = compiler.ghc7101; @@ -95,6 +98,10 @@ rec { ghc = compiler.ghcHEAD; packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { }; }; + ghcNokinds = callPackage ../development/haskell-modules { + ghc = compiler.ghcNokinds; + packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-nokinds.nix { }; + }; ghcjs = callPackage ../development/haskell-modules { ghc = compiler.ghcjs; packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a8738ed6b30a..ad135e34a4d1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13574,6 +13574,31 @@ let }; }); + vultr = buildPythonPackage rec { + version = "0.1.2"; + name = "vultr-${version}"; + + src = pkgs.fetchFromGitHub { + owner = "spry-group"; + repo = "python-vultr"; + rev = "${version}"; + sha256 = "1qjvvr2v9gfnwskdl0ayazpcmiyw9zlgnijnhgq9mcri5gq9jw5h"; + }; + + propagatedBuildInputs = with self; [ requests2 ]; + + # Tests disabled. They fail because they try to access the network + doCheck = false; + + meta = { + description = "Vultr.com API Client"; + homepage = "https://github.com/spry-group/python-vultr"; + license = licenses.mit; + maintainers = with maintainers; [ lihop ]; + platforms = platforms.all; + }; + }; + waitress = buildPythonPackage rec { name = "waitress-0.8.9";