-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
spidermonkey: update to 102 and fix build under macOS #179822
Conversation
@ofborg eval |
pkgs/development/interpreters/spidermonkey/adds-Wno-deprecated-declarations-icu.patch
Outdated
Show resolved
Hide resolved
ea521dd
to
e505c9c
Compare
@SuperSandro2000 may I ask you to re-review this one also? Thanks! Some motivation: it should allow to install nixops to macOS! :) |
It would be nice to split the changes into independent commits, for example:
That will make it easier to review. |
@jtojnar I've done it in different way:
I may push on this way if it makes things easy to review. |
Having (2) separate from the other changes is the most important. But having the unification first would be the best since it minimizes the number of files needed to compare against each other. |
@jtojnar ok, let me try do it. It shouldn't be something complicated. |
@jtojnar here it is. I've split it to a bit more steps to make things as clear as I can. |
5f799ce
to
e8cc360
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this is now much easier to review.
libobjc | ||
libiconv |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do these really go here rather than buildInputs
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jtojnar yes, it is linked against libiconv.dylib
on macOS:
√ result % otool -L lib/libmozjs-102.dylib
lib/libmozjs-102.dylib:
/nix/store/9ld6s0lcdjw9cp26zf4qa0j24m80rwd5-spidermonkey-102.0/lib/libmozjs-102.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
/nix/store/dpfzpp8c7z0fdxxvin21pk5gs135wn39-Libsystem-1238.60.2/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
/nix/store/k56igcml51xccxxakgvj8lai6f7fz05q-zlib-1.2.12/lib/libz.dylib (compatibility version 1.0.0, current version 1.2.12)
/nix/store/q4c16zw3kimqdvxcc06njrv49bq68hpf-libiconv-50/lib/libiconv.dylib (compatibility version 7.0.0, current version 7.0.0)
/nix/store/nbwbggjf37pxmishd2sqqbswv6f0l3cb-libcxx-11.1.0/lib/libc++.1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
@rpath/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1454.90.0)
√ result % otool -L bin/js102
bin/js102:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
/nix/store/dpfzpp8c7z0fdxxvin21pk5gs135wn39-Libsystem-1238.60.2/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
/nix/store/k56igcml51xccxxakgvj8lai6f7fz05q-zlib-1.2.12/lib/libz.dylib (compatibility version 1.0.0, current version 1.2.12)
/nix/store/qgzlayc4acky2pyp56dh6p1bm00d315g-readline-6.3p08/lib/libreadline.6.dylib (compatibility version 6.0.0, current version 6.3.0)
/nix/store/q4c16zw3kimqdvxcc06njrv49bq68hpf-libiconv-50/lib/libiconv.dylib (compatibility version 7.0.0, current version 7.0.0)
/nix/store/nbwbggjf37pxmishd2sqqbswv6f0l3cb-libcxx-11.1.0/lib/libc++.1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
@rpath/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1454.90.0)
√ result %
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it is linked against a library it goes into buildInputs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is the last open thread.
libobjc | |
libiconv | |
libobjc |
libiconv is already in buildInputs. Can we move libobjc, too?
@jtojnar seems that I've addressed all your comments. Or at least I hope so. To make review easy I haven't rebased anything, and keep all changes as two dedicated commits. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
otherwise LGTM
libobjc | ||
libiconv |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it is linked against a library it goes into buildInputs.
7451816
to
e8c7d9d
Compare
@SuperSandro2000 may I ask you to re-review this one? |
@catap This comment has yet to be solved. |
Just saw that GNOME 43 will depend on SpiderMonkey 102! |
@wegank thanks for the ping. I'll take a look on this on couple of hours. |
patches = lib.optionals (lib.versionAtLeast version "102") [ | ||
# use pkg-config at all systems | ||
./always-check-for-pkg-config.patch | ||
./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch | |
./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch | |
# Patches required by GJS | |
# https://discourse.gnome.org/t/gnome-43-to-depend-on-spidermonkey-102/10658 | |
# Install ProfilingCategoryList.h | |
(fetchpatch { | |
url = "https://hg.mozilla.org/releases/mozilla-esr102/raw-rev/33147b91e42b79f4c6dd3ec11cce96746018407a"; | |
sha256 = "sha256-xJFJZMYJ6P11HQDZbr48GFgybpAeVcu3oLIFEyyMjBI="; | |
}) | |
# Fix embeder build | |
(fetchpatch { | |
url = "https://hg.mozilla.org/releases/mozilla-esr102/raw-rev/1fa20fb474f5d149cc32d98df169dee5e6e6861b"; | |
sha256 = "sha256-eCisKjNxy9SLr9KoEE2UB26BflUknnR7PIvnpezsZeA="; | |
}) |
@@ -0,0 +1,4 @@ | |||
import ./common.nix { | |||
version = "102.0"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
102.1.0 may have been released according to https://discourse.gnome.org/t/gnome-43-to-depend-on-spidermonkey-102/10658.
Description of changes
This PR adds
spidermonkey_102
which can be used on every unix which includes macOS. It also fix build of old version under macOS.Thus, it suppress / consumes / closes #172376 and fixes #91415
And it adds tests for all packages :)
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes