Commit Graph

78 Commits

Author SHA1 Message Date
sternenseemann
8135c22b33 ecl: 26.3.27 -> 26.5.5
https://ecl.common-lisp.dev/posts/ECL-2655-release.html
2026-05-05 13:06:16 +02:00
Mauricio Collares
1da06da941 ecl: import some patches from bugfix-rc branch 2026-04-29 13:06:42 -03:00
sternenseemann
0d7d6d1583 ecl: 24.5.10 -> 26.3.27
https://ecl.common-lisp.dev/posts/ECL-26327-release.html

- Dropped GCC 15 patches are part of the release.
- write_error.patch no longer applies, but appears to be intended to
  resolve an issue that has been fixed years ago according to the bug
  tracker.
2026-03-30 20:42:07 +02:00
Jiajie Chen
e3dd4d0319 ecl: only apply gcc15 compat patches for gcc
Because the default C version of clang is not synchronized with gcc, to
avoid further propagation of overriding CFLAGS to downstream packages,
only apply gcc15 compat patches when the compiler is gcc. Therefore, it
can be compiled with clang as well.

Follow up for pr #476147.

Co-authored-by: Aleksana <me@aleksana.moe>
2026-01-03 12:56:07 +08:00
Jiajie Chen
1abbbc0ae5 ecl: import upstream patches for gcc15 compat
Instead of downgrading to C17, import upstream patches for gcc15
compatibility. So downstream packages e.g. sage can build correctly
without setting CFLAGS.
2026-01-02 14:44:21 +08:00
Ihar Hrachyshka
567e8dfd8e treewide: clean up 'meta = with' pattern
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.

Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
2025-12-10 18:09:49 +01:00
ghpzin
e7e8b6cc33 ecl: fix build with gcc15
- add "CFLAGS=-std=gnu17" to `configureFlags`.

There are patches upstream to make it build with `-std=gnu23`
(default in gcc15):
https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/325
https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/345
but applying them makes it not build with `-std=gnu17` (default in gcc14)
instead.

Fixes build failure with gcc15:
```
/build/ecl-24.5.10/src/c/dpp.c:112:13: error: 'bool' cannot be defined
via 'typedef'
  112 | typedef int bool;
      |             ^~~~
/build/ecl-24.5.10/src/c/dpp.c:112:13: note: 'bool' is a keyword
with '-std=c23' onwards
/build/ecl-24.5.10/src/c/dpp.c:112:1: warning: useless type name in
empty declaration
  112 | typedef int bool;
      | ^~~~~~~
```
2025-12-03 06:36:17 +03:00
Wolfgang Walther
5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Fernando Rodrigues
05580f4b44 treewide: switch instances of lib.teams.*.members to the new meta.teams attribute
Follow-up to #394797.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2025-04-25 22:20:17 -03:00
Reno Dakota
779d0063f6 ecl: passthru clang when stdenv.cc.isClang 2025-01-04 13:15:07 -08:00
Silvan Mosberger
4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
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
Hraban Luyat
5f4daf22df ecl: 23.9.9 -> 24.5.10 2024-05-10 11:56:43 -04:00
Hraban Luyat
3dea08030b sbcl, ecl, clisp: set meta.mainProgram 2024-02-29 11:16:55 -05:00
Hraban Luyat
5d1fa73585 ecl: enable (install)check phase 2024-02-23 12:56:09 -05:00
sternenseemann
b1f79f5d67 ecl: 21.2.1 -> 23.9.9
https://ecl.common-lisp.dev/posts/ECL-2399-release.html
2023-12-24 17:01:29 +01:00
Mauricio Collares
2701d140df treewide: fetch sage patches from github instead of now-defunct trac 2023-09-02 08:46:11 -07:00
Kasper Gałkowski
6817b72ca3 lisp-modules: set maintainers to the lisp team 2023-04-05 20:52:27 +02:00
Rick van Schijndel
9833d56c24 treewide: mark packages broken that never built on PLATFORM
Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken
Tool is still WIP but this is one of the first results.

I manually audited the results and removed some results that were not valid.

Note that some of these packages maybe should have more constrained platforms set
instead of broken set, but I think not being perfectly correct is better than
just keep trying to build all these things and never succeeding.

Some observations:

- Some darwin builds require XCode tools
- aarch64-linux builds sometimes suffer from using gcc9
  - gcc9 is getting older and misses some new libraries/features
- Sometimes tools try to do system detection or expect some explicit settings for
  platforms that are not x86_64-linux
2022-12-13 21:40:12 +01:00
Artturin
c6568adb00 treewide: makeWrapper buildInputs to nativeBuildInputs
most found with https://github.com/siraben/nix-lint
2022-08-16 13:14:19 +03:00
Ben Siraphob
21faf9fc29 treewide: move autoconf, automake to nativeBuildInputs 2022-03-30 20:17:24 -05:00
Felix Buehler
f6d7348cee ecl: refactor 2021-12-21 12:08:34 +01:00
Doron Behar
57ab62314b maxima, sage: Simplify lisp-compiler arguments namings
Make clearer the difference between `maxima` and `maxima-ecl` top-level
attributes. Use the `lisp-compiler` as a passthru for all of sage's
expressions. Add the `pname` attribute for `ecl` for compatibility with
other lisp implementations.
2021-11-29 15:51:30 +02:00
Mario Rodas
13af44ba2a ecl: fix nativeBuildInputs 2021-09-11 04:20:00 +00:00
Sandro Jäckel
047fea5392 ecl: format, cleanup 2021-08-10 10:32:45 +02:00
sternenseemann
18a4e4f94f ecl, ecl_16_1_2: make sure ar is in PATH 2021-08-09 03:01:02 +02:00
sternenseemann
ccef83bd40 ecl_16_1_2: fix linking of compiled programs
* Use --with-gmp-incdir and --with-gmp-libdir (like for the main ecl
  derivation), so ecl can figure out the flags to pass on its own.
  Remove NIX_LDFLAGS hack for gmp.

* Make sure ecl can find boehmgc when linking programs / libraries via
  NIX_LDFLAGS. Pass correct -I for boehmgc via NIX_CFLAGS_COMPILE since
  there's no --with-boehmgc-prefix configure flag to achieve the same
  result.

* Use correct suffixSalt for every flag. This makes NIX_CFLAGS_COMPILE
  work properly in the first place and should prevent the extra flags
  hacks leaking into other places in some edge cases.
2021-08-08 20:16:36 +02:00
sternenseemann
38b4a4364d ecl: inform ecl about libraries to link against via configure flags
All libraries that ecl will have compiled libraries and executables link
against now have their own --with-<dep>-incdir and --with-<dep>-libdir
flag which is perfect for our distinct lib and dev outputs.

Consequently, we can get rid of the NIX_LDFLAGS-based hack in the
wrapper since ecl can figure out which flags to pass on its own.
2021-08-08 20:09:38 +02:00
Sandro Jäckel
476f8e0e17 ecl: cleanup 2021-08-02 10:58:44 +02:00
Mauricio Collares
75b4fccfa4 ecl: make sure boehmgc is available to gcc/linker 2021-07-31 22:39:10 -03:00
Daniel Nagy
b5d78dbc52 ecl: add changelog 2021-04-01 17:59:49 +02:00
Steve Purcell
5b65668814 ecl: prefer fetchpath to fetchurl where appropriate 2021-02-12 14:55:46 +13:00
Steve Purcell
8628c90296 ecl: 20.4.24 -> 21.2.1, enable Darwin
- Incorporates the latest upstream release
- Removes now-defunct patches
- Enable builds on non-Linux Unixes, ie. Darwin
2021-02-11 18:02:40 +13:00
Ben Siraphob
acc5f7b18a pkgs/development/compilers: stdenv.lib -> lib 2021-01-23 08:57:37 +07:00
Mauricio Collares
c46dcf470e ecl: patches to fix SIGFPEs and for unicode compatibility with maxima 2020-12-14 19:24:19 -03:00
Masanori Ogino
b57fc1fc48 ecl: 16.1.3 -> 20.4.24, eql-git: fix build
Signed-off-by: Masanori Ogino <167209+omasanori@users.noreply.github.com>
2020-10-23 07:53:09 +09:00
Michael Reilly
84cf00f980 treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Timo Kaufmann
00c3761322 ecl: fix build with libffi 3.3
The build was broken by the recent libffi update
(53a04a2df0) because of this upstream
change:

ef76205647

I have changed the usage of FFI_SYSV as gentoo suggests:

https://wiki.gentoo.org/wiki/Libffi_3.3_porting_notes/FFI_SYSV

I'm not entirely sure if that is the right call here, but I haven't
noticed any regressions in my testing and its definitely better than a
broken build.

Upstream: https://gitlab.com/embeddable-common-lisp/ecl/issues/302
2019-12-16 23:02:26 +01:00
Vladimír Čunát
991c0e1618 treewide: mark packages as buildable on darwin (PR #45364)
vcunat amended the commit a bit; see the PR for details/discussion.
2019-09-15 10:50:08 +02:00
Timo Kaufmann
fca3ea0737 ecl_16_1_2: backport getcwd fix 2018-06-30 01:20:46 +02:00
Timo Kaufmann
63b8275709 ecl: Use boehmgc 2018-04-24 00:42:47 +02:00
Timo Kaufmann
83e5b55ed0 ecl_16_1_2: Adopt upstream error handling patch 2018-04-23 20:08:57 +02:00
Michael Raskin
95f3473e18 ecl_16_1_2: init at 16.1.2; reinstating for Maxima 2017-01-03 18:06:47 +01:00
Michael Raskin
41dc1e5237 ecl: 16.1.2 -> 16.1.3 2017-01-02 20:18:47 +01:00
Tomas Hlavaty
b23b7a8174 ecl: add threadSupport option 2016-12-13 22:35:16 +01:00
Tomas Hlavaty
5f8b6b2e1d ecl: add gcc into wrapper PATH
otherwise the native gcc based compiler does not work
2016-09-05 20:07:24 +02:00
Robin Gloster
8031cba2ab Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-06-10 09:27:04 +00:00
Tomas Hlavaty
506fe4e5c1 ecl: upstream changed url 2016-05-31 22:33:18 +02:00
Robin Gloster
2d382f3d98 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-05-30 19:39:34 +00:00
Tuomas Tynkkynen
5ecce6b94a treewide: Make explicit that 'dev' output of libffi is used 2016-05-19 10:00:41 +02:00