diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml index b648691183b87..673ff92d2c8a0 100644 --- a/doc/reviewing-contributions.xml +++ b/doc/reviewing-contributions.xml @@ -6,18 +6,22 @@ Reviewing contributions - The following section is a draft and reviewing policy is still being - discussed. + The following section is a draft, and the policy for reviewing is still being + discussed in issues such as #11166 + and #20836 + . - The nixpkgs projects receives a fairly high number of contributions via + The nixpkgs project receives a fairly high number of contributions via GitHub pull-requests. Reviewing and approving these is an important task and a way to contribute to the project. - The high change rate of nixpkgs make any pull request that is open for long - enough subject to conflicts that will require extra work from the submitter + The high change rate of nixpkgs makes any pull request that remains open for + too long subject to conflicts that will require extra work from the submitter or the merger. Reviewing pull requests in a timely manner and being responsive to the comments is the key to avoid these. GitHub provides sort filters that can be used to see the @@ -33,34 +37,34 @@ When reviewing a pull request, please always be nice and polite. Controversial changes can lead to controversial opinions, but it is important - to respect every community members and their work. + to respect every community member and their work. - GitHub provides reactions, they are a simple and quick way to provide + GitHub provides reactions as a simple and quick way to provide feedback to pull-requests or any comments. The thumb-down reaction should be - used with care and if possible accompanied with some explanations so the - submitter has directions to improve his contribution. + used with care and if possible accompanied with some explanation so the + submitter has directions to improve their contribution. - Pull-requests reviews should include a list of what has been reviewed in a + Pull-request reviews should include a list of what has been reviewed in a comment, so other reviewers and mergers can know the state of the review. All the review template samples provided in this section are generic and meant as examples. Their usage is optional and the reviewer is free to adapt - them to his liking. + them to their liking.
Package updates A package update is the most trivial and common type of pull-request. These - pull-requests mainly consist in updating the version part of the package + pull-requests mainly consist of updating the version part of the package name and the source hash. - It can happen that non trivial updates include patches or more complex + It can happen that non-trivial updates include patches or more complex changes. @@ -84,12 +88,12 @@ - Ensure that the package versioning is fitting the guidelines. + Ensure that the package versioning fits the guidelines. - Ensure that the commit text is fitting the guidelines. + Ensure that the commit text fits the guidelines. @@ -99,7 +103,7 @@ - mention-bot usually notify GitHub users based on the submitted changes, + mention-bot usually notifies GitHub users based on the submitted changes, but it can happen that it misses some of the package maintainers. @@ -107,13 +111,13 @@ - Ensure that the meta field contains correct information. + Ensure that the meta field information is correct. - License can change with version updates, so it should be checked to be - fitting upstream license. + License can change with version updates, so it should be checked to match + the upstream license. @@ -137,9 +141,9 @@ - Pull-requests are often targeted to the master or staging branch so - building the pull-request locally as it is submitted can trigger a large - amount of source builds. + Pull-requests are often targeted to the master or staging branch, and + building the pull-request locally when it is submitted can trigger + many source builds. It is possible to rebase the changes on nixos-unstable or diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 2e497ff9f2c49..42da658572219 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -385,8 +385,9 @@ in }; default = mkOption { - default = 0; - type = types.int; + default = "0"; + type = types.either types.int types.str; + apply = toString; description = '' Index of the default menu item to be booted. ''; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 872261d0edfa8..d1ff6e6bf5256 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -54,7 +54,7 @@ sub runCommand { my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); -my $defaultEntry = int(get("default")); +my $defaultEntry = get("default"); my $fsIdentifier = get("fsIdentifier"); my $grubEfi = get("grubEfi"); my $grubTargetEfi = get("grubTargetEfi"); diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 7eb9e7aa00165..0d01a6313585c 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -17,6 +17,12 @@ stdenv.mkDerivation rec { sha256 = "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6"; }; + # Inkscape hits the ARGMAX when linking on macOS. It appears to be + # CMake’s ARGMAX check doesn’t offer enough padding for NIX_LDFLAGS. + # Setting strictDeps it avoids duplicating some dependencies so it + # will leave us under ARGMAX. + strictDeps = true; + unpackPhase = '' cp $src ${name}.tar.bz2 tar xvjf ${name}.tar.bz2 > /dev/null @@ -33,19 +39,19 @@ stdenv.mkDerivation rec { --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"' ''; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env ]; buildInputs = [ perl perlXMLParser libXft libpng zlib popt boehmgc libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext - makeWrapper gsl poppler imagemagick libwpg librevenge - libvisio libcdr libexif potrace cmake python2Env + gsl poppler imagemagick libwpg librevenge + libvisio libcdr libexif potrace ]; enableParallelBuilding = true; postInstall = '' # Make sure PyXML modules can be found at run-time. - rm "$out/share/icons/hicolor/icon-theme.cache" + rm -f "$out/share/icons/hicolor/icon-theme.cache" '' + stdenv.lib.optionalString stdenv.isDarwin '' install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix index eb9a638386124..7940079d09948 100644 --- a/pkgs/applications/graphics/tesseract/default.nix +++ b/pkgs/applications/graphics/tesseract/default.nix @@ -1,10 +1,38 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig , leptonica, libpng, libtiff, icu, pango, opencl-headers - # Supported list of languages or `null' for all available languages , enableLanguages ? null +# if you want just a specific list of languages, optionally specify a hash +# to make tessdata a fixed output derivation. +, enableLanguagesHash ? (if enableLanguages == null # all languages + then "1h48xfzabhn0ldbx5ib67cp9607pr0zpblsy8z6fs4knn0zznfnw" + else null) }: +let tessdata = stdenv.mkDerivation ({ + name = "tessdata"; + src = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tessdata"; + rev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; + # when updating don't forget to update the default value fo enableLanguagesHash + sha256 = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7"; + }; + buildCommand = '' + cd $src; + for lang in ${if enableLanguages==null then "*.traineddata" else stdenv.lib.concatMapStringsSep " " (x: x+".traineddata") enableLanguages} ; do + install -Dt $out/share/tessdata $src/$lang ; + done; + ''; + preferLocalBuild = true; + } // (stdenv.lib.optionalAttrs (enableLanguagesHash != null) { + # when a hash is given, we make this a fixed output derivation. + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = enableLanguagesHash; + })); +in + stdenv.mkDerivation rec { name = "tesseract-${version}"; version = "3.05.00"; @@ -16,41 +44,17 @@ stdenv.mkDerivation rec { sha256 = "11wrpcfl118wxsv2c3w2scznwb48c4547qml42s2bpdz079g8y30"; }; - tessdata = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tessdata"; - rev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; - sha256 = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7"; - }; + enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; LIBLEPT_HEADERSDIR = "${leptonica}/include"; - # Copy the .traineddata files of the languages specified in enableLanguages - # into `$out/share/tessdata' and check afterwards if copying was successful. - postInstall = let - mkArg = lang: "-iname ${stdenv.lib.escapeShellArg "${lang}.traineddata"}"; - mkFindArgs = stdenv.lib.concatMapStringsSep " -o " mkArg; - findLangArgs = if enableLanguages != null - then "\\( ${mkFindArgs enableLanguages} \\)" - else "-iname '*.traineddata'"; - in '' - numLangs="$(find "$tessdata" -mindepth 1 -maxdepth 1 -type f \ - ${findLangArgs} -exec cp -t "$out/share/tessdata" {} + -print | wc -l)" - - ${if enableLanguages != null then '' - expected=${toString (builtins.length enableLanguages)} - '' else '' - expected="$(ls -1 "$tessdata/"*.traineddata | wc -l)" - ''} - - if [ "$numLangs" -ne "$expected" ]; then - echo "Expected $expected languages, but $numLangs" \ - "were copied to \`$out/share/tessdata'" >&2 - exit 1 - fi + postInstall = '' + for i in ${tessdata}/share/tessdata/*; do + ln -s $i $out/share/tessdata; + done ''; meta = { diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix index e06242f7a0240..48818ca3b8b11 100644 --- a/pkgs/applications/misc/vym/default.nix +++ b/pkgs/applications/misc/vym/default.nix @@ -1,18 +1,18 @@ -{ stdenv, fetchurl, pkgconfig, qt4, qmake4Hook }: +{ stdenv, fetchurl, pkgconfig, qmake, qtsvg }: stdenv.mkDerivation rec { name = "vym-${version}"; - version = "2.2.4"; + version = "2.6.11"; src = fetchurl { - url = "mirror://sourceforge/project/vym/${version}/${name}.tar.bz2"; - sha256 = "1x4qp6wpszscbbs4czkfvskm7qjglvxm813nqv281bpy4y1hhvgs"; + url = "mirror://sourceforge/project/vym/2.6.0/${name}.tar.bz2"; + sha256 = "1yznlb47jahd662a2blgh1ccwpl5dp5rjz9chsxjzhj3vbkzx3nl"; }; hardeningDisable = [ "format" ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ qt4 qmake4Hook ]; + nativeBuildInputs = [ pkgconfig qmake ]; + buildInputs = [ qtsvg ]; meta = with stdenv.lib; { description = "A mind-mapping software"; diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 7803a530a92aa..dbfd475341646 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -22,7 +22,6 @@ # package customization , enableNaCl ? false -, enableHotwording ? false , enableWideVine ? false , gnomeSupport ? false, gnome ? null , gnomeKeyringSupport ? false, libgnome-keyring3 ? null @@ -215,11 +214,8 @@ let proprietary_codecs = false; use_sysroot = false; use_gnome_keyring = gnomeKeyringSupport; - ## FIXME remove use_gconf after chromium 65 has become stable - use_gconf = gnomeSupport; use_gio = gnomeSupport; enable_nacl = enableNaCl; - enable_hotwording = enableHotwording; enable_widevine = enableWideVine; use_cups = cupsSupport; @@ -259,7 +255,10 @@ let libExecPath="${libExecPath}" python build/linux/unbundle/replace_gn_files.py \ --system-libraries ${toString gnSystemLibraries} - gn gen --args=${escapeShellArg gnFlags} out/Release + gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt + + # Fail if `gn gen` contains a WARNING. + grep -o WARNING gn-gen-outputs.txt && echo "Found gn WARNING, exiting nix build" && exit 1 runHook postConfigure ''; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 1458a1816569e..d2bb04251705f 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -4,7 +4,6 @@ # package customization , channel ? "stable" , enableNaCl ? false -, enableHotwording ? false , gnomeSupport ? false, gnome ? null , gnomeKeyringSupport ? false , proprietaryCodecs ? true @@ -22,7 +21,7 @@ let upstream-info = (callPackage ./update.nix {}).getChannel channel; mkChromiumDerivation = callPackage ./common.nix { - inherit enableNaCl enableHotwording gnomeSupport gnome + inherit enableNaCl gnomeSupport gnome gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport enableWideVine; }; diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix index 822080df10b9e..9111fa59c2931 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix @@ -3,11 +3,11 @@ let configFile = writeText "riot-config.json" conf; in stdenv.mkDerivation rec { name= "riot-web-${version}"; - version = "0.15.4"; + version = "0.15.5"; src = fetchurl { url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; - sha256 = "1c0b9717xmzvzzxj006hqxafvcpvnnrsifxjnbxxla58jmnwr9v5"; + sha256 = "04sij99njkiiwc1q23gwa8z6h4z0riw6yb9z3ds7v2qiyi4sshdz"; }; installPhase = '' diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix index 762c6222b58e0..571a48951477c 100644 --- a/pkgs/applications/networking/mailreaders/balsa/default.nix +++ b/pkgs/applications/networking/mailreaders/balsa/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "balsa-${version}"; - version = "2.5.5"; + version = "2.5.6"; src = fetchurl { url = "https://pawsa.fedorapeople.org/balsa/${name}.tar.bz2"; - sha256 = "0p4w81wvdxqhynkninzglsgqk6920x1zif2zmw8bml410lav2azz"; + sha256 = "17k6wcsl8gki7cskr3hhmfj6n54rha8ca3b6fzd8blsl5shsankx"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/deepin/deepin-terminal/default.nix b/pkgs/desktops/deepin/deepin-terminal/default.nix index 8e64fa6980582..a72bae4384a95 100644 --- a/pkgs/desktops/deepin/deepin-terminal/default.nix +++ b/pkgs/desktops/deepin/deepin-terminal/default.nix @@ -1,32 +1,31 @@ -{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, gtk3, vala, cmake, vte, libgee, wnck, zssh, gettext, librsvg, libsecret, json-glib, gobjectIntrospection }: +{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, gtk3, vala, cmake, ninja, vte, libgee, wnck, zssh, gettext, librsvg, libsecret, json-glib, gobjectIntrospection }: stdenv.mkDerivation rec { name = "deepin-terminal-${version}"; - version = "2.9.2"; + version = "3.0.0"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = "deepin-terminal"; rev = version; - sha256 = "1pmg1acs44c30hz9rpr6x1l6lyvlylc2pz5lv4ai0rhv37n51yn2"; + sha256 = "11f2yc0fj05lwhgvdrbrs8xsdm7qgp6wb5wd1f9iyc5nxn7ccl1r"; }; patches = [ # Do not build vendored zssh and vte (fetchurl { name = "remove-vendor.patch"; - url = https://git.archlinux.org/svntogit/community.git/plain/trunk/remove-vendor.patch?h=packages/deepin-terminal&id=5baa756e8e6ac8ce43fb122fce270756cc55086c; - sha256 = "0zrq004malphpy7xv5z502bpq30ybyj1rr4hlq4k5m4fpk29dlw6"; + url = https://git.archlinux.org/svntogit/community.git/plain/trunk/remove-vendor.patch?h=packages/deepin-terminal&id=de701614c19c273b98b60fd6790795ff7d8a157e; + sha256 = "0g7hhvr7ay9g0cgc6qqvzhbcwvbzvrrilbn8w46ypfzj7w5hlkqv"; }) ]; postPatch = '' - substituteInPlace project_path.c --replace __FILE__ \"$out/share/deepin-terminal/\" substituteInPlace ssh_login.sh --replace /usr/lib/deepin-terminal/zssh "${zssh}/bin/zssh" ''; nativeBuildInputs = [ - pkgconfig vala cmake gettext + pkgconfig vala cmake ninja gettext # For setup hook gobjectIntrospection ]; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 204c183ca355f..eb55be69188d5 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1069,3 +1069,14 @@ self: super: { in { inherit amazonka amazonka-core amazonka-test; }) + +// + +# The actual Cabal library gets built while building its `Setup.hs`. +(let + inherit (pkgs.lib) filterAttrs flip mapAttrs hasPrefix; + cabals = filterAttrs (n: v: hasPrefix "Cabal_" n) super; + fixCabal = n: v: addSetupDepends v [ self.mtl self.parsec ]; +in + mapAttrs fixCabal cabals +) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 1cc3858645850..7f3ddc48103bb 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -166,14 +166,8 @@ let "--configure-option=--host=${hostPlatform.config}" ] ++ crossCabalFlags); - useSeparateSetupDb = setupHaskellDepends != [] || isCross || isGhcjs; - setupCompileFlags = [ - (optionalString (!coreSetup) "-${nativePackageDbFlag}=${ - if useSeparateSetupDb - then "$setupPackageConfDir" - else "$packageConfDir" - }") + (optionalString (!coreSetup) "-${nativePackageDbFlag}=$setupPackageConfDir") (optionalString (isGhcjs || isHaLVM || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES") # https://github.com/haskell/cabal/issues/2398 (optionalString (versionOlder "7.10" ghc.version && !isHaLVM) "-threaded") @@ -270,10 +264,8 @@ stdenv.mkDerivation ({ echo "Build with ${ghc}." ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"} - '' + (optionalString useSeparateSetupDb '' setupPackageConfDir="$TMPDIR/setup-package.conf.d" mkdir -p $setupPackageConfDir - '') + '' packageConfDir="$TMPDIR/package.conf.d" mkdir -p $packageConfDir @@ -284,14 +276,13 @@ stdenv.mkDerivation ({ # dependencies for the build machine. # # pkgs* arrays defined in stdenv/setup.hs - + (optionalString useSeparateSetupDb '' + + '' for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do ${buildPkgDb nativeGhc.name "$setupPackageConfDir"} done ${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache - '') - - # For normal components + '' + # For normal components + '' for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do ${buildPkgDb ghc.name "$packageConfDir"} diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index 03f0a1dd0a3e1..7fda1d84e55be 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -38,7 +38,7 @@ let ghcCommand' = if isGhcjs then "ghcjs" else "ghc"; ghcCommand = "${ghc.targetPrefix}${ghcCommand'}"; ghcCommandCaps= lib.toUpper ghcCommand'; - libDir = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" else "$out/lib/${ghcCommand}-${ghc.version}"; + libDir = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" else if isGhcjs then "$out/libexec" else "$out/lib/${ghcCommand}-${ghc.version}"; docDir = "$out/share/doc/ghc/html"; packageCfgDir = "${libDir}/package.conf.d"; paths = lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages); diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix index 2f60fb7391fba..3793b70de4b50 100644 --- a/pkgs/development/libraries/c-blosc/default.nix +++ b/pkgs/development/libraries/c-blosc/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "c-blosc-${version}"; - version = "1.11.3"; + version = "1.14.3"; src = fetchFromGitHub { owner = "Blosc"; repo = "c-blosc"; rev = "v${version}"; - sha256 = "18665lwszwbb48pxgisyxxjh92sr764hv6h7jw8zzsmzdkgzrmcw"; + sha256 = "051x2hh0yq1zhiyjmiarvc2radi59v03vzs2sa4hmgfhfaxcklld"; }; buildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix index 0c5d5e22e6961..3e69bbde75a2d 100644 --- a/pkgs/development/libraries/pkcs11helper/default.nix +++ b/pkgs/development/libraries/pkcs11helper/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pkcs11-helper-${version}"; - version = "1.23"; + version = "1.24"; src = fetchFromGitHub { owner = "OpenSC"; repo = "pkcs11-helper"; rev = "${name}"; - sha256 = "1m3fp3v6c903cs36bvvg0h65p1sdamsmzy13ww0zyvplcycarz0n"; + sha256 = "07ij6i76abf6bdhczsq1wkln3q0y0wkfbsi882vj3gl2wvxh0d1i"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix index bddda1dff552a..cd981f8947aa9 100644 --- a/pkgs/development/libraries/range-v3/default.nix +++ b/pkgs/development/libraries/range-v3/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "range-v3-${version}"; - version = "0.3.5"; + version = "0.3.6"; src = fetchFromGitHub { owner = "ericniebler"; repo = "range-v3"; rev = version; - sha256 = "00bwm7n3wyf49xpr7zjhm08dzwx3lwibgafi6isvfls3dhk1m4kp"; + sha256 = "050h9pa57kd57l73njxpjb331snybddl29x2vpy5ycygvqiw8kcp"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/misc/emulators/mgba/default.nix index 755e2a2d72ba3..7fb804d31e415 100644 --- a/pkgs/misc/emulators/mgba/default.nix +++ b/pkgs/misc/emulators/mgba/default.nix @@ -1,7 +1,19 @@ -{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, cmake, libzip, epoxy, ffmpeg -, imagemagick, SDL2, qtbase, qtmultimedia, qttools, libedit, minizip }: +{ stdenv, fetchFromGitHub, fetchpatch, makeDesktopItem, makeWrapper, pkgconfig +, cmake, epoxy, libzip, ffmpeg, imagemagick, SDL2, qtbase, qtmultimedia, libedit +, qttools, minizip }: -stdenv.mkDerivation rec { +let + desktopItem = makeDesktopItem { + name = "mgba"; + exec = "mgba-qt"; + icon = "mgba"; + comment = "A Game Boy Advance Emulator"; + desktopName = "mgba"; + genericName = "Game Boy Advance Emulator"; + categories = "Game;Emulator;"; + startupNotify = "false"; + }; +in stdenv.mkDerivation rec { name = "mgba-${version}"; version = "0.6.3"; @@ -13,7 +25,7 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig cmake ]; + nativeBuildInputs = [ makeWrapper pkgconfig cmake ]; buildInputs = [ libzip epoxy ffmpeg imagemagick SDL2 qtbase qtmultimedia libedit minizip @@ -25,6 +37,12 @@ stdenv.mkDerivation rec { sha256 = "0j334v8wf594kg8s1hngmh58wv1pi003z8avy6fjhj5qpjmbbavh"; })]; + postInstall = '' + cp -r ${desktopItem}/share/applications $out/share + wrapProgram $out/bin/mgba-qt --suffix QT_PLUGIN_PATH : \ + ${qtbase.bin}/${qtbase.qtPluginPrefix} + ''; + meta = with stdenv.lib; { homepage = https://mgba.io; description = "A modern GBA emulator with a focus on accuracy"; diff --git a/pkgs/misc/emulators/snes9x-gtk/default.nix b/pkgs/misc/emulators/snes9x-gtk/default.nix index e76271306296a..09e3fb913243f 100644 --- a/pkgs/misc/emulators/snes9x-gtk/default.nix +++ b/pkgs/misc/emulators/snes9x-gtk/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, intltool, pkgconfig, SDL2, zlib -, gtk3, libxml2, libXv, epoxy, minizip, portaudio }: +{ stdenv, fetchFromGitHub, autoreconfHook, wrapGAppsHook, intltool, pkgconfig +, SDL2, zlib, gtk3, libxml2, libXv, epoxy, minizip, portaudio }: stdenv.mkDerivation rec { name = "snes9x-gtk-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook intltool pkgconfig ]; + nativeBuildInputs = [ autoreconfHook wrapGAppsHook intltool pkgconfig ]; buildInputs = [ SDL2 zlib gtk3 libxml2 libXv epoxy minizip portaudio ]; preAutoreconf = '' @@ -21,11 +21,9 @@ stdenv.mkDerivation rec { intltoolize ''; - installPhase = "install -Dt $out/bin snes9x-gtk"; - meta = with stdenv.lib; { homepage = "http://www.snes9x.com"; - description = "A portable, freeware Super Nintendo Entertainment System (SNES) emulator"; + description = "Super Nintendo Entertainment System (SNES) emulator"; longDescription = '' Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix index d39cadf41993d..73ae6801bc2b3 100644 --- a/pkgs/os-specific/linux/dmraid/default.nix +++ b/pkgs/os-specific/linux/dmraid/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, devicemapper }: +{ stdenv, fetchurl, fetchpatch, devicemapper }: stdenv.mkDerivation rec { name = "dmraid-1.0.0.rc16"; @@ -8,10 +8,20 @@ stdenv.mkDerivation rec { sha256 = "0m92971gyqp61darxbiri6a48jz3wq3gkp8r2k39320z0i6w8jgq"; }; - patches = [ ./hardening-format.patch ]; + patches = [ ./hardening-format.patch ] + ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ + (fetchpatch { + url = "https://raw.githubusercontent.com/void-linux/void-packages/fceed4b8e96b3c1da07babf6f67b6ed1588a28b2/srcpkgs/dmraid/patches/006-musl-libc.patch"; + sha256 = "1j8xda0fpz8lxjxnqdidy7qb866qrzwpbca56yjdg6vf4x21hx6w"; + stripLen = 2; + extraPrefix = "1.0.0.rc16/"; + }) + ]; postPatch = '' sed -i 's/\[\[[^]]*\]\]/[ "''$''${n##*.}" = "so" ]/' */lib/Makefile.in + '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE" ''; preConfigure = "cd */"; diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix index 07489b6272880..4980a6fb2bfd8 100644 --- a/pkgs/servers/nosql/redis/default.nix +++ b/pkgs/servers/nosql/redis/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, lua }: stdenv.mkDerivation rec { - version = "4.0.9"; + version = "4.0.10"; name = "redis-${version}"; src = fetchurl { url = "http://download.redis.io/releases/${name}.tar.gz"; - sha256 = "0465bv6yxnwmas3wzg07vmrprv2pxhnr56hn5pxrybwf66y76kyz"; + sha256 = "194cydhv3hf4v95ifvjvsqrs4jn3ffrkg5lvxj5d3y04lwsp9dhx"; }; buildInputs = [ lua ]; diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix index 0e4d23ffd5cfb..20f39f40a240d 100644 --- a/pkgs/shells/xonsh/default.nix +++ b/pkgs/shells/xonsh/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { name = "xonsh-${version}"; - version = "0.6.6"; + version = "0.6.7"; src = fetchFromGitHub { owner = "scopatz"; repo = "xonsh"; rev = version; - sha256= "09w7656qhqv3al52cl5lgzawvkbkpwjfnxyg0vyx0gbjs1hwiqjj"; + sha256= "0vxdfq1wpajfypdl5lhvib50mk742dk8y375zf3h057hjb0khhgw"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix index d1dfe7afbf84c..da63cb58a55fd 100644 --- a/pkgs/tools/graphics/vips/default.nix +++ b/pkgs/tools/graphics/vips/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "vips-${version}"; - version = "8.6.3"; + version = "8.6.4"; src = fetchurl { url = "https://github.com/jcupitt/libvips/releases/download/v${version}/${name}.tar.gz"; - sha256 = "14h9w61gaimldmqaym0zhf9fkxjj1pkd5lhglhs6pxphynwxnnpq"; + sha256 = "1x4ai997yfl4155r4k3m5fa5hj3030c4abi5g49kfarbr60a0ca6"; }; buildInputs = diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix index 11759cc6d408d..3089d6cace90c 100644 --- a/pkgs/tools/misc/lf/default.nix +++ b/pkgs/tools/misc/lf/default.nix @@ -38,7 +38,7 @@ buildGoPackage rec { ''; homepage = https://godoc.org/github.com/gokcehan/lf; license = licenses.mit; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ primeos ]; }; } diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix index c1d00dba2b469..c7d1531869864 100644 --- a/pkgs/tools/networking/offlineimap/default.nix +++ b/pkgs/tools/networking/offlineimap/default.nix @@ -2,7 +2,7 @@ asciidoc, libxml2, libxslt, docbook_xml_xslt }: pythonPackages.buildPythonApplication rec { - version = "7.2.0"; + version = "7.2.1"; name = "offlineimap-${version}"; namePrefix = ""; @@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec { owner = "OfflineIMAP"; repo = "offlineimap"; rev = "v${version}"; - sha256 = "0xyvqgy36n0bb41c4ffldyrcnaja5gpwx2ngbnk3qs22ldb2n1sb"; + sha256 = "1m5i74baazwazqp98ssma968rnwzfl1nywb7icf0swc8447ps97q"; }; postPatch = '' diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix index 43aa44809ed89..bc8b1a5e0cdf3 100644 --- a/pkgs/tools/networking/zerotierone/default.nix +++ b/pkgs/tools/networking/zerotierone/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, openssl, lzo, zlib, iproute, which, ronn }: stdenv.mkDerivation rec { - version = "1.2.8"; + version = "1.2.10"; name = "zerotierone-${version}"; src = fetchurl { url = "https://github.com/zerotier/ZeroTierOne/archive/${version}.tar.gz"; - sha256 = "0iwaaicf3wa1xi20k2w18q01d0dlmf5w9akf227bcsqdalsdzqh8"; + sha256 = "0mqckh51xj79z468n2683liczqracip36jvhfyd0fr3pwrbyqy8w"; }; preConfigure = '' diff --git a/pkgs/tools/package-management/nix-pin/default.nix b/pkgs/tools/package-management/nix-pin/default.nix index 8934295370509..10afb1d909768 100644 --- a/pkgs/tools/package-management/nix-pin/default.nix +++ b/pkgs/tools/package-management/nix-pin/default.nix @@ -1,12 +1,12 @@ { lib, pkgs, stdenv, fetchFromGitHub, mypy, python3, nix, git, makeWrapper }: let self = stdenv.mkDerivation rec { name = "nix-pin-${version}"; - version = "0.3.1"; + version = "0.3.4"; src = fetchFromGitHub { owner = "timbertson"; repo = "nix-pin"; - rev = "version-0.3.1"; - sha256 = "1sldbrz33wz30d3vv3d2clyqyd6x1y6h6xjz1xv55fa97ig1h481"; + rev = "version-0.3.4"; + sha256 = "03wdxai3hpv2v9jp7r91x8y36ryz6v1cczmx3d26g1bf0ij5svb8"; }; buildInputs = [ python3 mypy makeWrapper ]; checkPhase = '' diff --git a/pkgs/tools/security/asc-key-to-qr-code-gif/default.nix b/pkgs/tools/security/asc-key-to-qr-code-gif/default.nix new file mode 100644 index 0000000000000..e04b41557482b --- /dev/null +++ b/pkgs/tools/security/asc-key-to-qr-code-gif/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, imagemagick, libqrencode +, testQR ? false, zbar ? null +}: + +assert testQR -> zbar != false; + +stdenv.mkDerivation rec { + name = "asc-key-to-qr-code-gif-${version}"; + version = "20180613"; + + src = fetchFromGitHub { + owner = "yishilin14"; + repo = "asc-key-to-qr-code-gif"; + rev = "5b7b239a0089a5269444cbe8a651c99dd43dce3f"; + sha256 = "0yrc302a2fhbzryb10718ky4fymfcps3lk67ivis1qab5kbp6z8r"; + }; + + buildInputs = [ imagemagick libqrencode ] ++ stdenv.lib.optional testQR zbar; + dontBuild = true; + dontStrip = true; + dontPatchELF = true; + + preInstall = '' + substituteInPlace asc-to-gif.sh \ + --replace "convert" "${imagemagick}/bin/convert" \ + --replace "qrencode" "${libqrencode}/bin/qrencode" + ''; + + installPhase = '' + mkdir -p $out/bin + cp * $out/bin/ + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/yishilin14/asc-key-to-qr-code-gif; + description = "Convert ASCII-armored PGP keys to animated QR code"; + platforms = platforms.linux; + maintainers = with maintainers; [ asymmetric ]; + }; +} diff --git a/pkgs/tools/system/uptimed/default.nix b/pkgs/tools/system/uptimed/default.nix index 58e194d38b949..849baa7159ae0 100644 --- a/pkgs/tools/system/uptimed/default.nix +++ b/pkgs/tools/system/uptimed/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "uptimed-${version}"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { - sha256 = "0h3192angfiv01bjk3f3nd2fmjic37cl72pvmr556n0wy3cfybas"; + sha256 = "0hqs7n3agayckwdgwadzw5shpdh4h1inqgvp4zr5fi324pj5x80j"; rev = "v${version}"; repo = "uptimed"; owner = "rpodgorny"; diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix index f3f0a60b48023..8ce2a6b0aa3c9 100644 --- a/pkgs/tools/typesetting/tectonic/default.nix +++ b/pkgs/tools/typesetting/tectonic/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { name = "tectonic-${version}"; - version = "0.1.7"; + version = "0.1.8"; src = fetchFromGitHub { owner = "tectonic-typesetting"; repo = "tectonic"; rev = "v${version}"; - sha256 = "007l0l9xnyayiqiap22zlsp8l9afdw803064cj8inr3q7ckzfcpb"; + sha256 = "1bm3s2zkyy44xrc804c65hrbc6ixzcr95na671b0dannjrikrx1x"; }; - cargoSha256 = "0kjy9zrjlrlkr2il62nz35hm1nndyym9dbnas43hzz7y8hdf859k"; + cargoSha256 = "1pyaw72h85ydq794mpgfjfq7dcq3a1dg4infh770swfaycyll6h6"; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9a4513a5abc3a..fd778deea95d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -678,6 +678,8 @@ with pkgs; passExtensions = recurseIntoAttrs pass.extensions; + asc-key-to-qr-code-gif = callPackage ../tools/security/asc-key-to-qr-code-gif { }; + gopass = callPackage ../tools/security/gopass { }; browserpass = callPackage ../tools/security/browserpass { }; @@ -18588,7 +18590,7 @@ with pkgs; vwm = callPackage ../applications/window-managers/vwm { }; - vym = callPackage ../applications/misc/vym { }; + vym = qt5.callPackage ../applications/misc/vym { }; w3m = callPackage ../applications/networking/browsers/w3m { graphicsSupport = !stdenv.isDarwin;