diff options
19 files changed, 379 insertions, 206 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3c8c936d93a..c5ab50ba5e3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3278,6 +3278,11 @@ github = "michelk"; name = "Michel Kuhlmann"; }; + michojel = { + email = "mic.liamg@gmail.com"; + github = "michojel"; + name = "Michal Minář"; + }; mickours = { email = "mickours@gmail.com<"; github = "mickours"; diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix index 4738bfba14a..34bb8c9f55a 100644 --- a/pkgs/applications/gis/saga/default.nix +++ b/pkgs/applications/gis/saga/default.nix @@ -3,7 +3,7 @@ unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }: stdenv.mkDerivation rec { - name = "saga-6.3.0"; + name = "saga-7.2.0"; # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs # for why the have additional buildInputs on darwin @@ -14,13 +14,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - patches = [ ./finite-6.3.0.patch]; - CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing"; src = fetchurl { - url = "mirror://sourceforge/project/saga-gis/SAGA%20-%206/SAGA%20-%206.3.0/saga-6.3.0.tar.gz"; - sha256 = "0hyjim8fcp3mna1hig22nnn4ki3j6b7096am2amcs99sdr09jjxv"; + url = "mirror://sourceforge/project/saga-gis/SAGA%20-%207/SAGA%20-%207.2.0/saga-7.2.0.tar.gz"; + sha256 = "10gjc5mc5kwg2c2la22hgwx6s5q60z9xxffjpjw0zrlhksijl5an"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/gis/saga/finite-6.3.0.patch b/pkgs/applications/gis/saga/finite-6.3.0.patch deleted file mode 100644 index 91c9543edfd..00000000000 --- a/pkgs/applications/gis/saga/finite-6.3.0.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/src/tools/imagery/imagery_maxent/me.cpp b/src/tools/imagery/imagery_maxent/me.cpp -index c5da854..d3e9cff 100755 ---- a/src/tools/imagery/imagery_maxent/me.cpp -+++ b/src/tools/imagery/imagery_maxent/me.cpp -@@ -21,7 +21,7 @@ - #ifdef _SAGA_MSW - #define isinf(x) (!_finite(x)) - #else --#define isinf(x) (!finite(x)) -+#define isinf(x) (!isfinite(x)) - #endif - - /** The input array contains a set of log probabilities lp1, lp2, lp3 -@@ -47,7 +47,7 @@ double sumLogProb(vector<double>& logprobs) - /** returns log (e^logprob1 + e^logprob2). */ - double sumLogProb(double logprob1, double logprob2) - { -- if (isinf(logprob1) && isinf(logprob2)) -+ if (isinf(logprob1) && isinf(logprob2)) - return logprob1; // both prob1 and prob2 are 0, return log 0. - if (logprob1>logprob2) - return logprob1+log(1+exp(logprob2-logprob1)); -@@ -70,8 +70,8 @@ void MaxEntModel::print(ostream& ostrm, MaxEntTrainer& trainer) - for (FtMap::iterator it = _index.begin(); it!=_index.end(); it++) { - unsigned long i = it->second; - for (unsigned long c = 0; c<_classes; c++) { -- ostrm << "lambda(" << trainer.className(c) << ", " -- << trainer.getStr(it->first) << ")=" -+ ostrm << "lambda(" << trainer.className(c) << ", " -+ << trainer.getStr(it->first) << ")=" - << _lambda[i+c] << endl; - } - } -@@ -86,7 +86,7 @@ int MaxEntModel::getProbs(MaxEntEvent& event, vector<double>& probs) - double s = 0; - for (unsigned int f = 0; f<event.size(); f++) { - FtMap::iterator it = _index.find(event[f]); -- if (it!=_index.end()) -+ if (it!=_index.end()) - s += _lambda[it->second+c]; - } - probs[c] = s; -@@ -142,10 +142,10 @@ double MaxEntModel::getObsCounts(EventSet& events, vector<double>& obsCounts) - double ftSum = 0; - for (unsigned long j=0; j<e.size(); j++) { - FtMap::iterator it = _index.find(e[j]); -- if (it!=_index.end()) -+ if (it!=_index.end()) - obsCounts[it->second+c] += count; - else { // new feature, need to expand obsCounts and _lambda -- for (unsigned int k = 0; k<_classes; k++) -+ for (unsigned int k = 0; k<_classes; k++) - obsCounts.push_back(0); - obsCounts[_lambda.size()+c] += count; - addFeature(e[j]); diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix new file mode 100644 index 00000000000..b3e73986417 --- /dev/null +++ b/pkgs/applications/misc/megasync/default.nix @@ -0,0 +1,125 @@ +{ stdenv +, autoconf +, automake +, c-ares +, cryptopp +, curl +, doxygen +, fetchFromGitHub +, ffmpeg +, hicolor-icon-theme +, libmediainfo +, libraw +, libsodium +, libtool +, libuv +, libzen +, lsb-release +, pkgconfig +, qt5 +, sqlite +, swig +, unzip +, wget +}: + +stdenv.mkDerivation rec { + name = "megasync-${version}"; + version = "4.1.1.0"; + + src = fetchFromGitHub { + owner = "meganz"; + repo = "MEGAsync"; + rev = "v${version}_Linux"; + sha256 = "0lc228q3s9xp78dxjn22g6anqlsy1hi7a6yfs4q3l6gyfc3qcxl2"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + autoconf + automake + doxygen + lsb-release + pkgconfig + qt5.qmake + qt5.qttools + swig + ]; + buildInputs = [ + c-ares + cryptopp + curl + ffmpeg + hicolor-icon-theme + libmediainfo + libraw + libsodium + libtool + libuv + libzen + qt5.qtbase + qt5.qtsvg + sqlite + unzip + wget + ]; + + patches = [ + # Distro and version targets attempt to use lsb_release which is broken + # (see issue: https://github.com/NixOS/nixpkgs/issues/22729) + ./noinstall-distro-version.patch + # megasync target is not part of the install rule thanks to a commented block + ./install-megasync.patch + ]; + + postPatch = '' + for file in $(find src/ -type f \( -iname configure -o -iname \*.sh \) ); do + substituteInPlace "$file" --replace "/bin/bash" "${stdenv.shell}" + done + ''; + + dontUseQmakeConfigure = true; + enableParallelBuilding = true; + + preConfigure = '' + cd src/MEGASync/mega + ./autogen.sh + ''; + + configureFlags = [ + "--disable-examples" + "--disable-java" + "--disable-php" + "--enable-chat" + "--with-cares" + "--with-cryptopp" + "--with-curl" + "--with-ffmpeg" + "--without-freeimage" # unreferenced even when found + "--without-readline" + "--without-termcap" + "--with-sodium" + "--with-sqlite" + "--with-zlib" + ]; + + postConfigure = '' + cd ../.. + ''; + + preBuild = '' + qmake CONFIG+="release" MEGA.pro + pushd MEGASync + lrelease MEGASync.pro + DESKTOP_DESTDIR="$out" qmake PREFIX="$out" -o Makefile MEGASync.pro CONFIG+=release + popd + ''; + + meta = with stdenv.lib; { + description = "Easy automated syncing between your computers and your MEGA Cloud Drive"; + homepage = https://mega.nz/; + license = licenses.unfree; + platforms = [ "i686-linux" "x86_64-linux" ]; + maintainers = [ maintainers.michojel ]; + }; +} diff --git a/pkgs/applications/misc/megasync/install-megasync.patch b/pkgs/applications/misc/megasync/install-megasync.patch new file mode 100644 index 00000000000..7d8748528e7 --- /dev/null +++ b/pkgs/applications/misc/megasync/install-megasync.patch @@ -0,0 +1,21 @@ +Index: source/src/MEGASync/MEGASync.pro +=================================================================== +--- source.orig/src/MEGASync/MEGASync.pro ++++ source/src/MEGASync/MEGASync.pro +@@ -28,11 +28,11 @@ unix:!macx { + TARGET = megasync + + # Uncomment the following if "make install" doesn't copy megasync in /usr/bin directory +-# isEmpty(PREFIX) { +-# PREFIX = /usr +-# } +-# target.path = $$PREFIX/bin +-# INSTALLS += target ++ isEmpty(PREFIX) { ++ PREFIX = /usr ++ } ++ target.path = $$PREFIX/bin ++ INSTALLS += target + } + else { + TARGET = MEGAsync diff --git a/pkgs/applications/misc/megasync/noinstall-distro-version.patch b/pkgs/applications/misc/megasync/noinstall-distro-version.patch new file mode 100644 index 00000000000..bbf100737bc --- /dev/null +++ b/pkgs/applications/misc/megasync/noinstall-distro-version.patch @@ -0,0 +1,13 @@ +Index: source/src/MEGASync/platform/platform.pri +=================================================================== +--- source.orig/src/MEGASync/platform/platform.pri ++++ source/src/MEGASync/platform/platform.pri +@@ -37,7 +37,7 @@ unix:!macx { + system(command -v lsb_release): version.commands = lsb_release -rs > $$version.target + version.files = $$version.target + +- INSTALLS += distro version ++ # INSTALLS += distro version + + QT += dbus + SOURCES += $$PWD/linux/LinuxPlatform.cpp \ diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix index 84ea02f7cb3..db488c2f670 100644 --- a/pkgs/applications/networking/instant-messengers/rambox/default.nix +++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -1,6 +1,5 @@ { stdenv, newScope, makeWrapper -, wrapGAppsHook, gnome3, glib -, electron_3, xdg_utils, makeDesktopItem +, electron, xdg_utils, makeDesktopItem , auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU" , auth0Domain ? "nixpkgs.auth0.com" }: @@ -28,9 +27,8 @@ with self; stdenv.mkDerivation { name = "rambox-${rambox-bare.version}"; - nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; + nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ glib gnome3.gsettings_desktop_schemas ]; unpackPhase = ":"; dontWrapGApps = true; # we only want $gappsWrapperArgs here @@ -43,9 +41,8 @@ stdenv.mkDerivation { ''; postFixup = '' - makeWrapper ${electron_3}/bin/electron $out/bin/rambox \ + makeWrapper ${electron}/bin/electron $out/bin/rambox \ --add-flags "${rambox-bare} --without-update" \ - "''${gappsWrapperArgs[@]}" \ --prefix PATH : ${xdg_utils}/bin ''; diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index 1e0f8656ef0..2e823fe1f0f 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -1,11 +1,11 @@ { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper -, gmp, openssl, readline, tzdata, libxml2, libyaml +, coreutils, git, gmp, nettools, openssl, readline, tzdata, libxml2, libyaml , boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib }: # We need multiple binaries as a given binary isn't always able to build -# (even slightly) older or newer version. +# (even slightly) older or newer versions. # - 0.26.1 can build 0.25.x and 0.26.x but not 0.27.x -# - 0.27.2 can build 0.27.x but not 0.25.x and 0.26.x +# - 0.27.2 can build 0.27.x but not 0.25.x, 0.26.x and 0.29.x # # We need to keep around at least the latest version released with a stable # NixOS @@ -19,7 +19,7 @@ let arch = archs."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); - checkInputs = [ gmp openssl readline libxml2 libyaml tzdata ]; + checkInputs = [ git gmp openssl readline libxml2 libyaml ]; genericBinary = { version, sha256s, rel ? 1 }: stdenv.mkDerivation rec { @@ -38,8 +38,8 @@ let generic = { version, sha256, binary, doCheck ? true }: stdenv.mkDerivation rec { - inherit doCheck; - name = "crystal-${version}"; + pname = "crystal"; + inherit doCheck version; src = fetchFromGitHub { owner = "crystal-lang"; @@ -48,14 +48,30 @@ let inherit sha256; }; + # we are almost able to run the full test suite now postPatch = '' + substituteInPlace src/crystal/system/unix/time.cr \ + --replace /usr/share/zoneinfo ${tzdata}/share/zoneinfo + ln -s spec/compiler spec/std + + substituteInPlace spec/std/file_spec.cr \ + --replace '/bin/ls' '${coreutils}/bin/ls' \ + --replace '/usr/share' '/tmp/test' + substituteInPlace spec/std/process_spec.cr \ - --replace /bin/ /run/current-system/sw/bin/ + --replace '/bin/cat' '${coreutils}/bin/cat' \ + --replace '/bin/ls' '${coreutils}/bin/ls' \ + --replace '/usr/bin/env' '${coreutils}/bin/env' \ + --replace '"env"' '"${coreutils}/bin/env"' \ + --replace '"/usr"' '"/tmp"' + + substituteInPlace spec/std/system_spec.cr \ + --replace '`hostname`' '`${nettools}/bin/hostname`' ''; buildInputs = [ - boehmgc libatomic_ops pcre libevent + boehmgc libatomic_ops pcre libevent libyaml llvm zlib openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv @@ -111,7 +127,11 @@ let checkTarget = "spec"; preCheck = '' + export HOME=/tmp + mkdir -p $HOME/test + export LIBRARY_PATH=${lib.makeLibraryPath checkInputs}:$LIBRARY_PATH + export PATH=${lib.makeBinPath checkInputs}:$PATH ''; meta = with lib; { @@ -142,6 +162,15 @@ in rec { }; }; + binaryCrystal_0_29 = genericBinary { + version = "0.29.0"; + sha256s = { + "x86_64-linux" = "1wrk29sfx35akg7hxwpdiikvl18wd40gq1kwirw7x522hnq7vlna"; + "i686-linux" = "1nx0piis2k3nn7kqiijqazzbvlaavhgvsln0l3dxmpfa4i4dz5h2"; + "x86_64-darwin" = "1fd0fbyf05abivnp3igjlrm2axf65n2wdmg4aq6nqj60ipc01rvd"; + }; + }; + crystal_0_25 = generic { version = "0.25.1"; sha256 = "15xmbkalsdk9qpc6wfpkly3sifgw6a4ai5jzlv78dh3jp7glmgyl"; @@ -163,5 +192,12 @@ in rec { binary = binaryCrystal_0_27; }; - crystal = crystal_0_27; + crystal_0_29 = generic { + version = "0.29.0"; + sha256 = "0v9l253b2x8yw6a43vvalywpwciwr094l3g5wakmndfrzak2s3zr"; + doCheck = false; # 6 checks are failing now + binary = binaryCrystal_0_29; + }; + + crystal = crystal_0_29; } diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix index 02d5adb0c34..00345179131 100644 --- a/pkgs/development/tools/build-managers/shards/default.nix +++ b/pkgs/development/tools/build-managers/shards/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "shards-${version}"; - version = "0.8.1"; + version = "0.9.0"; src = fetchFromGitHub { owner = "crystal-lang"; repo = "shards"; rev = "v${version}"; - sha256 = "1cjn2lafr08yiqzlhyqx14jjjxf1y24i2kk046px07gljpnlgqwk"; + sha256 = "19q0xww4v0h5ln9gz8d8zv0c9ig761ik7gw8y31yxynzgzihwpf4"; }; buildInputs = [ crystal libyaml pcre which ]; diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index b6f7d0b072b..fca9bc866fa 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -1,4 +1,4 @@ -{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, libuuid, at-spi2-atk }: +{ stdenv, libXScrnSaver, makeWrapper, fetchurl, wrapGAppsHook, gtk3, unzip, atomEnv, libuuid, at-spi2-atk }: let version = "4.1.5"; @@ -35,7 +35,15 @@ let }; }.${stdenv.hostPlatform.system} or throwSystem; - buildInputs = [ unzip makeWrapper ]; + buildInputs = [ gtk3 ]; + + nativeBuildInputs = [ + unzip + makeWrapper + wrapGAppsHook + ]; + + dontWrapGApps = true; # electron is in lib, we need to wrap it manually buildCommand = '' mkdir -p $out/lib/electron $out/bin @@ -50,7 +58,8 @@ let $out/lib/electron/electron wrapProgram $out/lib/electron/electron \ - --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 + --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 \ + "''${gappsWrapperArgs[@]}" ''; }; diff --git a/pkgs/development/tools/scry/default.nix b/pkgs/development/tools/scry/default.nix index 03e7c64f549..05f7805a55a 100644 --- a/pkgs/development/tools/scry/default.nix +++ b/pkgs/development/tools/scry/default.nix @@ -1,9 +1,8 @@ -{ stdenv, fetchFromGitHub, crystal, shards, which }: +{ stdenv, lib, fetchFromGitHub, crystal, shards, llvm, which }: stdenv.mkDerivation rec { pname = "scry"; - # 0.7.1 doesn't work with crystal > 0.25 - version = "0.7.1.20180919"; + version = "0.8.0"; src = fetchFromGitHub { owner = "crystal-lang-tools"; @@ -12,7 +11,9 @@ stdenv.mkDerivation rec { sha256 = "1yq7jap3y5pr2yqc6fn6bxshzwv7dz3w97incq7wpcvi7ibb4lcn"; }; - nativeBuildInputs = [ crystal shards which ]; + patches = lib.optional (lib.versionAtLeast crystal.version "0.28") ./fix_for_crystal_0_28_and_above.patch; + + nativeBuildInputs = [ crystal shards llvm which ]; buildPhase = '' runHook preBuild diff --git a/pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch b/pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch new file mode 100644 index 00000000000..909b790b81a --- /dev/null +++ b/pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch @@ -0,0 +1,20 @@ +diff --git a/src/scry/completion_provider.cr b/src/scry/completion_provider.cr +index 29e0d36..f67438c 100644 +--- a/src/scry/completion_provider.cr ++++ b/src/scry/completion_provider.cr +@@ -1,4 +1,5 @@ + require "./log" ++require "compiler/crystal/codegen/target" + require "compiler/crystal/crystal_path" + require "./completion/*" + +diff --git a/src/scry/parse_analyzer.cr b/src/scry/parse_analyzer.cr +index d87eca4..bbe9ed5 100644 +--- a/src/scry/parse_analyzer.cr ++++ b/src/scry/parse_analyzer.cr +@@ -1,4 +1,5 @@ + require "compiler/crystal/syntax" ++require "compiler/crystal/codegen/target" + require "compiler/crystal/crystal_path" + require "./workspace" + require "./text_document" diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix index 5d7883c1894..9fc260e7406 100644 --- a/pkgs/games/freeciv/default.nix +++ b/pkgs/games/freeciv/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchurl, zlib, bzip2, pkgconfig, curl, lzma, gettext, libiconv +{ stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkgconfig, python +, zlib, bzip2, curl, lzma, gettext, libiconv , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth -, gtkClient ? false, gtk2 +, gtkClient ? false, gtk3 +, qtClient ? false, qt5 , server ? true, readline , enableSqlite ? true, sqlite }: @@ -8,31 +10,42 @@ let inherit (stdenv.lib) optional optionals; - name = "freeciv"; +in stdenv.mkDerivation rec { + pname = "freeciv"; version = "2.6.0"; -in -stdenv.mkDerivation { - name = "${name}-${version}"; - inherit version; - - src = fetchurl { - url = "mirror://sourceforge/freeciv/${name}-${version}.tar.bz2"; - sha256 = "16f9wsnn7073s6chzbm3819swd0iw019p9nrzr3diiynk28kj83w"; + + src = fetchFromGitHub { + owner = "freeciv"; + repo = "freeciv"; + rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}"; + sha256 = "1b3q5k9wpv7z24svz01ybw8d8wlzkkdr6ia5hgp6cxk6vq67n67s"; }; - nativeBuildInputs = [ pkgconfig ]; + postPatch = '' + for f in {common,utility}/*.py; do + substituteInPlace $f \ + --replace '/usr/bin/env python' ${python.interpreter} + done + ''; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ zlib bzip2 curl lzma gettext libiconv ] + buildInputs = [ lua5_3 zlib bzip2 curl lzma gettext libiconv ] ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype fluidsynth ] - ++ optionals gtkClient [ gtk2 ] + ++ optionals gtkClient [ gtk3 ] + ++ optionals qtClient [ qt5.qtbase ] ++ optional server readline ++ optional enableSqlite sqlite; configureFlags = [ "--enable-shared" ] ++ optional sdlClient "--enable-client=sdl" + ++ optionals qtClient [ + "--enable-client=qt" + "--with-qt5-includes=${qt5.qtbase.dev}/include" + ] ++ optional enableSqlite "--enable-fcdb=sqlite3" ++ optional (!gtkClient) "--enable-fcmp=cli" - ++ optional (!server) "--disable-server"; + ++ optional (!server) "--disable-server"; enableParallelBuilding = true; @@ -46,11 +59,11 @@ stdenv.mkDerivation { to the space age... ''; - homepage = http://freeciv.wikia.com/; + homepage = http://www.freeciv.org; # http only license = licenses.gpl2; maintainers = with maintainers; [ pierron ]; platforms = platforms.unix; - hydraPlatforms = stdenv.lib.platforms.linux; # sdl-config times out on darwin + hydraPlatforms = platforms.linux; # sdl-config times out on darwin }; } diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp-93.nix b/pkgs/os-specific/linux/kernel/linux-mptcp-93.nix deleted file mode 100644 index 8be59fbea90..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-mptcp-93.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args: - -buildLinux (rec { - mptcpVersion = "0.93"; - modDirVersion = "4.9.60"; - version = "${modDirVersion}-mptcp_v${mptcpVersion}"; - - extraMeta = { - branch = "4.4"; - maintainers = with stdenv.lib.maintainers; [ teto layus ]; - }; - - src = fetchFromGitHub { - owner = "multipath-tcp"; - repo = "mptcp"; - rev = "v${mptcpVersion}"; - sha256 = "1irlppzvcmckrazs2c4vg6y8ji31552izc3wqabf401v57jvxcys"; - }; - - extraConfig = '' - IPV6 y - MPTCP y - IP_MULTIPLE_TABLES y - - # Enable advanced path-managers... - MPTCP_PM_ADVANCED y - MPTCP_FULLMESH y - MPTCP_NDIFFPORTS y - # ... but use none by default. - # The default is safer if source policy routing is not setup. - DEFAULT_DUMMY y - DEFAULT_MPTCP_PM default - - # MPTCP scheduler selection. - # Disabled as the only non-default is the useless round-robin. - MPTCP_SCHED_ADVANCED n - DEFAULT_MPTCP_SCHED default - - # Smarter TCP congestion controllers - TCP_CONG_LIA m - TCP_CONG_OLIA m - TCP_CONG_WVEGAS m - TCP_CONG_BALIA m - - '' + (args.extraConfig or ""); -} // args) - diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix b/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix new file mode 100644 index 00000000000..e53c3ceb5c4 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix @@ -0,0 +1,26 @@ +{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args: +let + mptcpVersion = "0.94.6"; + modDirVersion = "4.14.127"; +in +buildLinux ({ + version = "${modDirVersion}-mptcp_v${mptcpVersion}"; + inherit modDirVersion; + + extraMeta = { + branch = "4.4"; + maintainers = with stdenv.lib.maintainers; [ teto layus ]; + }; + + src = fetchFromGitHub { + owner = "multipath-tcp"; + repo = "mptcp"; + rev = "v${mptcpVersion}"; + sha256 = "071cx9205wpzhi5gc2da79w2abs3czd60jg0xml7j1szc5wl4yfn"; + }; + + structuredExtraConfig = stdenv.lib.mkMerge [ + (import ./mptcp-config.nix { inherit stdenv; }) + structuredExtraConfig + ]; +} // args) diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp-95.nix b/pkgs/os-specific/linux/kernel/linux-mptcp-95.nix new file mode 100644 index 00000000000..ad933ff63a7 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-mptcp-95.nix @@ -0,0 +1,27 @@ +{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args: +let + mptcpVersion = "0.95"; + modDirVersion = "4.19.55"; +in +buildLinux ({ + version = "${modDirVersion}-mptcp_v${mptcpVersion}"; + inherit modDirVersion; + + extraMeta = { + branch = "4.19"; + maintainers = with stdenv.lib.maintainers; [ teto layus ]; + }; + + src = fetchFromGitHub { + owner = "multipath-tcp"; + repo = "mptcp"; + rev = "v${mptcpVersion}"; + sha256 = "04a66iq5vsiz8mkpszfxmqknz7y4w3lsckrcz6q1syjpk0pdyiyw"; + }; + + structuredExtraConfig = stdenv.lib.mkMerge [ + (import ./mptcp-config.nix { inherit stdenv; }) + structuredExtraConfig + ]; + +} // args) diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix deleted file mode 100644 index 44499f39cc1..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args: -let - mptcpVersion = "0.94.4"; - modDirVersion = "4.14.110"; -in -buildLinux ({ - version = "${modDirVersion}-mptcp_v${mptcpVersion}"; - inherit modDirVersion; - - extraMeta = { - branch = "4.4"; - maintainers = with stdenv.lib.maintainers; [ teto layus ]; - }; - - src = fetchFromGitHub { - owner = "multipath-tcp"; - repo = "mptcp"; - rev = "v${mptcpVersion}"; - sha256 = "1ng6p1djhm3m5g44yyq7gpqqbzsnhm9rimsafp5g4dx8cm27a70f"; - }; - - structuredExtraConfig = with import ../../../../lib/kernel.nix { inherit (stdenv) lib; version = null; }; - stdenv.lib.mkMerge [ { - IPV6 = yes; - MPTCP = yes; - IP_MULTIPLE_TABLES = yes; - - # Enable advanced path-managers... - MPTCP_PM_ADVANCED = yes; - MPTCP_FULLMESH = yes; - MPTCP_NDIFFPORTS = yes; - # ... but use none by default. - # The default is safer if source policy routing is not setup. - DEFAULT_DUMMY = yes; - DEFAULT_MPTCP_PM.freeform = "default"; - - # MPTCP scheduler selection. - MPTCP_SCHED_ADVANCED = yes; - DEFAULT_MPTCP_SCHED.freeform = "default"; - - # Smarter TCP congestion controllers - TCP_CONG_LIA = module; - TCP_CONG_OLIA = module; - TCP_CONG_WVEGAS = module; - TCP_CONG_BALIA = module; - } - structuredExtraConfig - ]; -} // args) diff --git a/pkgs/os-specific/linux/kernel/mptcp-config.nix b/pkgs/os-specific/linux/kernel/mptcp-config.nix new file mode 100644 index 00000000000..e5e3ee283ff --- /dev/null +++ b/pkgs/os-specific/linux/kernel/mptcp-config.nix @@ -0,0 +1,28 @@ +{ stdenv }: +with import ../../../../lib/kernel.nix { inherit (stdenv) lib; version = null; }; +{ + # DRM_AMDGPU = yes; + + IPV6 = yes; + MPTCP = yes; + IP_MULTIPLE_TABLES = yes; + + # Enable advanced path-managers... + MPTCP_PM_ADVANCED = yes; + MPTCP_FULLMESH = yes; + MPTCP_NDIFFPORTS = yes; + # ... but use none by default. + # The default is safer if source policy routing is not setup. + DEFAULT_DUMMY = yes; + DEFAULT_MPTCP_PM.freeform = "default"; + + # MPTCP scheduler selection. + MPTCP_SCHED_ADVANCED = yes; + DEFAULT_MPTCP_SCHED.freeform = "default"; + + # Smarter TCP congestion controllers + TCP_CONG_LIA = module; + TCP_CONG_OLIA = module; + TCP_CONG_WVEGAS = module; + TCP_CONG_BALIA = module; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 764a9408147..787dde9acfb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1695,6 +1695,8 @@ in massren = callPackage ../tools/misc/massren { }; + megasync = callPackage ../applications/misc/megasync { }; + meritous = callPackage ../games/meritous { }; opendune = callPackage ../games/opendune { }; @@ -7192,6 +7194,8 @@ in }) crystal_0_25 crystal_0_26 + crystal_0_27 + crystal_0_29 crystal; icr = callPackage ../development/tools/icr {}; @@ -15292,8 +15296,9 @@ in klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { }); - linux_mptcp = linux_mptcp_94; - linux_mptcp_94 = callPackage ../os-specific/linux/kernel/linux-mptcp.nix { + linux_mptcp = linux_mptcp_95; + + linux_mptcp_94 = callPackage ../os-specific/linux/kernel/linux-mptcp-94.nix { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.cpu-cgroup-v2."4.11" @@ -15306,13 +15311,8 @@ in ]; }; - linux_mptcp_93 = callPackage ../os-specific/linux/kernel/linux-mptcp-93.nix { - kernelPatches = - [ kernelPatches.bridge_stp_helper - kernelPatches.p9_fixes - kernelPatches.cpu-cgroup-v2."4.9" - kernelPatches.modinst_arg_list_too_long - ]; + linux_mptcp_95 = callPackage ../os-specific/linux/kernel/linux-mptcp-95.nix { + kernelPatches = linux_4_19.kernelPatches; }; linux_rpi = callPackage ../os-specific/linux/kernel/linux-rpi.nix { @@ -21545,6 +21545,11 @@ in sdlClient = false; }; + freeciv_qt = freeciv.override { + qtClient = true; + sdlClient = false; + }; + freedink = callPackage ../games/freedink { }; freeorion = callPackage ../games/freeorion { }; |