Skip to content
This repository has been archived by the owner on Apr 12, 2021. It is now read-only.
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-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 955babff2ee3
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9f973593c81e
Choose a head ref

Commits on Mar 31, 2020

  1. qxw: init at 20190909

    tckmn committed Mar 31, 2020
    Copy the full SHA
    262e5b2 View commit details

Commits on Jun 23, 2020

  1. Copy the full SHA
    8f9be1d View commit details

Commits on Sep 18, 2020

  1. qxw: 20190909 -> 20200708

    tckmn committed Sep 18, 2020
    Copy the full SHA
    56cb90b View commit details

Commits on Sep 25, 2020

  1. Verified

    This commit was signed with the committer’s verified signature.
    kevincox Kevin Cox
    Copy the full SHA
    36a68c8 View commit details
  2. backblaze-b2: 1.3.8 -> 2.0.2

    kevincox committed Sep 25, 2020

    Verified

    This commit was signed with the committer’s verified signature.
    kevincox Kevin Cox
    Copy the full SHA
    28142d6 View commit details

Commits on Sep 26, 2020

  1. tegola: 0.12.0 -> 0.12.1

    r-ryantm committed Sep 26, 2020
    Copy the full SHA
    cb81430 View commit details

Commits on Sep 27, 2020

  1. Copy the full SHA
    8b0aaac View commit details
  2. vault: 1.5.3 -> 1.5.4

    marsam committed Sep 27, 2020
    Copy the full SHA
    8176112 View commit details
  3. vault-bin: 1.5.3 -> 1.5.4

    marsam committed Sep 27, 2020
    Copy the full SHA
    ae90a6e View commit details
  4. Copy the full SHA
    a514f5f View commit details
  5. Copy the full SHA
    b6e21a7 View commit details
  6. Copy the full SHA
    9778b46 View commit details

Commits on Sep 28, 2020

  1. perldevel: 5.33.1 -> 5.33.2

    dependencies:
    perl-cross: 15ca5359f99698ef0a199bc307b7956c08907abc -> f59d2b6a179760230d925550db78b93c410433e4
    stigtsp committed Sep 28, 2020

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    stigtsp Stig
    Copy the full SHA
    6c44133 View commit details
  2. blender: 2.90.0 -> 2.90.1

    valencik committed Sep 28, 2020
    Copy the full SHA
    0750143 View commit details
  3. act: 0.2.13 -> 0.2.15

    marsam committed Sep 28, 2020
    Copy the full SHA
    3b1f5dc View commit details
  4. Copy the full SHA
    202f4bd View commit details
  5. Copy the full SHA
    6bb6779 View commit details
  6. programs.neovim: init (#98506)

    * programs.neovim: init
    
    Allows to build a proper runtime folder with after/ ftplugin/ parser/ subfolders etc.
    (neo)vim expects a few different folders, for instance to load
    treesitter parsers.
    
    This PR reuses the builder from the etc module, notwithstanding the
    different modes/uid/gid.
    
    This allows to get rid of some autocmd in customRC (via proper use of
    the folder hierarchy) which is a win in my opinion.
    teto authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    1e510a6 View commit details
  7. Merge pull request #98919 from TredwellGit/nixos/hardened

    nixos/hardened: update blacklisted filesystems
    joachifm authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    173167d View commit details
  8. Merge pull request #98454 from stigtsp/package/perl-5.33.2

    perldevel: 5.33.1 -> 5.33.2, perl-cross: 15ca535 -> f59d2b6
    stigtsp authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    9015160 View commit details
  9. Verified

    This commit was signed with the committer’s verified signature.
    shlevy Shea Levy
    Copy the full SHA
    55dc3b7 View commit details
  10. nixpkgs-review: 2.4.0 -> 2.4.1

    Jonathan Ringer committed Sep 28, 2020

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    jonringer Jonathan Ringer
    Copy the full SHA
    6d812f2 View commit details
  11. pythonPackages.psautohint: 2.1.0 → 2.1.1

    sternenseemann authored and Jon committed Sep 28, 2020
    Copy the full SHA
    a10e457 View commit details
  12. Copy the full SHA
    b90908a View commit details
  13. Merge pull request #98984 from marsam/update-vault

    vault: 1.5.3 -> 1.5.4
    LnL7 authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    d42e6e2 View commit details
  14. python27Packages.hg-evolve: 10.0.1 -> 10.0.2

    r-ryantm authored and Jon committed Sep 28, 2020
    Copy the full SHA
    e378c36 View commit details
  15. python37Packages.biopython: 1.77 -> 1.78

    r-ryantm authored and Jon committed Sep 28, 2020
    Copy the full SHA
    76dbece View commit details
  16. programs.neovim: fix documentation (#99023)

    brackets broke doc generation on master
    teto authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    cd7db06 View commit details
  17. nixos/security/wrapper: ensure the tmpfs is not world writeable

    The /run/wrapper directory is a tmpfs. Unfortunately, it's mounted with
    its root directory has the standard (for tmpfs) mode: 1777 (world writeable,
    sticky -- the standard mode of shared temporary directories). This means that
    every user can create new files and subdirectories there, but can't
    move/delete/rename files that belong to other users.
    andir committed Sep 28, 2020

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    andir Andreas Rammhold
    Copy the full SHA
    9630d5c View commit details
  18. Copy the full SHA
    1343164 View commit details
  19. ponyc: update 0.38.1 (#98598)

    Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
    Redvers Davies and veprbl authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    046c6a7 View commit details
  20. macvim: Properly link against Nix ncurses

    Since we're not using the Nix compiler, our buildInputs aren't
    automatically exposed to the compiler, which means it was actually
    compiling against system libncurses instead of Nix libncurses.
    
    Also remove the `-Wno-error` from the make flags (and the unnecessary
    `PREFIX` definition) in favor of using a much more targeted error
    suppression at the configure flags. This works around an issue where
    implicit function definitions are considered an error and the configure
    script was trying to compile a file tht invoked an ncurses function
    without including the relevant header.
    lilyball committed Sep 28, 2020
    Copy the full SHA
    d3b1d59 View commit details
  21. linux: 5.9-rc6 -> 5.9-rc7

    Sridhar Ratnakumar authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    6fb67d3 View commit details
  22. macvim: 8.2.539 -> 8.2.1719

    lilyball committed Sep 28, 2020
    Copy the full SHA
    9daf3b9 View commit details
  23. macvim: add configuration similar to vim_configurable and neovim

    vim_configurable and neovim have both supported a mechanism to build
    them with a custom vimrc that supports plugins from Nix. This updates
    MacVim to support the same sort of configuration using an expression
    like
    
      macvim.configure {
        customRC = ''
          # custom configuration goes here
        '';
        packages.myVimPackage = with pkgs.vimPlugins; {
          start = [ youcompleteme fugitive ];
          opt = [ phpCompletion elm-vim ];
        }
      }
    
    Once configured, .override will allow for editing the configuration.
    
    Like vim_configurable and neovim, configuring macvim does not require
    rebuilding it. Also like them, configuring macvim turns off the user
    vimrc file.
    lilyball committed Sep 28, 2020
    Copy the full SHA
    72e3217 View commit details
  24. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    494a0b9 View commit details
  25. linux: 5.4.67 -> 5.4.68

    NeQuissimus committed Sep 28, 2020

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    8684358 View commit details
  26. linux: 5.8.11 -> 5.8.12

    NeQuissimus committed Sep 28, 2020

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    b3a202e View commit details
  27. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    f498bbe View commit details
  28. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    d131435 View commit details
  29. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    ab9dc67 View commit details
  30. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    9c9054c View commit details
  31. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    6fb0a4d View commit details
  32. Copy the full SHA
    031b9c1 View commit details
  33. Merge pull request #98900 from r-ryantm/auto-update/tegola

    tegola: 0.12.0 -> 0.12.1
    marsam authored Sep 28, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    09eb860 View commit details
  34. Copy the full SHA
    3ad3041 View commit details
  35. Copy the full SHA
    295a669 View commit details
  36. defaultCrateOverrides: move pkgconfig to nativeBuildInputs

    This fixes cross-compiling.
    lopsided98 committed Sep 28, 2020
    Copy the full SHA
    a0e7613 View commit details

Commits on Sep 29, 2020

  1. pony-corral: init 0.4.0

    redvers committed Sep 29, 2020
    Copy the full SHA
    ef71bc4 View commit details
  2. Merge pull request #99024 from jonringer/bump-nixpkgs-review

    nixpkgs-review: 2.4.0 -> 2.4.1
    bhipple authored Sep 29, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    7d25e51 View commit details
Showing with 1,594 additions and 714 deletions.
  1. +6 −1 nixos/doc/manual/man-nixos-rebuild.xml
  2. +1 −1 nixos/modules/installer/tools/nixos-rebuild.sh
  3. +1 −0 nixos/modules/module-list.nix
  4. +2 −0 nixos/modules/profiles/hardened.nix
  5. +165 −0 nixos/modules/programs/neovim.nix
  6. +6 −1 nixos/modules/security/wrappers/default.nix
  7. +45 −89 nixos/modules/services/network-filesystems/rsyncd.nix
  8. +25 −0 nixos/tests/rsyncd.nix
  9. +31 −0 pkgs/applications/editors/qxw/default.nix
  10. +67 −0 pkgs/applications/editors/vim/macvim-configurable.nix
  11. +7 −6 pkgs/applications/editors/vim/macvim.nix
  12. +22 −21 pkgs/applications/editors/vim/macvim.patch
  13. +3 −2 pkgs/applications/graphics/gscan2pdf/default.nix
  14. +2 −2 pkgs/applications/misc/blender/default.nix
  15. +0 −24 pkgs/applications/misc/netsurf/buildsystem/default.nix
  16. +0 −35 pkgs/applications/misc/netsurf/libhubbub/default.nix
  17. +0 −32 pkgs/applications/misc/netsurf/libnsfb/default.nix
  18. +0 −30 pkgs/applications/misc/netsurf/nsgenbind/default.nix
  19. +19 −26 pkgs/applications/{misc/netsurf/browser/default.nix → networking/browsers/netsurf/browser.nix}
  20. +24 −0 pkgs/applications/networking/browsers/netsurf/buildsystem.nix
  21. +36 −0 pkgs/applications/networking/browsers/netsurf/default.nix
  22. +17 −12 pkgs/applications/{misc/netsurf/libcss/default.nix → networking/browsers/netsurf/libcss.nix}
  23. +15 −11 pkgs/applications/{misc/netsurf/libdom/default.nix → networking/browsers/netsurf/libdom.nix}
  24. +44 −0 pkgs/applications/networking/browsers/netsurf/libhubbub.nix
  25. +6 −9 pkgs/applications/{misc/netsurf/libnsbmp/default.nix → networking/browsers/netsurf/libnsbmp.nix}
  26. +32 −0 pkgs/applications/networking/browsers/netsurf/libnsfb.nix
  27. +6 −7 pkgs/applications/{misc/netsurf/libnsgif/default.nix → networking/browsers/netsurf/libnsgif.nix}
  28. +7 −10 pkgs/applications/{misc/netsurf/libnslog/default.nix → networking/browsers/netsurf/libnslog.nix}
  29. +6 −9 pkgs/applications/{misc/netsurf/libnspsl/default.nix → networking/browsers/netsurf/libnspsl.nix}
  30. +7 −8 pkgs/applications/{misc/netsurf/libnsutils/default.nix → networking/browsers/netsurf/libnsutils.nix}
  31. +6 −7 ...ations/{misc/netsurf/libparserutils/default.nix → networking/browsers/netsurf/libparserutils.nix}
  32. +5 −7 pkgs/applications/{misc/netsurf/libsvgtiny/default.nix → networking/browsers/netsurf/libsvgtiny.nix}
  33. +6 −7 ...applications/{misc/netsurf/libutf8proc/default.nix → networking/browsers/netsurf/libutf8proc.nix}
  34. +6 −7 ...plications/{misc/netsurf/libwapcaplet/default.nix → networking/browsers/netsurf/libwapcaplet.nix}
  35. +30 −0 pkgs/applications/networking/browsers/netsurf/nsgenbind.nix
  36. +1 −0 pkgs/applications/networking/iptraf/default.nix
  37. +4 −4 pkgs/applications/networking/remote/wayvnc/default.nix
  38. +4 −3 pkgs/applications/networking/sync/rsync/default.nix
  39. +2 −0 pkgs/applications/version-management/git-and-tools/default.nix
  40. +3 −3 pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
  41. +31 −0 pkgs/applications/version-management/git-and-tools/git-remote-codecommit/default.nix
  42. +9 −3 pkgs/build-support/rust/build-rust-crate/default.nix
  43. +20 −10 pkgs/build-support/rust/default-crate-overrides.nix
  44. +247 −0 pkgs/development/compilers/ghc/9.0.1.nix
  45. +1 −0 pkgs/development/compilers/openjdk/11.nix
  46. +1 −0 pkgs/development/compilers/openjdk/default.nix
  47. +63 −35 pkgs/development/compilers/ponyc/default.nix
  48. +93 −0 pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
  49. +25 −0 pkgs/development/compilers/ponyc/pony-corral.nix
  50. +4 −4 pkgs/development/interpreters/perl/default.nix
  51. +2 −2 pkgs/development/libraries/appstream-glib/default.nix
  52. +2 −7 pkgs/development/libraries/neatvnc/default.nix
  53. +2 −2 pkgs/development/libraries/xdg-desktop-portal/default.nix
  54. +2 −2 pkgs/development/ocaml-modules/asn1-combinators/default.nix
  55. +2 −2 pkgs/development/ocaml-modules/mirage-stack/default.nix
  56. +2 −2 pkgs/development/ocaml-modules/mirage/runtime.nix
  57. +2 −2 pkgs/development/python-modules/aioftp/default.nix
  58. +2 −2 pkgs/development/python-modules/argcomplete/default.nix
  59. +2 −2 pkgs/development/python-modules/asyncssh/default.nix
  60. +29 −0 pkgs/development/python-modules/azure-appconfiguration/default.nix
  61. +2 −2 pkgs/development/python-modules/azure-core/default.nix
  62. +2 −2 pkgs/development/python-modules/azure-datalake-store/default.nix
  63. +37 −0 pkgs/development/python-modules/azure-keyvault-administration/default.nix
  64. +2 −2 pkgs/development/python-modules/azure-keyvault-certificates/default.nix
  65. +11 −3 pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
  66. +4 −2 pkgs/development/python-modules/azure-mgmt-compute/default.nix
  67. +2 −2 pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
  68. +2 −2 pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
  69. +4 −2 pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
  70. +2 −2 pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
  71. +2 −2 pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
  72. +4 −2 pkgs/development/python-modules/azure-mgmt-monitor/default.nix
  73. +2 −2 pkgs/development/python-modules/azure-mgmt-netapp/default.nix
  74. +16 −10 pkgs/development/python-modules/azure-mgmt-network/default.nix
  75. +13 −10 pkgs/development/python-modules/azure-mgmt-resource/default.nix
  76. +2 −2 pkgs/development/python-modules/azure-mgmt-sql/default.nix
  77. +10 −3 pkgs/development/python-modules/azure-mgmt-storage/default.nix
  78. +2 −2 pkgs/development/python-modules/azure-mgmt-synapse/default.nix
  79. +2 −2 pkgs/development/python-modules/azure-storage-blob/default.nix
  80. +2 −2 pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix
  81. +2 −2 pkgs/development/python-modules/azure-synapse-spark/default.nix
  82. +2 −2 pkgs/development/python-modules/bidict/default.nix
  83. +2 −2 pkgs/development/python-modules/biopython/default.nix
  84. +2 −2 pkgs/development/python-modules/braintree/default.nix
  85. +2 −2 pkgs/development/python-modules/breathe/default.nix
  86. +30 −0 pkgs/development/python-modules/class-registry/default.nix
  87. +2 −2 pkgs/development/python-modules/cmd2/default.nix
  88. +2 −2 pkgs/development/python-modules/dash-core-components/default.nix
  89. +2 −2 pkgs/development/python-modules/dash-html-components/default.nix
  90. +2 −2 pkgs/development/python-modules/dash-renderer/default.nix
  91. +2 −2 pkgs/development/python-modules/dash-table/default.nix
  92. +2 −2 pkgs/development/python-modules/dash/default.nix
  93. +2 −2 pkgs/development/python-modules/databricks-connect/default.nix
  94. +2 −2 pkgs/development/python-modules/datadog/default.nix
  95. +2 −2 pkgs/development/python-modules/fsspec/default.nix
  96. +2 −2 pkgs/development/python-modules/hg-evolve/default.nix
  97. +2 −2 pkgs/development/python-modules/libcloud/default.nix
  98. +3 −3 pkgs/development/python-modules/namedlist/default.nix
  99. +2 −2 pkgs/development/python-modules/psautohint/default.nix
  100. +12 −17 pkgs/development/python-modules/ruffus/default.nix
  101. +19 −20 pkgs/development/tools/backblaze-b2/default.nix
  102. +11 −1 pkgs/development/tools/minizinc/default.nix
  103. +2 −2 pkgs/development/tools/misc/act/default.nix
  104. +3 −3 pkgs/os-specific/linux/firmware/system76-firmware/default.nix
  105. +12 −12 pkgs/os-specific/linux/kernel/hardened/patches.json
  106. +2 −2 pkgs/os-specific/linux/kernel/linux-4.19.nix
  107. +2 −2 pkgs/os-specific/linux/kernel/linux-5.4.nix
  108. +2 −2 pkgs/os-specific/linux/kernel/linux-5.8.nix
  109. +2 −2 pkgs/os-specific/linux/kernel/linux-libre.nix
  110. +2 −2 pkgs/os-specific/linux/kernel/linux-testing.nix
  111. +4 −2 pkgs/servers/tegola/default.nix
  112. +3 −3 pkgs/shells/zsh/oh-my-zsh/default.nix
  113. +4 −2 pkgs/tools/admin/azure-cli/default.nix
  114. +37 −26 pkgs/tools/admin/azure-cli/python-packages.nix
  115. +2 −2 pkgs/tools/misc/duf/default.nix
  116. +3 −15 pkgs/tools/networking/bandwhich/default.nix
  117. +3 −1 pkgs/tools/networking/linkchecker/default.nix
  118. +31 −0 pkgs/tools/networking/ssh-askpass-fullscreen/default.nix
  119. +2 −2 pkgs/tools/package-management/nixpkgs-review/default.nix
  120. +2 −2 pkgs/tools/security/vault/default.nix
  121. +6 −6 pkgs/tools/security/vault/vault-bin.nix
  122. +11 −46 pkgs/top-level/all-packages.nix
  123. +11 −0 pkgs/top-level/haskell-packages.nix
  124. +6 −0 pkgs/top-level/python-packages.nix
7 changes: 6 additions & 1 deletion nixos/doc/manual/man-nixos-rebuild.xml
Original file line number Diff line number Diff line change
@@ -118,6 +118,11 @@
<arg choice='plain'><option>-v</option></arg>
</group>
</arg>
<arg>
<group choice='req'>
<arg choice='plain'><option>--impure</option></arg>
</group>
</arg>
<arg>
<group choice='req'>
<arg choice='plain'><option>--max-jobs</option></arg>
@@ -564,7 +569,7 @@
In addition, <command>nixos-rebuild</command> accepts various Nix-related
flags, including <option>--max-jobs</option> / <option>-j</option>,
<option>--show-trace</option>, <option>--keep-failed</option>,
<option>--keep-going</option> and <option>--verbose</option> /
<option>--keep-going</option>, <option>--impure</option>, and <option>--verbose</option> /
<option>-v</option>. See the Nix manual for details.
</para>
</refsection>
2 changes: 1 addition & 1 deletion nixos/modules/installer/tools/nixos-rebuild.sh
Original file line number Diff line number Diff line change
@@ -68,7 +68,7 @@ while [ "$#" -gt 0 ]; do
j="$1"; shift 1
extraBuildFlags+=("$i" "$j")
;;
--show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net)
--show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net|--impure)
extraBuildFlags+=("$i")
;;
--option)
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -140,6 +140,7 @@
./programs/mininet.nix
./programs/mtr.nix
./programs/nano.nix
./programs/neovim.nix
./programs/nm-applet.nix
./programs/npm.nix
./programs/oblogout.nix
2 changes: 2 additions & 0 deletions nixos/modules/profiles/hardened.nix
Original file line number Diff line number Diff line change
@@ -67,6 +67,8 @@ with lib;
"jfs"
"minix"
"nilfs2"
"ntfs"
"omfs"
"qnx4"
"qnx6"
"sysv"
165 changes: 165 additions & 0 deletions nixos/modules/programs/neovim.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
{ config, lib, pkgs, ... }:

with lib;

let
cfg = config.programs.neovim;

runtime' = filter (f: f.enable) (attrValues cfg.runtime);

# taken from the etc module
runtime = pkgs.stdenvNoCC.mkDerivation {
name = "runtime";

builder = ../system/etc/make-etc.sh;

preferLocalBuild = true;
allowSubstitutes = false;

sources = map (x: x.source) runtime';
targets = map (x: x.target) runtime';
};

in {
options.programs.neovim = {
enable = mkEnableOption "Neovim";

defaultEditor = mkOption {
type = types.bool;
default = false;
description = ''
When enabled, installs neovim and configures neovim to be the default editor
using the EDITOR environment variable.
'';
};

viAlias = mkOption {
type = types.bool;
default = false;
description = ''
Symlink <command>vi</command> to <command>nvim</command> binary.
'';
};

vimAlias = mkOption {
type = types.bool;
default = false;
description = ''
Symlink <command>vim</command> to <command>nvim</command> binary.
'';
};

withRuby = mkOption {
type = types.bool;
default = true;
description = "Enable ruby provider.";
};

configure = mkOption {
type = types.attrs;
default = {};
example = literalExample ''
configure = {
customRC = $''''
" here your custom configuration goes!
$'''';
packages.myVimPackage = with pkgs.vimPlugins; {
# loaded on launch
start = [ fugitive ];
# manually loadable by calling `:packadd $plugin-name`
opt = [ ];
};
};
'';
description = ''
Generate your init file from your list of plugins and custom commands.
Neovim will then be wrapped to load <command>nvim -u /nix/store/<replaceable>hash</replaceable>-vimrc</command>
'';
};

package = mkOption {
type = types.package;
default = pkgs.neovim-unwrapped;
defaultText = literalExample "pkgs.neovim-unwrapped";
description = "The package to use for the neovim binary.";
};

finalPackage = mkOption {
type = types.package;
visible = false;
readOnly = true;
description = "Resulting customized neovim package.";
};

runtime = mkOption {
default = {};
example = literalExample ''
runtime."ftplugin/c.vim".text = "setlocal omnifunc=v:lua.vim.lsp.omnifunc";
'';
description = ''
Set of files that have to be linked in <filename>runtime</filename>.
'';

type = with types; attrsOf (submodule (
{ name, config, ... }:
{ options = {

enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether this /etc file should be generated. This
option allows specific /etc files to be disabled.
'';
};

target = mkOption {
type = types.str;
description = ''
Name of symlink. Defaults to the attribute
name.
'';
};

text = mkOption {
default = null;
type = types.nullOr types.lines;
description = "Text of the file.";
};

source = mkOption {
type = types.path;
description = "Path of the source file.";
};

};

config = {
target = mkDefault name;
source = mkIf (config.text != null) (
let name' = "neovim-runtime" + baseNameOf name;
in mkDefault (pkgs.writeText name' config.text));
};

}));

};
};

config = mkIf cfg.enable {
environment.systemPackages = [
cfg.finalPackage
];
environment.variables = { EDITOR = mkOverride 900 "nvim"; };

programs.neovim.finalPackage = pkgs.wrapNeovim cfg.package {
inherit (cfg) viAlias vimAlias;
configure = cfg.configure // {

customRC = (cfg.configure.customRC or "") + ''
set runtimepath^=${runtime}/etc
'';
};
};
};
}
7 changes: 6 additions & 1 deletion nixos/modules/security/wrappers/default.nix
Original file line number Diff line number Diff line change
@@ -169,7 +169,7 @@ in

boot.specialFileSystems.${parentWrapperDir} = {
fsType = "tmpfs";
options = [ "nodev" ];
options = [ "nodev" "mode=755" ];
};

# Make sure our wrapperDir exports to the PATH env variable when
@@ -195,6 +195,8 @@ in
# programs to be wrapped.
WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin
chmod 755 "${parentWrapperDir}"
# We want to place the tmpdirs for the wrappers to the parent dir.
wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
chmod a+rx $wrapperDir
@@ -205,6 +207,9 @@ in
# Atomically replace the symlink
# See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
old=$(readlink -f ${wrapperDir})
if [ -e ${wrapperDir}-tmp ]; then
rm --force --recursive ${wrapperDir}-tmp
fi
ln --symbolic --force --no-dereference $wrapperDir ${wrapperDir}-tmp
mv --no-target-directory ${wrapperDir}-tmp ${wrapperDir}
rm --force --recursive $old
134 changes: 45 additions & 89 deletions nixos/modules/services/network-filesystems/rsyncd.nix
Original file line number Diff line number Diff line change
@@ -3,120 +3,76 @@
with lib;

let

cfg = config.services.rsyncd;

motdFile = builtins.toFile "rsyncd-motd" cfg.motd;

foreach = attrs: f:
concatStringsSep "\n" (mapAttrsToList f attrs);

cfgFile = ''
${optionalString (cfg.motd != "") "motd file = ${motdFile}"}
${optionalString (cfg.address != "") "address = ${cfg.address}"}
${optionalString (cfg.port != 873) "port = ${toString cfg.port}"}
${cfg.extraConfig}
${foreach cfg.modules (name: module: ''
[${name}]
${foreach module (k: v:
"${k} = ${v}"
)}
'')}
'';
in

{
settingsFormat = pkgs.formats.ini { };
configFile = settingsFormat.generate "rsyncd.conf" cfg.settings;
in {
options = {
services.rsyncd = {

enable = mkEnableOption "the rsync daemon";

motd = mkOption {
type = types.str;
default = "";
description = ''
Message of the day to display to clients on each connect.
This usually contains site information and any legal notices.
'';
};

port = mkOption {
default = 873;
type = types.int;
type = types.port;
description = "TCP port the daemon will listen on.";
};

address = mkOption {
default = "";
example = "192.168.1.2";
description = ''
IP address the daemon will listen on; rsyncd will listen on
all addresses if this is not specified.
'';
};

extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Lines of configuration to add to rsyncd globally.
See <command>man rsyncd.conf</command> for options.
'';
};

modules = mkOption {
default = {};
description = ''
A set describing exported directories.
See <command>man rsyncd.conf</command> for options.
'';
type = types.attrsOf (types.attrsOf types.str);
example = literalExample ''
{ srv =
{ path = "/srv";
"read only" = "yes";
comment = "Public rsync share.";
};
}
'';
};

user = mkOption {
type = types.str;
default = "root";
description = ''
The user to run the daemon as.
By default the daemon runs as root.
'';
};

group = mkOption {
type = types.str;
default = "root";
settings = mkOption {
inherit (settingsFormat) type;
default = { };
example = {
global = {
uid = "nobody";
gid = "nobody";
"use chroot" = true;
"max connections" = 4;
};
ftp = {
path = "/var/ftp/./pub";
comment = "whole ftp area";
};
cvs = {
path = "/data/cvs";
comment = "CVS repository (requires authentication)";
"auth users" = [ "tridge" "susan" ];
"secrets file" = "/etc/rsyncd.secrets";
};
};
description = ''
The group to run the daemon as.
By default the daemon runs as root.
Configuration for rsyncd. See
<citerefentry><refentrytitle>rsyncd.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>.
'';
};

};
};

###### implementation
imports = (map (option:
mkRemovedOptionModule [ "services" "rsyncd" option ]
"This option was removed in favor of `services.rsyncd.settings`.") [
"address"
"extraConfig"
"motd"
"user"
"group"
]);

config = mkIf cfg.enable {

environment.etc."rsyncd.conf".text = cfgFile;
services.rsyncd.settings.global.port = toString cfg.port;

systemd.services.rsyncd = {
description = "Rsync daemon";
wantedBy = [ "multi-user.target" ];
restartTriggers = [ config.environment.etc."rsyncd.conf".source ];
serviceConfig = {
ExecStart = "${pkgs.rsync}/bin/rsync --daemon --no-detach";
User = cfg.user;
Group = cfg.group;
};
serviceConfig.ExecStart =
"${pkgs.rsync}/bin/rsync --daemon --no-detach --config=${configFile}";
};
};

meta.maintainers = with lib.maintainers; [ ehmry ];

# TODO: socket activated rsyncd

}
25 changes: 25 additions & 0 deletions nixos/tests/rsyncd.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "rsyncd";
meta.maintainers = with pkgs.lib.maintainers; [ ehmry ];

nodes.machine.services.rsyncd = {
enable = true;
settings = {
global = {
"reverse lookup" = false;
"forward lookup" = false;
};
tmp = {
path = "/nix/store";
comment = "test module";
};

};
};

testScript = ''
start_all()
machine.wait_for_unit("rsyncd")
machine.succeed("rsync localhost::")
'';
})
31 changes: 31 additions & 0 deletions pkgs/applications/editors/qxw/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkg-config, gtk2, pcre }:

stdenv.mkDerivation rec {
pname = "qxw";
version = "20200708";

src = fetchurl {
url = "https://www.quinapalus.com/qxw-${version}.tar.gz";
sha256 = "1si3ila7137c7x4mp3jv1q1mh3jp0p4khir1yz1rwy0mp3znwv7d";
};

nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk2 pcre ];

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

patchPhase = ''
sed -i 's/ `dpkg-buildflags[^`]*`//g;
/mkdir -p/d;
s/cp -a/install -D/;
s,/usr/games,/bin,' Makefile
'';

meta = with stdenv.lib; {
description = "A program to help create and publish crosswords";
homepage = "https://www.quinapalus.com/qxw.html";
license = licenses.gpl2;
maintainers = [ maintainers.tckmn ];
platforms = platforms.linux;
};
}
67 changes: 67 additions & 0 deletions pkgs/applications/editors/vim/macvim-configurable.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{ stdenv, callPackage, vimUtils, buildEnv, makeWrapper }:

let
macvim = callPackage ./macvim.nix { inherit stdenv; };

makeCustomizable = macvim: macvim // {
# configure expects the same args as vimUtils.vimrcFile.
# This is the same as the value given to neovim.override { configure = … }
# or the value of vim_configurable.customize { vimrcConfig = … }
#
# Note: Like neovim and vim_configurable, configuring macvim disables the
# sourcing of the user's vimrc. Use `customRC = "source $HOME/.vim/vimrc"`
# if you want to preserve that behavior.
configure = let
inherit (stdenv) lib;
doConfig = config: let
vimrcConfig = config // {
# always source the bundled system vimrc
beforePlugins = ''
source $VIM/vimrc
${config.beforePlugins or ""}
'';
};
in buildEnv {
name = macvim.name;
paths = [ macvim ];
pathsToLink = [
"/"
"/bin"
"/Applications/MacVim.app/Contents/MacOS"
"/Applications/MacVim.app/Contents/bin"
];
buildInputs = [ makeWrapper ];
# We need to do surgery on the resulting app. We can't just make a wrapper for vim because this
# is a GUI app. We need to copy the actual GUI executable image as AppKit uses the loaded image's
# path to locate the bundle. We can use symlinks for other executables and resources though.
postBuild = ''
# Replace the Contents/MacOS/MacVim symlink with the original file
target=$(readlink $out/Applications/MacVim.app/Contents/MacOS/MacVim)
rm $out/Applications/MacVim.app/Contents/MacOS/MacVim
cp -a -t $out/Applications/MacVim.app/Contents/MacOS "$target"
# Wrap the Vim binary for our vimrc
wrapProgram $out/Applications/MacVim.app/Contents/MacOS/Vim \
--add-flags "-u ${vimUtils.vimrcFile vimrcConfig}"
# Replace each symlink in bin/ with the original. Most of them point at other symlinks
# and we need those original symlinks to point into our new app bundle.
for prefix in bin Applications/MacVim.app/Contents/bin; do
for link in $out/$prefix/*; do
target=$(readlink "$link")
# don't copy binaries like vimtutor, but we do need mvim
[ -L "$target" ] || [ "$(basename "$target")" = mvim ] || continue;
rm "$link"
cp -a -t $out/$prefix "$target"
done
done
'';
meta = macvim.meta;
};
in lib.makeOverridable (lib.setFunctionArgs doConfig (lib.functionArgs vimUtils.vimrcFile));

override = f: makeCustomizable (macvim.override f);
overrideAttrs = f: makeCustomizable (macvim.overrideAttrs f);
};
in
makeCustomizable macvim
13 changes: 7 additions & 6 deletions pkgs/applications/editors/vim/macvim.nix
Original file line number Diff line number Diff line change
@@ -27,13 +27,13 @@ in
stdenv.mkDerivation {
pname = "macvim";

version = "8.2.539";
version = "8.2.1719";

src = fetchFromGitHub {
owner = "macvim-dev";
repo = "macvim";
rev = "snapshot-163";
sha256 = "0ibc6h7zmk81dygkxd8a2rcq72zbqmr9kh64xhsm9h0p70505cdk";
rev = "snapshot-166";
sha256 = "1p51q59l1dl5lnf1ms960lm8zfg39p8xq0pdjw6wdyypjj3r8v3v";
};

enableParallelBuilding = true;
@@ -68,8 +68,6 @@ stdenv.mkDerivation {
"--disable-sparkle"
];

makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';

# Remove references to Sparkle.framework from the project.
# It's unused (we disabled it with --disable-sparkle) and this avoids
# copying the unnecessary several-megabyte framework into the result.
@@ -85,7 +83,10 @@ stdenv.mkDerivation {
DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer
configureFlagsArray+=(
"--with-developer-dir=$DEV_DIR"
--with-developer-dir="$DEV_DIR"
LDFLAGS="-L${ncurses}/lib"
CPPFLAGS="-isystem ${ncurses.dev}/include"
CFLAGS="-Wno-error=implicit-function-declaration"
)
''
# For some reason having LD defined causes PSMTabBarControl to fail at link-time as it
43 changes: 22 additions & 21 deletions pkgs/applications/editors/vim/macvim.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/src/MacVim/vimrc b/src/MacVim/vimrc
index 23a06bf..dfb10fe 100644
index af43549..dfb10fe 100644
--- a/src/MacVim/vimrc
+++ b/src/MacVim/vimrc
@@ -14,35 +14,5 @@ set backspace+=indent,eol,start
@@ -29,22 +29,22 @@ index 23a06bf..dfb10fe 100644
-" or an installation from python.org:
-if exists("&pythonthreedll") && exists("&pythonthreehome") &&
- \ !filereadable(&pythonthreedll)
- if filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/3.7/Python")
- " MacPorts python 3.7
- set pythonthreedll=/opt/local/Library/Frameworks/Python.framework/Versions/3.7/Python
- elseif filereadable("/Library/Frameworks/Python.framework/Versions/3.7/Python")
- if filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/3.8/Python")
- " MacPorts python 3.8
- set pythonthreedll=/opt/local/Library/Frameworks/Python.framework/Versions/3.8/Python
- elseif filereadable("/Library/Frameworks/Python.framework/Versions/3.8/Python")
- " https://www.python.org/downloads/mac-osx/
- set pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.7/Python
- set pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.8/Python
- endif
-endif
-
+" Default cscopeprg to the Nix-installed path
+set cscopeprg=@CSCOPE@
diff --git a/src/Makefile b/src/Makefile
index 24c6934..d0f094e 100644
index fd2d5e1..37a6d6a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1407,7 +1407,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
@@ -1397,7 +1397,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
MacVim/MacVim.m
MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o \
objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
@@ -54,10 +54,10 @@ index 24c6934..d0f094e 100644
MACVIMGUI_LIBS_DIR =
MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon
diff --git a/src/auto/configure b/src/auto/configure
index 730d6d5..0259112 100755
index 06257a5..68437df 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -5859,10 +5859,7 @@ $as_echo "not found" >&6; }
@@ -5872,10 +5872,7 @@ $as_echo "not found" >&6; }

for path in "${vi_cv_path_mzscheme_pfx}/lib" "${SCHEME_LIB}"; do
if test "X$path" != "X"; then
@@ -69,7 +69,7 @@ index 730d6d5..0259112 100755
MZSCHEME_LIBS="${path}/libmzscheme3m.a"
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
elif test -f "${path}/libracket3m.a"; then
@@ -6247,23 +6244,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
@@ -6260,23 +6257,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
fi

if test "x$MACOS_X" = "xyes"; then
@@ -93,7 +93,7 @@ index 730d6d5..0259112 100755
PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
fi
@@ -6486,13 +6466,7 @@ __:
@@ -6499,13 +6479,7 @@ __:
eof
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
rm -f -- "${tmp_mkf}"
@@ -108,15 +108,15 @@ index 730d6d5..0259112 100755
vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
if test -n "${python_LINKFORSHARED}" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([^ \t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t].*/\1/'`
@@ -6507,7 +6481,6 @@ eof
@@ -6520,7 +6494,6 @@ eof
fi
vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
- fi

fi

@@ -6586,13 +6559,6 @@ rm -f core conftest.err conftest.$ac_objext \
@@ -6599,13 +6572,6 @@ rm -f core conftest.err conftest.$ac_objext \
$as_echo "no" >&6; }
fi

@@ -130,32 +130,33 @@ index 730d6d5..0259112 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python are sane" >&5
$as_echo_n "checking if compile and link flags for Python are sane... " >&6; }
cflags_save=$CFLAGS
@@ -7486,11 +7452,7 @@ $as_echo "$tclver - OK" >&6; };
@@ -7499,11 +7465,7 @@ $as_echo "$tclver - OK" >&6; };

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5
$as_echo_n "checking for location of Tcl include... " >&6; }
- if test "x$MACOS_X" != "xyes"; then
tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver"
- else
- tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
- tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /System/Library/Frameworks/Tcl.framework/Headers `xcrun --show-sdk-path`/System/Library/Frameworks/Tcl.framework/Versions/Current/Headers"
- fi
TCL_INC=
for try in $tclinc; do
if test -f "$try/tcl.h"; then
@@ -7508,12 +7470,8 @@ $as_echo "<not found>" >&6; }
@@ -7521,13 +7483,8 @@ $as_echo "<not found>" >&6; }
if test -z "$SKIP_TCL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5
$as_echo_n "checking for location of tclConfig.sh script... " >&6; }
- if test "x$MACOS_X" != "xyes"; then
tclcnf=`echo $tclinc | sed s/include/lib/g`
tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
- else
- tclcnf="/System/Library/Frameworks/Tcl.framework"
- tclcnf=`echo $tclinc | sed s/include/lib/g`
- tclcnf="$tclcnf /System/Library/Frameworks/Tcl.framework `xcrun --show-sdk-path`/System/Library/Frameworks/Tcl.framework"
- fi
for try in $tclcnf; do
if test -f "$try/tclConfig.sh"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5
@@ -7703,10 +7661,6 @@ $as_echo "$rubyhdrdir" >&6; }
@@ -7717,10 +7674,6 @@ $as_echo "$rubyhdrdir" >&6; }
if test -f "$rubylibdir/$librubya"; then
librubyarg="$librubyarg"
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
@@ -167,10 +168,10 @@ index 730d6d5..0259112 100755

if test "X$librubyarg" != "X"; then
diff --git a/src/vim.h b/src/vim.h
index 87d1c92..8a7d5a5 100644
index bbc01ee..5a93591 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -250,17 +250,6 @@
@@ -244,17 +244,6 @@
# define SUN_SYSTEM
#endif

5 changes: 3 additions & 2 deletions pkgs/applications/graphics/gscan2pdf/default.nix
Original file line number Diff line number Diff line change
@@ -10,11 +10,11 @@ with stdenv.lib;

perlPackages.buildPerlPackage rec {
pname = "gscan2pdf";
version = "2.8.1";
version = "2.9.1";

src = fetchurl {
url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
sha256 = "00g2vw7lz3yb4nq358x8d3r4mf3hkrq2vw1g9lli27zdp5p6jja1";
sha256 = "1ls6n1a8vjgwkb40drpc3rapjligaf9fp218539fnwvhv26div69";
};

nativeBuildInputs = [ wrapGAppsHook ];
@@ -29,6 +29,7 @@ perlPackages.buildPerlPackage rec {
Glib
GlibObjectIntrospection
GooCanvas2
LocaleCodes
LocaleGettext
PDFAPI2
ImageSane
4 changes: 2 additions & 2 deletions pkgs/applications/misc/blender/default.nix
Original file line number Diff line number Diff line change
@@ -18,11 +18,11 @@ let python = python3Packages.python; in

stdenv.mkDerivation rec {
pname = "blender";
version = "2.90.0";
version = "2.90.1";

src = fetchurl {
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
sha256 = "08qkvgdfrqh4ljqw5m64bbki1dsfcs4xnwzq6829z3ddhiwrxw84";
sha256 = "169xcmm1zkvab14qdxggqc758xdkqs7r7imwi6yx2fl2djacr3g7";
};

patches = lib.optional stdenv.isDarwin ./darwin.patch;
24 changes: 0 additions & 24 deletions pkgs/applications/misc/netsurf/buildsystem/default.nix

This file was deleted.

35 changes: 0 additions & 35 deletions pkgs/applications/misc/netsurf/libhubbub/default.nix

This file was deleted.

32 changes: 0 additions & 32 deletions pkgs/applications/misc/netsurf/libnsfb/default.nix

This file was deleted.

30 changes: 0 additions & 30 deletions pkgs/applications/misc/netsurf/nsgenbind/default.nix

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,25 +1,21 @@
{ stdenv, fetchurl, fetchpatch, makeWrapper, wrapGAppsHook

# Buildtime dependencies.

, check, pkgconfig, xxd

# Runtime dependencies.

, curl, expat, libXcursor, libXrandr, libidn, libjpeg, libpng, libwebp, libxml2
, openssl, perl, perlPackages

# uilib-specific dependencies

, gtk2 # GTK 2
, gtk3 # GTK 3
, SDL # Framebuffer

# Configuration

, uilib ? "framebuffer"
, uilib

# Netsurf-specific dependencies

, libcss, libdom, libhubbub, libnsbmp, libnsfb, libnsgif
, libnslog, libnspsl, libnsutils, libparserutils, libsvgtiny, libutf8proc
, libwapcaplet, nsgenbind
@@ -29,43 +25,34 @@ let
inherit (stdenv.lib) optional optionals;
in
stdenv.mkDerivation rec {

pname = "netsurf";
version = "3.9";
version = "3.10";

src = fetchurl {
url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${version}-src.tar.gz";
sha256 = "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp";
url = "http://download.netsurf-browser.org/netsurf/releases/source/${pname}-${version}-src.tar.gz";
sha256 = "sha256-NkhEKeGTYUaFwv8kb1W9Cm3d8xoBi+5F4NH3wohRmV4=";
};

patches = [
# GTK: prefer using curl's intrinsic defaults for CURLOPT_CA*
(fetchpatch {
name = "0001-GTK-prefer-using-curl-s-intrinsic-defaults-for-CURLO.patch";
url = "http://source.netsurf-browser.org/netsurf.git/patch/?id=87177d8aa109206d131e0d80a2080ce55dab01c7";
sha256 = "08bc60pc5k5qpckqv21zgmgszj3rpwskfc84shs8vg92vkimv2ai";
})
];

nativeBuildInputs = [
makeWrapper
perl
perlPackages.HTMLParser
pkgconfig
xxd
]
++ optional (uilib == "gtk") wrapGAppsHook
++ optional (uilib == "gtk2" || uilib == "gtk3") wrapGAppsHook
;

buildInputs = [
buildInputs = [
check curl libXcursor libXrandr libidn libjpeg libpng libwebp libxml2 openssl
# Netsurf-specific libraries
nsgenbind libnsfb libwapcaplet libparserutils libnslog libcss
libhubbub libdom libnsbmp libnsgif libsvgtiny libnsutils libnspsl
libutf8proc
]
++ optionals (uilib == "framebuffer") [ expat SDL ]
++ optional (uilib == "gtk") gtk2
++ optional (uilib == "gtk2") gtk2
++ optional (uilib == "gtk3") gtk3
;

preConfigure = ''
@@ -81,10 +68,16 @@ stdenv.mkDerivation rec {
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
description = "Free opensource web browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
homepage = "https://www.netsurf-browser.org/";
description = "A free, open source, small web browser";
longDescription = ''
NetSurf is a free, open source web browser. It is written in C and
released under the GNU Public Licence version 2. NetSurf has its own
layout and rendering engine entirely written from scratch. It is small and
capable of handling many of the web standards in use today.
'';
license = licenses.gpl2Only;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
24 changes: 24 additions & 0 deletions pkgs/applications/networking/browsers/netsurf/buildsystem.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{ stdenv, fetchurl }:

stdenv.mkDerivation rec {
pname = "netsurf-${libname}";
libname = "buildsystem";
version = "1.9";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}.tar.gz";
sha256 = "sha256-k4QeMUpoggmiC4dF8GU5PzqQ8Bvmj0Xpa8jS9KKqmio=";
};

makeFlags = [
"PREFIX=$(out)"
];

meta = with stdenv.lib; {
homepage = "https://www.netsurf-browser.org/";
description = "NetSurf browser shared build system";
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.unix;
};
}
36 changes: 36 additions & 0 deletions pkgs/applications/networking/browsers/netsurf/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{ lib, pkgs }:

lib.makeScope pkgs.newScope (self: with self; {
# ui can be: gtk2, gtk3, sixel, framebuffer. Note that console display (sixel)
# requires a terminal that supports `sixel` capabilities, such as mlterm
# or xterm -ti 340
ui = "gtk3";
uilib =
if ui == "gtk2" ||
ui == "gtk3" ||
ui == "framebuffer" then ui
else if ui == "sixel" then "framebuffer"
else null; # Never will happen
SDL =
if ui == "sixel" then pkgs.SDL_sixel
else if ui == "framebuffer" then pkgs.SDL
else null;

browser = callPackage ./browser.nix { };

buildsystem = callPackage ./buildsystem.nix { };
libcss = callPackage ./libcss.nix { };
libdom = callPackage ./libdom.nix { };
libhubbub = callPackage ./libhubbub.nix { };
libnsbmp = callPackage ./libnsbmp.nix { };
libnsfb = callPackage ./libnsfb.nix { };
libnsgif = callPackage ./libnsgif.nix { };
libnslog = callPackage ./libnslog.nix { };
libnspsl = callPackage ./libnspsl.nix { };
libnsutils = callPackage ./libnsutils.nix { };
libparserutils = callPackage ./libparserutils.nix { };
libsvgtiny = callPackage ./libsvgtiny.nix { };
libutf8proc = callPackage ./libutf8proc.nix { };
libwapcaplet = callPackage ./libwapcaplet.nix { };
nsgenbind = callPackage ./nsgenbind.nix { };
})
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
{ stdenv, fetchurl, pkgconfig, perl
, buildsystem
, libwapcaplet
, libparserutils
, libwapcaplet
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libcss";
version = "0.9.0";
version = "0.9.1";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1vw9j3d2mr4wbvs8fyqmgslkbxknvac10456775hflxxcivbm3xr";
sha256 = "sha256-0tzhbpM5Lo1qcglCDUfC1Wo4EXAaDoGnJPxUHGPTxtw=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ perl
buildsystem
libwapcaplet
buildInputs = [
perl
libparserutils
];
libwapcaplet
buildsystem ];

makeFlags = [
"PREFIX=$(out)"
@@ -30,10 +29,16 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE= "-Wno-error=implicit-fallthrough";

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "Cascading Style Sheets library for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
longDescription = ''
LibCSS is a CSS parser and selection engine. It aims to parse the forward
compatible CSS grammar. It was developed as part of the NetSurf project
and is available for use by other software, under a more permissive
license.
'';
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -6,34 +6,38 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libdom";
version = "0.4.0";
version = "0.4.1";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1ixkqsl3f7dl1kajksm0c231w1v5xy8z6hm3v67hgm9nh4qcvfcy";
sha256 = "sha256-mO4HJHHlXiCMmHjlFcQQrUYso2+HtK/L7K0CPzos70o=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ expat
buildsystem
buildInputs = [
expat
libhubbub
libparserutils
libwapcaplet
libhubbub
];
buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "Document Object Model library for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
longDescription = ''
LibDOM is an implementation of the W3C DOM, written in C. It is currently
in development for use with NetSurf and is intended to be suitable for use
in other projects under a more permissive license.
'';
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
44 changes: 44 additions & 0 deletions pkgs/applications/networking/browsers/netsurf/libhubbub.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{ stdenv, fetchurl, pkgconfig, perl
, buildsystem
, libparserutils
}:

stdenv.mkDerivation rec {
pname = "netsurf-${libname}";
libname = "libhubbub";
version = "0.3.7";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "sha256-nnriU+bJBp51frmtTkhG84tNtSwMoBUURqn6Spd3NbY=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [
perl
libparserutils
buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "https://www.netsurf-browser.org/projects/hubbub/";
description = "HTML5 parser library for netsurf browser";
longDescription = ''
Hubbub is an HTML5 compliant parsing library, written in C. It was
developed as part of the NetSurf project and is available for use by other
software under the MIT licence.
The HTML5 specification defines a parsing algorithm, based on the
behaviour of mainstream browsers, which provides instructions for how to
parse all markup, both valid and invalid. As a result, Hubbub parses web
content well.
'';
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -3,31 +3,28 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libnsbmp";
version = "0.1.6";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "0krjg69a2amxjsahdgm3wmy9ngnyr3gfs2a1zhdlbvb0z1jr7i3r";
sha256 = "sha256-ecSTZfhg7UUb/EEJ7d7I3j6bfOWjvgaVlr0qoZJ5Mk8=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [
buildsystem
];
buildInputs = [ buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/";
description = "BMP Decoder for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
32 changes: 32 additions & 0 deletions pkgs/applications/networking/browsers/netsurf/libnsfb.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{ stdenv, fetchurl, pkgconfig
, uilib, SDL
, buildsystem
}:

stdenv.mkDerivation rec {
pname = "netsurf-${libname}";
libname = "libnsfb";
version = "0.2.2";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "sha256-vkRso+tU35A/LamDEdEH11dM0R9awHE+YZFW1NGeo5o=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ SDL buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
"TARGET=${uilib}"
];

meta = with stdenv.lib; {
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "Netsurf framebuffer abstraction library";
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -3,29 +3,28 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libnsgif";
version = "0.2.1";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly";
sha256 = "sha256-nq6lNM1wtTxar0UxeulXcBaFprSojb407Sb0+q6Hmks=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ buildsystem];
buildInputs = [ buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "GIF Decoder for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.unix;
};
}
Original file line number Diff line number Diff line change
@@ -3,31 +3,28 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libnslog";
version = "0.1.2";
version = "0.1.3";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1ggs6xvxp8fbg5w8pifalipm458ygr9ab6j2yvj8fnnmxwvdh4jd";
sha256 = "sha256-/JjcqdfvpnCWRwpdlsAjFG4lv97AjA23RmHHtNsEU9A=";
};

nativeBuildInputs = [ pkgconfig bison flex ];
buildInputs = [
buildsystem
];
buildInputs = [ buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/";
description = "NetSurf Parametric Logging Library";
license = licenses.mit;
maintainers = [ maintainers.samueldr ];
license = licenses.isc;
maintainers = [ maintainers.samueldr maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -3,31 +3,28 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libnspsl";
version = "0.1.5";
version = "0.1.6";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "0siq8zjfxv75i9fw6q5hkaijpdm1w3zskd5qk6vsvz8cqan4vifd";
sha256 = "sha256-08WCBct40xC/gcpVNHotCYcZzsrHBGvDZ5g7E4tFAgs=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [
buildsystem
];
buildInputs = [ buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/";
description = "NetSurf Public Suffix List - Handling library";
license = licenses.mit;
maintainers = [ maintainers.samueldr ];
maintainers = [ maintainers.samueldr maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -3,29 +3,28 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libnsutils";
version = "0.0.5";
version = "0.1.0";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf";
sha256 = "sha256-eQxlFjRKvoL2KJ1lY5LpzOvkdbIMx+Hi2EMBE4X3rvA=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ buildsystem];
buildInputs = [ buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "Generalised utility library for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -3,28 +3,27 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libparserutils";
version = "0.2.4";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj";
sha256 = "sha256-MiuuYbMMzt4+MFv26uJBSSBkl3W8X/HRtogBKjxJR9g=";
};

buildInputs = [ buildsystem perl ];
buildInputs = [ perl buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "Parser building library for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -7,35 +7,33 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libsvgtiny";
version = "0.1.7";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c";
sha256 = "sha256-LA3PlS8c2ILD6VQB75RZ8W27U8XT5FEjObL563add4E=";
};

nativeBuildInputs = [ pkgconfig gperf ];
buildInputs = [
buildsystem
libdom
libhubbub
libparserutils
libwapcaplet
];
buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "NetSurf SVG decoder";
license = licenses.mit;
maintainers = [ maintainers.samueldr ];
maintainers = [ maintainers.samueldr maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -3,29 +3,28 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libutf8proc";
version = "2.4.0-1";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "0wn409laqaqlqnz2d77419b5rya99vvc696vj187biy1i5livaq1";
sha256 = "sha256-AasdaYnBx3VQkNskw/ZOSflcVgrknCa+xRQrrGgCxHI=";
};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ buildsystem];
buildInputs = [ buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "UTF8 Processing library for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
Original file line number Diff line number Diff line change
@@ -3,14 +3,13 @@
}:

stdenv.mkDerivation rec {

name = "netsurf-${libname}-${version}";
pname = "netsurf-${libname}";
libname = "libwapcaplet";
version = "0.4.2";
version = "0.4.3";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1fjwzbn7j8bi1b9bvwxsy3i2cr6byq2s2d29866801pjnf528g86";
sha256 = "sha256-myqh3W1mRfjpkrNpf9vYfwwOHaVyH6VO0ptITRMWDFw=";
};

buildInputs = [ buildsystem ];
@@ -23,10 +22,10 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-Wno-error=cast-function-type";

meta = with stdenv.lib; {
homepage = "http://www.netsurf-browser.org/";
homepage = "https://www.netsurf-browser.org/projects/${libname}/";
description = "String internment library for netsurf browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
30 changes: 30 additions & 0 deletions pkgs/applications/networking/browsers/netsurf/nsgenbind.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{ stdenv, fetchurl
, flex, bison
, buildsystem
}:

stdenv.mkDerivation rec {
pname = "netsurf-${libname}";
libname = "nsgenbind";
version = "0.8";

src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "sha256-TY1TrQAK2nEncjZeanPrj8XOl1hK+chlrFsmohh/HLM=";
};

buildInputs = [ flex bison buildsystem ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];

meta = with stdenv.lib; {
homepage = "https://www.netsurf-browser.org/";
description = "Generator for JavaScript bindings for netsurf browser";
license = licenses.mit;
maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
1 change: 1 addition & 0 deletions pkgs/applications/networking/iptraf/default.nix
Original file line number Diff line number Diff line change
@@ -28,5 +28,6 @@ stdenv.mkDerivation {
license = stdenv.lib.licenses.gpl2Plus;
description = "Console-based network statistics utility for Linux";
platforms = stdenv.lib.platforms.linux;
broken = true; # required isdn headers have been removed from the linux kernel
};
}
8 changes: 4 additions & 4 deletions pkgs/applications/networking/remote/wayvnc/default.nix
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, meson, pkg-config, ninja
{ stdenv, fetchFromGitHub, meson, pkg-config, ninja, scdoc
, pixman, libxkbcommon, wayland, neatvnc, libdrm, libX11, aml
}:

stdenv.mkDerivation rec {
pname = "wayvnc";
version = "0.2.0";
version = "0.3.1";

src = fetchFromGitHub {
owner = "any1";
repo = pname;
rev = "v${version}";
sha256 = "1ddcf8hrxhx4rcwvbjwa5j3ygiwca2dpw26wl37pb0q0jr81wylv";
sha256 = "1vlrk6zdkv0kl1ckxv65nay9vm6yjrs4kadsdvp42nryiifrdhad";
};

nativeBuildInputs = [ meson pkg-config ninja wayland ];
nativeBuildInputs = [ meson pkg-config ninja scdoc wayland ];
buildInputs = [ pixman libxkbcommon wayland neatvnc libdrm libX11 aml ];

meta = with stdenv.lib; {
7 changes: 4 additions & 3 deletions pkgs/applications/networking/sync/rsync/default.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{ stdenv, fetchurl, perl, libiconv, zlib, popt
, enableACLs ? !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD), acl ? null
, enableCopyDevicesPatch ? false
}:
, enableACLs ? !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD)
, acl ? null, enableCopyDevicesPatch ? false, nixosTests }:

assert enableACLs -> acl != null;

@@ -23,6 +22,8 @@ stdenv.mkDerivation rec {

configureFlags = ["--with-nobody-group=nogroup"];

passthru.tests = { inherit (nixosTests) rsyncd; };

meta = base.meta // {
description = "A fast incremental file transfer utility";
maintainers = with stdenv.lib.maintainers; [ peti ehmry kampfschlaefer ];
Original file line number Diff line number Diff line change
@@ -132,6 +132,8 @@ let
utillinux = if stdenv.isLinux then utillinuxMinimal else utillinux;
};

git-remote-codecommit = python3Packages.callPackage ./git-remote-codecommit { };

git-remote-gcrypt = callPackage ./git-remote-gcrypt { };

git-remote-hg = callPackage ./git-remote-hg { };
Original file line number Diff line number Diff line change
@@ -2,20 +2,20 @@

rustPlatform.buildRustPackage rec {
pname = "git-absorb";
version = "0.6.3";
version = "0.6.4";

src = fetchFromGitHub {
owner = "tummychow";
repo = pname;
rev = "refs/tags/${version}";
sha256 = "0kvb9nzjlxhnrd2ir3zjd99v7zcq4bch1i9nqsn3505j5m0wv0hh";
sha256 = "01hf9hbrigqn4qcz6jmprp7by9nh55k1r2d11g7sil5fpw6m2j9k";
};

nativeBuildInputs = [ installShellFiles ];

buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];

cargoSha256 = "0bppb1ng77ynhlxnhgz9qx4x5j0lyzcxw3zshfpgjc03fxcwl6cz";
cargoSha256 = "04dkfjb6pxqaalw2y6yli9q58g8x8ppfmibivpvqifk8r8dhkdqp";

postInstall = ''
installManPage Documentation/git-absorb.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{ lib, buildPythonApplication, fetchFromGitHub, isPy3k, botocore, pytest, mock
, flake8, tox, awscli }:

buildPythonApplication rec {
pname = "git-remote-codecommit";
version = "1.15.1";
disabled = !isPy3k;

src = fetchFromGitHub {
owner = "aws";
repo = pname;
rev = version;
sha256 = "1vvp7i8ghmq72v57f6smh441h35xnr5ar628q2mr40bzvcifwymw";
};

propagatedBuildInputs = [ botocore ];

checkInputs = [ pytest mock flake8 tox awscli ];

checkPhase = ''
pytest
'';

meta = {
description =
"Git remote prefix to simplify pushing to and pulling from CodeCommit";
maintainers = [ lib.maintainers.zaninime ];
homepage = "https://github.com/awslabs/git-remote-codecommit";
license = lib.licenses.asl20;
};
}
12 changes: 9 additions & 3 deletions pkgs/build-support/rust/build-rust-crate/default.nix
Original file line number Diff line number Diff line change
@@ -4,7 +4,8 @@
# This can be useful for deploying packages with NixOps, and to share
# binary dependencies between projects.

{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc, rust, cargo, jq }:
{ lib, stdenv, defaultCrateOverrides, fetchCrate, pkgsBuildBuild, rustc, rust
, cargo, jq }:

let
# This doesn't appear to be officially documented anywhere yet.
@@ -83,6 +84,8 @@ in
# A list of rust/cargo features to enable while building the crate.
# Example: [ "std" "async" ]
, features
# Additional native build inputs for building this crate.
, nativeBuildInputs
# Additional build inputs for building this crate.
#
# Example: [ pkgs.openssl ]
@@ -188,12 +191,13 @@ let crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: {}) crateOverr
dependencies_ = dependencies;
buildDependencies_ = buildDependencies;
processedAttrs = [
"src" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
"src" "nativeBuildInputs" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
"buildDependencies" "dependencies" "features" "crateRenames"
"crateName" "version" "build" "authors" "colors" "edition"
"buildTests"
];
extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
nativeBuildInputs_ = nativeBuildInputs;
buildInputs_ = buildInputs;
extraRustcOpts_ = extraRustcOpts;
buildTests_ = buildTests;
@@ -225,7 +229,8 @@ stdenv.mkDerivation (rec {
src = crate.src or (fetchCrate { inherit (crate) crateName version sha256; });
name = "rust_${crate.crateName}-${crate.version}${lib.optionalString buildTests_ "-test"}";
version = crate.version;
depsBuildBuild = [ rust stdenv.cc cargo jq ];
depsBuildBuild = [ pkgsBuildBuild.stdenv.cc ];
nativeBuildInputs = [ rust stdenv.cc cargo jq ] ++ (crate.nativeBuildInputs or []) ++ nativeBuildInputs_;
buildInputs = (crate.buildInputs or []) ++ buildInputs_;
dependencies = map lib.getLib dependencies_;
buildDependencies = map lib.getLib buildDependencies_;
@@ -301,6 +306,7 @@ stdenv.mkDerivation (rec {
verbose = crate_.verbose or true;
extraRustcOpts = [];
features = [];
nativeBuildInputs = [];
buildInputs = [];
crateOverrides = defaultCrateOverrides;
preUnpack = crate_.preUnpack or "";
30 changes: 20 additions & 10 deletions pkgs/build-support/rust/default-crate-overrides.nix
Original file line number Diff line number Diff line change
@@ -16,18 +16,21 @@ in
};

libz-sys = attrs: {
buildInputs = [ pkgconfig zlib ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ zlib ];
extraLinkFlags = ["-L${zlib.out}/lib"];
};

curl-sys = attrs: {
buildInputs = [ pkgconfig zlib curl ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ zlib curl ];
propagatedBuildInputs = [ curl zlib ];
extraLinkFlags = ["-L${zlib.out}/lib"];
};

dbus = attrs: {
buildInputs = [ pkgconfig dbus ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ dbus ];
};

foundationdb-sys = attrs: {
@@ -62,31 +65,37 @@ in

libgit2-sys = attrs: {
LIBGIT2_SYS_USE_PKG_CONFIG = true;
buildInputs = [ pkgconfig openssl zlib libgit2 ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl zlib libgit2 ];
};

libsqlite3-sys = attrs: {
buildInputs = [ pkgconfig sqlite ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ sqlite ];
};

libssh2-sys = attrs: {
buildInputs = [ pkgconfig openssl zlib libssh2 ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl zlib libssh2 ];
};

libdbus-sys = attrs: {
buildInputs = [ pkgconfig dbus ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ dbus ];
};

openssl = attrs: {
buildInputs = [ openssl ];
};

openssl-sys = attrs: {
buildInputs = [ pkgconfig openssl ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl ];
};

pq-sys = attr: {
buildInputs = [ pkgconfig postgresql ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ postgresql ];
};

rink = attrs: {
@@ -103,7 +112,8 @@ in
};

thrussh-libsodium = attrs: {
buildInputs = [ pkgconfig libsodium ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libsodium ];
};

xcb = attrs: {
247 changes: 247 additions & 0 deletions pkgs/development/compilers/ghc/9.0.1.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,247 @@
{ stdenv, pkgsBuildTarget, targetPackages

# build-tools
, bootPkgs
, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
, bash

, libiconv ? null, ncurses

, # GHC can be built with system libffi or a bundled one.
libffi ? null

, useLLVM ? !stdenv.targetPlatform.isx86
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
buildLlvmPackages, llvmPackages

, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp

, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform

# aarch64 outputs otherwise exceed 2GB limit
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64

, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt

, # Whether to build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows

, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")

, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
}:

assert !enableIntegerSimple -> gmp != null;

let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;

inherit (bootPkgs) ghc;

# TODO(@Ericson2314) Make unconditional
targetPrefix = stdenv.lib.optionalString
(targetPlatform != hostPlatform)
"${targetPlatform.config}-";

buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
'' + stdenv.lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn"
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
GhcLibHcOpts += -fPIC
GhcRtsHcOpts += -fPIC
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
EXTRA_CC_OPTS += -std=gnu99
'';

# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
++ [libffi]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;

toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;

targetCC = builtins.head toolsForTarget;

# ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# see #84670 and #49071 for more background.
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;

in
stdenv.mkDerivation (rec {
version = "9.0.0.20200925";
name = "${targetPrefix}ghc-${version}";

src = fetchurl {
url = "https://downloads.haskell.org/ghc/9.0.1-alpha1/ghc-${version}-src.tar.xz";
sha256 = "1c6vgic0bx0c4c6gszq7znvc5gxf0lgh630283mivbs1lyiqj88l";
};

enableParallelBuilding = true;

outputs = [ "out" "doc" ];

postPatch = "patchShebangs .";

# GHC is a bit confused on its cross terminology.
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
done
# GHC is a bit confused on its cross terminology, as these would normally be
# the *host* tools.
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
'' + stdenv.lib.optionalString targetPlatform.isMusl ''
echo "patching llvm-targets for musl targets..."
echo "Cloning these existing '*-linux-gnu*' targets:"
grep linux-gnu llvm-targets | sed 's/^/ /'
echo "(go go gadget sed)"
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
echo "llvm-targets now contains these '*-linux-musl*' targets:"
grep linux-musl llvm-targets | sed 's/^/ /'
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
for x in configure aclocal.m4; do
substituteInPlace $x \
--replace '*-android*|*-gnueabi*)' \
'*-android*|*-gnueabi*|*-musleabi*)'
done
'';

# TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ]
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

# `--with` flags for libraries needed for RTS linker
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
];

# Make sure we never relax`$PATH` and hooks support for compatibility.
strictDeps = true;

# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
dontAddExtraLibs = true;

nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
];

# For building runtime libs
depsBuildTarget = toolsForTarget;

buildInputs = [ perl bash ] ++ (libDeps hostPlatform);

propagatedBuildInputs = [ targetPackages.stdenv.cc ]
++ stdenv.lib.optional useLLVM llvmPackages.llvm;

depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);

# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";

checkTarget = "test";

hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";

postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
# Patch scripts to include "readelf" and "cat" in $PATH.
for i in "$out/bin/"*; do
test ! -h $i || continue
egrep --quiet '^#!' <(head -n 1 $i) || continue
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
done
'';

passthru = {
inherit bootPkgs targetPrefix;

inherit llvmPackages;
inherit enableShared;

# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};

meta = {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
inherit (ghc.meta) license platforms;
};

} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
dontStrip = true;
dontPatchELF = true;
noAuditTmpdir = true;
})
1 change: 1 addition & 0 deletions pkgs/development/compilers/openjdk/11.nix
Original file line number Diff line number Diff line change
@@ -85,6 +85,7 @@ let
mkdir -p $out/share
ln -s $out/lib/openjdk/include $out/include
ln -s $out/lib/openjdk/man $out/share/man
ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip
# jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/
1 change: 1 addition & 0 deletions pkgs/development/compilers/openjdk/default.nix
Original file line number Diff line number Diff line change
@@ -91,6 +91,7 @@ let
mkdir -p $out/share
ln -s $out/lib/openjdk/include $out/include
ln -s $out/lib/openjdk/man $out/share/man
ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip
# jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/
98 changes: 63 additions & 35 deletions pkgs/development/compilers/ponyc/default.nix
Original file line number Diff line number Diff line change
@@ -1,64 +1,92 @@
{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl, libxml2,
{ stdenv, fetchFromGitHub, fetchurl, makeWrapper, pcre2, coreutils, which, libressl, libxml2, cmake, z3, substituteAll,
cc ? stdenv.cc, lto ? !stdenv.isDarwin }:

stdenv.mkDerivation ( rec {
stdenv.mkDerivation (rec {
pname = "ponyc";
version = "0.33.2";
version = "0.38.1";

src = fetchFromGitHub {
owner = "ponylang";
repo = pname;
rev = version;
sha256 = "0jcdr1r3g8sm3q9fcc87d6x98fg581n6hb90hz7r08mzn4bwvysw";
sha256 = "1hk810k9h3bl641pgw91y4x2qw67rvbapx6p2pk9qz5p7nfcn7qh";

# Due to a bug in LLVM 9.x, ponyc has to include its own vendored patched
# LLVM. (The submodule is a specific tag in the LLVM source tree).
#
# The pony developers are currently working to get off 9.x as quickly
# as possible so hopefully in a few revisions this package build will
# become a lot simpler.
#
# https://reviews.llvm.org/rG9f4f237e29e7150dfcf04ae78fa287d2dc8d48e2

fetchSubmodules = true;
};

buildInputs = [ llvm makeWrapper which libxml2 ];
ponygbenchmark = fetchurl {
url = https://github.com/google/benchmark/archive/v1.5.0.tar.gz;
sha256 = "06i2cr4rj126m1zfz0x1rbxv1mw1l7a11mzal5kqk56cdrdicsiw";
name = "v1.5.0.tar.gz";
};

buildInputs = [ makeWrapper which libxml2 cmake z3 ];
propagatedBuildInputs = [ cc ];

# Disable problematic networking tests
patches = [ ./disable-tests.patch ];
# Sandbox disallows network access, so disabling problematic networking tests
patches = [
./disable-tests.patch
(substituteAll {
src = ./make-safe-for-sandbox.patch;
googletest = fetchurl {
url = https://github.com/google/googletest/archive/release-1.8.1.tar.gz;
sha256 = "17147961i01fl099ygxjx4asvjanwdd446nwbq9v8156h98zxwcv";
name = "release-1.8.1.tar.gz";
};
})
];

postUnpack = ''
mkdir -p source/build/build_libs/gbenchmark-prefix/src
tar -C source/build/build_libs/gbenchmark-prefix/src -zxvf "$ponygbenchmark"
mv source/build/build_libs/gbenchmark-prefix/src/benchmark-1.5.0 \
source/build/build_libs/gbenchmark-prefix/src/benchmark
'';

preBuild = ''
# Fix tests
substituteInPlace packages/process/_test.pony \
--replace '"/bin/' '"${coreutils}/bin/'
substituteInPlace packages/process/_test.pony \
--replace '=/bin' "${coreutils}/bin"
dontConfigure = true;

# Disabling the stdlib tests
substituteInPlace Makefile-ponyc \
--replace 'test-ci: all check-version test-core test-stdlib-debug test-stdlib' 'test-ci: all check-version test-core'
postPatch = ''
# Patching Vendor LLVM
patchShebangs --host build/build_libs/gbenchmark-prefix/src/benchmark/tools/*.py
patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2020-09-01-is-trivially-copyable.diff
patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2020-01-07-01-c-exports.diff
patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2019-12-23-01-jit-eh-frames.diff
# Remove impure system refs
substituteInPlace packages/process/_test.pony \
--replace '"/bin/' '"${coreutils}/bin/' \
--replace '=/bin' "${coreutils}/bin"
substituteInPlace src/libponyc/pkg/package.c \
--replace "/usr/local/lib" "" \
--replace "/opt/local/lib" ""
'';

for file in `grep -irl '/usr/local/opt/libressl/lib' ./*`; do
substituteInPlace $file --replace '/usr/local/opt/libressl/lib' "${stdenv.lib.getLib libressl}/lib"
done

export LLVM_CONFIG=${llvm}/bin/llvm-config
'' + stdenv.lib.optionalString ((!stdenv.isDarwin) && (!cc.isClang) && lto) ''
export LTO_PLUGIN=`find ${cc.cc}/ -name liblto_plugin.so`
'' + stdenv.lib.optionalString ((!stdenv.isDarwin) && (cc.isClang) && lto) ''
export LTO_PLUGIN=`find ${cc.cc}/ -name LLVMgold.so`
preBuild = ''
make libs build_flags=-j$NIX_BUILD_CORES
make configure build_flags=-j$NIX_BUILD_CORES
'';

makeFlags = [ "config=release" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "bits=64" ]
++ stdenv.lib.optionals (stdenv.isDarwin && (!lto)) [ "lto=no" ];
makeFlags = [
"PONYC_VERSION=${version}"
"prefix=${placeholder "out"}"
]
++ stdenv.lib.optionals stdenv.isDarwin [ "bits=64" ]
++ stdenv.lib.optionals (stdenv.isDarwin && (!lto)) [ "lto=no" ];

enableParallelBuilding = true;

doCheck = true;

checkTarget = "test-ci";

NIX_CFLAGS_COMPILE = [ "-Wno-error=redundant-move" ];

preCheck = ''
export PONYPATH="$out/lib:${stdenv.lib.makeLibraryPath [ pcre2 libressl ]}"
'';
NIX_CFLAGS_COMPILE = [ "-Wno-error=redundant-move" "-Wno-error=implicit-fallthrough" ];

installPhase = ''
make config=release prefix=$out ''
@@ -79,7 +107,7 @@ stdenv.mkDerivation ( rec {
description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language";
homepage = "https://www.ponylang.org";
license = licenses.bsd2;
maintainers = with maintainers; [ doublec kamilchm patternspandemic ];
maintainers = with maintainers; [ doublec kamilchm patternspandemic redvers ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
})
93 changes: 93 additions & 0 deletions pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
--- a/lib/CMakeLists.txt 2020-09-27 02:39:12.862940179 +0000
+++ b/lib/CMakeLists.txt 2020-09-27 02:39:16.451957865 +0000
@@ -10,12 +10,12 @@
endif()

ExternalProject_Add(gbenchmark
- URL https://github.com/google/benchmark/archive/v1.5.0.tar.gz
+ SOURCE_DIR gbenchmark-prefix/src/benchmark
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DCMAKE_CXX_FLAGS=-fpic --no-warn-unused-cli
)

ExternalProject_Add(googletest
- URL https://github.com/google/googletest/archive/release-1.8.1.tar.gz
+ URL @googletest@
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_FLAGS=-fpic -Dgtest_force_shared_crt=ON --no-warn-unused-cli
)

@@ -28,75 +28,6 @@
COMPONENT library
)

-find_package(Git)
-
-set(LLVM_DESIRED_HASH "c1a0a213378a458fbea1a5c77b315c7dce08fd05")
-set(PATCHES_DESIRED_HASH "9063f83d727bf042a1232420e168c1ea192bf6a2960d35e57123245b630eb923")
-
-if(GIT_FOUND)
- if(EXISTS "${PROJECT_SOURCE_DIR}/../.git")
- # Update submodules as needed
- option(GIT_SUBMODULE "Check submodules during build" ON)
- if(GIT_SUBMODULE)
- message(STATUS "Updating submodules...")
- execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- RESULT_VARIABLE git_submod_result)
- #message("git_submod_result ${git_submod_result}")
- if(NOT git_submod_result EQUAL "0")
- message(FATAL_ERROR "git submodule update --init --recursive failed with ${git_submod_result}, please checkout submodules")
- endif()
-
- # we check to make sure the submodule hash matches
- # the reason the submodule hash is in this file is to be able to use this file as a key for caching the libs in CI
- execute_process(COMMAND ${GIT_EXECUTABLE} submodule status
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- OUTPUT_VARIABLE git_submod_output)
- #message("git_submod_output ${git_submod_output}")
- string(FIND "${git_submod_output}" "${LLVM_DESIRED_HASH}" LLVM_SUBMOD_POS)
- if(LLVM_SUBMOD_POS EQUAL "-1")
- message(FATAL_ERROR "Expecting the lib/llvm/src submodule to be at hash '${LLVM_DESIRED_HASH}'; found '${git_submod_output}'; update the LLVM_DESIRED_HASH variable in lib/CMakeLists.txt if you've updated the submodule.")
- endif()
- endif()
- endif()
-
- # Apply patches
- message("Applying patches...")
- file(GLOB PONY_LLVM_PATCHES "${PROJECT_SOURCE_DIR}/llvm/patches/*.diff")
-
- # check to see if the patch hashes match
- set(PATCHES_ACTUAL_HASH "")
- foreach (PATCH ${PONY_LLVM_PATCHES})
- file(SHA256 ${PATCH} patch_file_hash)
- string(CONCAT PATCHES_ACTUAL_HASH patch_file_hash)
- endforeach()
- string(SHA256 PATCHES_ACTUAL_HASH ${PATCHES_ACTUAL_HASH})
- if(NOT PATCHES_ACTUAL_HASH EQUAL "${PATCHES_DESIRED_HASH}")
- message(FATAL_ERROR "Patch hash actual ${PATCHES_ACTUAL_HASH} does not match desired ${PATCHES_DESIRED_HASH}")
- endif()
-
- foreach (PATCH ${PONY_LLVM_PATCHES})
- message(" Checking ${PATCH}")
- execute_process(COMMAND ${GIT_EXECUTABLE} apply --check -p 1 --ignore-whitespace --whitespace=nowarn ${PATCH}
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/llvm/src"
- ERROR_VARIABLE _err_out
- RESULT_VARIABLE git_apply_check_result)
- if(git_apply_check_result EQUAL "0")
- message(" Applying ${PATCH}")
- execute_process(COMMAND ${GIT_EXECUTABLE} apply -p 1 --ignore-whitespace --whitespace=nowarn ${PATCH}
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/llvm/src"
- RESULT_VARIABLE git_apply_result)
- if(NOT git_apply_result EQUAL "0")
- message(FATAL_ERROR "Unable to apply ${PATCH}")
- endif()
- else()
- message(" Already applied ${PATCH}")
- endif()
- endforeach()
-else()
- message(FATAL_ERROR "Git not found!")
-endif()
-
if (NOT DEFINED LLVM_TARGETS_TO_BUILD)
set(LLVM_TARGETS_TO_BUILD X86)
endif()
25 changes: 25 additions & 0 deletions pkgs/development/compilers/ponyc/pony-corral.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, ponyc }:

stdenv.mkDerivation ( rec {
pname = "corral";
version = "0.4.0";

src = fetchFromGitHub {
owner = "ponylang";
repo = pname;
rev = version;
sha256 = "0kydx4psl6k4n46as9xc5xwbwapibm6g7haxds7y9d392807qfqk";
};

buildInputs = [ ponyc ];

installFlags = [ "prefix=${placeholder "out"}" "install" ];

meta = with stdenv.lib; {
description = "Corral is a dependency management tool for ponylang (ponyc)";
homepage = "https://www.ponylang.io";
license = licenses.bsd2;
maintainers = with maintainers; [ redvers ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
})
8 changes: 4 additions & 4 deletions pkgs/development/interpreters/perl/default.nix
Original file line number Diff line number Diff line change
@@ -175,11 +175,11 @@ let
priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
};
} // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
crossVersion = "15ca5359f99698ef0a199bc307b7956c08907abc"; # Aug 27, 2020
crossVersion = "f59d2b6a179760230d925550db78b93c410433e4"; # Sept 22, 2020

perl-cross-src = fetchurl {
url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
sha256 = "0pcwv2ac02i2l0fjc8drdw70q6gwbypj2c5a53x2449m919v37h9";
sha256 = "1r07waq4ik4gf32c046f27pglwcy5rv9b6whj6497xbxfmaa5562";
};

depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
@@ -215,7 +215,7 @@ in {
perldevel = common {
perl = pkgs.perldevel;
buildPerl = buildPackages.perldevel;
version = "5.33.1";
sha256 = "1rlnqqqzyhal79ys5dv7fwm3mg81s43dwks28b74x2gcmsngjnw9";
version = "5.33.2";
sha256 = "0zrb3d744argzy5idmafk92iprq9qbhzqbg4xj5w2i80sgg41212";
};
}
4 changes: 2 additions & 2 deletions pkgs/development/libraries/appstream-glib/default.nix
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@
, pngquant
}:
stdenv.mkDerivation rec {
name = "appstream-glib-0.7.17";
name = "appstream-glib-0.7.18";

outputs = [ "out" "dev" "man" "installedTests" ];
outputBin = "dev";
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
owner = "hughsie";
repo = "appstream-glib";
rev = stdenv.lib.replaceStrings [ "." "-" ] [ "_" "_" ] name;
sha256 = "06pm8l58y0ladimyckbvlslr5bjj9rwb70rgjmn09l41pdpipy2i";
sha256 = "12s7d3nqjs1fldnppbg2mkjg4280f3h8yzj3q1hiz3chh1w0vjbx";
};

nativeBuildInputs = [
9 changes: 2 additions & 7 deletions pkgs/development/libraries/neatvnc/default.nix
Original file line number Diff line number Diff line change
@@ -4,20 +4,15 @@

stdenv.mkDerivation rec {
pname = "neatvnc";
version = "0.3.1";
version = "0.3.2";

src = fetchFromGitHub {
owner = "any1";
repo = pname;
rev = "v${version}";
sha256 = "1209dzlmqf5p1cqzf6kss5inwgj644ynrh9qgpjf1kskqwfxn1c4";
sha256 = "1h9yc3krhjlyapsjaf6y76546rkqk7ygcjfgm0a9bc0cfvmlb5az";
};

postPatch = ''
substituteInPlace meson.build --replace \
"version: '0.2.0'" "version: '${version}'"
'';

nativeBuildInputs = [ meson pkg-config ninja ];
buildInputs = [ pixman gnutls libdrm libjpeg_turbo zlib aml ];

4 changes: 2 additions & 2 deletions pkgs/development/libraries/xdg-desktop-portal/default.nix
Original file line number Diff line number Diff line change
@@ -21,15 +21,15 @@

stdenv.mkDerivation rec {
pname = "xdg-desktop-portal";
version = "1.7.2";
version = "1.8.0";

outputs = [ "out" "installedTests" ];

src = fetchFromGitHub {
owner = "flatpak";
repo = pname;
rev = version;
sha256 = "0rkwpsmbn3d3spkzc2zsd50l2r8pp4la390zcpsawaav8w7ql7xm";
sha256 = "1f1f79hy259lm017zaq4rpvys8zkmjspqily4a3lbnm77zk3y079";
};

patches = [
4 changes: 2 additions & 2 deletions pkgs/development/ocaml-modules/asn1-combinators/default.nix
Original file line number Diff line number Diff line change
@@ -6,11 +6,11 @@ buildDunePackage rec {
minimumOCamlVersion = "4.05";

pname = "asn1-combinators";
version = "0.2.2";
version = "0.2.3";

src = fetchurl {
url = "https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v${version}/asn1-combinators-v${version}.tbz";
sha256 = "0c9n3nki3drjwn7yv2pg7nzyzsi409laq70830wh147hvvwxbsy9";
sha256 = "1z73hc17f5m2i4bfxw0g94fsri67f8vha812mm8klz4ggs8y7d6r";
};

propagatedBuildInputs = [ cstruct zarith bigarray-compat stdlib-shims ptime ];
4 changes: 2 additions & 2 deletions pkgs/development/ocaml-modules/mirage-stack/default.nix
Original file line number Diff line number Diff line change
@@ -2,11 +2,11 @@

buildDunePackage rec {
pname = "mirage-stack";
version = "2.1.0";
version = "2.2.0";

src = fetchurl {
url = "https://github.com/mirage/mirage-stack/releases/download/v${version}/mirage-stack-v${version}.tbz";
sha256 = "1y110i4kjr03b0ji3q5h0bi3n3q8mdkfflb3fyq5rvpi5l45vvdb";
sha256 = "1qhi0ghcj4j3hw7yqn085ac6n18b6b66z5ih3k8p79m4cvn7cdq0";
};

propagatedBuildInputs = [ mirage-protocols ];
4 changes: 2 additions & 2 deletions pkgs/development/ocaml-modules/mirage/runtime.nix
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@

buildDunePackage rec {
pname = "mirage-runtime";
version = "3.8.0";
version = "3.8.1";

minimumOCamlVersion = "4.06";

src = fetchurl {
url = "https://github.com/mirage/mirage/releases/download/v${version}/mirage-v${version}.tbz";
sha256 = "18v37arzy7gkz5qcy34k0l8g69146nysjv0h1jcym0h4xxy0bxir";
sha256 = "1sx9df041jb2rdrsibybifhml6h6kpzw9d2bw6vvv0ml500070ww";
};

propagatedBuildInputs = [ ipaddr functoria-runtime fmt logs ocaml_lwt ];
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/aioftp/default.nix
Original file line number Diff line number Diff line change
@@ -11,12 +11,12 @@

buildPythonPackage rec {
pname = "aioftp";
version = "0.17.2";
version = "0.18.0";
disabled = isPy27;

src = fetchPypi {
inherit pname version;
sha256 = "8433ff21317e71ef1f4d8cb8f7fe58365c04b5174142d9643e22343cfb35da1b";
sha256 = "6f9d5b5ac910987daca4f7ad4a017530751e2107d2471c9f92a3e09b507cb2dc";
};

checkInputs = [
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/argcomplete/default.nix
Original file line number Diff line number Diff line change
@@ -7,11 +7,11 @@
}:
buildPythonPackage rec {
pname = "argcomplete";
version = "1.12.0";
version = "1.12.1";

src = fetchPypi {
inherit pname version;
sha256 = "0p19rkvh28klkkd1c6y78h6vb9b9cnlyr7qrshkxghfjkz85xgig";
sha256 = "849c2444c35bb2175aea74100ca5f644c29bf716429399c0f2203bb5d9a8e4e6";
};

doCheck = false; # meant to be ran with interactive interpreter
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/asyncssh/default.nix
Original file line number Diff line number Diff line change
@@ -5,12 +5,12 @@

buildPythonPackage rec {
pname = "asyncssh";
version = "2.3.0";
version = "2.4.2";
disabled = pythonOlder "3.4";

src = fetchPypi {
inherit pname version;
sha256 = "44bda34c7123f00c3df95d24e2dc8d43c4d17b456fbb8c434ef4f4a7ebb5265e";
sha256 = "1c4a697d05a5e3d8d16ea18526115e84d8f015ba4c8b721a0d84062b6b244ef4";
};

patches = [
29 changes: 29 additions & 0 deletions pkgs/development/python-modules/azure-appconfiguration/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{ lib, buildPythonPackage, fetchPypi, isPy27
, azure-core
, msrest
}:

buildPythonPackage rec {
pname = "azure-appconfiguration";
version = "1.1.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "0mv053vl88nzpv701gnjdmbylc8qm0kkq87264rfhvrx3ydymf97";
};

propagatedBuildInputs = [
azure-core
msrest
];

pythonImportsCheck = [ "azure.appconfiguration" ];

meta = with lib; {
description = "Microsoft App Configuration Data Library for Python";
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/appconfiguration/azure-appconfiguration";
license = licenses.mit;
maintainers = with maintainers; [ jonringer ];
};
}
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/azure-core/default.nix
Original file line number Diff line number Diff line change
@@ -14,14 +14,14 @@
}:

buildPythonPackage rec {
version = "1.8.0";
version = "1.8.1";
pname = "azure-core";
disabled = isPy27;

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "c89bbdcdc13ad45fe57d775ed87b15baf6d0b039a1ecd0a1bc91d2f713cb1f08";
sha256 = "7efbeac3a6dfb634cb5323bc04e18ab609aeab6b03610808091aa0517373d626";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -11,11 +11,11 @@

buildPythonPackage rec {
pname = "azure-datalake-store";
version = "0.0.49";
version = "0.0.50";

src = fetchPypi {
inherit pname version;
sha256 = "3fcede6255cc9cd083d498c3a399b422f35f804c561bb369a7150ff1f2f07da9";
sha256 = "9b9b58dcf1d0d0e5aa499d5cb49dcf8f5432ca467a747b39167bb70ef901dbc2";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{ lib, buildPythonPackage, fetchPypi, isPy27
, azure-common
, azure-core
, msrest
}:

buildPythonPackage rec {
pname = "azure-keyvault-administration";
version = "4.0.0b1";
disabled = isPy27;

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "1kmf2x3jdmfm9c7ldvajzckkm79gxxvl1l2968lizjwiyjbbsih5";
};

propagatedBuildInputs = [
azure-common
azure-core
msrest
];

# no tests in pypi tarball
doCheck = false;

pythonNamespaces = [ "azure.keyvault" ];

pythonImportsCheck = [ "azure.keyvault.administration" ];

meta = with lib; {
description = "Microsoft Azure Key Vault Administration Client Library for Python";
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-administration";
license = licenses.mit;
maintainers = with maintainers; [ jonringer ];
};
}
Original file line number Diff line number Diff line change
@@ -11,12 +11,12 @@

buildPythonPackage rec {
pname = "azure-keyvault-certificates";
version = "4.2.0";
version = "4.2.1";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "5e33881f3a9b3080c815fe6a7200c0c8670ec506eff45955432ddb84f3076902";
sha256 = "ea651883ad00d0a9a25b38e51feff7111f6c7099c6fb2597598da5bb21d3451c";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -1,25 +1,33 @@
{ lib, buildPythonPackage, fetchPypi, isPy27
, azure-common
, azure-mgmt-core
, msrest
, msrestazure
}:

buildPythonPackage rec {
version = "0.6.0";
version = "1.0.1";
pname = "azure-mgmt-appconfiguration";
disabled = isPy27;

src = fetchPypi {
inherit pname version;
sha256 = "fe6e216ce7293219b7d8d1cbcca7cf2f4511f134c2bf0b3455078bf086436c5f";
sha256 = "b58bbe82a7429ba589292024896b58d96fe9fa732c578569cac349928dc2ca5f";
extension = "zip";
};

propagatedBuildInputs = [ azure-common msrest msrestazure ];
propagatedBuildInputs = [
azure-common
azure-mgmt-core
msrest
msrestazure
];

# no tests included
doCheck = false;

pythonNamespaces = [ "azure.mgmt" ];

pythonImportsCheck = [ "azure.common" "azure.mgmt.appconfiguration" ];

meta = with lib; {
Original file line number Diff line number Diff line change
@@ -3,21 +3,23 @@
, fetchPypi
, python
, azure-mgmt-common
, azure-mgmt-core
, isPy3k
}:

buildPythonPackage rec {
version = "13.0.0";
version = "17.0.0";
pname = "azure-mgmt-compute";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "7f331bafcbedf25d65aa42038f7553747dab18d7f10a5af3297192d31c45339e";
sha256 = "c7350b404e5d10a548ceddb034394c8fad6c852ce33a3d3b211065813c1da404";
};

propagatedBuildInputs = [
azure-mgmt-common
azure-mgmt-core
];

pythonNamespaces = [ "azure.mgmt" ];
Original file line number Diff line number Diff line change
@@ -10,12 +10,12 @@

buildPythonPackage rec {
pname = "azure-mgmt-containerservice";
version = "9.3.0";
version = "9.4.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "04ca071d1d6af854b6a5947c5aed803924ccbd2ea0d240285b6fa68dc4ab75a9";
sha256 = "d90684106c70779450b82067be4d3e449c799ca1f47d941e45f6d2b5c016dac9";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -10,12 +10,12 @@

buildPythonPackage rec {
pname = "azure-mgmt-datafactory";
version = "0.12.0";
version = "0.13.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "cee5168c8b89cbc673744323cf98f7f22d710914c79d103f84f8f24b780e8214";
sha256 = "3eabe34f49587840617747511a0aa25d08b0c1619677a1fdda24ce9e6b0f2c74";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -4,24 +4,26 @@
, msrest
, msrestazure
, azure-common
, azure-mgmt-core
, azure-mgmt-nspkg
, isPy3k
}:

buildPythonPackage rec {
pname = "azure-mgmt-eventhub";
version = "4.0.0";
version = "8.0.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "1qisnwn0gqfsa3h5x0fdbsgdjwn92hdbg71gdijrja0kryb328k5";
sha256 = "ae02b1e3ccbb9ec45849de544dea4d8ef36ea767707207d055ae2b4f756c0d79";
};

propagatedBuildInputs = [
msrest
msrestazure
azure-common
azure-mgmt-core
] ++ lib.optionals (!isPy3k) [
azure-mgmt-nspkg
];
Original file line number Diff line number Diff line change
@@ -12,12 +12,12 @@

buildPythonPackage rec {
pname = "azure-mgmt-keyvault";
version = "2.2.0";
version = "7.0.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "1883e12eeb5819064dc52bf3a3ade05c791f4b66e4aeec948bda28df6ce2bce4";
sha256 = "128c1424373aabab5ffcfa74a3ee73cf8bda0a9259229ce2c1d09a8bc9f7370a";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -11,12 +11,12 @@

buildPythonPackage rec {
pname = "azure-mgmt-loganalytics";
version = "0.7.0";
version = "1.0.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "18n2lqvrhq40gdqhlzzg8mc03571i02c7qq7jv771lc58rqpzysh";
sha256 = "7eb052a1c4bb037c06a0aff740378bd54a6ae256bf5cb71faa14b4eb61281488";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -6,23 +6,25 @@
, msrest
, msrestazure
, azure-common
, azure-mgmt-core
, azure-mgmt-nspkg
}:

buildPythonPackage rec {
pname = "azure-mgmt-monitor";
version = "0.11.0";
version = "1.0.1";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "c6e1fe83dd2ddffa7f6d90c7aa63b3128042396a3893c14dc4816ad28cb15016";
sha256 = "04bd89d74fe47f966b09e3256ffefcfa5c1a51057a6b33c092afe5ae17a1a7b7";
};

propagatedBuildInputs = [
msrest
msrestazure
azure-common
azure-mgmt-core
] ++ lib.optionals (!isPy3k) [
azure-mgmt-nspkg
];
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/azure-mgmt-netapp/default.nix
Original file line number Diff line number Diff line change
@@ -5,13 +5,13 @@
}:

buildPythonPackage rec {
version = "0.12.0";
version = "0.13.0";
pname = "azure-mgmt-netapp";
disabled = isPy27;

src = fetchPypi {
inherit pname version;
sha256 = "7d773119bc02e3d6f9d7cffb7effc17e85676d5c5b1f656d05abc4489e472c76";
sha256 = "e86034d073144bd5dbafe17e20fef3f48b5bf98a31b27cc0de462dc8f98303bb";
extension = "zip";
};

26 changes: 16 additions & 10 deletions pkgs/development/python-modules/azure-mgmt-network/default.nix
Original file line number Diff line number Diff line change
@@ -1,37 +1,43 @@
{ lib
, buildPythonPackage
, fetchPypi
, azure-common
, azure-mgmt-common
, python
, azure-mgmt-core
, msrest
, msrestazure
, isPy3k
}:

buildPythonPackage rec {
version = "11.0.0";
version = "16.0.0";
pname = "azure-mgmt-network";
disabled = !isPy3k;

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "7fdfc631c660cb173eee88abbb7b8be7742f91b522be6017867f217409cd69bc";
sha256 = "6159a8c44590cc58841690c27c7d4acb0cd9ad0a1e5178c1d35e0f48e3c3c0e9";
};

postInstall = if isPy3k then "" else ''
echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py
'';

propagatedBuildInputs = [
azure-mgmt-common
azure-common
azure-mgmt-core
msrest
msrestazure
];

# has no tests
doCheck = false;

pythonNamespaces = [ "azure.mgmt" ];

pythonImportsCheck = [ "azure.mgmt.network" ];

meta = with lib; {
description = "Microsoft Azure SDK for Python";
homepage = "https://github.com/Azure/azure-sdk-for-python";
license = licenses.mit;
maintainers = with maintainers; [ olcai mwilsoninsight ];
maintainers = with maintainers; [ olcai mwilsoninsight jonringer ];
};
}
23 changes: 13 additions & 10 deletions pkgs/development/python-modules/azure-mgmt-resource/default.nix
Original file line number Diff line number Diff line change
@@ -1,36 +1,39 @@
{ pkgs
, buildPythonPackage
, fetchPypi
, python
, azure-mgmt-core
, azure-mgmt-common
, isPy3k
}:


buildPythonPackage rec {
version = "10.2.0";
version = "15.0.0";
pname = "azure-mgmt-resource";
disabled = !isPy3k;

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "ddfe4c0c55f0e3fd1f66dd82c1d4a3d872ce124639b9a77fcd172daf464438a5";
sha256 = "80ecb69aa21152b924edf481e4b26c641f11aa264120bc322a14284811df9c14";
};

postInstall = if isPy3k then "" else ''
echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py
'';

propagatedBuildInputs = [ azure-mgmt-common ];
propagatedBuildInputs = [
azure-mgmt-common
azure-mgmt-core
];

# has no tests
doCheck = false;

pythonNamespaces = [ "azure.mgmt" ];

pythonImportsCheck = [ "azure.mgmt.resource" ];

meta = with pkgs.lib; {
description = "Microsoft Azure SDK for Python";
homepage = "https://github.com/Azure/azure-sdk-for-python";
license = licenses.mit;
maintainers = with maintainers; [ olcai mwilsoninsight ];
maintainers = with maintainers; [ olcai mwilsoninsight jonringer ];
};
}
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/azure-mgmt-sql/default.nix
Original file line number Diff line number Diff line change
@@ -10,12 +10,12 @@

buildPythonPackage rec {
pname = "azure-mgmt-sql";
version = "0.20.0";
version = "0.21.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "29dde5bb3234be6e4b2bc93ad1d37dc94b3d0536bbb21759e9b24250d2dfdab2";
sha256 = "7bf7a41d2e42532a00b5f41d3fc0512244451a35f038ac0a25c96ef2c5c04300";
};

propagatedBuildInputs = [
13 changes: 10 additions & 3 deletions pkgs/development/python-modules/azure-mgmt-storage/default.nix
Original file line number Diff line number Diff line change
@@ -3,23 +3,30 @@
, fetchPypi
, python
, azure-mgmt-common
, azure-mgmt-core
, isPy3k
}:

buildPythonPackage rec {
version = "11.2.0";
version = "16.0.0";
pname = "azure-mgmt-storage";
disabled = !isPy3k;

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "fc8e3cbf3c58cab98d9b2218c774dae2cc90b693f5ab5a24a7a959febe6c0528";
sha256 = "2f9d714d9722b1ef4bac6563676612e6e795c4e90f6f3cd323616fdadb0a99e5";
};

propagatedBuildInputs = [ azure-mgmt-common ];
propagatedBuildInputs = [
azure-mgmt-common
azure-mgmt-core
];

pythonNamespaces = [ "azure.mgmt" ];

pythonImportsCheck = [ "azure.mgmt.storage" ];

# has no tests
doCheck = false;

Original file line number Diff line number Diff line change
@@ -6,12 +6,12 @@

buildPythonPackage rec {
pname = "azure-mgmt-synapse";
version = "0.3.0";
version = "0.4.0";
disabled = pythonOlder "3";

src = fetchPypi {
inherit pname version;
sha256 = "0sa12s5af9xl1wnblilswxc6ydr2anm9an000iz3ks54pydby2vy";
sha256 = "ebd4dcb980a6425f4db7dd94225332b6bd74e1089b0c6e57af868d96ceab1d3c";
extension = "zip";
};

Original file line number Diff line number Diff line change
@@ -11,12 +11,12 @@

buildPythonPackage rec {
pname = "azure-storage-blob";
version = "12.4.0";
version = "12.5.0";

src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "1s03daq5mxh9acbv8qpa55c2wmjvdf8jq071cwv65mrly8prp84n";
sha256 = "1469a5a0410296fb5ff96c326618d939c9cb0c0ea45eb931c89c98fa742d8daa";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -6,11 +6,11 @@

buildPythonPackage rec {
pname = "azure-synapse-accesscontrol";
version = "0.2.0";
version = "0.3.0";

src = fetchPypi {
inherit pname version;
sha256 = "1rsdqrhrgy09kbw6c7krb4hlaxs1ldb6lilwrbxgp3zqybxxnh5b";
sha256 = "5cead7051df3816a3382a74033efa0b8774cb7f8cdf5871c6825dd1638289189";
extension = "zip";
};

Original file line number Diff line number Diff line change
@@ -6,11 +6,11 @@

buildPythonPackage rec {
pname = "azure-synapse-spark";
version = "0.2.0";
version = "0.3.0";

src = fetchPypi {
inherit pname version;
sha256 = "1qijqp6llshqas422lnqvpv45iv99n7f13v86znql40y3jp5n3ir";
sha256 = "fcfe559e30a2e159f07e371af28d18dc635dc55174fb3457be7210ce8e7e7559";
extension = "zip";
};

4 changes: 2 additions & 2 deletions pkgs/development/python-modules/bidict/default.nix
Original file line number Diff line number Diff line change
@@ -12,12 +12,12 @@

buildPythonPackage rec {
pname = "bidict";
version = "0.20.0";
version = "0.21.2";
disabled = !isPy3k;

src = fetchPypi {
inherit pname version;
sha256 = "c1b1ce1c0f1e3457489672bc3a4db375a06f61ae7797a9eedf71ea788cea3870";
sha256 = "4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09";
};

nativeBuildInputs = [ setuptools_scm ];
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/biopython/default.nix
Original file line number Diff line number Diff line change
@@ -7,11 +7,11 @@

buildPythonPackage rec {
pname = "biopython";
version = "1.77";
version = "1.78";

src = fetchPypi {
inherit pname version;
sha256 = "fb1936e9ca9e7af8de1050e84375f23328e04b801063edf0ad73733494d8ec42";
sha256 = "1ee0a0b6c2376680fea6642d5080baa419fd73df104a62d58a8baf7a8bbe4564";
};

disabled = !isPy3k;
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/braintree/default.nix
Original file line number Diff line number Diff line change
@@ -6,11 +6,11 @@

buildPythonPackage rec {
pname = "braintree";
version = "4.3.0";
version = "4.4.0";

src = fetchPypi {
inherit pname version;
sha256 = "d2b5ead45dbfe98b6099d387c7f12b7d2994ae0efb60679e6bb0929a06027e16";
sha256 = "79ddadaa9db60b81762a10af0c0d994fd60d21616c7d9229d6f7ce1930f8d343";
};

propagatedBuildInputs = [ requests ];
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/breathe/default.nix
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{ lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k, isPy27 }:

buildPythonPackage rec {
version = "4.20.0";
version = "4.22.1";
pname = "breathe";
disabled = isPy27;

src = fetchPypi {
inherit pname version;
sha256 = "d7e1e1ee9b0615423b7e9abc64f0afe12e7bcf32c817a8fd1d9c8c3c4b3d71c9";
sha256 = "6e4b66e61876dac90e78b335788a38eaa3625ed9c70d0add261f98ddd128d36a";
};

propagatedBuildInputs = [ docutils six sphinx ];
30 changes: 30 additions & 0 deletions pkgs/development/python-modules/class-registry/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
buildPythonPackage,
fetchPypi,
lib,
nose,
six,
}:

buildPythonPackage rec {
pname = "class-registry";
version = "2.1.2";

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

propagatedBuildInputs = [ six ];
checkInputs = [ nose ];

# Tests currently failing.
doCheck = false;

meta = {
description = "Factory+Registry pattern for Python classes.";
homepage = "https://class-registry.readthedocs.io/en/latest/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ kevincox ];
};
}
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/cmd2/default.nix
Original file line number Diff line number Diff line change
@@ -6,11 +6,11 @@
}:
buildPythonPackage rec {
pname = "cmd2";
version = "1.3.8";
version = "1.3.10";

src = fetchPypi {
inherit pname version;
sha256 = "b6f6254def8ba479088702f97bca1b999c12e0c38ac5d82dc50a44db93c7108c";
sha256 = "960d8288c8e3a093d04975e3dd8461ce2e43c1d0c70e54873f622f8f0b77d6f5";
};

LC_ALL="en_US.UTF-8";
Original file line number Diff line number Diff line change
@@ -5,11 +5,11 @@

buildPythonPackage rec {
pname = "dash_core_components";
version = "1.10.2";
version = "1.12.1";

src = fetchPypi {
inherit pname version;
sha256 = "6152346ff2ac8a7fcdb76c8b8acbf3ee4e72f3822cd2a02a9f3a963db66f94a3";
sha256 = "27f2ac612f5574dcd0d645f9302ceca5975bbdac6791865692e3ac51d0aec7f4";
};

# No tests in archive
Original file line number Diff line number Diff line change
@@ -5,11 +5,11 @@

buildPythonPackage rec {
pname = "dash_html_components";
version = "1.0.3";
version = "1.1.1";

src = fetchPypi {
inherit pname version;
sha256 = "1fj5wlh6x9nngmz1rzb5xazc5pl34yrp4kf7a3zgy0dniap59yys";
sha256 = "2c662e640528c890aaa0fa23d48e51c4d13ce69a97841d856ddcaaf2c6a47be3";
};

# No tests in archive
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/dash-renderer/default.nix
Original file line number Diff line number Diff line change
@@ -5,11 +5,11 @@

buildPythonPackage rec {
pname = "dash_renderer";
version = "1.6.0";
version = "1.8.2";

src = fetchPypi {
inherit pname version;
sha256 = "8e9c0c0c2efb8ea562489c37665417cd608c30bca20425ac4d847420b5bbc128";
sha256 = "84cbb22019299a5a3c268ec1143c6f241c3f136e95753edac83a81673b7fa04e";
};

# No tests in archive
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/dash-table/default.nix
Original file line number Diff line number Diff line change
@@ -5,11 +5,11 @@

buildPythonPackage rec {
pname = "dash_table";
version = "4.9.0";
version = "4.10.1";

src = fetchPypi {
inherit pname version;
sha256 = "2f19000051730291100cd3a79b13fa62c478aea7908f2e4323c13b90f09e3320";
sha256 = "1aa02180faef13434364286b60404d26164d1ce2779c765c9c52e6935991a4e9";
};

# No tests in archive
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/dash/default.nix
Original file line number Diff line number Diff line change
@@ -16,13 +16,13 @@

buildPythonPackage rec {
pname = "dash";
version = "1.14.0";
version = "1.16.2";

src = fetchFromGitHub {
owner = "plotly";
repo = pname;
rev = "v${version}";
sha256 = "1f7gal9x0bjsmwxlbvlkwfwz1cyyg5d0n6jh4399wkjilpd966d5";
sha256 = "1krhwxlz8kpaklf5ii3h339id6c3139xzxxkq7mvvag330j6nbgg";
};

propagatedBuildInputs = [
Original file line number Diff line number Diff line change
@@ -2,11 +2,11 @@

buildPythonPackage rec {
pname = "databricks-connect";
version = "7.1.0";
version = "7.1.1";

src = fetchPypi {
inherit pname version;
sha256 = "996a9d0f271f6c7edbd2d85b2efb6ff4e58d15222e80f87ca17fdbf224e17056";
sha256 = "c7f508c84edc7f80a131650b892889624e4457c10f44318465dd3f7b8cf5be6d";
};

sourceRoot = ".";
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/datadog/default.nix
Original file line number Diff line number Diff line change
@@ -4,11 +4,11 @@

buildPythonPackage rec {
pname = "datadog";
version = "0.38.0";
version = "0.39.0";

src = fetchPypi {
inherit pname version;
sha256 = "401cd1dcf2d5de05786016a1c790bff28d1428d12ae1dbe11485f9cb5502939b";
sha256 = "b0ef69a27aad0e4412c1ac3e6894fa1b5741db735515c34dfe1606d8cf30e4e5";
};

postPatch = ''
Loading