Commit Graph

129 Commits

Author SHA1 Message Date
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Alexis Hildebrandt
755b915a15 treewide: Remove indefinite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"[Aa]n?' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Aa]n? (.)/\1\U\2/'
2024-06-09 23:07:45 +02:00
sunder
9c1f3b305a buildCrystalPackage: add copyShardDeps flag 2024-04-19 01:38:55 -07:00
sefidel
ec87711e54 crystal: 1.9 -> 1.11
Changes: https://github.com/crystal-lang/crystal/compare/1.9.2...1.11.2
Changelog: https://github.com/crystal-lang/crystal/blob/master/CHANGELOG.md#1112-2024-01-18
2024-03-25 03:54:33 -07:00
Ulysses Zhan
23dfcf5c2d crystal.buildCrystalPackage: fix a precedence mistake that prevents overriding configure phase 2024-03-22 00:39:34 -07:00
Martin Weinelt
3321e63b12
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/sphinx-autobuild/default.nix
2024-03-19 04:00:32 +01:00
stuebinm
ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00
a-n-n-a-l-e-e
ce789e7e35
llvmPackages_{12,13,14,15,16,17,git}.{libcxx,libcxxabi}: merge libcxxabi into libcxx (#292043)
- merge libcxxabi into libcxx for LLVM 12, 13, 14, 15, 16, 17, and git.
- remove the link time workaround `-lc++ -lc++abi` from 58 packages as it is no longer required.
- fixes https://github.com/NixOS/nixpkgs/issues/166205
- provides alternative fixes for. https://github.com/NixOS/nixpkgs/issues/269548 https://github.com/NixOS/nix/issues/9640
- pkgsCross.x86_64-freebsd builds work again

This change can be represented in 3 stages
1. merge libcxxabi into libcxx -- files: pkgs/development/compilers/llvm/[12, git]/{libcxx, libcxxabi}
2. update stdenv to account for merge -- files: stdenv.{adapters, cc.wrapper, darwin}
3. remove all references to libcxxabi outside of llvm (about 58 packages modified)

### merging libcxxabi into libcxx
- take the union of the libcxxabi and libcxx cmake flags
- eliminate the libcxx-headers-only package - it was only needed to break libcxx <-> libcxxabi circular dependency
- libcxx.cxxabi is removed. external cxxabi (freebsd) will symlink headers / libs into libcxx.
- darwin will re-export the libcxxabi symbols into libcxx so linking `-lc++` is sufficient.
- linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient.
- libcxx/default.nix [12, 17] are identical except for patches and `LIBCXX_ADDITIONAL_LIBRARIES` (only used in 16+)
- git/libcxx/defaul.nix  does not link with -nostdlib when useLLVM is true so flag is removed. this is not much different than before as libcxxabi used -nostdlib where libcxx did not, so libc was linked in anyway.

### stdenv changes
- darwin bootstrap, remove references to libcxxabi and cxxabi
- cc-wrapper: remove c++ link workaround when libcxx.cxxabi doesn't exist (still exists for LLVM pre 12)
- adapter: update overrideLibcxx to account for a pkgs.stdenv that only has libcxx

### 58 package updates
- remove `NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}` as no longer needed
- swift, nodejs_v8 remove libcxxabi references in the clang override

https://github.com/NixOS/nixpkgs/pull/292043
2024-03-11 03:53:37 -07:00
Randy Eckenrode
2ce46f4fc0
crystal: fix build with newer versions of clang
Crystal requires linking libc++abi when building with newer versions of
clang. See https://github.com/NixOS/nixpkgs/issues/166205.
2023-10-22 20:55:37 -04:00
Donovan Glover
dac2ac1d0b crystal: add PKG_CONFIG_PATH
Fixes an issue where crystal was unable to find -lpcre.
2023-09-11 22:12:10 +02:00
Sandro Jäckel
d47082aa9a crystal: correct usage of darwin.apple_sdk_11_0 2023-08-06 00:55:37 +02:00
Donovan Glover
3eea344be3
crystal_1_9: 1.9.0 -> 1.9.2 2023-07-19 13:06:58 -04:00
Donovan Glover
5975c5a8a7
crystal: 1.8 -> 1.9 2023-07-12 17:52:24 -04:00
Weijia Wang
ecbf681452
Merge pull request #231101 from samwightt/update/crystal
crystal_1_8: 1.8.1 -> 1.8.2
2023-06-22 09:56:27 +03:00
Weijia Wang
ea942af732 crystal: cleanup 2023-06-20 18:56:30 +03:00
Sam Wight
dd3651b95b crystal_1_8: 1.8.1 -> 1.8.2 2023-05-10 10:51:58 -05:00
Evangelos Paterakis
5ef2a2bfc9
crystal_1_8: 1.8.0 -> 1.8.1 2023-04-20 22:18:09 +03:00
Weijia Wang
efa78c18f0
Merge pull request #226932 from wegank/crystal-pcre
crystal: migrate to pcre2 on 1.8
2023-04-19 09:09:51 +03:00
Weijia Wang
995ace105b crystal: migrate to pcre2 on 1.8 2023-04-19 01:34:56 +03:00
Weijia Wang
fb9b5be85e
Merge pull request #226931 from wegank/crystal-dwarf-ignore
crystal.buildCrystalPackage: ignore dwarf files
2023-04-19 01:02:28 +03:00
Weijia Wang
2041e40162 crystal.buildCrystalPackage: ignore dwarf files 2023-04-19 00:16:37 +03:00
Evangelos Paterakis
70cc7966aa
crystal: include pcre even on pcre2 builds 2023-04-18 18:23:52 +03:00
Evangelos Paterakis
35f5549e29
crystal: require pcre2 2023-04-18 16:58:14 +03:00
GeopJr
e8512ca23f
crystal: 1.7 -> 1.8 2023-04-16 02:25:42 +03:00
Miguel Madrid-Mencía
a2fc5cbcac crystal: 1.7.2 -> 1.7.3 2023-04-10 12:19:08 +08:00
Miguel Madrid-Mencía
1272286441
crystal: 1.7.1 -> 1.7.2 2023-01-28 13:32:43 +01:00
Guillaume Girol
33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Evangelos Paterakis
52c3f58bad
feat: 1.7.1 2023-01-17 20:51:42 +02:00
Evangelos Paterakis
f29f0d0798
feat: 1.7.0 2023-01-09 22:41:18 +02:00
Evangelos Paterakis
a979bd9214
fix(tzdata): prepend to ZONE_SOURCES instead of substituting in place 2022-12-21 16:30:37 +02:00
GeopJr
44073f6d16
fix: version limits on unix_spec 2022-12-18 18:42:51 +02:00
GeopJr
3efc4e5f03
fix: versionOlder => lib.versionOlder 2022-12-18 17:22:59 +02:00
Evangelos Paterakis
eab3f4d896
fix: darwin compile errors
Co-authored-by: Brian J. Cardiff <459923+bcardiff@users.noreply.github.com>
2022-12-18 16:53:29 +02:00
Evangelos Paterakis
159ddb5495
feat: get rid of unused versions
feat: use 1.2.2 to build 1_2 and 1_6
feat: use llvm 13
2022-11-22 04:20:28 +02:00
Evangelos Paterakis
392df0cf61
feat: 1.5.0 -> 1.5.1 and enable aarch64-linux builds 2022-11-21 22:44:54 +02:00
Evangelos Paterakis
5564346d68
feat: use release mode only on the compiler and not the specs 2022-11-21 22:30:48 +02:00
Evangelos Paterakis
b1be734009
fix: disable ffi on < 1.6.1 instead of patching the spec 2022-11-21 22:30:19 +02:00
ento
b8ae9f94aa fix: supported platforms per version 2022-11-12 12:32:28 +02:00
Evangelos Paterakis
4bd897e550
fix: add another patch for < 1.6.0
so 12601 gets applied successfully
2022-11-12 12:27:54 +02:00
Evangelos Paterakis
89dab4d184
feat: bump 1.6.x to 1.6.2 2022-11-12 12:24:43 +02:00
Evangelos Paterakis
ffa22c68ea
fix: mark broken if > 1.3.x and 1686-linux
or > 1.5.x and aarch64-linux
2022-10-23 00:19:47 +03:00
Evangelos Paterakis
9b6172aa2d
fix: re-enable 1.0.x - 1.2.x
feat: bump 1.6.x to 1.6.1
fix: fetch 12601 patch for 1.3.x-1.6.0
fix: darwin url for versions < 1.2.0
2022-10-22 23:37:53 +03:00
Evangelos Paterakis
e0d0d1c093
crystal: 1.2 -> 1.6 2022-10-12 23:18:35 +03:00
Peter Hoeg
a5a5849f27 crystal: do not build with --no-debug 2022-09-30 21:04:56 +08:00
K900
357ae167e2 crystal_1_0, crystal_1_1: fix build 2022-08-02 00:34:28 +03:00
Rick van Schijndel
010f6ee30d
treewide: mark broken for darwin 2022-05-30 13:42:58 +02:00
Artturin
d6d211b445 buildCrystalPackage: enableParallelBuilding 2022-05-22 22:30:45 +03:00
Artturin
5e3b4a6eaf crystal: enable strictDeps 2022-05-10 05:20:36 +03:00
Artturin
a0d4618e7f buildCrystalPackage: enable strictDeps
it improves package correctness and keeps cross-compilation in good
health
there aren't many uses of buildCrystalPackage in nixpkgs yet so imo its
safe to turn it on

python builder, rust build, go builder, and others all turn it on
2022-05-10 04:57:46 +03:00
Fabián Heredia Montiel
ca9bf3e05f crystal: remove myself as maintainer 2022-04-21 13:01:45 -05:00