Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: dafee3d91af1
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 145a620802ca
Choose a head ref

Commits on Jun 8, 2019

  1. nixos/desktop-managers/xterm: Defaults to xserver's state

    This enhances #61423, which removed the gating of desktop-managers from
    being linked to the xserver's state.
    
    This, though, brought in xterm into all systems, even those without X
    servers.
    
    This change sets the *default* of the xterm desktop-manager to the state
    of the xserver, keeping it enabled by default as a sane fallback.
    
    The xterm desktop-manager can still be enabled or disabled as needed,
    without it being affected by xserver's state.
    samueldr committed Jun 8, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    brainrake Márton Boros
    Copy the full SHA
    fd0f8ad View commit details

Commits on Jun 15, 2019

  1. Copy the full SHA
    adc6290 View commit details
  2. sd-image-aarch64: Allows early modesetting for the Raspberry Pi

    This will reduce the confusion at boot, where the only thing visible is
    the last message from u-boot; where it looks like the Raspberry Pi is
    hung, while in reality it's likely resizing partitions.
    samueldr committed Jun 15, 2019
    Copy the full SHA
    390f207 View commit details
  3. sd-image-aarch64: Allows early modesetting for Allwinner boards

    This will reduce the confusion at boot, where the only thing visible is
    the last message from u-boot; where it looks like the board is
    hung, while in reality it's likely resizing partitions.
    samueldr committed Jun 15, 2019
    Copy the full SHA
    5d92d16 View commit details

Commits on Jun 16, 2019

  1. sd-image: Moves /boot into rootfs

    The current FAT32 partition is kept as it is required for the Raspberry
    Pi family of hardware. It is where the firmware is kept.
    
    The partition is kept bootable, and the boot files kept in there until
    the following commits, to keep all commits of this series individually
    bootable.
    samueldr committed Jun 16, 2019
    Copy the full SHA
    6e9e78b View commit details
  2. make-ext4-fs: Allows populating with custom files

    This will allow adding /boot files to the rootfs.
    samueldr committed Jun 16, 2019
    Copy the full SHA
    a0aff40 View commit details
  3. Copy the full SHA
    53884e1 View commit details
  4. Copy the full SHA
    8634d57 View commit details
  5. sd-image: Updates comments

    samueldr committed Jun 16, 2019
    Copy the full SHA
    1843e00 View commit details
  6. sd-image: Pull less slack in the image by accounting for slack

    The slack, seemingly, accounted for more than the minimum required for
    slack plus the two partitions.
    
    This change makes the gap a somewhat abstracted amount, but is not
    configurable within the derivation.
    samueldr committed Jun 16, 2019
    Copy the full SHA
    c113c09 View commit details
  7. sd-image: Adds removed options for removed options

    This will keep configuration configuring the size of the /boot partition
    still build, while showing the deprecation warning.
    
    In 99.9% of cases I assume ignoring the configuration is better, as the
    sd-image builder already is pretty opinionated in that matter.
    samueldr committed Jun 16, 2019
    Copy the full SHA
    288118c View commit details

Commits on Jun 17, 2019

  1. python37Packages.cassandra-driver: 3.17.1 -> 3.18.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/python3.7-cassandra-driver/versions
    r-ryantm committed Jun 17, 2019
    Copy the full SHA
    c621f19 View commit details

Commits on Jun 18, 2019

  1. elmPackages.{elm-test,elm-analyse..}: tooling additions and fixes

    Extends the number of available tools for Elm language.
    
    1. fix and move "elm-test"
    Previously located in nodePackages.elm-test but broken (see binwrap info).
    Now fixed and located in elmPackages.elm-test
    
    2. add "elm-verify-examples"
    Generate tests from documentation examples
    
    3. add "elm-upgrade"
    upgrade assistant using statical analysis
    
    4. add "elm-analyse"
    static analysis for elm code (linter)
    
    5. move "elm-doc-preview"
    originally located in nodePackages.elm-upgrade - moved for consistency
    
    6. add "elmi-to-json"
    transforms elmi files to json - used by other tools like elm-test and
    elm-verify-examples
    
    Node.js based dependencies are defined the same way as nodePackages
    contaparts but are independent (has it's own packages.json)
    
    patch-binwrap.nix is used to as a replacement for binwrap package
    used by some nodejs dependencies that depends on Haskell binaries
    (elm-test and elm-verify-examples).
    
    BREAKING CHANGE
    ===============
    elm-doc-preview (as well as broken elm-test) is now commented
    in `node-packages-v10.json` and should be removed once new
    nix-expressions for node10 are generated (out of scope of this PR)
    
    There are still 2 outstanding elm related packages in nodePackages
    
    1. elm-oracle - legacy package which is not compatible with elm 0.19
    2. elm-live - should be moved in the future I think
    turboMaCk committed Jun 18, 2019
    Copy the full SHA
    a97986a View commit details
  2. linux_5_0: remove

    EOLed upstream.
    alyssais committed Jun 18, 2019
    Copy the full SHA
    d89ed88 View commit details

Commits on Jun 19, 2019

  1. Copy the full SHA
    bf36d56 View commit details

Commits on Jun 20, 2019

  1. samba: 4.10.4 -> 4.10.5

    Security release fixing CVE-2019-12435 & CVE-2019-12436
    risicle committed Jun 20, 2019
    Copy the full SHA
    cd24ce1 View commit details
  2. Copy the full SHA
    bc109b1 View commit details

Commits on Jun 21, 2019

  1. Copy the full SHA
    f8cf9de View commit details
  2. tomcat9: 9.0.13 -> 9.0.21

    Johan Thomsen committed Jun 21, 2019
    Copy the full SHA
    e62883d View commit details
  3. tomcat85: 8.5.35 -> 8.5.42

    Johan Thomsen committed Jun 21, 2019
    Copy the full SHA
    1fd9ac6 View commit details
  4. Copy the full SHA
    b40a38f View commit details
  5. vdr: 2.4.0 -> 2.4.1

    ck3d committed Jun 21, 2019
    Copy the full SHA
    5e26875 View commit details

Commits on Jun 22, 2019

  1. Revert "Remove amdadlsdk and amdappsdk."

    This reverts commit 08ea7c7.
    
    This was a part of #61823.
    
    Firstly, that commit removed those attributes without removing the files
    they refer to, which is strange.
    
    Secondly, I have a very old but GPGPU-capabale AMD card which doesn't work
    with newer OpenCL infrastructure and hence needs these packages to do GPGPU.
    oxij committed Jun 22, 2019
    Copy the full SHA
    c42f378 View commit details
  2. imgcat: 2.3.0 -> 2.3.1

    marsam committed Jun 22, 2019
    Copy the full SHA
    45efec3 View commit details
  3. conmon: 0.2.0 -> 0.3.0

    Signed-off-by: Sascha Grunert <mail@saschagrunert.de>
    saschagrunert committed Jun 22, 2019
    Copy the full SHA
    e952dc5 View commit details
  4. bazel: 0.26.1 -> 0.27.0

    - Fixs for newly introduced bin/bash hardcoded reference
    - Bazel now references `remote_java_tools_xxx` which contains prebuilt
      binaries. We prefetch them, fix them, and force bazel to use the
      fixed repository.
    
    It also closes #63096
    guibou committed Jun 22, 2019
    Copy the full SHA
    ba327a5 View commit details
  5. bazel: restore installCheckPhase

    All the dependencies of this phase are prefetched and provided to the
    bazel environment using --override_repository.
    guibou committed Jun 22, 2019
    Copy the full SHA
    7fed6ea View commit details
  6. bazel: Full switch to python3

    guibou committed Jun 22, 2019
    Copy the full SHA
    27d4ce7 View commit details
  7. acpilight: fix build error

    udevadm should not run as part of make install
    arcnmx committed Jun 22, 2019
    Copy the full SHA
    3f79ede View commit details

Commits on Jun 23, 2019

  1. qttools: patch qmlimportscanner for darwin builds

    This needs to be the full path for qtmacdeploy to work. We add
    ${qt5.qttools.dev}/bin/qmlimportscanner as the default.
    
    Fixes #63093
    matthewbauer committed Jun 23, 2019
    Copy the full SHA
    79c0e74 View commit details
  2. mosquitto: 1.6.2 -> 1.6.3

    peterhoeg committed Jun 23, 2019
    Copy the full SHA
    7c0c888 View commit details
  3. skim: 0.6.4 -> 0.6.8

    dywedir committed Jun 23, 2019
    Copy the full SHA
    d20379a View commit details
  4. Copy the full SHA
    0d461a7 View commit details
  5. neomutt: remove mutt wrapper

    Since Oct 14, 2017 we warned users still executing `neomutt`
    through the `mutt` binary, so we can assume everybody read the notice,
    updated his config, and can drop the wrapper.
    flokli committed Jun 23, 2019
    Copy the full SHA
    5ada40d View commit details
  6. Merge pull request #63657 from saschagrunert/conmon

    conmon: 0.2.0 -> 0.3.0
    Mic92 authored Jun 23, 2019
    Copy the full SHA
    831e4a2 View commit details
  7. Merge pull request #63687 from flokli/neomutt-remove-wrapper

    neomutt: remove mutt wrapper
    Mic92 authored Jun 23, 2019
    Copy the full SHA
    80172aa View commit details
  8. megasync: init at 4.1.1.0

    Signed-off-by: Michal Minář <mic.liamg@gmail.com>
    michojel committed Jun 23, 2019
    Copy the full SHA
    5864dfb View commit details
  9. dpkg: fix cross compilation

    tobim committed Jun 23, 2019
    Copy the full SHA
    79d72cc View commit details
  10. Fix overrideCC invokations for cross builds

    `overrideCC` should always take a compiler for the build
    system, otherwise cross compilation is not possible.
    tobim committed Jun 23, 2019
    Copy the full SHA
    3a7bb25 View commit details
  11. python37Packages.sasmodels: 0.99 -> 1.0.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/python3.7-sasmodels/versions
    r-ryantm authored and FRidh committed Jun 23, 2019
    Copy the full SHA
    53a374d View commit details
  12. python37Packages.aniso8601: 6.0.0 -> 7.0.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/python3.7-aniso8601/versions
    r-ryantm authored and FRidh committed Jun 23, 2019
    Copy the full SHA
    70cf345 View commit details
  13. python37Packages.progressbar2: 3.39.3 -> 3.42.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/python3.7-progressbar2/versions
    r-ryantm authored and FRidh committed Jun 23, 2019
    Copy the full SHA
    9bf6694 View commit details
  14. pythonPackages.ndg-httpsclient: 0.4.2 -> 0.5.1

    Jonathan Ringer authored and FRidh committed Jun 23, 2019
    Copy the full SHA
    9559da7 View commit details
  15. pythonPackages.imgaug: mark as broken

    Jonathan Ringer authored and FRidh committed Jun 23, 2019
    Copy the full SHA
    d27c1f6 View commit details
  16. python.pkgs.gtts-token: init at 1.1.3

    makefu authored and FRidh committed Jun 23, 2019
    Copy the full SHA
    536abf3 View commit details
  17. home-assistant: update component-packages

    adds gtts-token to google_translate component
    makefu authored and FRidh committed Jun 23, 2019
    Copy the full SHA
    aa54135 View commit details
  18. lazygit: 0.7.2 -> 0.8

    marsam committed Jun 23, 2019
    Copy the full SHA
    0be4e0c View commit details
  19. Merge pull request #63642 from marsam/update-imgcat

    imgcat: 2.3.0 -> 2.3.1
    marsam authored Jun 23, 2019
    Copy the full SHA
    6b311be View commit details
  20. Copy the full SHA
    6389a0a View commit details
  21. discord: change from 4 to 2 space indentation

    tadeokondrak authored and Cray Elliott committed Jun 23, 2019
    Copy the full SHA
    0687a9d View commit details
Showing with 7,864 additions and 623 deletions.
  1. +10 −0 maintainers/maintainer-list.nix
  2. +1 −1 maintainers/scripts/luarocks-packages.csv
  3. +36 −0 maintainers/scripts/update-discord
  4. +20 −5 nixos/lib/make-ext4-fs.nix
  5. +15 −5 nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
  6. +9 −6 nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
  7. +8 −5 nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
  8. +62 −32 nixos/modules/installer/cd-dvd/sd-image.nix
  9. +1 −0 nixos/modules/module-list.nix
  10. +1 −1 nixos/modules/services/hardware/udev.nix
  11. +3 −1 nixos/modules/services/x11/desktop-managers/xterm.nix
  12. +3 −5 pkgs/applications/gis/saga/default.nix
  13. +0 −55 pkgs/applications/gis/saga/finite-6.3.0.patch
  14. +8 −9 pkgs/applications/graphics/imgcat/default.nix
  15. +125 −0 pkgs/applications/misc/megasync/default.nix
  16. +21 −0 pkgs/applications/misc/megasync/install-megasync.patch
  17. +13 −0 pkgs/applications/misc/megasync/noinstall-distro-version.patch
  18. +2 −2 pkgs/applications/misc/rofi/default.nix
  19. +4 −4 pkgs/applications/misc/xastir/default.nix
  20. +0 −23 pkgs/applications/networking/cluster/ksonnet/default.nix
  21. +61 −0 pkgs/applications/networking/instant-messengers/discord/base.nix
  22. +29 −58 pkgs/applications/networking/instant-messengers/discord/default.nix
  23. +2 −2 pkgs/applications/networking/instant-messengers/rambox/bare.nix
  24. +3 −6 pkgs/applications/networking/instant-messengers/rambox/default.nix
  25. +1 −14 pkgs/applications/networking/mailreaders/neomutt/default.nix
  26. +55 −0 pkgs/applications/science/logic/fast-downward/default.nix
  27. +5 −0 pkgs/applications/science/math/cplex/default.nix
  28. +7 −3 pkgs/applications/science/math/gurobi/default.nix
  29. +4 −4 pkgs/applications/video/vdr/default.nix
  30. +2 −2 pkgs/applications/virtualization/conmon/default.nix
  31. +6 −7 pkgs/build-support/mkshell/default.nix
  32. +45 −9 pkgs/development/compilers/crystal/default.nix
  33. +26 −4 pkgs/development/compilers/elm/default.nix
  34. +25 −0 pkgs/development/compilers/elm/packages/README.md
  35. +27 −0 pkgs/development/compilers/elm/packages/elmi-to-json.nix
  36. +7 −0 pkgs/development/compilers/elm/packages/generate-node-packages.sh
  37. +17 −0 pkgs/development/compilers/elm/packages/node-composition.nix
  38. +542 −0 pkgs/development/compilers/elm/packages/node-env.nix
  39. +7 −0 pkgs/development/compilers/elm/packages/node-packages.json
  40. +5,422 −0 pkgs/development/compilers/elm/packages/node-packages.nix
  41. +30 −0 pkgs/development/compilers/elm/packages/patch-binwrap.nix
  42. +3 −1 pkgs/development/interpreters/lua-5/build-lua-package.nix
  43. +15 −0 pkgs/development/libraries/qt-5/5.11/qttools.patch
  44. +1 −0 pkgs/development/libraries/qt-5/5.12/default.nix
  45. +60 −0 pkgs/development/libraries/qt-5/5.12/qtbase.patch
  46. +15 −0 pkgs/development/libraries/qt-5/5.12/qttools.patch
  47. +1 −1 pkgs/development/libraries/qt-5/modules/qtbase.nix
  48. +4 −1 pkgs/development/libraries/qt-5/modules/qttools.nix
  49. +42 −0 pkgs/development/libraries/science/math/osi/default.nix
  50. +90 −12 pkgs/development/libraries/wxwidgets/3.1/default.nix
  51. +5 −5 pkgs/development/lua-modules/generated-packages.nix
  52. +0 −2 pkgs/development/node-packages/node-packages-v10.json
  53. +2 −2 pkgs/development/python-modules/aniso8601/default.nix
  54. +4 −0 pkgs/development/python-modules/black/default.nix
  55. +2 −2 pkgs/development/python-modules/cassandra-driver/default.nix
  56. +31 −0 pkgs/development/python-modules/gtts-token/default.nix
  57. +6 −3 pkgs/development/python-modules/hidapi/default.nix
  58. +1 −0 pkgs/development/python-modules/imgaug/default.nix
  59. +24 −0 pkgs/development/python-modules/mlrose/default.nix
  60. +6 −10 pkgs/development/python-modules/msrest/default.nix
  61. +23 −6 pkgs/development/python-modules/msrestazure/default.nix
  62. +2 −2 pkgs/development/python-modules/ndg-httpsclient/default.nix
  63. +2 −2 pkgs/development/python-modules/progressbar2/default.nix
  64. +29 −0 pkgs/development/python-modules/rig/default.nix
  65. +2 −2 pkgs/development/python-modules/sasmodels/default.nix
  66. +17 −0 pkgs/development/python-modules/sentinel/default.nix
  67. +7 −7 pkgs/development/tools/analysis/radare2/default.nix
  68. +81 −18 pkgs/development/tools/build-managers/bazel/default.nix
  69. +23 −16 pkgs/development/tools/build-managers/bazel/src-deps.json
  70. +2 −2 pkgs/development/tools/build-managers/shards/default.nix
  71. +12 −3 pkgs/development/tools/electron/default.nix
  72. +8 −11 pkgs/development/tools/lazygit/default.nix
  73. +5 −4 pkgs/development/tools/scry/default.nix
  74. +20 −0 pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch
  75. +28 −0 pkgs/development/tools/yj/default.nix
  76. +30 −0 pkgs/development/tools/yj/deps.nix
  77. +3 −2 pkgs/misc/acpilight/default.nix
  78. +30 −30 pkgs/misc/vim-plugins/generated.nix
  79. +2 −2 pkgs/misc/vim-plugins/overrides.nix
  80. +7 −0 pkgs/os-specific/darwin/apple-sdk/default.nix
  81. +2 −0 pkgs/os-specific/darwin/apple-sdk/frameworks.nix
  82. +3 −0 pkgs/os-specific/linux/kernel/common-config.nix
  83. +0 −18 pkgs/os-specific/linux/kernel/linux-5.0.nix
  84. +0 −47 pkgs/os-specific/linux/kernel/linux-mptcp-93.nix
  85. +26 −0 pkgs/os-specific/linux/kernel/linux-mptcp-94.nix
  86. +27 −0 pkgs/os-specific/linux/kernel/linux-mptcp-95.nix
  87. +0 −49 pkgs/os-specific/linux/kernel/linux-mptcp.nix
  88. +28 −0 pkgs/os-specific/linux/kernel/mptcp-config.nix
  89. +2 −2 pkgs/servers/documize-community/default.nix
  90. +1 −1 pkgs/servers/home-assistant/component-packages.nix
  91. +4 −4 pkgs/servers/http/tomcat/default.nix
  92. +2 −2 pkgs/servers/mqtt/mosquitto/default.nix
  93. +2 −2 pkgs/servers/samba/4.x.nix
  94. +14 −9 pkgs/tools/archivers/unp/default.nix
  95. +3 −3 pkgs/tools/misc/skim/default.nix
  96. +297 −0 pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
  97. +23 −0 pkgs/tools/package-management/cargo-license/default.nix
  98. +1 −1 pkgs/tools/package-management/dpkg/default.nix
  99. +111 −76 pkgs/top-level/all-packages.nix
  100. +8 −0 pkgs/top-level/python-packages.nix
10 changes: 10 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -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";
@@ -5747,4 +5752,9 @@
github = "zzamboni";
name = "Diego Zamboni";
};
turbomack = {
email = "marek.faj@gmail.com";
github = "turboMaCk";
name = "Marek Fajkus";
};
}
2 changes: 1 addition & 1 deletion maintainers/scripts/luarocks-packages.csv
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@ luadbi-mysql,,,,,
luadbi-postgresql,,,,,
luadbi-sqlite3,,,,,
luaevent,,,,,
luaexpat,,,,,flosse
luaexpat,,,1.3.0-1,,arobyn flosse
luaffi,,http://luarocks.org/dev,,,
luafilesystem,,,1.7.0-2,,flosse vcunat
luaossl,,,,lua5_1,vcunat
36 changes: 36 additions & 0 deletions maintainers/scripts/update-discord
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
# script to generate `pkgs/networking/instant-messengers/discord/default.nix`

set -e
exec >${1:?usage: $0 <output-file>}

cat <<EOF
{ branch ? "stable", pkgs }:
let
inherit (pkgs) callPackage fetchurl;
in {
EOF

for branch in "" ptb canary; do
url=$(curl -sI "https://discordapp.com/api/download${branch:+/}${branch}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
version=${url##https://dl*.discordapp.net/apps/linux/}
version=${version%%/*.tar.gz}
echo " ${branch:-stable} = callPackage ./base.nix {"
echo " pname = \"discord${branch:+-}${branch}\";"
case $branch in
"") suffix="" ;;
ptb) suffix="PTB" ;;
canary) suffix="Canary" ;;
esac
echo " binaryName = \"Discord${suffix}\";"
echo " desktopName = \"Discord${suffix:+ }${suffix}\";"
echo " version = \"${version}\";"
echo " src = fetchurl {"
echo " url = \"${url}\";"
echo " sha256 = \"$(nix-prefetch-url "$url")\";"
echo " };"
echo " };"
done

echo "}.\${branch}"
25 changes: 20 additions & 5 deletions nixos/lib/make-ext4-fs.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
# Builds an ext4 image containing a populated /nix/store with the closure
# of store paths passed in the storePaths parameter. The generated image
# is sized to only fit its contents, with the expectation that a script
# resizes the filesystem at boot time.
# of store paths passed in the storePaths parameter, in addition to the
# contents of a directory that can be populated with commands. The
# generated image is sized to only fit its contents, with the expectation
# that a script resizes the filesystem at boot time.
{ pkgs
# List of derivations to be included
, storePaths
# Shell commands to populate the ./files directory.
# All files in that directory are copied to the root of the FS.
, populateImageCommands ? ""
, volumeLabel
, uuid ? "44444444-4444-4444-8888-888888888888"
, e2fsprogs
@@ -23,13 +28,17 @@ pkgs.stdenv.mkDerivation {

buildCommand =
''
(
mkdir -p ./files
${populateImageCommands}
)
# Add the closures of the top-level store objects.
storePaths=$(cat ${sdClosureInfo}/store-paths)
# Make a crude approximation of the size of the target image.
# If the script starts failing, increase the fudge factors here.
numInodes=$(find $storePaths | wc -l)
numDataBlocks=$(du -c -B 4096 --apparent-size $storePaths | awk '$2 == "total" { print int($1 * 1.03) }')
numInodes=$(find $storePaths ./files | wc -l)
numDataBlocks=$(du -s -c -B 4096 --apparent-size $storePaths ./files | tail -1 | awk '{ print int($1 * 1.03) }')
bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks))
echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)"
@@ -47,6 +56,12 @@ pkgs.stdenv.mkDerivation {
echo "copying store paths to image..."
cptofs -t ext4 -i $out $storePaths /nix/store/
(
echo "copying files to image..."
cd ./files
cptofs -t ext4 -i $out ./* /
)
# I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build.
if ! fsck.ext4 -n -f $out; then
echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---"
20 changes: 15 additions & 5 deletions nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
Original file line number Diff line number Diff line change
@@ -26,8 +26,15 @@ in
# Also increase the amount of CMA to ensure the virtual console on the RPi3 works.
boot.kernelParams = ["cma=32M" "console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"];

boot.initrd.availableKernelModules = [
# Allows early (earlier) modesetting for the Raspberry Pi
"vc4" "bcm2835_dma" "i2c_bcm2835"
# Allows early (earlier) modesetting for Allwinner SoCs
"sun4i_drm" "sun8i_drm_hdmi" "sun8i_mixer"
];

sdImage = {
populateBootCommands = let
populateFirmwareCommands = let
configTxt = pkgs.writeText "config.txt" ''
kernel=u-boot-rpi3.bin
@@ -43,10 +50,13 @@ in
avoid_warnings=1
'';
in ''
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin boot/u-boot-rpi3.bin
cp ${configTxt} boot/config.txt
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin
cp ${configTxt} firmware/config.txt
'';
populateRootCommands = ''
mkdir -p ./files/boot
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./files/boot
'';
};
}
15 changes: 9 additions & 6 deletions nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ in
boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=ttySAC2,115200n8" "console=tty0"];

sdImage = {
populateBootCommands = let
populateFirmwareCommands = let
configTxt = pkgs.writeText "config.txt" ''
# Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
# when attempting to show low-voltage or overtemperature warnings.
@@ -46,11 +46,14 @@ in
enable_uart=1
'';
in ''
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
cp ${pkgs.ubootRaspberryPi2}/u-boot.bin boot/u-boot-rpi2.bin
cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin boot/u-boot-rpi3.bin
cp ${configTxt} boot/config.txt
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
cp ${pkgs.ubootRaspberryPi2}/u-boot.bin firmware/u-boot-rpi2.bin
cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin firmware/u-boot-rpi3.bin
cp ${configTxt} firmware/config.txt
'';
populateRootCommands = ''
mkdir -p ./files/boot
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./files/boot
'';
};
}
13 changes: 8 additions & 5 deletions nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
Original file line number Diff line number Diff line change
@@ -35,11 +35,14 @@ in
kernel=u-boot-rpi1.bin
'';
in ''
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin boot/u-boot-rpi0.bin
cp ${pkgs.ubootRaspberryPi}/u-boot.bin boot/u-boot-rpi1.bin
cp ${configTxt} boot/config.txt
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin firmware/u-boot-rpi0.bin
cp ${pkgs.ubootRaspberryPi}/u-boot.bin firmware/u-boot-rpi1.bin
cp ${configTxt} firmware/config.txt
'';
populateRootCommands = ''
mkdir -p ./files/boot
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./files/boot
'';
};
}
94 changes: 62 additions & 32 deletions nixos/modules/installer/cd-dvd/sd-image.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# This module creates a bootable SD card image containing the given NixOS
# configuration. The generated image is MBR partitioned, with a FAT /boot
# partition, and ext4 root partition. The generated image is sized to fit
# its contents, and a boot script automatically resizes the root partition
# to fit the device on the first boot.
# configuration. The generated image is MBR partitioned, with a FAT
# /boot/firmware partition, and ext4 root partition. The generated image
# is sized to fit its contents, and a boot script automatically resizes
# the root partition to fit the device on the first boot.
#
# The firmware partition is built with expectation to hold the Raspberry
# Pi firmware and bootloader, and be removed and replaced with a firmware
# build for the target SoC for other board families.
#
# The derivation for the SD image will be placed in
# config.system.build.sdImage
@@ -14,12 +18,18 @@ with lib;
let
rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
inherit (config.sdImage) storePaths;
populateImageCommands = config.sdImage.populateRootCommands;
volumeLabel = "NIXOS_SD";
} // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
uuid = config.sdImage.rootPartitionUUID;
});
in
{
imports = [
(mkRemovedOptionModule [ "sdImage" "bootPartitionID" ] "The FAT partition for SD image now only holds the Raspberry Pi firmware files. Use firmwarePartitionID to configure that partition's ID.")
(mkRemovedOptionModule [ "sdImage" "bootSize" ] "The boot files for SD image have been moved to the main ext4 partition. The FAT partition now only holds the Raspberry Pi firmware files. Changing its size may not be required.")
];

options.sdImage = {
imageName = mkOption {
default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.img";
@@ -43,12 +53,12 @@ in
'';
};

bootPartitionID = mkOption {
firmwarePartitionID = mkOption {
type = types.string;
default = "0x2178694e";
description = ''
Volume ID for the /boot partition on the SD card. This value must be a
32-bit hexadecimal number.
Volume ID for the /boot/firmware partition on the SD card. This value
must be a 32-bit hexadecimal number.
'';
};

@@ -61,29 +71,44 @@ in
'';
};

bootSize = mkOption {
firmwareSize = mkOption {
type = types.int;
default = 120;
# As of 2019-05-31 the Raspberry pi firmware + u-bot takes ~13MiB
default = 20;
description = ''
Size of the /boot/firmware partition, in megabytes.
'';
};

populateFirmwareCommands = mkOption {
example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin firmware/ ''";
description = ''
Size of the /boot partition, in megabytes.
Shell commands to populate the ./firmware directory.
All files in that directory are copied to the
/boot/firmware partition on the SD image.
'';
};

populateBootCommands = mkOption {
example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin boot/ ''";
populateRootCommands = mkOption {
example = literalExample "''\${extlinux-conf-builder} -t 3 -c \${config.system.build.toplevel} -d ./files/boot''";
description = ''
Shell commands to populate the ./boot directory.
Shell commands to populate the ./files directory.
All files in that directory are copied to the
/boot partition on the SD image.
root (/) partition on the SD image. Use this to
populate the ./files/boot (/boot) directory.
'';
};
};

config = {
fileSystems = {
"/boot" = {
device = "/dev/disk/by-label/NIXOS_BOOT";
"/boot/firmware" = {
device = "/dev/disk/by-label/FIRMWARE";
fsType = "vfat";
# Alternatively, this could be removed from the configuration.
# The filesystem is not needed at runtime, it could be treated
# as an opaque blob instead of a discrete FAT32 filesystem.
options = [ "nofail" "noauto" ];
};
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
@@ -105,39 +130,44 @@ in
echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system
echo "file sd-image $img" >> $out/nix-support/hydra-build-products
# Create the image file sized to fit /boot and /, plus 20M of slack
# Gap in front of the first partition, in MiB
gap=8
# Create the image file sized to fit /boot/firmware and /, plus slack for the gap.
rootSizeBlocks=$(du -B 512 --apparent-size ${rootfsImage} | awk '{ print $1 }')
bootSizeBlocks=$((${toString config.sdImage.bootSize} * 1024 * 1024 / 512))
imageSize=$((rootSizeBlocks * 512 + bootSizeBlocks * 512 + 20 * 1024 * 1024))
firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512))
imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024))
truncate -s $imageSize $img
# type=b is 'W95 FAT32', type=83 is 'Linux'.
# The "bootable" partition is where u-boot will look file for the bootloader
# information (dtbs, extlinux.conf file).
sfdisk $img <<EOF
label: dos
label-id: ${config.sdImage.bootPartitionID}
label-id: ${config.sdImage.firmwarePartitionID}
start=8M, size=$bootSizeBlocks, type=b, bootable
start=${toString (8 + config.sdImage.bootSize)}M, type=83
start=''${gap}M, size=$firmwareSizeBlocks, type=b
start=$((gap + ${toString config.sdImage.firmwareSize}))M, type=83, bootable
EOF
# Copy the rootfs into the SD image
eval $(partx $img -o START,SECTORS --nr 2 --pairs)
dd conv=notrunc if=${rootfsImage} of=$img seek=$START count=$SECTORS
# Create a FAT32 /boot partition of suitable size into bootpart.img
# Create a FAT32 /boot/firmware partition of suitable size into firmware_part.img
eval $(partx $img -o START,SECTORS --nr 1 --pairs)
truncate -s $((SECTORS * 512)) bootpart.img
faketime "1970-01-01 00:00:00" mkfs.vfat -i ${config.sdImage.bootPartitionID} -n NIXOS_BOOT bootpart.img
truncate -s $((SECTORS * 512)) firmware_part.img
faketime "1970-01-01 00:00:00" mkfs.vfat -i ${config.sdImage.firmwarePartitionID} -n FIRMWARE firmware_part.img
# Populate the files intended for /boot
mkdir boot
${config.sdImage.populateBootCommands}
# Populate the files intended for /boot/firmware
mkdir firmware
${config.sdImage.populateFirmwareCommands}
# Copy the populated /boot into the SD image
(cd boot; mcopy -psvm -i ../bootpart.img ./* ::)
# Copy the populated /boot/firmware into the SD image
(cd firmware; mcopy -psvm -i ../firmware_part.img ./* ::)
# Verify the FAT partition before copying it.
fsck.vfat -vn bootpart.img
dd conv=notrunc if=bootpart.img of=$img seek=$START count=$SECTORS
fsck.vfat -vn firmware_part.img
dd conv=notrunc if=firmware_part.img of=$img seek=$START count=$SECTORS
'';
}) {};

1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -50,6 +50,7 @@
./hardware/logitech.nix
./hardware/mcelog.nix
./hardware/network/b43.nix
./hardware/network/intel-2200bg.nix
./hardware/nitrokey.nix
./hardware/opengl.nix
./hardware/pcmcia.nix
2 changes: 1 addition & 1 deletion nixos/modules/services/hardware/udev.nix
Original file line number Diff line number Diff line change
@@ -85,7 +85,7 @@ let
for i in $import_progs $run_progs; do
if [[ ! -x $i ]]; then
echo "FAIL"
echo "$i is called in udev rules but not installed by udev"
echo "$i is called in udev rules but is not executable or does not exist"
exit 1
fi
done
4 changes: 3 additions & 1 deletion nixos/modules/services/x11/desktop-managers/xterm.nix
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ with lib;
let

cfg = config.services.xserver.desktopManager.xterm;
xserverEnabled = config.services.xserver.enable;

in

@@ -13,7 +14,8 @@ in

services.xserver.desktopManager.xterm.enable = mkOption {
type = types.bool;
default = true;
default = xserverEnabled;
defaultText = "config.services.xserver.enable";
description = "Enable a xterm terminal as a desktop manager.";
};

8 changes: 3 additions & 5 deletions pkgs/applications/gis/saga/default.nix
Original file line number Diff line number Diff line change
@@ -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; {
55 changes: 0 additions & 55 deletions pkgs/applications/gis/saga/finite-6.3.0.patch

This file was deleted.

17 changes: 8 additions & 9 deletions pkgs/applications/graphics/imgcat/default.nix
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
{ stdenv, fetchFromGitHub, autoconf, automake, libtool, ncurses }:

stdenv.mkDerivation rec {
name = "imgcat-${version}";
version = "2.3.0";
pname = "imgcat";
version = "2.3.1";

buildInputs = [ autoconf automake libtool ncurses ];
nativeBuildInputs = [ autoconf automake libtool ];
buildInputs = [ ncurses ];

preConfigure = ''
${autoconf}/bin/autoconf
sed -i -e "s|-ltermcap|-L ${ncurses}/lib -lncurses|" Makefile
'';

preInstall = ''
makeFlagsArray=(PREFIX="$out");
'';
makeFlags = [ "PREFIX=$(out)" ];

src = fetchFromGitHub {
owner = "eddieantonio";
repo = "imgcat";
rev = "3d854c72f785dce0eecd9485767a7f972d54890c";
sha256 = "0m83c33rzxvs0w214njql2c7q3fg06wnyijch3l2s88i7frl121f";
repo = pname;
rev = "v${version}";
sha256 = "0frz40rjwi73nx2dlqvmnn56zwr29bmnngfb11hhwr7v58yfajdi";
};

NIX_CFLAGS_COMPILE = "-Wno-error";
125 changes: 125 additions & 0 deletions pkgs/applications/misc/megasync/default.nix
Original file line number Diff line number Diff line change
@@ -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 ];
};
}
21 changes: 21 additions & 0 deletions pkgs/applications/misc/megasync/install-megasync.patch
Original file line number Diff line number Diff line change
@@ -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
13 changes: 13 additions & 0 deletions pkgs/applications/misc/megasync/noinstall-distro-version.patch
Original file line number Diff line number Diff line change
@@ -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 \
4 changes: 2 additions & 2 deletions pkgs/applications/misc/rofi/default.nix
Original file line number Diff line number Diff line change
@@ -4,12 +4,12 @@
}:

stdenv.mkDerivation rec {
version = "1.5.2";
version = "1.5.3";
name = "rofi-unwrapped-${version}";

src = fetchurl {
url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/rofi-${version}.tar.gz";
sha256 = "1rczxz6l32vnclarzga1sm1d5iq9rfscb9j7f8ih185n59hf0517";
sha256 = "1mskknfnpgmaghplwcyc44qc8swb1f9qiyi67fz9i77jijjpj1lx";
};

preConfigure = ''
8 changes: 4 additions & 4 deletions pkgs/applications/misc/xastir/default.nix
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
{ stdenv, fetchFromGitHub, autoreconfHook
, curl, db, gdal, libgeotiff
, curl, db, libgeotiff
, libXpm, libXt, motif, pcre
, perl, proj, rastermagick, shapelib
}:

stdenv.mkDerivation rec {
pname = "xastir";
version = "2.1.0";
version = "2.1.2";

src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "Release-${version}";
sha256 = "16zsgy3589snawr8f1fa22ymvpnjy6njvxmsck7q8p2xmmz2ry7r";
sha256 = "1xfzd2m4l0zbb96ak2pniffxdrs9lax0amkxfgdsnyg8x5j0xcxm";
};

buildInputs = [
autoreconfHook
curl db gdal libgeotiff
curl db libgeotiff
libXpm libXt motif pcre
perl proj rastermagick shapelib
];
23 changes: 0 additions & 23 deletions pkgs/applications/networking/cluster/ksonnet/default.nix

This file was deleted.

61 changes: 61 additions & 0 deletions pkgs/applications/networking/instant-messengers/discord/base.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{ pname, version, src, binaryName, desktopName
, stdenv, fetchurl, makeDesktopItem, wrapGAppsHook
, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
, gdk_pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }:

let
inherit binaryName;
in stdenv.mkDerivation rec {
inherit pname version src;

nativeBuildInputs = [ wrapGAppsHook ];

dontWrapGApps = true;

libPath = stdenv.lib.makeLibraryPath [
libcxx systemd libpulseaudio
stdenv.cc.cc alsaLib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
gdk_pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
libXtst nspr nss libxcb pango systemd libXScrnSaver
];

installPhase = ''
mkdir -p $out/{bin,opt/${binaryName},share/pixmaps}
mv * $out/opt/${binaryName}
chmod +x $out/opt/${binaryName}/${binaryName}
patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
$out/opt/${binaryName}/${binaryName}
wrapProgram $out/opt/${binaryName}/${binaryName} \
"''${gappsWrapperArgs[@]}" \
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
--prefix LD_LIBRARY_PATH : ${libPath}
ln -s $out/opt/${binaryName}/${binaryName} $out/bin/
ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${binaryName}.png
ln -s "${desktopItem}/share/applications" $out/share/
'';

desktopItem = makeDesktopItem {
name = pname;
exec = binaryName;
icon = pname;
inherit desktopName;
genericName = meta.description;
categories = "Network;InstantMessaging;";
};

meta = with stdenv.lib; {
description = "All-in-one cross-platform voice and text chat for gamers";
homepage = "https://discordapp.com/";
downloadPage = "https://discordapp.com/download";
license = licenses.unfree;
maintainers = with maintainers; [ ldesgoui MP2E tadeokondrak ];
platforms = [ "x86_64-linux" ];
};
}
87 changes: 29 additions & 58 deletions pkgs/applications/networking/instant-messengers/discord/default.nix
Original file line number Diff line number Diff line change
@@ -1,65 +1,36 @@
{ stdenv, fetchurl, makeDesktopItem, wrapGAppsHook
, alsaLib, atk, at-spi2-atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf
, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }:

stdenv.mkDerivation rec {
{ branch ? "stable", pkgs }:

let
inherit (pkgs) callPackage fetchurl;
in {
stable = callPackage ./base.nix {
pname = "discord";
binaryName = "Discord";
desktopName = "Discord";
version = "0.0.9";

src = fetchurl {
url = "https://cdn.discordapp.com/apps/linux/${version}/${pname}-${version}.tar.gz";
sha256 = "1i0f8id10rh2fx381hx151qckvvh8hbznfsfav8w0dfbd1bransf";
url = "https://dl.discordapp.net/apps/linux/0.0.9/discord-0.0.9.tar.gz";
sha256 = "1i0f8id10rh2fx381hx151qckvvh8hbznfsfav8w0dfbd1bransf";
};

nativeBuildInputs = [ wrapGAppsHook ];

dontWrapGApps = true;

libPath = stdenv.lib.makeLibraryPath [
libcxx systemd libpulseaudio
stdenv.cc.cc alsaLib atk at-spi2-atk cairo cups dbus expat fontconfig freetype
gdk_pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
libXtst nspr nss libxcb pango systemd libXScrnSaver
];

installPhase = ''
mkdir -p $out/{bin,opt/discord,share/pixmaps}
mv * $out/opt/discord
chmod +x $out/opt/discord/Discord
patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
$out/opt/discord/Discord
wrapProgram $out/opt/discord/Discord \
"''${gappsWrapperArgs[@]}" \
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
--prefix LD_LIBRARY_PATH : ${libPath}
ln -s $out/opt/discord/Discord $out/bin/
ln -s $out/opt/discord/discord.png $out/share/pixmaps
ln -s "${desktopItem}/share/applications" $out/share/
'';

desktopItem = makeDesktopItem {
name = pname;
exec = "Discord";
icon = pname;
desktopName = "Discord";
genericName = meta.description;
categories = "Network;InstantMessaging;";
};
ptb = callPackage ./base.nix {
pname = "discord-ptb";
binaryName = "DiscordPTB";
desktopName = "Discord PTB";
version = "0.0.15";
src = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/0.0.15/discord-ptb-0.0.15.tar.gz";
sha256 = "0znqb0a3yglgx7a9ypkb81jcm8kqgc6559zi7vfqn02zh15gqv6a";
};

meta = with stdenv.lib; {
description = "All-in-one cross-platform voice and text chat for gamers";
homepage = https://discordapp.com/;
downloadPage = "https://github.com/crmarsh/discord-linux-bugs";
license = licenses.unfree;
maintainers = [ maintainers.ldesgoui maintainers.MP2E ];
platforms = [ "x86_64-linux" ];
};
canary = callPackage ./base.nix {
pname = "discord-canary";
binaryName = "DiscordCanary";
desktopName = "Discord Canary";
version = "0.0.84";
src = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/0.0.84/discord-canary-0.0.84.tar.gz";
sha256 = "1s4m7qvwyb0zglgdcixfnp5asachkybfafbmr74c7zrb0scl80s1";
};
}
};
}.${branch}
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@

stdenv.mkDerivation rec {
name = "rambox-bare-${version}";
version = "0.6.7";
version = "0.6.9";

src = fetchFromGitHub {
owner = "ramboxapp";
repo = "community-edition";
rev = version;
sha256 = "1fsp4jxiypl6zkh5wgf9amyiyx9dqv6h8rsjn5xjp9bna27s0d3b";
sha256 = "1h44srl2gzkhjaazpwz1pwy4dp5x776fc685kahlvjlsfls0fvy9";
};

nativeBuildInputs = [ nodejs-8_x ruby sencha ];
Original file line number Diff line number Diff line change
@@ -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
'';

15 changes: 1 addition & 14 deletions pkgs/applications/networking/mailreaders/neomutt/default.nix
Original file line number Diff line number Diff line change
@@ -3,19 +3,7 @@
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell
}:

let
muttWrapper = writeScript "mutt" ''
#!${runtimeShell} -eu
echo 'The neomutt project has renamed the main binary from `mutt` to `neomutt`.'
echo ""
echo 'This wrapper is provided for compatibility purposes only. You should start calling `neomutt` instead.'
echo ""
read -p 'Press any key to launch NeoMutt...' -n1 -s
exec neomutt "$@"
'';

in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
version = "20180716";
name = "neomutt-${version}";

@@ -80,7 +68,6 @@ in stdenv.mkDerivation rec {
NIX_LDFLAGS = "-lidn";

postInstall = ''
cp ${muttWrapper} $out/bin/mutt
wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/libexec/neomutt"
'';

55 changes: 55 additions & 0 deletions pkgs/applications/science/logic/fast-downward/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{ stdenv, lib, fetchhg, cmake, which, python3, osi, cplex }:

stdenv.mkDerivation rec {
name = "fast-downward-2019-05-13";

src = fetchhg {
url = "http://hg.fast-downward.org/";
rev = "090f5df5d84a";
sha256 = "14pcjz0jfzx5269axg66iq8js7lm2w3cnqrrhhwmz833prjp945g";
};

nativeBuildInputs = [ cmake which ];
buildInputs = [ python3 python3.pkgs.wrapPython osi ];

cmakeFlags =
lib.optional osi.withCplex [ "-DDOWNWARD_CPLEX_ROOT=${cplex}/cplex" ];

enableParallelBuilding = true;

postPatch = ''
cd src
# Needed because the package tries to be too smart.
export CC="$(which $CC)"
export CXX="$(which $CXX)"
'';

installPhase = ''
install -Dm755 bin/downward $out/libexec/fast-downward/downward
cp -r ../translate $out/libexec/fast-downward/
install -Dm755 ../../fast-downward.py $out/bin/fast-downward
mkdir -p $out/${python3.sitePackages}
cp -r ../../driver $out/${python3.sitePackages}
wrapPythonProgramsIn $out/bin "$out $pythonPath"
wrapPythonProgramsIn $out/libexec/fast-downward/translate "$out $pythonPath"
# Because fast-downward calls `python translate.py` we need to return wrapped scripts back.
for i in $out/libexec/fast-downward/translate/.*-wrapped; do
name="$(basename "$i")"
name1="''${name#.}"
name2="''${name1%-wrapped}"
dir="$(dirname "$i")"
dest="$dir/$name2"
echo "Moving $i to $dest"
mv "$i" "$dest"
done
'';

meta = with stdenv.lib; {
description = "A domain-independent planning system";
homepage = "http://www.fast-downward.org/";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
};
}
5 changes: 5 additions & 0 deletions pkgs/applications/science/math/cplex/default.nix
Original file line number Diff line number Diff line change
@@ -71,6 +71,11 @@ stdenv.mkDerivation rec {
fi
done
'';

passthru = {
libArch = "x86-64_linux";
libSuffix = "${version}0";
};

meta = with stdenv.lib; {
description = "Optimization solver for mathematical programming";
10 changes: 7 additions & 3 deletions pkgs/applications/science/math/gurobi/default.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{ stdenv, fetchurl, autoPatchelfHook, python }:
{ stdenv, lib, fetchurl, autoPatchelfHook, python }:

stdenv.mkDerivation rec {
let
majorVersion = "8.1";
in stdenv.mkDerivation rec {
name = "gurobi-${version}";
version = "8.1.0";
version = "${majorVersion}.0";

src = with stdenv.lib; fetchurl {
url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
@@ -44,6 +46,8 @@ stdenv.mkDerivation rec {
ln -s $out/lib/gurobi-javadoc.jar $out/share/java/
'';

passthru.libSuffix = lib.replaceStrings ["."] [""] majorVersion;

meta = with stdenv.lib; {
description = "Optimization solver for mathematical programming";
homepage = https://www.gurobi.com;
8 changes: 4 additions & 4 deletions pkgs/applications/video/vdr/default.nix
Original file line number Diff line number Diff line change
@@ -4,12 +4,12 @@
, enableBidi ? true
}: stdenv.mkDerivation rec {

name = "vdr-${version}";
version = "2.4.0";
pname = "vdr";
version = "2.4.1";

src = fetchurl {
url = "ftp://ftp.tvdr.de/vdr/${name}.tar.bz2";
sha256 = "1klcgy9kr7n6z8d2c77j63bl8hvhx5qnqppg73f77004hzz4kbwk";
url = "ftp://ftp.tvdr.de/vdr/${pname}-${version}.tar.bz2";
sha256 = "1p51b14aqzncx3xpfg0rjplc48pg7520035i5p6r5zzkqhszihr5";
};

enableParallelBuilding = true;
4 changes: 2 additions & 2 deletions pkgs/applications/virtualization/conmon/default.nix
Original file line number Diff line number Diff line change
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
project = "conmon";
name = "${project}-${version}";
version = "0.2.0";
version = "0.3.0";

src = fetchFromGitHub {
owner = "containers";
repo = project;
rev = "v${version}";
sha256 = "08fgkbv7hq62lcq39za9pm2s2j92ismgrkvfm7acwbvajqh9syjb";
sha256 = "0s23gm0cq4mylv882dr1n8bqql42674vny3z58yy77lwzmifc6id";
};

nativeBuildInputs = [ pkgconfig ];
13 changes: 6 additions & 7 deletions pkgs/build-support/mkshell/default.nix
Original file line number Diff line number Diff line change
@@ -11,20 +11,16 @@
...
}@attrs:
let
mergeInputs = name:
let
op = item: sum: sum ++ item."${name}" or [];
nul = [];
list = [attrs] ++ inputsFrom;
in
lib.foldr op nul list;
mergeInputs = name: lib.concatLists (lib.catAttrs name
([attrs] ++ inputsFrom));

rest = builtins.removeAttrs attrs [
"inputsFrom"
"buildInputs"
"nativeBuildInputs"
"propagatedBuildInputs"
"propagatedNativeBuildInputs"
"shellHook"
];
in

@@ -37,6 +33,9 @@ stdenv.mkDerivation ({
propagatedBuildInputs = mergeInputs "propagatedBuildInputs";
propagatedNativeBuildInputs = mergeInputs "propagatedNativeBuildInputs";

shellHook = lib.concatStringsSep "\n" (lib.catAttrs "shellHook"
(lib.reverseList inputsFrom ++ [attrs]));

nobuildPhase = ''
echo
echo "This derivation is not meant to be built, aborting";
54 changes: 45 additions & 9 deletions pkgs/development/compilers/crystal/default.nix
Original file line number Diff line number Diff line change
@@ -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;
}
30 changes: 26 additions & 4 deletions pkgs/development/compilers/elm/default.nix
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
{ lib, stdenv
, haskell, nodejs
, fetchurl, fetchpatch, makeWrapper }:

, fetchurl, fetchpatch, makeWrapper, writeScriptBin }:
let
fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };

patchBinwrap = import ./packages/patch-binwrap.nix { inherit lib writeScriptBin stdenv; };

elmNodePackages =
import ./packages/node-composition.nix {
inherit nodejs;
inherit (stdenv.hostPlatform) system;
};

hsPkgs = haskell.packages.ghc864.override {
overrides = self: super: with haskell.lib;
let elmPkgs = {
let elmPkgs = rec {
elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: {
# sadly with parallelism most of the time breaks compilation
# also compilation is slower with increasing number of cores anyway (Tested on Ryzen 7 and i7)
enableParallelBuilding = false;
preConfigure = self.fetchElmDeps {
elmPackages = (import ./packages/elm-srcs.nix);
@@ -30,12 +39,25 @@ let

/*
The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
`pacakge/nix/build.sh`
`package/nix/build.sh`
*/
elm-format = justStaticExecutables (doJailbreak (self.callPackage ./packages/elm-format.nix {}));

elmi-to-json = justStaticExecutables (self.callPackage ./packages/elmi-to-json.nix {});

inherit fetchElmDeps;
elmVersion = elmPkgs.elm.version;

/*
Node/NPM based dependecies can be upgraded using script
`packages/generate-node-packages.sh`.
Packages which rely on `bin-wrap` will fail by default
and can be patched using `patchBinwrap` function defined in `packages/patch-binwrap.nix`.
*/
elm-test = patchBinwrap [elmi-to-json] elmNodePackages.elm-test;
elm-verify-examples = patchBinwrap [elmi-to-json] elmNodePackages.elm-verify-examples;
elm-analyse = elmNodePackages."elm-analyse-0.16.3";
inherit (elmNodePackages) elm-doc-preview elm-upgrade;
};
in elmPkgs // {
inherit elmPkgs;
25 changes: 25 additions & 0 deletions pkgs/development/compilers/elm/packages/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Elm packages

Mixtures of useful Elm lang tooling containing both Haskell and Node.js based utilities.

## Upgrades

Haskell parts of the ecosystem are using [cabal2nix](https://github.com/NixOS/cabal2nix).
Please refer to [nix documentation](https://nixos.org/nixpkgs/manual/#how-to-create-nix-builds-for-your-own-private-haskell-packages)
and [cabal2nix readme](https://github.com/NixOS/cabal2nix#readme) for more information. Elm-format [update scripts](https://github.com/avh4/elm-format/tree/master/package/nix)
is part of its repository.

Node dependencies are defined in [node-packages.json](node-packages.json).
[Node2nix](https://github.com/svanderburg/node2nix) is used for generating nix expression
from this file. Use [generate-node-packages.sh](generate-node-packages.sh) for updates of nix expressions.

## Binwrap Patch

Some node packages might use [binwrap](https://github.com/avh4/binwrap) typically for installing
[elmi-to-json](https://github.com/stoeffel/elmi-to-json). Binwrap is not compatible with nix.
To overcome issues with those packages apply [patch-binwrap.nix](patch-binwrap.nix) which essentially does 2 things.

1. It replaces binwrap scripts with noop shell scripts
2. It uses nix for installing the binaries to expected location in `node_modules`

Example usage be found in `elm/default.nix`.
27 changes: 27 additions & 0 deletions pkgs/development/compilers/elm/packages/elmi-to-json.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{ mkDerivation, aeson, async, base, binary, bytestring, containers
, directory, filepath, hpack, optparse-applicative, safe-exceptions
, stdenv, text, fetchgit
}:
mkDerivation {
pname = "elmi-to-json";
version = "0.19.4";
src = fetchgit {
url = "https://github.com/stoeffel/elmi-to-json.git";
rev = "357ad96f05e4c68023b036f27f6f65c4377c7427";
sha256 = "0vj9fdqgg2zd1nxpll6v02fk6bcyhx00xhp3s8sd7ycvirwsim9n";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson async base binary bytestring containers directory filepath
optparse-applicative safe-exceptions text
];
libraryToolDepends = [ hpack ];
executableHaskellDepends = [ base ];
testHaskellDepends = [ base ];
preConfigure = "hpack";
homepage = "https://github.com/stoeffel/elmi-to-json#readme";
description = "Translates elmi binary files to JSON representation";
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ turbomack ];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix

set -eu -o pipefail

rm -f node-env.nix
node2nix --nodejs-10 -i node-packages.json -o node-packages.nix -c node-composition.nix
17 changes: 17 additions & 0 deletions pkgs/development/compilers/elm/packages/node-composition.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# This file has been generated by node2nix 1.6.0. Do not edit!

{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:

let
nodeEnv = import ./node-env.nix {
inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
inherit nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl fetchgit;
inherit nodeEnv;
}
542 changes: 542 additions & 0 deletions pkgs/development/compilers/elm/packages/node-env.nix

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions pkgs/development/compilers/elm/packages/node-packages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[
"elm-test",
"elm-verify-examples",
"elm-doc-preview",
{ "elm-analyse": "0.16.3" },
"elm-upgrade"
]
5,422 changes: 5,422 additions & 0 deletions pkgs/development/compilers/elm/packages/node-packages.nix

Large diffs are not rendered by default.

30 changes: 30 additions & 0 deletions pkgs/development/compilers/elm/packages/patch-binwrap.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{ writeScriptBin, stdenv, lib }:
let
# Patching binwrap by NoOp script
binwrap = writeScriptBin "binwrap" ''
#! ${stdenv.shell}
echo "binwrap called: Returning 0"
return 0
'';
binwrap-install = writeScriptBin "binwrap-install" ''
#! ${stdenv.shell}
echo "binwrap-install called: Doing nothing"
'';
in
targets:
pkg:
pkg.override {
buildInputs = [ binwrap binwrap-install ];

# Manually install targets
# by symlinking binaries into `node_modules`
postInstall = let
binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name;
in ''
${lib.concatStrings (map (module: ''
echo "linking ${binFile module}"
ln -sf ${module}/bin/${binFile module} \
node_modules/${binFile module}/bin/${binFile module}
'') targets)}
'';
}
4 changes: 3 additions & 1 deletion pkgs/development/interpreters/lua-5/build-lua-package.nix
Original file line number Diff line number Diff line change
@@ -12,7 +12,9 @@ name ? "${attrs.pname}-${attrs.version}"
, version

# by default prefix `name` e.g. "lua5.2-${name}"
, namePrefix ? "lua" + lua.luaversion + "-"
, namePrefix ? if lua.pkgs.isLuaJIT
then lua.name + "-"
else "lua" + lua.luaversion + "-"

# Dependencies for building the package
, buildInputs ? []
15 changes: 15 additions & 0 deletions pkgs/development/libraries/qt-5/5.11/qttools.patch
Original file line number Diff line number Diff line change
@@ -69,3 +69,18 @@ index 4318b16f..d60db4ff 100644
_qt5_LinguistTools_check_file_exists(${imported_location})

set_target_properties(Qt5::lconvert PROPERTIES
--- a/src/macdeployqt/shared/shared.cpp
+++ b/src/macdeployqt/shared/shared.cpp
@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
if (!QFile(qmlImportScannerPath).exists())
qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";

+#ifdef NIXPKGS_QMLIMPORTSCANNER
+ // Fallback: Nixpkgs hardcoded path
+ if (!QFile(qmlImportScannerPath).exists())
+ qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
+#endif
+
// Verify that we found a qmlimportscanner binary
if (!QFile(qmlImportScannerPath).exists()) {
LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
1 change: 1 addition & 0 deletions pkgs/development/libraries/qt-5/5.12/default.nix
Original file line number Diff line number Diff line change
@@ -66,6 +66,7 @@ let
./qtwebkit-darwin-no-readline.patch
./qtwebkit-darwin-no-qos-classes.patch
];
qttools = [ ./qttools.patch ];
};

mkDerivation =
60 changes: 60 additions & 0 deletions pkgs/development/libraries/qt-5/5.12/qtbase.patch
Original file line number Diff line number Diff line change
@@ -1094,3 +1094,63 @@ index 99d87e2e46..a4eab2aa72 100644
!!ELSE
set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
!!ENDIF
diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
index b14a494296..779c4eda95 100644
--- a/src/corelib/kernel/qcore_mac_p.h
+++ b/src/corelib/kernel/qcore_mac_p.h
@@ -211,7 +211,7 @@ private:

// --------------------------------------------------------------------------

-#if !defined(QT_BOOTSTRAPPED)
+#if 0

QT_END_NAMESPACE
#include <os/activity.h>
@@ -289,7 +289,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current);

#define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter();

-#endif // !defined(QT_BOOTSTRAPPED)
+#else // !defined(QT_BOOTSTRAPPED)
+
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...)
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...)
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...)
+
+#define QT_APPLE_LOG_ACTIVITY2(...)
+#define QT_APPLE_LOG_ACTIVITY1(...)
+#define QT_APPLE_LOG_ACTIVITY(...)
+
+#define QT_APPLE_SCOPED_LOG_ACTIVITY(...)
+
+#endif

// -------------------------------------------------------------------------

diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp
index 2c1005ad80..244147ea7d 100644
--- a/src/testlib/qappletestlogger.cpp
+++ b/src/testlib/qappletestlogger.cpp
@@ -43,7 +43,7 @@

QT_BEGIN_NAMESPACE

-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0

using namespace QTestPrivate;

diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
index 1268730cc6..a50e9b0764 100644
--- a/src/testlib/qtestlog.cpp
+++ b/src/testlib/qtestlog.cpp
@@ -524,7 +524,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename)
#endif
}

-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
// Logger that also feeds messages to AUL. It needs to wrap the existing
// logger, as it needs to be able to short circuit the existing logger
// in case AUL prints to stderr.
15 changes: 15 additions & 0 deletions pkgs/development/libraries/qt-5/5.12/qttools.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
--- a/src/macdeployqt/shared/shared.cpp
+++ b/src/macdeployqt/shared/shared.cpp
@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
if (!QFile(qmlImportScannerPath).exists())
qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";

+#ifdef NIXPKGS_QMLIMPORTSCANNER
+ // Fallback: Nixpkgs hardcoded path
+ if (!QFile(qmlImportScannerPath).exists())
+ qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
+#endif
+
// Verify that we found a qmlimportscanner binary
if (!QFile(qmlImportScannerPath).exists()) {
LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
2 changes: 1 addition & 1 deletion pkgs/development/libraries/qt-5/modules/qtbase.nix
Original file line number Diff line number Diff line change
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
# TODO: move to buildInputs, this should not be propagated.
AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
CoreLocation CoreServices DiskArbitration Foundation OpenGL
darwin.libobjc libiconv
darwin.libobjc libiconv MetalKit
]
else
[
5 changes: 4 additions & 1 deletion pkgs/development/libraries/qt-5/modules/qttools.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ qtModule, stdenv, lib, qtbase }:
{ qtModule, stdenv, lib, qtbase, qtdeclarative }:

with lib;

@@ -32,5 +32,8 @@ qtModule {
"bin/macdeployqt"
];

NIX_CFLAGS_COMPILE =
lib.optional stdenv.isDarwin ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"'';

setupHook = ../hooks/qttools-setup-hook.sh;
}
42 changes: 42 additions & 0 deletions pkgs/development/libraries/science/math/osi/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{ stdenv, lib, fetchurl, gfortran, pkgconfig
, blas, zlib, bzip2
, withGurobi ? false, gurobi
, withCplex ? false, cplex }:

stdenv.mkDerivation rec {
pname = "osi";
version = "0.108.4";

src = fetchurl {
url = "https://www.coin-or.org/download/source/Osi/Osi-${version}.tgz";
sha256 = "13bwhdh01g37vp3kjwl9nvij5s5ikh5f7zgrqgwrqfyk35q2x9s5";
};

buildInputs =
[ blas zlib bzip2 ]
++ lib.optional withGurobi gurobi
++ lib.optional withCplex cplex;
nativeBuildInputs = [ gfortran pkgconfig ];
configureFlags =
lib.optionals withGurobi [ "--with-gurobi-incdir=${gurobi}/include" "--with-gurobi-lib=-lgurobi${gurobi.libSuffix}" ]
++ lib.optionals withCplex [ "--with-cplex-incdir=${cplex}/cplex/include/ilcplex" "--with-cplex-lib=-lcplex${cplex.libSuffix}" ];

NIX_LDFLAGS =
lib.optional withCplex "-L${cplex}/cplex/bin/${cplex.libArch}";

# Compile errors
NIX_CFLAGS_COMPILE = [ "-Wno-cast-qual" ];
hardeningDisable = [ "format" ];

enableParallelBuilding = true;

passthru = { inherit withGurobi withCplex; };

meta = with stdenv.lib; {
description = "An abstract base class to a generic linear programming (LP) solver";
homepage = "https://github.com/coin-or/Osi";
license = licenses.epl10;
platforms = platforms.unix;
maintainers = with maintainers; [ abbradar ];
};
}
102 changes: 90 additions & 12 deletions pkgs/development/libraries/wxwidgets/3.1/default.nix
Original file line number Diff line number Diff line change
@@ -1,16 +1,94 @@
{ stdenv, fetchFromGitHub
, wxGTK30
{ stdenv, fetchFromGitHub, fetchurl, pkgconfig
, gtk2, gtk3, libXinerama, libSM, libXxf86vm
, xorgproto, gstreamer, gst-plugins-base, GConf, setfile
, libGLSupported
, withMesa ? libGLSupported, libGLU ? null, libGL ? null
, compat28 ? false, compat30 ? true, unicode ? true
, withGtk2 ? true
, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
, AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
}:


assert withMesa -> libGLU != null && libGL != null;
assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;

with stdenv.lib;

wxGTK30.overrideAttrs (oldAttrs : rec {
name = "wxwidgets-${version}";
version = "3.1.0";
src = fetchFromGitHub {
owner = "wxWidgets";
repo = "wxWidgets";
rev = "v${version}";
sha256 = "14kl1rsngm70v3mbyv1mal15iz2b18k97avjx8jn7s81znha1c7f";
};
})
stdenv.mkDerivation rec {
version = "3.1.2";
name = "wxwidgets-${version}";

src = fetchFromGitHub {
owner = "wxWidgets";
repo = "wxWidgets";
rev = "v${version}";
sha256 = "0gfdhb7xq5vzasm7s1di39nchv42zsp0dmn4v6knzb7mgsb107wb";
};

buildInputs =
[ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
gst-plugins-base GConf ]
++ optional withMesa libGLU
++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];

nativeBuildInputs = [ pkgconfig ];

propagatedBuildInputs = optional stdenv.isDarwin AGL;

patches = [
(fetchurl { # https://trac.wxwidgets.org/ticket/17942
url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
+ "fix_assertion_using_hide_in_destroy.diff";
sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
})
];

configureFlags =
[ "--disable-precomp-headers" "--enable-mediactrl"
(if compat28 then "--enable-compat28" else "--disable-compat28")
(if compat30 then "--enable-compat30" else "--disable-compat30") ]
++ optional unicode "--enable-unicode"
++ optional withMesa "--with-opengl"
++ optionals stdenv.isDarwin
# allow building on 64-bit
[ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ]
++ optionals withWebKit
["--enable-webview" "--enable-webviewwebkit"];

SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";

preConfigure = "
substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
substituteInPlace configure --replace /usr /no-such-path
" + optionalString stdenv.isDarwin ''
substituteInPlace configure --replace \
'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
substituteInPlace configure --replace \
"-framework System" \
-lSystem
'';

postInstall = "
(cd $out/include && ln -s wx-*/* .)
";

passthru = {
inherit compat24 compat26 unicode;
gtk = if withGtk2 then gtk2 else gtk3;
};

enableParallelBuilding = true;

meta = {
platforms = with platforms; darwin ++ linux;
license = licenses.wxWindows;
homepage = https://www.wxwidgets.org/;
description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
badPlatforms = [ "x86_64-darwin" ];
};
}
10 changes: 5 additions & 5 deletions pkgs/development/lua-modules/generated-packages.nix
Original file line number Diff line number Diff line change
@@ -867,19 +867,19 @@ luaevent = buildLuarocksPackage {
};
luaexpat = buildLuarocksPackage {
pname = "luaexpat";
version = "1.3.3-1";
version = "1.3.0-1";

src = fetchurl {
url = https://luarocks.org/luaexpat-1.3.3-1.src.rock;
sha256 = "0ahpfnby9qqgj22bajmrqvqq70nx19388lmjm9chljfzszy0hndm";
url = https://luarocks.org/luaexpat-1.3.0-1.src.rock;
sha256 = "15jqz5q12i9zvjyagzwz2lrpzya64mih8v1hxwr0wl2gsjh86y5a";
};
disabled = (luaOlder "5.0");
disabled = (luaOlder "5.1");
propagatedBuildInputs = [ lua ];

meta = with stdenv.lib; {
homepage = "http://www.keplerproject.org/luaexpat/";
description = "XML Expat parsing";
maintainers = with maintainers; [ flosse ];
maintainers = with maintainers; [ arobyn flosse ];
license = {
fullName = "MIT/X11";
};
2 changes: 0 additions & 2 deletions pkgs/development/node-packages/node-packages-v10.json
Original file line number Diff line number Diff line change
@@ -21,10 +21,8 @@
, "dhcp"
, "dnschain"
, "elasticdump"
, "elm-doc-preview"
, "elm-live"
, "elm-oracle"
, "elm-test"
, "emoj"
, "eslint"
, "eslint_d"
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/aniso8601/default.nix
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@

buildPythonPackage rec {
pname = "aniso8601";
version = "6.0.0";
version = "7.0.0";

meta = with stdenv.lib; {
description = "Parses ISO 8601 strings.";
@@ -17,6 +17,6 @@ buildPythonPackage rec {

src = fetchPypi {
inherit pname version;
sha256 = "1bylfskk08ahyma25i8w3mcd0kywpxqx6icv5p7m1z0i8srak9mq";
sha256 = "07jgf55yq2j2q76gaj3hakflnxg8yfkarzvrmq33i1dp6xk2ngai";
};
}
4 changes: 4 additions & 0 deletions pkgs/development/python-modules/black/default.nix
Original file line number Diff line number Diff line change
@@ -15,6 +15,10 @@ buildPythonPackage rec {

checkInputs = [ pytest glibcLocales ];

# Necessary for the tests to pass on Darwin with sandbox enabled.
# Black starts a local server and needs to bind a local address.
__darwinAllowLocalNetworking = true;

# Don't know why these tests fails
checkPhase = ''
LC_ALL="en_US.UTF-8" pytest \
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/cassandra-driver/default.nix
Original file line number Diff line number Diff line change
@@ -20,11 +20,11 @@

buildPythonPackage rec {
pname = "cassandra-driver";
version = "3.17.1";
version = "3.18.0";

src = fetchPypi {
inherit pname version;
sha256 = "1y6pnm7vzg9ip1nbly3i8mmwqmcy8g38ix74vdzvvaxwxil9bmvi";
sha256 = "1w9a7fdl626m977cjj9zclh4a0mr3s4q9jpwm1fsmpi7v3gbribi";
};

buildInputs = [
31 changes: 31 additions & 0 deletions pkgs/development/python-modules/gtts-token/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{ lib
, buildPythonPackage
, fetchPypi
, requests
}:

buildPythonPackage rec {
pname = "gtts-token";
version = "1.1.3";

src = fetchPypi {
pname = "gTTS-token";
inherit version;
sha256 = "9d6819a85b813f235397ef931ad4b680f03d843c9b2a9e74dd95175a4bc012c5";
};

propagatedBuildInputs = [
requests
];

# Tests only in github repo, require working internet connection
doCheck = false;

meta = with lib; {
description = "Calculates a token to run the Google Translate text to speech";
homepage = https://github.com/boudewijn26/gTTS-token;
license = licenses.mit;
maintainers = [ maintainers.makefu ];
};
}

9 changes: 6 additions & 3 deletions pkgs/development/python-modules/hidapi/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, libusb1, udev, fetchPypi, buildPythonPackage, cython }:
{ stdenv, libusb1, udev, darwin, fetchPypi, buildPythonPackage, cython }:

buildPythonPackage rec {
pname = "hidapi";
@@ -9,10 +9,13 @@ buildPythonPackage rec {
sha256 = "e0be1aa6566979266a8fc845ab0e18613f4918cf2c977fe67050f5dc7e2a9a97";
};

propagatedBuildInputs = [ libusb1 udev cython ];
propagatedBuildInputs =
stdenv.lib.optionals stdenv.isLinux [ libusb1 udev ] ++
stdenv.lib.optionals stdenv.isDarwin [ darwin.IOKit darwin.apple_sdk.frameworks.CoreFoundation ] ++
[ cython ];

# Fix the USB backend library lookup
postPatch = ''
postPatch = stdenv.lib.optionalString stdenv.isLinux ''
libusb=${libusb1.dev}/include/libusb-1.0
test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py
1 change: 1 addition & 0 deletions pkgs/development/python-modules/imgaug/default.nix
Original file line number Diff line number Diff line change
@@ -25,5 +25,6 @@ buildPythonPackage rec {
description = "Image augmentation for machine learning experiments";
license = licenses.mit;
maintainers = with maintainers; [ cmcdragonkai ];
broken = true; # opencv-python bindings aren't available yet, and look non-trivial
};
}
24 changes: 24 additions & 0 deletions pkgs/development/python-modules/mlrose/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{ stdenv, buildPythonPackage, fetchPypi, scikitlearn }:

buildPythonPackage rec {
pname = "mlrose";
version = "1.2.0";

src = fetchPypi {
inherit pname version;
sha256 = "0vsvqrf1wbbj8i198rqd87hf8rlq7fmv8mmibv8f9rhj0w8729p5";
};

propagatedBuildInputs = [ scikitlearn ];

postPatch = ''
sed -i 's,sklearn,scikit-learn,g' setup.py
'';

meta = with stdenv.lib; {
description = "Machine Learning, Randomized Optimization and SEarch";
homepage = "https://github.com/gkhayes/mlrose";
license = licenses.bsd3;
maintainers = with maintainers; [ abbradar ];
};
}
16 changes: 6 additions & 10 deletions pkgs/development/python-modules/msrest/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchPypi
, isPy3k
, requests
, requests_oauthlib
@@ -18,16 +18,12 @@
}:

buildPythonPackage rec {
version = "0.6.4";
version = "0.6.7";
pname = "msrest";

# no tests in PyPI tarball
# see https://github.com/Azure/msrest-for-python/pull/152
src = fetchFromGitHub {
owner = "Azure";
repo = "msrest-for-python";
rev = "v${version}";
sha256 = "0ilrc06qq0dw4qqzq1dq2vs6nymc39h19w52dwcyawwfalalnjzi";
src = fetchPypi {
inherit pname version;
sha256 = "07136g3j7zgcvkxki4v6q1p2dm1nzzc28181s8dwic0y4ml8qlq5";
};

propagatedBuildInputs = [
@@ -48,6 +44,6 @@ buildPythonPackage rec {
description = "The runtime library 'msrest' for AutoRest generated Python clients.";
homepage = "https://azure.microsoft.com/en-us/develop/python/";
license = licenses.mit;
maintainers = with maintainers; [ bendlas ];
maintainers = with maintainers; [ bendlas jonringer ];
};
}
29 changes: 23 additions & 6 deletions pkgs/development/python-modules/msrestazure/default.nix
Original file line number Diff line number Diff line change
@@ -1,25 +1,42 @@
{ pkgs
, lib
, buildPythonPackage
, fetchPypi
, fetchFromGitHub
, isPy3k
, adal
, msrest
, mock
, httpretty
, pytest
, pytest-asyncio
}:

buildPythonPackage rec {
version = "0.6.0";
version = "0.6.1";
pname = "msrestazure";

src = fetchPypi {
inherit pname version;
sha256 = "06s04f6nng4na2663kc12a3skiaqb631nscjfwpsrx4lzkf8bccr";
# Pypi tarball doesnt include tests
# see https://github.com/Azure/msrestazure-for-python/pull/133
src = fetchFromGitHub {
owner = "Azure";
repo = "msrestazure-for-python";
rev = "v${version}";
sha256 = "09swndz57131b8x57mzibnsr1sv0l80pk62p89q99gsd6mvc389c";
};

propagatedBuildInputs = [ adal msrest ];

checkInputs = [ httpretty mock pytest ]
++ lib.optional isPy3k [ pytest-asyncio ];

checkPhase = ''
pytest tests/
'';

meta = with pkgs.lib; {
description = "The runtime library 'msrestazure' for AutoRest generated Python clients.";
homepage = "https://azure.microsoft.com/en-us/develop/python/";
license = licenses.mit;
maintainers = with maintainers; [ bendlas ];
maintainers = with maintainers; [ bendlas jonringer ];
};
}
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/ndg-httpsclient/default.nix
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
}:

buildPythonPackage rec {
version = "0.4.2";
version = "0.5.1";
pname = "ndg-httpsclient";

propagatedBuildInputs = [ pyopenssl ];
@@ -14,7 +14,7 @@ buildPythonPackage rec {
owner = "cedadev";
repo = "ndg_httpsclient";
rev = version;
sha256 = "1kk4knv029j0cicfiv23c1rayc1n3f1j3rhl0527gxiv0qv4jw8h";
sha256 = "0lhsgs4am4xyjssng5p0vkfwqncczj1dpa0vss4lrhzq86mnn5rz";
};

# uses networking
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/progressbar2/default.nix
Original file line number Diff line number Diff line change
@@ -16,11 +16,11 @@

buildPythonPackage rec {
pname = "progressbar2";
version = "3.39.3";
version = "3.42.0";

src = fetchPypi {
inherit pname version;
sha256 = "0fgy4327xzn232br4as74r6ddg5v6ycmfwga7xybp4s1w0cm8nwf";
sha256 = "0a26r022lvz0vvwvhq2rfyl6h0hxbayvgbnajpnc0fc8f4gzr1n0";
};

postPatch = ''
29 changes: 29 additions & 0 deletions pkgs/development/python-modules/rig/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{ lib, buildPythonPackage, fetchPypi
, isPy34, isPy35, isPy27
, numpy, pytz, six, enum-compat, sentinel
}:

buildPythonPackage rec {
pname = "rig";
version = "2.4.1";

src = fetchPypi {
inherit pname version;
sha256 = "5a3896dbde3f291c5dd34769e7329ef5d5e4da34fee53479bd13dc5e5d540b8a";
};

propagatedBuildInputs = [ numpy pytz six sentinel enum-compat ];

# This is the list of officially supported versions. Other versions may work
# as well.
disabled = !(isPy35 || isPy34 || isPy27);

# Test Phase is only supported in development sources.
doCheck = false;

meta = with lib; {
description = "A collection of tools for developing SpiNNaker applications";
homepage = "https://github.com/project-rig/rig";
license = licenses.gpl2;
};
}
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/sasmodels/default.nix
Original file line number Diff line number Diff line change
@@ -4,13 +4,13 @@

buildPythonPackage rec {
pname = "sasmodels";
version = "0.99";
version = "1.0.0";

src = fetchFromGitHub {
owner = "SasView";
repo = "sasmodels";
rev = "v${version}";
sha256 = "1lcvn42h29i0mg4i75xn0dbk711q9ycyhm3h95skqy8i61qmjrx6";
sha256 = "082wnk10axincc4a62zxyr33l7v80yf7iz630y3421b50fwwyd8j";
};

buildInputs = [ opencl-headers ];
17 changes: 17 additions & 0 deletions pkgs/development/python-modules/sentinel/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{ lib, buildPythonPackage, fetchPypi}:

buildPythonPackage rec {
pname = "sentinel";
version = "0.1.1";

src = fetchPypi {
inherit pname version;
sha256 = "c00ba2a4f240ea4c5414059a696d6e128730272cb2c631b2eff42e86da1f89b3";
};

meta = with lib; {
description = "Create sentinel and singleton objects";
homepage = "https://github.com/eddieantonio/sentinel";
license = licenses.mit;
};
}
14 changes: 7 additions & 7 deletions pkgs/development/tools/analysis/radare2/default.nix
Original file line number Diff line number Diff line change
@@ -109,17 +109,17 @@ in {
#<generated>
# DO NOT EDIT! Automatically generated by ./update.py
radare2 = generic {
version_commit = "21875";
gittap = "3.5.1";
gittip = "4ec482ba2d4f554beeafb3aa47758e970bcab937";
rev = "3.5.1";
version = "3.5.1";
sha256 = "1vpk5brxs5p4vj02vr0mp0wdily03c3shbyrqz6m85nbxdjhkcd8";
version_commit = "22227";
gittap = "3.6.0";
gittip = "ff3bb6e3b2e6a519b4c975d05758c171a5186389";
rev = "3.6.0";
version = "3.6.0";
sha256 = "0vp94qzznqv87vvjbyyj6swkm6gl7byqvb1jv23i8i42zi5n7qmd";
cs_ver = "4.0.1";
cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
};
r2-for-cutter = generic {
version_commit = "21875";
version_commit = "22227";
gittap = "3.3.0";
gittip = "5a9127d2599c8ff61d8544be7d4c9384402e94a3";
rev = "5a9127d2599c8ff61d8544be7d4c9384402e94a3";
99 changes: 81 additions & 18 deletions pkgs/development/tools/build-managers/bazel/default.nix
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
# this package (through the fixpoint glass)
, bazel
, lr, xe, zip, unzip, bash, writeCBin, coreutils
, which, python, gawk, gnused, gnutar, gnugrep, gzip, findutils
, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
# updater
, python3, writeScript
# Apple dependencies
@@ -14,38 +14,41 @@
# Always assume all markers valid (don't redownload dependencies).
# Also, don't clean up environment variables.
, enableNixHacks ? false
, gcc-unwrapped
, autoPatchelfHook
}:

let
version = "0.26.1";
version = "0.27.0";

src = fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
sha256 = "000ny51hwnjyizm1md4w8q7m832jhf3c767pgbvg6nc7h67lzsf0";
sha256 = "0yn662dzgfr8ls4avfl12k5sr4f210bab12wml18bh4sjlxhs263";
};

# Update with `eval $(nix-build -A bazel.updater)`,
# then add new dependencies from the dict in ./src-deps.json as required.
srcDeps =
srcDeps = lib.attrsets.attrValues srcDepsSet;
srcDepsSet =
let
srcs = (builtins.fromJSON (builtins.readFile ./src-deps.json));
toFetchurl = d: fetchurl {
toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
name = d.name;
urls = d.urls;
sha256 = d.sha256;
};
in map toFetchurl [
});
in builtins.listToAttrs (map toFetchurl [
srcs.desugar_jdk_libs
srcs.io_bazel_skydoc
srcs.bazel_skylib
srcs.io_bazel_rules_sass
(if stdenv.hostPlatform.isDarwin
then srcs.${"java_tools_javac10_darwin-v3.2.zip"}
else srcs.${"java_tools_javac10_linux-v3.2.zip"})
then srcs.${"java_tools_javac11_darwin-v2.0.zip"}
else srcs.${"java_tools_javac11_linux-v2.0.zip"})
srcs.${"coverage_output_generator-v1.0.zip"}
srcs.build_bazel_rules_nodejs
srcs.${"android_tools_pkg-0.2.tar.gz"}
];
srcs.${"android_tools_pkg-0.4.tar.gz"}
]);

distDir = runCommand "bazel-deps" {} ''
mkdir -p $out
@@ -87,6 +90,33 @@ let

platforms = lib.platforms.linux ++ lib.platforms.darwin;

# This repository is fetched by bazel at runtime
# however it contains prebuilt java binaries, with wrong interpreter
# and libraries path.
# We prefetch it, patch it, and override it in a global bazelrc.
system = if stdenv.hostPlatform.isDarwin
then "darwin" else "linux";

remote_java_tools = stdenv.mkDerivation {
name = "remote_java_tools_${system}";

src = srcDepsSet."java_tools_javac11_${system}-v2.0.zip";

nativeBuildInputs = [ autoPatchelfHook unzip ];
buildInputs = [ gcc-unwrapped ];

sourceRoot = ".";

buildPhase = ''
mkdir $out;
'';

installPhase = ''
cp -Ra * $out/
touch $out/WORKSPACE
'';
};

in
stdenv.mkDerivation rec {
name = "bazel-${version}";
@@ -117,6 +147,7 @@ stdenv.mkDerivation rec {
runLocal = name: attrs: script: runCommandCC name ({
preferLocalBuild = true;
meta.platforms = platforms;
buildInputs = [ python3 ];
} // attrs) script;

# bazel wants to extract itself into $install_dir/install every time it runs,
@@ -258,8 +289,8 @@ stdenv.mkDerivation rec {
# Substitute python's stub shebang to plain python path. (see TODO add pr URL)
# See also `postFixup` where python is added to $out/nix-support
substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt\
--replace "/usr/bin/env python" "${python}/bin/python" \
--replace "NIX_STORE_PYTHON_PATH" "${python}/bin/python" \
--replace "/usr/bin/env python" "${python3}/bin/python" \
--replace "NIX_STORE_PYTHON_PATH" "${python3}/bin/python" \

# md5sum is part of coreutils
sed -i 's|/sbin/md5|md5sum|' \
@@ -275,6 +306,11 @@ stdenv.mkDerivation rec {
--replace /bin/true ${coreutils}/bin/true
done

# bazel test runner include references to /bin/bash
substituteInPlace tools/build_rules/test_rules.bzl \
--replace /bin/bash ${customBash}/bin/bash


# Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
substituteInPlace scripts/bootstrap/compile.sh \
--replace /bin/bash ${customBash}/bin/bash
@@ -323,19 +359,26 @@ stdenv.mkDerivation rec {
mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash

patchShebangs .

# bazel reads its system bazelrc in /etc
# override this path to a builtin one
substituteInPlace \
src/main/cpp/option_processor.cc \
--replace BAZEL_SYSTEM_BAZELRC_PATH "\"$out/etc/bazelrc\""
'';
in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
+ genericPatches;

buildInputs = [
buildJdk
python3
];

# when a command can’t be found in a bazel build, you might also
# need to add it to `defaultShellPath`.
nativeBuildInputs = [
zip
python
python3
unzip
makeWrapper
which
@@ -375,20 +418,40 @@ stdenv.mkDerivation rec {

wrapProgram "$out/bin/bazel" --add-flags --server_javabase="${runJdk}"

# generates the system bazelrc
# warning: the name of the repository depends on the system, hence
# the reference to .name
mkdir $out/etc
echo "build --override_repository=${remote_java_tools.name}=${remote_java_tools}" > $out/etc/bazelrc

# shell completion files
mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
'';

# Temporarily disabling for now. A new approach is needed for this derivation as Bazel
# accesses the internet during the tests which fails in a sandbox.
doInstallCheck = false;
doInstallCheck = true;
installCheckPhase = ''
export TEST_TMPDIR=$(pwd)

tar xf ${srcDepsSet.io_bazel_skydoc} -C $TEST_TMPDIR
mv $(ls | grep skydoc-) io_bazel_skydoc

tar xf ${srcDepsSet.bazel_skylib} -C $TEST_TMPDIR
mv $(ls | grep bazel-skylib-) bazel_skylib

tar xf ${srcDepsSet.io_bazel_rules_sass} -C $TEST_TMPDIR
mv $(ls | grep rules_sass-) rules_sass

unzip ${srcDepsSet.build_bazel_rules_nodejs} -d $TEST_TMPDIR
mv rules_nodejs-0.16.2 build_bazel_rules_nodejs

hello_test () {
$out/bin/bazel test \
--override_repository=io_bazel_skydoc=$TEST_TMPDIR/io_bazel_skydoc \
--override_repository=bazel_skylib=$TEST_TMPDIR/bazel_skylib \
--override_repository=io_bazel_rules_sass=$TEST_TMPDIR/rules_sass \
--override_repository=build_bazel_rules_nodejs=$TEST_TMPDIR/build_bazel_rules_nodejs \
--test_output=errors \
--java_toolchain='${javaToolchain}' \
examples/cpp:hello-success_test \
@@ -424,7 +487,7 @@ stdenv.mkDerivation rec {
echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
# The templates get tar’d up into a .jar,
# so nix can’t detect python is needed in the runtime closure
echo "${python}" >> $out/nix-support/depends
echo "${python3}" >> $out/nix-support/depends
'';

dontStrip = true;
39 changes: 23 additions & 16 deletions pkgs/development/tools/build-managers/bazel/src-deps.json
Original file line number Diff line number Diff line change
@@ -23,11 +23,11 @@
"https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
]
},
"android_tools_pkg-0.2.tar.gz": {
"name": "android_tools_pkg-0.2.tar.gz",
"sha256": "04f85f2dd049e87805511e3babc5cea3f5e72332b1627e34f3a5461cc38e815f",
"android_tools_pkg-0.4.tar.gz": {
"name": "android_tools_pkg-0.4.tar.gz",
"sha256": "331e7706f2bcae8a68057d8ddd3e3f1574bca26c67c65802fc4a8ac6164fa912",
"urls": [
"https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.2.tar.gz"
"https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.4.tar.gz"
]
},
"bazel_j2objc": {
@@ -134,25 +134,25 @@
"https://github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz"
]
},
"java_tools_javac10_darwin-v3.2.zip": {
"name": "java_tools_javac10_darwin-v3.2.zip",
"sha256": "1437327179b4284f7082cee0bdc3328f040e62fc5cc59c32f6824b8c520e2b7b",
"java_tools_javac11_darwin-v2.0.zip": {
"name": "java_tools_javac11_darwin-v2.0.zip",
"sha256": "0ceb0c9ff91256fe33508306bc9cd9e188dcca38df78e70839d426bdaef67a38",
"urls": [
"https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.2/java_tools_javac10_darwin-v3.2.zip"
"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v2.0/java_tools_javac11_darwin-v2.0.zip"
]
},
"java_tools_javac10_linux-v3.2.zip": {
"name": "java_tools_javac10_linux-v3.2.zip",
"sha256": "b93e7c556b01815afb6c248aa73f06b7ec912805bde8898eedac1e20d08f2e67",
"java_tools_javac11_linux-v2.0.zip": {
"name": "java_tools_javac11_linux-v2.0.zip",
"sha256": "074d624fb34441df369afdfd454e75dba821d5d54932fcfee5ba598d17dc1b99",
"urls": [
"https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.2/java_tools_javac10_linux-v3.2.zip"
"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v2.0/java_tools_javac11_linux-v2.0.zip"
]
},
"java_tools_javac10_windows-v3.2.zip": {
"name": "java_tools_javac10_windows-v3.2.zip",
"sha256": "86d3cc7fa0dc91ccb8f78ae3af8440fe459177e22062043ee4b83d55e6b7dfb0",
"java_tools_javac11_windows-v2.0.zip": {
"name": "java_tools_javac11_windows-v2.0.zip",
"sha256": "2c3fc0ce7d30d60e26f4b8a36e2eadcf9e6a9d5a51b667d3d13b78db53b24251",
"urls": [
"https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.2/java_tools_javac10_windows-v3.2.zip"
"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v2.0/java_tools_javac11_windows-v2.0.zip"
]
},
"java_tools_langtools_javac10": {
@@ -162,6 +162,13 @@
"https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk10.zip"
]
},
"java_tools_langtools_javac11": {
"name": "java_tools_langtools_javac11",
"sha256": "128a63f39d3f828a761f6afcfe3c6115279336a72ea77f60d7b3acf1841c9acb",
"urls": [
"https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11.zip"
]
},
"java_tools_langtools_javac9": {
"name": "java_tools_langtools_javac9",
"sha256": "3b6bbc47256acf2f61883901e2d4e3f9b292f5fe154a6912b928805de24cb864",
4 changes: 2 additions & 2 deletions pkgs/development/tools/build-managers/shards/default.nix
Original file line number Diff line number Diff line change
@@ -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 ];
15 changes: 12 additions & 3 deletions pkgs/development/tools/electron/default.nix
Original file line number Diff line number Diff line change
@@ -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[@]}"
'';
};

19 changes: 8 additions & 11 deletions pkgs/development/tools/lazygit/default.nix
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:

buildGoPackage rec {
name = "lazygit-${version}";
version = "0.7.2";
pname = "lazygit";
version = "0.8";

goPackagePath = "github.com/jesseduffield/lazygit";

subPackages = [ "." ];

src = fetchFromGitHub {
owner = "jesseduffield";
repo = "lazygit";
repo = pname;
rev = "v${version}";
sha256 = "1b5mzmxw715cx7b0n22hvrpk0dbavzypljc7skwmh8k1nlx935jj";
sha256 = "0zynw5gr96a59x1qshzhhvld883ndf1plnw6l9dbhmff0wcfv6l1";
};

postPatch = ''
rm -rf scripts
'';

meta = with stdenv.lib; {
inherit (src.meta) homepage;
description = "Simple terminal UI for git commands";
homepage = "https://github.com/jesseduffield/lazygit";
license = licenses.mit;
maintainers = with stdenv.lib.maintainers; [ fpletz ];
platforms = stdenv.lib.platforms.unix;
maintainers = with maintainers; [ fpletz ];
};
}
9 changes: 5 additions & 4 deletions pkgs/development/tools/scry/default.nix
Original file line number Diff line number Diff line change
@@ -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
20 changes: 20 additions & 0 deletions pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch
Original file line number Diff line number Diff line change
@@ -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"
28 changes: 28 additions & 0 deletions pkgs/development/tools/yj/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:

buildGoPackage rec {
name = "yj-${version}";
version = "4.0.0";
rev = "d9a48607cc5c812e8cf4abccc8ad26f37ab51558";

goPackagePath = "github.com/sclevine/yj";

src = fetchgit {
inherit rev;
url = "https://github.com/sclevine/yj";
sha256 = "04irphzs6hp9hvyski29ad29ga1kis3h8bw7jqvmy2c2rkrrsh7x";
};

goDeps = ./deps.nix;

meta = with stdenv.lib; {
description = ''Convert YAML <=> TOML <=> JSON <=> HCL'';
license = licenses.asl20;
maintainers = with maintainers; [ Profpatsch ];
platforms = platforms.all;
downloadPage = "https://github.com/sclevine/yj";
updateWalker = true;
inherit version;
};
}
30 changes: 30 additions & 0 deletions pkgs/development/tools/yj/deps.nix

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions pkgs/misc/acpilight/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, fetchgit, python3, udev, coreutils }:
{ stdenv, fetchgit, python3, coreutils }:

stdenv.mkDerivation rec {
pname = "acpilight";
@@ -16,9 +16,10 @@ stdenv.mkDerivation rec {

postConfigure = ''
substituteInPlace 90-backlight.rules --replace /bin ${coreutils}/bin
substituteInPlace Makefile --replace udevadm true
'';

buildInputs = [ pyenv udev ];
buildInputs = [ pyenv ];

makeFlags = [ "DESTDIR=$(out) prefix=" ];

60 changes: 30 additions & 30 deletions pkgs/misc/vim-plugins/generated.nix
Original file line number Diff line number Diff line change
@@ -248,12 +248,12 @@ let

coc-nvim = buildVimPluginFrom2Nix {
pname = "coc-nvim";
version = "2019-06-21";
version = "2019-06-24";
src = fetchFromGitHub {
owner = "neoclide";
repo = "coc.nvim";
rev = "0cf54ed4f19374a7d6a81528675497ef82214e95";
sha256 = "1dvwwzhw26rf82k03j1a82axga07nsihlnx6vhj9v9ab2di005i1";
rev = "5e9594d9da22e4eb840cb102513bebc77bab7300";
sha256 = "036ig6902vwrqnj052s6631lx4k4m0p5y2238287p8qmxgj7x9d6";
};
};

@@ -425,12 +425,12 @@ let

denite-nvim = buildVimPluginFrom2Nix {
pname = "denite-nvim";
version = "2019-06-22";
version = "2019-06-23";
src = fetchFromGitHub {
owner = "Shougo";
repo = "denite.nvim";
rev = "d1d1ac5a8e2a91fe99c5bb66ca32d6b85f9ac735";
sha256 = "1np25k6vs7xkd1ljajhiifmxiaz1cpvq0syzhdr21d81dfi1piil";
rev = "9a5e321ced689771c052f68a8125c0a44ad3389a";
sha256 = "16l85820490h1l44idk3jsz5xyckyvcyi42a88bw0ms70nnh2569";
};
};

@@ -926,12 +926,12 @@ let

jedi-vim = buildVimPluginFrom2Nix {
pname = "jedi-vim";
version = "2019-04-28";
version = "2019-06-22";
src = fetchFromGitHub {
owner = "davidhalter";
repo = "jedi-vim";
rev = "69aa410afaefbecbcaac2a8254af7bed290d6927";
sha256 = "0wd29y66k12rndh1zf3wfdz3gqv25dahf0m61rg3zii6dcyk0qsd";
rev = "016fb7c78e3971ab662796d2abf5f2f4a227e1a1";
sha256 = "1zzidg4n7ir00q9l4y8g7dqfdzph0f7j7022n032vlfj8yr5mc92";
fetchSubmodules = true;
};
};
@@ -1257,12 +1257,12 @@ let

neoterm = buildVimPluginFrom2Nix {
pname = "neoterm";
version = "2019-06-21";
version = "2019-06-22";
src = fetchFromGitHub {
owner = "kassio";
repo = "neoterm";
rev = "86eaa7552859effa21a1688e1aeb9f3db5cad784";
sha256 = "1fg027lk4w1zj7300jmwqhcwywcsz10wxdq0pi23zqvz274nbl5f";
rev = "f974a6e3c70f0591b76c196d6e6b2c20649e94c4";
sha256 = "0wr4s52jfdhxm5zf6i46skrs8hjlf5w3c0wcrxjnszykza9d6whl";
};
};

@@ -1939,12 +1939,12 @@ let

typescript-vim = buildVimPluginFrom2Nix {
pname = "typescript-vim";
version = "2019-05-03";
version = "2019-06-23";
src = fetchFromGitHub {
owner = "leafgarland";
repo = "typescript-vim";
rev = "7704fac2c765aaf975ad4034933bf63113dd4a64";
sha256 = "1cjqqbaaa2ns1c916skqcgqy9yv7l9b457bfay5gv1p364y35msk";
rev = "5a319ea5504e18215d155576c78d1b7fb8e22c8f";
sha256 = "1hz42blc1sshkms9ramdhzwnphqs26p83q8smw5y14blp1zdb628";
};
};

@@ -2269,12 +2269,12 @@ let

vim-android = buildVimPluginFrom2Nix {
pname = "vim-android";
version = "2019-06-21";
version = "2019-06-24";
src = fetchFromGitHub {
owner = "hsanson";
repo = "vim-android";
rev = "d7c9d7297100e4a3a501be185b34048553561bba";
sha256 = "0ly3vi5w6gx78p3y3xs2mzhiymbw53yfcpr33sb1h7z1zcs6987w";
rev = "cd91def12383b2f3f4714ff9cc0bef2101d0860b";
sha256 = "1wv3saj204rnlzm4jvg33b77jqwhwynq31h97mmnmdyc6hg57s65";
};
};

@@ -2511,12 +2511,12 @@ let

vim-devicons = buildVimPluginFrom2Nix {
pname = "vim-devicons";
version = "2019-06-21";
version = "2019-06-23";
src = fetchFromGitHub {
owner = "ryanoasis";
repo = "vim-devicons";
rev = "0468bc8fb183e1e7c1ffacd7b3f8e9c7f813f49d";
sha256 = "0r063bdffjvkawjy4k2j88f0q9b39qgjcxsn7zzi71vs4c07xmsi";
rev = "793fda61101f02fed05d30d606671f9b933452fb";
sha256 = "0x04rh5jy82g7q7im4lvlh1akz4jl3l5swc3xv82saxymzycpgyw";
};
};

@@ -2665,12 +2665,12 @@ let

vim-fireplace = buildVimPluginFrom2Nix {
pname = "vim-fireplace";
version = "2019-06-21";
version = "2019-06-23";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-fireplace";
rev = "41698572eedf1f18027353d5f67b92b851cb5d14";
sha256 = "1sdiqkqq77jqcbqhm93kjba8r30n68jvd93zxrszk891q1i666ss";
rev = "e78995b7fc93357c86f66d78b65803e473b8e356";
sha256 = "05wbnpqpd65vyvaq5maxaq06dcc5k6z5hc7hbk82slm52avk92lm";
};
};

@@ -3183,12 +3183,12 @@ let

vim-lsc = buildVimPluginFrom2Nix {
pname = "vim-lsc";
version = "2019-06-11";
version = "2019-06-23";
src = fetchFromGitHub {
owner = "natebosch";
repo = "vim-lsc";
rev = "d4d34070c74261d749a74c1990c7e6ecf7b500bb";
sha256 = "0gba7lhzd8l0mdkkgw2ahwq3n0x2kz3bghqx06ah77w642kq4sdr";
rev = "57f6e1aaed6a89054335b71aac89be9a607faad3";
sha256 = "04mfxpszngmqw052h3yb9iq0xj95fg38jr8x7jqxdpgr3i5c5z9r";
};
};

@@ -4118,12 +4118,12 @@ let

vimtex = buildVimPluginFrom2Nix {
pname = "vimtex";
version = "2019-06-17";
version = "2019-06-22";
src = fetchFromGitHub {
owner = "lervag";
repo = "vimtex";
rev = "c7cbc9d662c0520e769faddb2d952f4992c83049";
sha256 = "05kb1wlkbajqfw93524f86b5v2437zg20vxa4f5gjdc70la0gw22";
rev = "4240669fbb31f9bab15abe5e41a8d5a11f3d4ccb";
sha256 = "1yldk7pms48d6f82q547r2vy6xb8fa0c2s6f8mp0riwiypiaqj6l";
};
};

4 changes: 2 additions & 2 deletions pkgs/misc/vim-plugins/overrides.nix
Original file line number Diff line number Diff line change
@@ -111,10 +111,10 @@ self: super: {


coc-nvim = let
version = "0.0.69";
version = "0.0.71";
index_js = fetchzip {
url = "https://github.com/neoclide/coc.nvim/releases/download/v${version}/coc.tar.gz";
sha256 = "1qnznpb39bbhimzbhsvpsdkg87dv3yxzs1vr3kaikl3kpakik9p8";
sha256 = "1bhkyrmrpriizg3f76x4vp94f2bfwcf7a6cp3jvv7vj4zaqhsjzz";
};
in super.coc-nvim.overrideAttrs(old: {
# you still need to enable the node js provider in your nvim config
7 changes: 7 additions & 0 deletions pkgs/os-specific/darwin/apple-sdk/default.nix
Original file line number Diff line number Diff line change
@@ -211,6 +211,13 @@ in rec {
--replace "QuartzCore/../Frameworks/CoreImage.framework/Headers" "CoreImage"
'';
});

MetalKit = stdenv.lib.overrideDerivation super.MetalKit (drv: {
installPhase = drv.installPhase + ''
mkdir -p $out/include/simd
cp ${lib.getDev sdk}/include/simd/*.h $out/include/simd/
'';
});
};

bareFrameworks = stdenv.lib.mapAttrs framework (import ./frameworks.nix {
2 changes: 2 additions & 0 deletions pkgs/os-specific/darwin/apple-sdk/frameworks.nix
Original file line number Diff line number Diff line change
@@ -74,6 +74,8 @@ with frameworks; with libs; {
MediaAccessibility = [ CF CoreGraphics CoreText QuartzCore ];
MediaToolbox = [ AudioToolbox AudioUnit CF CoreMedia ];
Metal = [];
MetalKit = [ ModelIO Metal ];
ModelIO = [ ];
NetFS = [ CF ];
OSAKit = [ Carbon ];
OpenAL = [];
3 changes: 3 additions & 0 deletions pkgs/os-specific/linux/kernel/common-config.nix
Original file line number Diff line number Diff line change
@@ -710,6 +710,9 @@ let
# Bump the maximum number of CPUs to support systems like EC2 x1.*
# instances and Xeon Phi.
NR_CPUS = freeform "384";
} // optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") {
# Enables support for the Allwinner Display Engine 2.0
SUN8I_DE2_CCU = whenAtLeast "4.13" yes;
};
};
in
18 changes: 0 additions & 18 deletions pkgs/os-specific/linux/kernel/linux-5.0.nix

This file was deleted.

47 changes: 0 additions & 47 deletions pkgs/os-specific/linux/kernel/linux-mptcp-93.nix

This file was deleted.

26 changes: 26 additions & 0 deletions pkgs/os-specific/linux/kernel/linux-mptcp-94.nix
Original file line number Diff line number Diff line change
@@ -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)
27 changes: 27 additions & 0 deletions pkgs/os-specific/linux/kernel/linux-mptcp-95.nix
Original file line number Diff line number Diff line change
@@ -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)
49 changes: 0 additions & 49 deletions pkgs/os-specific/linux/kernel/linux-mptcp.nix

This file was deleted.

28 changes: 28 additions & 0 deletions pkgs/os-specific/linux/kernel/mptcp-config.nix
Original file line number Diff line number Diff line change
@@ -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;
}
4 changes: 2 additions & 2 deletions pkgs/servers/documize-community/default.nix
Original file line number Diff line number Diff line change
@@ -2,13 +2,13 @@

buildGoPackage rec {
pname = "documize-community";
version = "2.5.1";
version = "3.0.0";

src = fetchFromGitHub {
owner = "documize";
repo = "community";
rev = "v${version}";
sha256 = "1y6x5la0q1cbapayw5vbqk4i3bhj9i9008cmj22wx6fp0x7vshxi";
sha256 = "01q7yx35gp41lnm9zbwq0maf7wiv86mi6fww3hl1cddmgdlksss9";
};

goPackagePath = "github.com/documize/community";
2 changes: 1 addition & 1 deletion pkgs/servers/home-assistant/component-packages.nix
Original file line number Diff line number Diff line change
@@ -259,7 +259,7 @@
"google_domains" = ps: with ps; [ ];
"google_maps" = ps: with ps; [ ];
"google_pubsub" = ps: with ps; [ google_cloud_pubsub ];
"google_translate" = ps: with ps; [ ];
"google_translate" = ps: with ps; [ gtts-token ];
"google_travel_time" = ps: with ps; [ ];
"google_wifi" = ps: with ps; [ ];
"googlehome" = ps: with ps; [ ];
8 changes: 4 additions & 4 deletions pkgs/servers/http/tomcat/default.nix
Original file line number Diff line number Diff line change
@@ -44,13 +44,13 @@ in {

tomcat85 = common {
versionMajor = "8";
versionMinor = "5.35";
sha256 = "0n6agr2wn8m5mv0asz73hy2194n9rk7mh5wsp2pz7aq0andbhh5s";
versionMinor = "5.42";
sha256 = "1d90abwwvl0ghr0g0drk48j37wr2zgw74vws9z2rshyzrwgbvgp3";
};

tomcat9 = common {
versionMajor = "9";
versionMinor = "0.13";
sha256 = "1rsrnmkkrbzrj56jk2wh8hrr79kfkk3fz1j0abk3midn1jnbgxxq";
versionMinor = "0.21";
sha256 = "0nsylbqvky4pf3wpsx3a29b85lvwk91ay37mljk9636qffjj1vjh";
};
}
4 changes: 2 additions & 2 deletions pkgs/servers/mqtt/mosquitto/default.nix
Original file line number Diff line number Diff line change
@@ -4,13 +4,13 @@

stdenv.mkDerivation rec {
name = "mosquitto-${version}";
version = "1.6.2";
version = "1.6.3";

src = fetchFromGitHub {
owner = "eclipse";
repo = "mosquitto";
rev = "v${version}";
sha256 = "1n0rr4564a80b1km72myqa8qx4ak2jk55irx7d1vlgihgp88j3wm";
sha256 = "1xvfcqi6pa5pdnqd88gz9qx6kl2q47xp7l3q5wwgj0l9y9mlxp99";
};

postPatch = ''
4 changes: 2 additions & 2 deletions pkgs/servers/samba/4.x.nix
Original file line number Diff line number Diff line change
@@ -20,11 +20,11 @@ with lib;

stdenv.mkDerivation rec {
name = "samba-${version}";
version = "4.10.4";
version = "4.10.5";

src = fetchurl {
url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
sha256 = "0xhfbh42dihccc85ffx243lyhf3jnphhi6xfcsr3a6mhsm7w1p26";
sha256 = "0xb3mz38hcayqxchk0ws9mxn10vswsn97jbxl4gcwi4cbrnjc43c";
};

outputs = [ "out" "dev" "man" ];
23 changes: 14 additions & 9 deletions pkgs/tools/archivers/unp/default.nix
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
{ stdenv, lib, fetchurl, makeWrapper, perl, unrar, unzip, gzip, file, extraBackends ? [] }:
{ stdenv, lib, fetchurl, makeWrapper, perl
, unzip, gzip, file
# extractors which are added to unp’s PATH
, extraBackends ? []
}:

stdenv.mkDerivation rec {
let
runtime_bins = [ file unzip gzip ] ++ extraBackends;

in stdenv.mkDerivation rec {
name = "unp-${version}";
version = "2.0-pre7";

runtime_bins = [ file unrar unzip gzip ] ++ extraBackends;
buildInputs = [ perl makeWrapper ] ++ runtime_bins;
buildInputs = [ perl makeWrapper ];

src = fetchurl {
# url = "http://http.debian.net/debian/pool/main/u/unp/unp_2.0~pre7+nmu1.tar.bz2";
@@ -18,10 +23,10 @@ stdenv.mkDerivation rec {
buildPhase = "true";
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/man
cp unp $out/bin/
cp ucat $out/bin/
cp debian/unp.1 $out/share/man
mkdir -p $out/share/man/man1
install ./unp $out/bin/unp
install ./ucat $out/bin/ucat
cp debian/unp.1 $out/share/man/man1

wrapProgram $out/bin/unp \
--prefix PATH : ${lib.makeBinPath runtime_bins}
6 changes: 3 additions & 3 deletions pkgs/tools/misc/skim/default.nix
Original file line number Diff line number Diff line change
@@ -2,18 +2,18 @@

rustPlatform.buildRustPackage rec {
pname = "skim";
version = "0.6.4";
version = "0.6.8";

src = fetchFromGitHub {
owner = "lotabout";
repo = pname;
rev = "v${version}";
sha256 = "0ywrqfxxqv7mpm4szw8n3hcvc4jn9a490j9s7qh3vzqgrsx2sxk3";
sha256 = "00sx1pyj0a9hkv9b8g3iykkw303vnqziddp2600nvfr8x8pd01gi";
};

outputs = [ "out" "vim" ];

cargoSha256 = "1rwb0yvqpxp1pikdw6345n035krx0qcx4f5di89841fhr123zv0w";
cargoSha256 = "1kqawnyddv4pjyiaizw3ydqk6hl4ng6xfw9ixy58rb1vk591kq8w";

patchPhase = ''
sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/skim.vim
Loading