Commit graph

76 commits

Author SHA1 Message Date
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
Vladimír Čunát 65f6e6ccb6
licenses: fix fullName capitalization
inspired by repology.org
2017-09-05 00:22:00 +02: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
Michael Weiss 4b0afc169d zpl*: Fix the attribute name of the license
This was simply a typo since the license was added in 2013.
2017-08-06 13:49:18 +02:00
Changlin Li 8237294f64 Add Unicode Arphic CJK fonts
These are a couple of CJK fonts that are on most other Linux distributions
that aren't on NixOS
2017-06-09 20:52:18 -04:00
Matthew Bauer 6f3085d572 wxwidgets: add wxWindows license
all wx{GTK,widgets,windows,mac,etc}* packages use the wxWindows license.
2017-04-23 15:20:35 -05:00
Sean Haugh e2abd55a3b licenses: add MirOS license 2017-04-12 16:13:03 -05:00
Remy Goldschmidt d1aa065a5d dotnetPackages.Boogie: init at 2017-01-03 2017-02-04 15:27:18 +01:00
Vladimír Čunát 15219fe15e
licenses.eupl11: unify with the other licenses
... as it *is* present in the SPDX list.
2017-01-25 23:31:25 +01:00
oleks 98e830efe2
licenses: add EUPL v1.1 license 2017-01-25 23:18:33 +01:00
pngwjpgh 071481ca7d debianutils: init at 4.8.1 (#21739) 2017-01-09 06:41:06 +01:00
Gabriel Adomnicai 18d7e2ac33 camingo-code: init at 1.0 2016-10-06 17:47:50 -07:00
makefu 46370ee178
licenses: add Beerware 2016-10-03 19:43:26 +02:00
Dan Peebles 247c54e374 souffle: init at 1.0.0 2016-09-06 17:45:13 -04:00
Jörg Thalheim b170bed1ff lib.licenses: Fix typo in fdl13 license description (#18053) 2016-08-28 07:56:40 +00:00
Mohammed Yaseen Mowzer 04f0cb86d0 geogebra: init at 5.0.265.0
Closes #17400
2016-08-10 14:32:09 +01:00
Josef Kemetmueller 33b9935878 Add geant4 license
This license was left out during the geant4 pull request:
https://github.com/NixOS/nixpkgs/pull/3963
2016-07-31 21:27:44 +02:00
José Romildo Malaquias e57f1eb6d0 epson_201207w: init at 1.0.0 2016-03-09 15:25:53 -03:00
= a5ed58445f yarp (+ libace): init at 2.3.64 2016-02-24 22:08:29 +01:00
Charles Strahan defe78e553 licenses: add non-commercial Creative Commons 2015-12-22 02:25:43 +01:00
Michael Fellinger 08c6a2cd92 google-fonts: init at 2015-11-18 2015-11-18 12:19:37 +01:00
Thomas Tuegel e92cbb73e4 lib.licenses: add fdl13 2015-09-27 09:45:35 -05:00
James Felix Black 9b863fac6b notion: init at 3-2015061300
The notion (not-ion) window manager [1], plus optional (defaulted to
true) Xft/pango support (via [2]). Defined a license (notion uses a
modified LGPL).

As per [3], changes:

  1. renamed option from pango -> xft, better to reflect the actual
     nature of the patch;
  2. modified the patch to replace the postPatch changes to system-autodeteck.mk;
  3. commited the patch to the nixpkgs repo;
  4. removed 'fallbackFont' as an option. Use a sensible default, instead.

Many stylistic changes, thanks to @lethalman.

[1] http://notion.sourceforge.net
[2] http://sourceforge.net/p/notion/feature-requests/47/
[3] https://github.com/NixOS/nixpkgs/pull/8789
2015-07-13 12:08:05 -04:00
William Casarin 9d85874aeb lmdb: lightning memory-mapped database 2015-07-04 05:06:29 -07:00
Tobias Geerinckx-Rice 87fd373aac lib/licenses: add CC-BY-SA-2.5 2015-05-27 22:00:04 +02:00
Tobias Geerinckx-Rice 48b7e40f0c licenses: add Vim licence 2015-05-27 00:13:19 +02:00
Domen Kožar ba5134c8e0 Merge pull request #7021 from taktoa/master
Added package for willie
2015-03-27 09:39:55 +01:00
Remy Goldschmidt 1697b2a228 Added Eiffel Forum License v1 and v2 to lib/licenses.nix 2015-03-26 21:12:10 -04:00
William A. Kennington III 611a4bfc0d licenses: Add mpl-1.0 2015-03-26 17:22:11 -07:00
lukasepple f7f0fd0dfe
Added CC-BY-SA 4.0 License 2015-03-17 20:54:05 +01:00
Vladimír Čunát dbae4f109f Merge branch 'master' into staging
Conflicts (relatively simple):
	pkgs/applications/audio/spotify/default.nix
	pkgs/build-support/cc-wrapper/default.nix
	pkgs/development/compilers/cryptol/1.8.x.nix
2015-01-31 19:34:57 +01:00
Thomas Tuegel 8fb5401c5b add GFDL-1.2 license 2015-01-26 20:59:49 -06:00
Vladimír Čunát 309b956215 lib/licenses: add IJG (Independent JPEG...) 2015-01-13 16:55:11 +01:00
Daniel Bergey 4c064b5478 add LaTeX Project Public License v1.3c for Gyre
use lib.maintainers
2014-12-19 20:07:53 +00:00
Michael Raskin cb0fa1d4f7 Fix spdx syntax for GPL1 2014-12-07 19:04:07 +03:00
Bart Brouns 9dff67eed7 lib/licenses: add gpl1 (close #5103)
@vcunat changed format to spdx.
2014-11-24 10:37:49 +01:00
Mateusz Kowalczyk 007f80c1d0 Turn more licenses into lib.licenses style
Should eval cleanly, as far as -A tarball tells me.

Relevant: issue #2999, issue #739
2014-11-06 00:48:16 +00:00
Eelco Dolstra 4e7a5aca2b Provide more SPDX IDs 2014-11-05 15:33:11 +01:00
Eelco Dolstra d43846a0d8 Make the license shortName attribute equal to the license attribute name
I.e. lib.licenses.<foo>.shortName == "<foo>". The SPDX identifier (if
known) is kept in lib.licenses.<license>.spdxId.
2014-11-05 15:26:45 +01:00
Eelco Dolstra af0557cf82 Allow marking licenses as unfree
This allows licenses like the Amazon Software License to be identified
properly while still preventing packages with those licenses from
being distributed in the Nixpkgs/NixOS channels.
2014-11-05 15:15:00 +01:00
Eelco Dolstra 858cfbc993 licenses.publicDomain: Fix typo 2014-11-05 14:52:05 +01:00
Vladimir Kirillov e10a8b7318 ec2-ami-tools -> 1.5.6, updated license & homepage 2014-11-05 15:28:52 +02:00
Jiri Marsik b4b3368c8d Added the CECILL 2.0 license 2014-10-28 14:06:04 +01:00
Valérian Galliat e55df0f4a3 Add the Unlicense 2014-10-22 18:43:34 +02:00
Vincent Laporte f132f9c6c9 Adds the CC-BY-SA-3.0 license 2014-10-13 01:23:18 +01:00
Peter Simons ae32accc47 lib/licenses.nix: cosmetic 2014-10-04 21:15:36 +02:00
Vincent Laporte 181139fe09 Adds license CeCILL-B 2014-09-28 14:03:14 +01:00
Mateusz Kowalczyk fe86a03a1c libpng: use spdx licensing method 2014-09-21 18:53:20 +01:00
Vladimír Čunát 963b5e820c lib/licenses: add cc-by-40 (fixes #4035) 2014-09-11 20:03:03 +02:00