Commit graph

233 commits

Author SHA1 Message Date
Janik c20399ea2e
Merge pull request #318712 from woojiq/lib-network-ipv6-parser
lib.network: add ipv6 parser
2024-07-11 20:57:53 +02:00
Robert Hensing fed26baf1e lib: Expose typeOf, unsafeGetAttrPos
All builtins should be in mirrored in lib, for consistency, as well
as control to let the Nixpkgs pin effect *subtle* improvements in
behavior (such as the foldl' accumulator strictness).
2024-07-03 11:16:31 +02:00
woojiq d559eed93a lib.network: ipv6 parser from string
Add a library function to parse and validate an IPv6 address from a
string. It can parse the first two versions of an IPv6 address according
to https://datatracker.ietf.org/doc/html/rfc4291#section-2.2. The third
form "xxx:x.d.d.d.d" is not yet implemented. Optionally parser can accept prefix length (128 is default).

Add shell script network.sh to test IPv6 parser functionality.
2024-06-29 10:02:00 +03:00
lucasew 52cc703bba lib: add fromHexString
Co-authored-by: lucasew <lucas59356@gmail.com>
2024-06-28 20:53:53 +03:00
Silvan Mosberger 5d892a8ea5 lib: Add a TODO for builtins not available in sub-libraries 2024-06-20 22:48:55 +02:00
Silvan Mosberger 1e4f04d4d6 lib.replaceStrings: inherit from lib.strings 2024-06-20 22:48:54 +02:00
Silvan Mosberger d3c09b9327 lib.readFile: inherit from lib.trivial 2024-06-20 22:48:54 +02:00
Silvan Mosberger e3b0f46af9 lib.genericClosure: inherit from lib.trivial 2024-06-20 22:48:54 +02:00
Silvan Mosberger e3faf23ba6 lib.pathExists: inherit from lib.trivial 2024-06-20 22:48:54 +02:00
Silvan Mosberger 574611fe0b lib.getAttr: inherit from lib.attrsets 2024-06-20 22:48:53 +02:00
Silvan Mosberger 94a863973a lib.isString: inherit from lib.strings 2024-06-20 22:48:04 +02:00
Silvan Mosberger 6f7324c1f0 lib.isList: inherit from lib.lists 2024-06-20 22:48:04 +02:00
Silvan Mosberger fa82e813f1 lib.isInt: inherit from lib.trivial 2024-06-20 22:48:04 +02:00
Silvan Mosberger 5313a054d3 lib.isBool: inherit from lib.trivial 2024-06-20 22:48:04 +02:00
Silvan Mosberger 53744d55cd lib.isAttrs: inherit from lib.attrsets 2024-06-20 22:48:02 +02:00
Silvan Mosberger c3b87461e7 lib.hasAttr: inherit from lib.attrsets 2024-06-20 22:47:33 +02:00
Silvan Mosberger 4bcc1d3450 lib.elemAt: inherit from lib.lists 2024-06-20 22:47:01 +02:00
Silvan Mosberger 46b7bbb660 lib.elem: inherit from lib.lists 2024-06-20 22:47:01 +02:00
Silvan Mosberger f341dca2a2 lib.deepSeq: inherit from lib.trivial 2024-06-20 22:47:01 +02:00
Silvan Mosberger 8a6941dbef lib.sub: inherit from lib.trivial 2024-06-20 22:47:01 +02:00
Silvan Mosberger a32d38d380 lib.add: inherit from lib.trivial 2024-06-20 22:47:01 +02:00
Silvan Mosberger 74c87fd888 lib.lessThan: inherit from lib.trivial 2024-06-20 22:47:00 +02:00
Silvan Mosberger 64e8494f8a lib.seq: inherit from lib.trivial 2024-06-20 22:47:00 +02:00
Silvan Mosberger 597f62d782 lib.listToAttrs: inherit from lib.attrsets 2024-06-20 22:46:59 +02:00
Silvan Mosberger 00972297be lib.substring: inherit from lib.strings 2024-06-20 22:45:50 +02:00
Silvan Mosberger f6cbaeca60 lib.head: inherit from lib.lists 2024-06-20 22:45:50 +02:00
Silvan Mosberger 0a162f4dcd lib.tail: inherit from lib.lists 2024-06-20 22:45:50 +02:00
Silvan Mosberger 6e98b0c0c6 lib.stringLength: inherit from lib.strings 2024-06-20 22:45:50 +02:00
Silvan Mosberger 357e954198 lib.length: inherit from lib.lists 2024-06-20 22:45:50 +02:00
Silvan Mosberger d81f4e5eba lib.genList: inherit from lib.lists 2024-06-20 22:45:50 +02:00
Silvan Mosberger 30def45e47 lib.filter: inherit from lib.lists 2024-06-20 22:45:48 +02:00
Silvan Mosberger c60c3baf23 lib.attrNames: inherit from lib.attrsets 2024-06-20 21:06:21 +02:00
Silvan Mosberger 69f84db442 lib: inherit concatLists via lib.lists 2024-06-20 21:06:21 +02:00
Silvan Mosberger 89f6418908 lib.split: Export from lib.strings.split 2024-06-20 17:59:37 +02:00
Silvan Mosberger 6c6244c37f lib.match: Export from lib.strings.match 2024-06-20 17:59:37 +02:00
Silvan Mosberger 18382c2ec8 lib.removeAttrs: Export from lib.attrsets.removeAttrs 2024-06-20 17:59:36 +02:00
Silvan Mosberger 56535c832f lib.intersectAttrs: Export from builtins 2024-06-20 17:59:36 +02:00
Silvan Mosberger 4413a877bb lib.map: Export from lib.lists.map 2024-06-20 17:59:21 +02:00
Silvan Mosberger 24af4c04ee
Merge pull request #214021 from tweag/ifilter0
lib.lists.ifilter0: init
2024-04-22 22:18:34 +02:00
Silvan Mosberger 6861ef7707 lib.lists.ifilter0: init 2024-04-22 18:33:14 +02:00
Robert Hensing 33e02424d2 lib: Document status of deprecated.nix and move it
This is all I could find after co-maintaining lib for a long time.
I've had the fortune of basically not really noticing this file,
because it has had very few interactions until the confusion in
https://github.com/NixOS/nixpkgs/pull/304277

It seems to be a state of limbo, which would be nice to resolve
(with great care), but this is not urgent, and first we should
document its status.
2024-04-21 16:04:35 +02:00
Rick van Schijndel e00a40a257
Merge pull request #298680 from gvolpe/lib/transposeMap
lib/attrsets: add mapCartesianProduct function
2024-04-19 08:26:09 +02:00
éclairevoyant bb4e822d1f
lib: add mdDoc back in to provide proper warning 2024-04-15 14:16:31 -04:00
Gabriel Volpe fe2bead78b
lib/attrsets: introduce mapCartesianProduct 2024-04-15 19:16:15 +02:00
Gabriel Volpe 228621e42d
lib/attrsets: rename cartesianProductOfSets to cartesianProduct 2024-04-15 19:03:54 +02:00
stuebinm 46456a929b lib: remove all uses of lib.mdDoc
this change is otherwise a no-op, as lib.mdDoc is already defined to be
the identity function.
2024-04-13 10:07:35 -07:00
Silvan Mosberger 4f1d724b82
Merge pull request #284551 from hercules-ci/types-attrTag
Add `types.attrTag`
2024-04-09 20:48:44 +02:00
edef 725bb4e48c lib: add xor
This gets clumsily reimplemented in various places, to no useful end.
2024-04-04 19:46:58 +00:00
Robert Hensing 2e1d470569 lib.modules.evalOptionValue: Undeprecate for lib.types
lib.types.attrTag needs it.
2024-04-04 11:54:46 +02:00
Florian Richer 3b883d3cdf
lib/strings: Add makeIncludePath (#296237)
* Update strings.nix

* Fix typo in docs

* Update lib/strings.nix

Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>

* Update lib/strings.nix

Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>

* Add unit test with strings

* Move test to strings

* Add unit test with package structure

* testMakeIncludePathWithPkgs: use real pkgs

* Revert "testMakeIncludePathWithPkgs: use real pkgs"

This reverts commit fb1850c069.

* Update lib/tests/misc.nix

Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>

* Update lib/tests/misc.nix

Co-authored-by: Silvan Mosberger <github@infinisil.com>

---------

Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-04-02 19:01:05 +02:00