Commit graph

45 commits

Author SHA1 Message Date
Martin Weinelt 19680e9902
Merge pull request #217568 from trofi/stdenv-parallel-install
stdenv/generic/setup.sh: enable parallel installs for parallel builds
2023-03-15 17:10:19 +00:00
Ali Caglayan 8f16a97848 ocaml: add framePointer option
Signed-off-by: Ali Caglayan <alizter@gmail.com>

<!-- ps-id: 10ea20a5-edc5-4358-a6d7-f2b5ec319258 -->
2023-03-13 15:42:21 +01:00
Sergei Trofimovich 7b8d86277d ocaml: disable parallel installs
Without the change parallel install fails as:

    $ install flags: -j16 ...
    ...
    install: target '...-ocaml-4.14.0/lib/ocaml/threads': No such file or directory
    make[1]: *** [Makefile:140: installopt] Error 1
2023-03-02 22:00:52 +00:00
zainab-ali c3bf65df67 ocaml: remove spaceTimeSupport after 4.12
Spacetime support was removed in OCaml version 4.12.
See the OCaml release notes: https://ocaml.org/releases/4.12.0.
See the pull request to OCaml: ocaml/ocaml#9948.
2023-02-19 16:42:53 +00:00
Sandro 5b3571c0df
Merge pull request #197367 from Et7f3/use-integrated-as-darwin 2023-01-21 18:49:59 +01:00
Weijia Wang 64a4e05f0d ocaml: add unsafe string support 2023-01-19 13:55:44 +08:00
Weijia Wang 67548d607d ocaml-ng.ocamlPackages_4_0[2-5].ocaml: unbreak on aarch64-linux 2023-01-16 20:58:27 +01:00
Weijia Wang bbc00643c7 ocaml-ng.ocamlPackages_4_09.ocaml: mark as broken on aarch64-darwin 2022-11-02 17:21:28 +01:00
Et7f3 f8b18c100b ocamlPackages.ocaml: Migrate to integrated assembler for Darwin
This is linked to https://github.com/ocaml/ocaml/pull/10176
A similar issue appeared with clang in cctools (Darwin):
```
as: this system assembler is deprecated. Please migrate to the clang integrated assembler (`as -q').
```
https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes#Deprecations
2022-10-23 14:44:18 +02:00
Vincent Laporte 7e591f949e ocaml-ng.ocamlPackages_5_0.ocaml: init at 5.0.0-β1 2022-10-22 12:09:49 +02:00
Anders Kaseorg 6920d8ca42 treewide: Simplify negated uses of versionAtLeast, versionOlder
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-04-25 13:35:24 -07:00
Felix Buehler 103f0186e1 ocaml: rename name to pname 2022-03-01 14:55:45 +01:00
Vladimír Čunát 4757815068
Merge #150128: ocaml: enable parallel building
...into staging
2022-02-28 08:11:16 +01:00
Sergei Trofimovich 238d634e4b ocaml: enable parallel building
Enable parallel building for ocaml-4.08 and above. tested as:

    $ nix build -f. ocaml-ng.ocamlPackages_{4_{00_1,01_0,02,03,04,05,06,07,08,09,10,11,12,13},latest}.ocaml --keep-going

ocaml build system supports parallel building, but but for multiple
top-level targets at the same time as it usually spawns subprocess
$(MAKE) that occasionally conflict with one another. To work it around
we use tiny Makefile with a single rule that calls top-level targets
sequentially as makefile calls:

    nixpkgs_world_bootstrap_world_opt:
       $(MAKE) world
       $(MAKE) bootstrap
       $(MAKE) world.opt

On a 16-core machine ocaml-4.12 build speeds up from 6m55s to 1m35s.

Releases 4_00_1, 4_01_0, 4_04 and 4_05 still have some race in them.
Thus this change enables parallel builds only for ocaml-4.06 and above.

Adapted from #142723

upstreams's CI tests the parallel makefile: https://github.com/ocaml/ocaml/issues/10235#issuecomment-782100584
The limit was chosen to be 4.08 because it was released in 2019, not too
long before the above link.
2022-02-27 12:00:00 +00:00
Maximilian Bosch bcf8aeff3c
ocaml 4.10/4.11: fix build w/glibc-2.34
Failing Hydra build: https://hydra.nixos.org/build/155189331
Applied a smaller patch from Fedora's fork[1] as it also applies on
older versions.

That said, these versions seem unmaintained anyways, so we should
probably drop them entirely.

[1] https://pagure.io/fedora-ocaml/c/dfb5e954a04f59b0456cc4c0ddf3acaf22e0ff07?branch=fedora-35-4.12.0
2022-02-27 10:25:39 +01:00
Maximilian Bosch 917b7e5fd2
ocaml: fix build w/glibc-2.34
ChangeLog: https://hydra.nixos.org/build/154122673
2022-02-27 10:25:39 +01:00
Robert Scott dc523cbb80 ocaml: heed hardeningDisable flags set for individual versions
specifically this re-fixes ocaml 4.09 on clang by allowing its
hardeningDisable flags to take effect
2021-11-25 21:13:12 +00:00
Vikram Narayanan 528716bb8e ocaml: Fix aarch64-darwin build 2021-11-22 12:19:55 -08:00
Vincent Laporte 87843991ef ocaml: fix assembler on darwin 2021-11-11 11:30:19 +01:00
Guillaume Girol 6506d2ae4d pkgsStatic.ocaml: migrate some logic from static adapter to ocaml 2021-08-19 09:30:48 +02:00
Guillaume Girol a2c566265e ocaml: add strictDeps = true 2021-08-19 09:30:46 +02:00
Guillaume Girol 061f70f8f7 ocaml: fix static compilation on recent versions 2021-08-19 09:29:55 +02:00
superherointj 805d252c3b ocaml: update meta.description 2021-06-03 11:16:27 -03:00
Ivan Babrou 2e1a7b94f3 ocamlPackages.ocaml: fix assembler detection for aarch64-darwin 2021-02-27 10:43:14 +01:00
Ben Siraphob acc5f7b18a pkgs/development/compilers: stdenv.lib -> lib 2021-01-23 08:57:37 +07:00
Vincent Laporte e40f4acb27 ocaml: minor refactoring 2020-11-25 07:55:44 +01:00
Symphorien Gibol bddabe58fe ocaml: add spacetime support 2020-08-13 11:07:15 +02:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Vincent Laporte 80a7615300 OCaml: do not depend on X11 for OCaml ≥ 4.09 2020-03-23 09:12:50 +01:00
Merijn Broeren 133103d709
treewide: replace make/build/configure/patchFlags with nix lists 2019-12-30 12:58:11 +01:00
Vincent Laporte 120102de65 OCaml: optionally enable AFL support 2019-11-30 08:34:36 +00:00
Vincent Laporte 9b76c5e17a OCaml: fix configure flags for flambda support
The configure program for OCaml has been using a new set of command-line
arguments from version 4.08. This is a small refactoring to ease dealing with
the two sets.
2019-11-30 08:34:36 +00:00
volth 08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Vincent Laporte 1753b20648 ocaml: init at 4.08.0+beta1 2019-02-19 09:44:04 +01:00
Lengyel Balazs f4a53ff3bc treewide/xorg: replace *proto with xorgproto 2019-01-04 14:38:57 +01:00
Vincent Laporte 585b741cb7 ocaml: fix build when X11 is not available 2018-12-17 17:46:46 +00:00
Vincent Laporte ce03af969e ocaml ≤ 4.05: mark as broken on Aarch64 (#47010) 2018-09-20 21:18:28 +02:00
Vincent Laporte 4f3868b72d
ocaml ≤ 4.05: mark as broken on Aarch64 2018-09-15 13:17:12 +00: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
Vincent Laporte 5c4ee2a3ab ocaml: init at 4.07.0+beta2 2018-04-25 18:19:57 +02:00
Vincent Laporte efcb39233d ocaml: adds an argument to enable flambda 2017-12-29 10:49:13 +01:00
Vincent Laporte 82ab1f8408 ocaml: fix the meta.branch attribute 2017-01-24 21:13:00 +00:00
Vincent Laporte ae047510bf ocaml: init at 4.04 2017-01-24 21:13:00 +00:00
Kirill Boltaev e61663a233 treewide: move to ocaml-ng system 2016-09-26 02:36:49 +03:00
Théophane Hufschmitt 08b85f5f99 ocaml : add 4.03 compiler 2016-08-19 19:07:30 +02:00