Commit Graph

1465 Commits

Author SHA1 Message Date
John Ericson
bc9f471997 Merge pull request #27797 from grahamc/fixed-lib
Convert libs to a fixed-point
2017-09-19 10:52:15 -04:00
Graham Christensen
152c63c9ff
Convert libs to a fixed-point
This does break the API of being able to import any lib file and get
its libs, however I'm not sure people did this.

I made this while exploring being able to swap out docFn with a stub
in #2305, to avoid functor performance problems. I don't know if that
is going to move forward (or if it is a problem or not,) but after
doing all this work figured I'd put it up anyway :)

Two notable advantages to this approach:

1. when a lib inherits another lib's functions, it doesn't
   automatically get put in to the scope of lib
2. when a lib implements a new obscure functions, it doesn't
   automatically get put in to the scope of lib

Using the test script (later in this commit) I got the following diff
on the API:

  + diff master fixed-lib
  11764a11765,11766
  > .types.defaultFunctor
  > .types.defaultTypeMerge
  11774a11777,11778
  > .types.isOptionType
  > .types.isType
  11781a11786
  > .types.mkOptionType
  11788a11794
  > .types.setType
  11795a11802
  > .types.types

This means that this commit _adds_ to the API, however I can't find a
way to fix these last remaining discrepancies. At least none are
_removed_.

Test script (run with nix-repl in the PATH):

  #!/bin/sh

  set -eux

  repl() {
      suff=${1:-}
      echo "(import ./lib)$suff" \
          | nix-repl 2>&1
  }

  attrs_to_check() {
      repl "${1:-}" \
          | tr ';'  $'\n' \
          | grep "\.\.\." \
          | cut -d' ' -f2 \
          | sed -e "s/^/${1:-}./" \
          | sort
  }

  summ() {
      repl "${1:-}" \
          | tr ' ' $'\n' \
          | sort \
          | uniq
  }

  deep_summ() {
      suff="${1:-}"
      depth="${2:-4}"
      depth=$((depth - 1))
      summ "$suff"

      for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do
          if [ $depth -eq 0 ]; then
              summ "$attr" | sed -e "s/^/$attr./"
          else
              deep_summ "$attr" "$depth" | sed -e "s/^/$attr./"
          fi
      done
  }

  (
      cd nixpkgs

      #git add .
      #git commit -m "Auto-commit, sorry" || true
      git checkout fixed-lib
      deep_summ > ../fixed-lib
      git checkout master
      deep_summ > ../master
  )

  if diff master fixed-lib; then
      echo "SHALLOW MATCH!"
  fi

  (
      cd nixpkgs
      git checkout fixed-lib
      repl .types
  )
2017-09-16 21:36:43 -04:00
Jörg Thalheim
419869269d Merge pull request #28635 from ThomasMader/ldc
Init ldc at 1.3.0, fix bootstrap dmd build, fix dtools test, run dmd-testsuite in checkPhase and fix Foundation framework
2017-09-15 10:32:10 +01:00
Muhammad Herdiansyah
0e09b79bcc
maintainer: change email 2017-09-15 10:17:12 +02:00
Jörg Thalheim
0febf8d43c Merge pull request #29304 from woffs/oysttyer
oysttyer-2.9.1
2017-09-13 23:17:45 +01:00
Joachim F
9580bafbb1 Merge pull request #25525 from emanueleperuffo/alc1100
epson-alc1100: init at version 1.2-0
2017-09-13 21:12:34 +00:00
John Ericson
8fccaa284d Merge pull request #29282 from obsidiansystems/soext
lib, treewide: Add `*Platform.extensions` and use it where possible
2017-09-13 11:20:06 -04:00
John Ericson
741839a687 lib: Add *Platform.extensions
This is used to platform specific library and exectuable extensions. In
the next commit I'll replace a bunch of ad-hoc logic with it.
2017-09-13 11:07:50 -04:00
Frank Doepper
9c4233f7b6 oysttyer: init at 2.9.1
A Perl Console Twitter Client
2017-09-13 16:38:15 +02:00
Frederik Rietdijk
7aa2e6b590 Merge pull request #29263 from jyp/jyp-rename-maintainer
make my maintainer handle match my github username
2017-09-13 09:40:21 +02:00
Jean-Philippe Bernardy
1ba197f225 make my maintainer handle match my github username 2017-09-12 15:17:18 +02:00
Tuomas Tynkkynen
9275c3387e lib.cleanSourceFilter: Fix VIM swap file filtering
The backslash wasn't properly escaped, and "\." is apparently equal to
".". So it's accidentally filtering out these valid file names (in
Nixpkgs):

trace: excluding clfswm
trace: excluding larswm
trace: excluding mkpasswd

While at it, turn the file filter stricter to what it was before
e2589b3ca2. That is, the file name must
start with a dot: '.swp', '.foo.swo' are filtered but 'bar.swf' is not.
2017-09-12 14:58:46 +03:00
Matthieu Coudron
f31c6c150a python.pkgs.secretstorage: init at 2.3.1 2017-09-07 09:28:02 +02:00
Gabriel Adomnicai
7c08e86be9 mmake: init at 1.2.0 (#28904)
* Package for mmake

* Package for mmake - build from sources

* Package name update

* Added maintainers
2017-09-05 15:00:22 +01:00
Laure Tavard
bf491f8794 cdo: init at 1.7.2 (#22496) 2017-09-05 13:40:20 +01:00
Vladimír Čunát
65f6e6ccb6
licenses: fix fullName capitalization
inspired by repology.org
2017-09-05 00:22:00 +02:00
Michele Catalano
4ea1d49643 nexus: Add module for nexus.
Add also myself as maintainer
Add simple test of the nexus service
2017-09-04 22:32:02 +02:00
Andrew Cobb
9dc256099f kupfer: init at 319 (#28719)
* kupfer: init at 319

* kupfer: wrap with wrapGAppsHook

* kupfer: fixing up runtime dependencies

* kupfer: added cobbal as maintainer
2017-09-02 14:11:10 +01:00
Thomas Mader
8a2a3dad80 ldc: Init at 1.3.0 2017-09-02 08:30:17 +02:00
Frederik Rietdijk
6d4bd78fad Merge commit '2858c41' into HEAD 2017-08-30 21:07:07 +02:00
Domen Kožar
97a4088d33
Add lib.mod: integer modulus 2017-08-30 14:32:27 +02:00
Dan Peebles
e2589b3ca2 Deduplicate some filterSource invocations
This version should have more conventional regexes that work across many
platforms and regex engines. This is an issue because up until Nix 1.11,
Nix called out to the libc regex matcher, which behaved differently on
Darwin and Linux. And in Nix 1.12, we're moving to std::regex which will
also behave differently here.

And yes, I do actually evaluate make-disk-image.nix on Darwin ;)
2017-08-29 20:27:04 -04:00
Jörg Thalheim
bf03f3c4cb Merge pull request #28570 from sorpaas/btc1-init
btc1: init at 1.14.5
2017-08-29 11:52:51 +01:00
Vladimír Čunát
2858c41823
Merge branch 'master' into staging
There were some conflicts in python modules, commented at #28314.
2017-08-29 10:51:54 +02:00
Claas Augner
03b08fca66 nextcloud-client 2.3.2 (#28645)
* nextcloud-client: init at 2.3.2

* nextcloud-client: nitpicks
2017-08-28 21:33:51 +01:00
Alvar
ffa499f9ec et: init at 2017-03-04 (#28427) 2017-08-26 13:36:31 +01:00
Jörg Thalheim
c63a619820 Merge pull request #28458 from danbst/patch-11
Nix minimal version: 1.10 -> 1.11
2017-08-26 00:26:06 +01:00
Phil
4f2935390e nixos/usbguard: create package and module (#28363)
* nixos/usbguard: create package and module

No usbguard module or package existed for NixOS previously. USBGuard
will protect you from BadUSB attacks. (assuming configuration is done
correctly)

* nixos/usbguard: remove extra packages

Users can override this by themselves.

* nixos/usbguard: add maintainer and fix style
2017-08-25 23:35:18 +01:00
Frederik Rietdijk
665d393919 Merge remote-tracking branch 'upstream/master' into HEAD 2017-08-25 19:39:41 +02:00
Wei Tang
aabdd37cb9 btc1: init at 1.14.5
A portion of Bitcoin users (including the super-majority of the
miners) decided to hard fork to segwit2x around this November. At that
time this will not be compatible with the Bitcoin Core client. 1.14.5
is known as "the Production Release".
2017-08-26 01:05:46 +08:00
Jörg Thalheim
6ec7c5cff2 Merge pull request #28488 from alunduil/add-alunduil-maintainer
add alunduil as collection-json maintainer
2017-08-25 13:16:06 +01:00
WilliButz
3ac73fbb81
maintainers: add myself 2017-08-24 21:20:03 +02:00
Tuomas Tynkkynen
5674da5aed Fix "treewide: Consistently call ARM 'arm'"
0c0fad6141 was broken. I didn't realize there's some hidden
metaprogramming code where one can't even grep for 'isFoo' to find its
definition :(
2017-08-24 14:43:57 +03:00
Tuomas Tynkkynen
2fc7651b25 Merge remote-tracking branch 'upstream/master' into staging 2017-08-24 02:08:32 +03:00
Tuomas Tynkkynen
0c0fad6141 treewide: Consistently call ARM 'arm'
No need for silly differences.
2017-08-24 01:17:01 +03:00
Peter Hoeg
f15d7388d8 Revert "add apache2 license"
This reverts commit 508c998318.
2017-08-23 23:50:28 +08:00
Peter Hoeg
508c998318 add apache2 license 2017-08-23 22:50:25 +08:00
Alex Brandt
8b4fec00e0 add alunduil as collection-json maintainer 2017-08-22 18:31:08 -05:00
Dmitry Marakasov
6461b609db Fix maintainer email 2017-08-22 19:07:42 +02:00
Danylo Hlynskyi
cc28cf11f0 Nix minimal version: 1.10 -> 1.11
`ruby` attribute requires features from 1.11
```
$ nix-build -A ruby
error: cannot coerce a set to a string, at pkgs/development/interpreters/ruby/default.nix:57:17
```
2017-08-22 13:28:55 +03:00
Christian Albrecht
964799e556 sks and pgpkeyserver-lite modules: init (#27515)
* modules sks and pgpkeyserver-lite:
  runs the sks keyserver with optional nginx proxy for webgui.
* Add calbrecht to maintainers
* module sks: fix default hkpAddress value
* module pgpkeyserver-lite: make hkpAddress a string type option
  and use (builtins.head services.sks.hkpAddress) as default value
* module sks: remove leftover service dependencies
2017-08-22 12:27:00 +02:00
Divam
e5a43bd408 openfst: init at 1.6.3 (#28430) 2017-08-22 09:39:22 +02:00
Klaas van Schelven
53d67bcc26 readline 7.0 -> 7.0.3
Discussion: https://groups.google.com/forum/#!topic/nix-devel/agupzdm352Q
2017-08-18 08:55:44 +02:00
vinymeuh
5ac2ad11ad maintainers: add vinymeuh 2017-08-15 21:36:02 +02:00
Sasha Delly
f66b765f76 lib/maintainers.nix: added sdll 2017-08-13 22:41:30 +02:00
Robin Gloster
f48109387a
mergeAttrsByVersion, versionedDerivation: remove
obsolete and ancient
2017-08-11 23:31:02 +02:00
rybern
d06ab41c85 moon-buggy: init at 1.0.51 (#28165) 2017-08-11 22:32:59 +02:00
Daiderd Jordan
8c86ce707e Merge pull request #28034 from kiloreux/libopencore
opencore-amr init at 0.1.5
2017-08-08 19:25:53 +02:00
kiloreux
66e5a9f43f
Fix typo 2017-08-08 17:09:19 +01:00
kiloreux
49fd201ea3
Fix typo 2017-08-08 15:44:05 +01:00