Commit Graph

1890 Commits

Author SHA1 Message Date
John Ericson
b9acfb4ecf treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile

(cherry picked from commit ba52ae5048)
2018-04-25 15:50:41 -04:00
John Ericson
ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Profpatsch
c84dad316a lib/generators: print paths without quotes & move function down 2018-04-25 15:31:17 +02:00
John Ericson
cf0dd1dbd2
Merge pull request #39172 from obsidiansystems/ios-cross
ios-sdk-pkgs: Init from iOS SDK from XCode
2018-04-19 17:00:05 -04:00
Ken Micklas
ef3db7d14c ios-sdk-pkgs: Init from iOS SDK from XCode 2018-04-19 16:09:30 -04:00
John Ericson
53686e8995
Merge pull request #38485 from obsidiansystems/nixos-nixpkgs-options
nixpkgs module: Clean up platform options
2018-04-19 14:59:58 -04:00
John Wiegley
4cfdcedb71 Fix a typo: types.openSignifiantByte -> types.openSignificantByte 2018-04-13 18:41:53 -07:00
Jörg Thalheim
0fe11dbedd
Merge pull request #38611 from volth/nat-sort
lib: add naturalSort
2018-04-08 22:44:15 +01:00
volth
3f8c9106ea
lib: add naturalSort (move the example IPs to private space) 2018-04-08 13:54:39 +00:00
volth
25c2fd80b1 lib: add naturalSort 2018-04-08 13:18:13 +00:00
Silvan Mosberger
e1dee4efcb lib: make extensible
This allows the lib fixed point to be extended with

  myLib = lib.extend (self: super: {
    foo = "foo";
  })

With this it's possible to have the new modified lib attrset available to all
modules when using evalModules

  myLib.evalModules {
    modules = [ ({ lib, ... }: {
      options.bar = lib.mkOption {
	default = lib.foo;
      };
    }) ];
  }

  => { config = { bar = "foo"; ... }; options = ...; }
2018-04-07 13:21:49 -04:00
John Ericson
c6f7d43678 nixpkgs module: Clean up platform options
- `localSystem` is added, it strictly supercedes system

 - `crossSystem`'s description mentions `localSystem` (and vice versa).

 - No more weird special casing I don't even understand

TEMP
2018-04-06 12:41:44 -04:00
Profpatsch
fa71407f36 lib/generators: introduce a sane default for mkValueString
So far, `mkValueString` defaulted to `toString`,
which is a bad match for most configuration file formats,
especially because how booleans are formatted.
This also improves error messages for unsupported types.

Add a test to codify the formatting.
2018-03-29 16:53:06 +02:00
Profpatsch
a7e45fdd8e lib/generators: improve documentation a bit 2018-03-29 16:53:06 +02:00
Profpatsch
219ba583b2 lib/generators: improve toPretty
* properly escape strings
* remove one check for booleans
* improve error message
2018-03-29 16:53:06 +02:00
Franz Pletz
e6f4614e85
lib/modules: fix typo 2018-03-28 02:28:15 +02:00
Shea Levy
26e8d58cb5
libseccomp: Disable only on RISC-V if Linux.
The isSeccomputable flag treated Linux without seccomp as just a
normal variant, when it really should be treated as a special case
incurring complexity debt to support.
2018-03-27 08:16:24 -04:00
Shea Levy
cdf9a78a3e
kexectools: Disable only on RISC-V if Linux.
The isKexecable flag treated Linux without kexec as just a normal
variant, when it really should be treated as a special case incurring
complexity debt to support.
2018-03-27 08:15:07 -04:00
Matthew Justin Bauer
8f3091939b
Merge pull request #37752 from ryantm/fix-urls
treewide: use more HTTPS URLs
2018-03-25 00:40:17 -05:00
Ryan Mulligan
b189247ba0 treewide: use more HTTPS URLs
Uses the HTTPS url for cases where the existing URL has a permanent
redirect. For each domain, at least one fixed derivation URL was
downloaded to test the domain is properly serving downloads.

Also fixes jbake source URL, which was broken.
2018-03-24 22:04:25 -07:00
Shea Levy
20f51922c0
riscv-pk: Set platforms properly 2018-03-24 08:44:26 -04:00
Eelco Dolstra
7db841512a
Remove obsolete /nix/var/nix/{manifests,channel-cache} 2018-03-20 18:26:13 +01:00
John Ericson
d9a1800239 lib: Add lib.platforms.windows 2018-03-20 12:47:45 -04:00
John Ericson
3c8ae01a45 lib: Make platforms.all actually match all platforms
Otherwise obscure cross-compilations are hampered. `all` breaks all but
the initial derivation (which we can't even write yet) in an open world
setting however, so we really shouldn't have it.
2018-03-20 12:46:19 -04:00
John Ericson
175d4ab1db lib: Make platform predicates greppable
Should have commited on here and on merged master to begin with, but I
didn't, so instead I cherry-pick.

(cherry picked from commit 88c04a8b6b)
2018-03-20 12:35:20 -04:00
John Ericson
88c04a8b6b lib: Make platform predicates greppable 2018-03-19 22:20:48 -04:00
John Ericson
3c331bff5b
Merge pull request #37395 from obsidiansystems/lib-meta-platform
lib: Factor in tiny bit of `meta.platform` checking
2018-03-19 20:12:50 -04:00
John Ericson
e547bd0dc4 lib: Factor in tiny bit of meta.platform checking
I need it in stdenv and release-lib, so that seems motivation enough.
2018-03-19 19:29:16 -04:00
John Ericson
c22e2f86c7
Merge pull request #37359 from obsidiansystems/lib-darwin-reorg
lib: Split Darwin into macOS and iOS
2018-03-19 15:08:06 -04:00
John Ericson
bbfa2f9701 lib: Split Darwin into macOS and iOS
I noticed LLVM accepts `ios` as its own OS in platform triples; a
recent change as far as I know. I see it also accepts `macos*` for macOS
(formerly OS X). If it's now customary to distinguish iOS like so
(rather than guessing from the aarch, lets add both so our OSes are
still disjoint, and make Darwin a family instead.

But changing the config everywhere would probably be a mass rebuild, and
I'm not sure how well other software supports OSes besides "darwin", so
I'm keeping that the default name for macOS for now.
2018-03-19 12:02:49 -04:00
Moritz Küttel
d17e6f2c3e add the CPAL-1.0 license
The 'Common Public Attribution License 1.0' is used
for projectlibre and required for packaging it into nixpkgs.
2018-03-18 19:30:50 +00:00
John Ericson
2fa2197a96
Merge pull request #34444 from obsidiansystems/meta-check
lib: Fix #30902
2018-03-18 13:51:03 -04:00
John Ericson
c26252af3e lib, stdenv: Check meta.platforms against host platform and be open world
First, we need check against the host platform, not the build platform.
That's simple enough.

Second, we move away from exahustive finite case analysis (i.e.
exhaustively listing all platforms the package builds on). That only
work in a closed-world setting, where we know all platforms we might
build one. But with cross compilation, we may be building for arbitrary
platforms, So we need fancier filters. This is the closed world to open
world change.

The solution is instead of having a list of systems (strings in the form
"foo-bar"), we have a list of of systems or "patterns", i.e. attributes
that partially match the output of the parsers in `lib.systems.parse`.
The "check meta" logic treats the systems strings as an exact whitelist
just as before, but treats the patterns as a fuzzy whitelist,
intersecting the actual `hostPlatform` with the pattern and then
checking for equality. (This is done using `matchAttrs`).

The default convenience lists for `meta.platforms` are now changed to be
lists of patterns (usually a single pattern) in
`lib/systems/for-meta.nix` for maximum flexibility under this new
system.

Fixes #30902
2018-03-15 00:44:34 -04:00
John Ericson
2e87550ace
Merge pull request #36985 from obsidiansystems/no-allBut
treewide: get rid of platforms.allBut
2018-03-14 18:57:28 -04:00
John Ericson
f79f80dbf2 treewide: get rid of platforms.allBut
Negative reasoning like `allBut` is a bad idea with an open world of
platforms. Concretely, if we add a new, quite different sort of
platform, existing packages with `allBut` will claim they work on it
even though they probably won't.
2018-03-14 18:44:42 -04:00
Shea Levy
b66d7dc0ce
lib.isStorePath: Fix derivation detection 2018-03-09 17:21:31 -05:00
Shea Levy
6fcf691545
lib-tests: Don't depend on /bin/sh
https://hydra.nixos.org/build/70748333
2018-03-08 08:36:35 -05:00
Jan Malakhovski
610b5b8045 rename lib/maintainers-list.nix into maintainers/maintainer-list.nix
Many commits unrelated to `lib` touch that file, this will make `git log ./lib` much saner.

This is what I meant in https://github.com/NixOS/nixpkgs/pull/36119#issuecomment-370184101.
2018-03-06 14:15:21 +00:00
Jörg Thalheim
07bc1ddace
Merge pull request #36250 from sengaya/add-ansible-lint
ansible-lint: init at 3.4.20
2018-03-06 00:12:37 +00:00
Graham Christensen
5e8bdb8972
maintainers: remove null fields 2018-03-05 11:14:35 -05:00
Jörg Thalheim
73774ef8f9
Merge pull request #36168 from ryantm/majorminor
a single version attribute for expressions previously using "majorVersion"
2018-03-04 20:06:48 +00:00
Ryan Mulligan
a9d0778cd4 lib: add versions library 2018-03-04 06:28:34 -08:00
Thilo Uttendorfer
861e2de8a8 ansible-lint: init at 3.4.20 2018-03-04 14:14:00 +01:00
Graham Christensen
f7da7fa0c3 Revert "Revert "Convert maintainer file entries to attributes, add github handles"" 2018-03-04 05:13:19 +01:00
Graham Christensen
b9f1a76f30 Revert "Convert maintainer file entries to attributes, add github handles"
This reverts commit aa47bac04f.
2018-03-03 22:34:17 -05:00
Graham Christensen
52963931cd Revert "lib/maintainers: correct wrong (clashing) github handles"
This reverts commit 8e4c39adeb.
2018-03-03 22:34:17 -05:00
Graham Christensen
43217601b0 Revert "lib/maintainers: add new maintainers before maintainers merge"
This reverts commit aecebe8280.
2018-03-03 22:34:17 -05:00
Graham Christensen
3e55c5d1f7 Revert "lib/maintainers: rename file to maintainers-list.nix"
This reverts commit 24684008df.
2018-03-03 22:34:17 -05:00
Profpatsch
24684008df lib/maintainers: rename file to maintainers-list.nix
Based on a request by @oxij:
“Can we also rename this file to `maintainers/maintainers-list.nix` while we at
this? Motivation: much saner `git log ./lib`.”
2018-03-04 03:26:44 +01:00
Profpatsch
aecebe8280 lib/maintainers: add new maintainers before maintainers merge
Add new maintainers that were added before merging the new `maintainers.nix`
file format.
2018-03-04 03:26:44 +01:00
Profpatsch
8e4c39adeb lib/maintainers: correct wrong (clashing) github handles
Corrected every handle that had no commits to nixpkgs, manually researched the
correct handles by looking at maintained packages & blames/history on Github.
2018-03-04 03:26:44 +01:00
Profpatsch
aa47bac04f Convert maintainer file entries to attributes, add github handles
Based on https://github.com/NixOS/nixpkgs/pull/34842, the
nix-instantiate output was pretty-printed and the validity of the github handles
manually verified, by automatically checking whether the user handles exist on
github (https://github.com/userhandle, status 200 or 404).
Each handle under 5 characters was manually checked (because the collision
probability with non-maintainer accounts is high), each missing entry was
manually researched.

The script used is kept in `maintainers/scripts` as an example of how to work
with the mainainers list through nix’ JSON interface.
2018-03-04 03:26:44 +01:00
Jörg Thalheim
fe2acc2b2c
Merge pull request #36215 from xnaveira/py-junos-eznc
Py junos eznc
2018-03-03 17:35:58 +00:00
Vladimír Čunát
7b2cf5b12e
lib.addPassthru: removed as scheduled 2018-03-03 17:57:38 +01:00
Andrey Golovizin
cc2aa6f358 pythonPackages.pymetar: add myself as maintainer 2018-03-02 16:46:36 +01:00
Xavier Naveira
284c6a5990 pythonPackages.scp: init at 0.10.2 2018-03-02 15:24:00 +01:00
timor
7e54a70960 maintainers: add myself 2018-03-01 23:54:04 +01:00
Erik Arvstedt
f9f360883b untrunc: init at 2018.01.13 2018-03-01 20:30:48 +01:00
babariviere
6967498370 fix LD_PRELOAD error for bear 2018-03-01 18:14:24 +01:00
lejonet
565f22d27a nixos/ceph: init module (#35299)
All 5 daemon types can be enabled and configured through the module and the module both creates the ceph.conf required but also creates and enables specific services for each daemon, based on the systemd service files that upstream provides.
2018-03-01 11:47:13 +00:00
John Ericson
2482e2858e prebuilt android tools: Init using SDK
Expose as an option for the cross stdenv.
2018-02-27 14:15:39 -05:00
John Ericson
dfc5d7835d
Merge pull request #35247 from telent/mips32
lib, treewide: Add missing MIPS arches, and fix existing usage
2018-02-27 14:01:15 -05:00
Teo Klestrup Röijezon
c4bd96ee17 maintainers: add teozkr 2018-02-26 23:52:52 +01:00
Luka Blaskovic
f65414ea07 maintainers: add lblasc 2018-02-26 09:16:57 +00:00
Shea Levy
3c57e770cf
Only build libseccomp on supported systems 2018-02-24 23:05:08 -05:00
Shea Levy
0ac6d4aeb6
gnu-efi: Fix aarch64 cross-build 2018-02-24 22:15:48 -05:00
Shea Levy
87270fb306
gnu-efi: Only build on efi-enabled systems 2018-02-24 21:49:31 -05:00
Shea Levy
63fa1fcb04
kexectools: Only build on kexecable architectures. 2018-02-24 10:37:54 -05:00
Daniel Barlow
9c50ae6898 lib, treewide: Add missing MIPS arches, and fix existing usage
Existing "mips64el" should be "mipsel".

This is just the barest minimum so that nixpkgs can recognize them as
systems - although required for building individual derivations onto
MIPS boards, it is not sufficient if you want to actually build nixos on
those targets
2018-02-23 20:43:42 -05:00
Vasyl Solovei
c2b781a70e
maintainers: add svsdep 2018-02-23 06:56:56 +01:00
Franz Pletz
512fb52ed4
Merge pull request #35356 from troydm/master
rtl8192eu: init at 4.4.1
2018-02-22 23:46:35 +00:00
troydm
89d660f7f1 rtl8192eu: init at 4.4.1 2018-02-22 21:18:01 +02:00
Jörg Thalheim
d4385d7fc3
Merge pull request #35134 from xeji/mfcl2720dw
mfcl2720dwlpr / mfcl2720dwcupswrapper: init at 3.2.0-1
2018-02-21 10:28:24 +00:00
Jörg Thalheim
599a223838
z88dk: init at unstable-2018-02-20 (#35244)
fixes #35039
2018-02-20 22:06:25 +00:00
lewo
040fb6c1a0
Merge pull request #35117 from suvash/add-docker-credential-gcr
docker-credential-gcr: init at 1.4.3
2018-02-20 12:32:46 +01:00
Jörg Thalheim
b7fb6edf2e
Merge pull request #35178 from limeytexan/perl-BSD-Resource
perl-BSD-Resource: init at 1.2911
2018-02-20 11:03:30 +00:00
Shea Levy
32d3533b29
riscv: Compile console support into the kernel. 2018-02-19 22:43:18 -05:00
Shea Levy
6173f2f945
linux_riscv: Add 4.16-rc1.
Fixes #35148.
2018-02-19 12:14:22 -05:00
Michael Brantley
a83716f256 perl-BSD-Resource: init at 1.2911 2018-02-19 09:38:45 -05:00
xeji
e612f70393 new maintainer: xeji 2018-02-18 19:16:18 +01:00
Suvash Thapaliya
c7e01acef2
docker-credential-gcr: init at 1.4.3
Docker authentication helper for Google Cloud (gcr.io) repositories
2018-02-18 15:48:30 +01:00
Shea Levy
e288febee0
Add riscv{32,64} crossSystems. 2018-02-18 00:09:25 -05:00
Joachim F
5b98e8e231
Merge pull request #35001 from NinjaTrappeur/excelsior
fixedsys-excelsior: init at 3.00.
2018-02-17 18:35:51 +00:00
Anderson Torres
ef5860db3e
Merge pull request #33446 from AndersonTorres/upload-jwasm
Jwasm: init at git-2017-11-22
2018-02-17 13:13:26 -02:00
Luke Sandell
635011f219 wsjtx: init at 1.8.0 (#33247) 2018-02-17 11:06:27 +00:00
Félix Baylac-Jacqué
91744fc76f
fixedsys-excelsior: init at 3.00. 2018-02-17 12:04:12 +01:00
Joachim F
faf072166b
Merge pull request #29869 from Nadrieril/syncserver-fup
syncserver service: follow-up of #28189
2018-02-17 10:09:42 +00:00
Joachim F
3b9874452d
Merge pull request #34564 from StijnDW/master
Add new package "ncpamixer"
2018-02-16 22:09:04 +00:00
Stijn DW
71d1f053b7 Add StijnDW to maintainers list 2018-02-16 22:47:16 +01:00
Vladimír Čunát
b5aaaf87a7
Merge staging and PR #35021
It's the last staging commit (mostly) built on Hydra,
and a minimal fix for Darwin regression in pysqlite.
2018-02-16 09:13:12 +01:00
Tad Fisher
9b7467eecb acpica-tools: init at 20180209 (#34883) 2018-02-15 20:50:57 +00:00
0x4A6F
4ef3b1bc48 Adding @0x4A6F to maintainers.nix (#34984)
* Adding @0x4A6F to maintainers.nix

* Removing decimal from handle

* Convert handle from Hex to ASCII
2018-02-15 07:46:14 +00:00
Tuomas Tynkkynen
e4bfe5aac9 treewide: Drop kernelHeadersBaseConfig
Nothing actually needs this.
2018-02-14 01:47:28 +02:00
Tuomas Tynkkynen
1a06373c0a Merge remote-tracking branch 'upstream/master' into staging
Conflicts:
	pkgs/development/libraries/libclc/default.nix
	pkgs/top-level/all-packages.nix
2018-02-13 16:42:55 +02:00
Niko Pavlinek
0601c4e872 yokadi: init at 1.1.1 2018-02-12 21:01:48 +01:00
Vladimír Čunát
040bde9052
Merge #34866: nixos doc: efficient comparisons
This solves most of the performance regression from a7d75ab (#33898).
2018-02-12 08:31:43 +01:00
Profpatsch
53e790e7a8 maintainers: capitalize the Profpatsch attribute (vanity)
Since I’m already at it, this has been bothering me for a while.
2018-02-12 07:24:50 +01:00
adisbladis
0fb2ac4e20
Merge pull request #34830 from andrew-d/adunham/lego
lego: init at unstable-2018-02-02
2018-02-12 11:32:43 +08:00
Jan Malakhovski
a3a8c1f54d lib: export option location in optionAttrSetToDocList 2018-02-11 22:04:09 +00:00
Will Dietz
f090bbb248 Drop "isGlibc", but keep isMusl.
gnu "abi" doesn't mean glibc (mingw, apparently).
2018-02-11 14:55:17 -06:00