Skip to content
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 cleanup #51942

Merged
merged 5 commits into from Dec 16, 2018
Merged

Spidermonkey cleanup #51942

merged 5 commits into from Dec 16, 2018

Conversation

hedning
Copy link
Contributor

@hedning hedning commented Dec 13, 2018

Motivation for this change

We keep a lot of spidermonkey versions, one which wasn't used at all. The default version was also very old and was only used three places:

  • jsawk
  • plowshare
  • pyload

I changed the default to 60 38 which didn't break the build of the above packages, though I didn't tested them in any serious fashion

Changed default to 38 as some dependencies require a js binary which 52 and 60 doesn't ship with (could link, but eg. fedora and arch doesn't at least).

Things done

Of note:

  • changed default to 38
  • removed 17 and then unused 31
  • upgraded 60.3.0 to 60.4.0 and did some cleanup
    In particular I turned on --enable-optimize this made the build a bit slower, but should hopefully be worth i (it turns on -O3). Eg. fedora disabled it a long time ago due to a gcc bug which is no longer with us. I ran up a VM with gnome and tested gnome-maps which uses gjs without problems
  • upraded 38.2.1.rc0 to last released 38.8.0, changed from random to url to official mozilla url.

Did a nix-review:

34 package were build: - adapta-gtk-theme - arc-theme - buildah - chrome-gnome-shell - flatpak - flatpak-builder - gnome-builder - gnome3.anjuta - gnome3.gjs - gnome3.gnome-characters - gnome3.gnome-documents - gnome3.gnome-flashback - gnome3.gnome-maps - gnome3.gnome-session - gnome3.gnome-shell - gnome3.gnome-shell-extensions - gnome3.gnome-software - gnome3.gnome-sound-recorder - gnome3.gnome-terminal - gnome3.gnome-tweak-tool - gnome3.gnome-weather - gnome3.gpaste - gnome3.polari - gnome3.pomodoro - gnome3.sushi - gtkpod - jsawk - minishift - ostree - plowshare - pyload - rpm-ostree - skopeo - spidermonkey

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

- build with `--enable-optimize`
- remove unused nspr dependency
- cleanup a static library (saves ~20mb)
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
doCheck = true;

nativeBuildInputs = [ meson ninja pkgconfig gettext glib ];
buildInputs = [ spidermonkey_52 ];
buildInputs = [ spidermonkey_60 ];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, good catch.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reverted and added a note.

@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
doCheck = true;

nativeBuildInputs = [ meson ninja pkgconfig gettext glib ];
# 52 is required for tests
# https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.30.1/meson.build#L25
buildInputs = [ spidermonkey_52 ];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can move this to checkInputs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would work. I was about to do it, but wondered if it would get picked up since it's detected in the main meson.build file, should've just done it :)

Also move spidermonkey_52 to checkInputs as it's not a runtime dependency.
@hedning
Copy link
Contributor Author

hedning commented Dec 13, 2018

The default should probably be 38 as 52 and 60 doesn't include a js binary (only eg. js60). This breaks at least jsawk. Alternatively we could add a symlink, but might be safer to just go with 38.

52 and 60 doesn't include `bin/js` only `bin/js52` etc. Some derivations
depending on spidermonkey require `js` to a be a command (at least `jsawk`).
No longer in use.
Update to the last version of 38
@hedning
Copy link
Contributor Author

hedning commented Dec 13, 2018

Could someone trigger a darwin build for spidermonkey_38? I've been putting off getting the permissions :/

@jtojnar
Copy link
Contributor

jtojnar commented Dec 13, 2018

@GrahamcOfBorg build spidermonkey_38

@globin globin merged commit 0fb5e2f into NixOS:master Dec 16, 2018
@hedning hedning deleted the spidermonkey-cleanup branch December 16, 2018 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants