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

roswell: init at version 17.9.10.82 #29478

Closed
wants to merge 1 commit into from
Closed

roswell: init at version 17.9.10.82 #29478

wants to merge 1 commit into from

Conversation

CarlOlson
Copy link

@CarlOlson CarlOlson commented Sep 16, 2017

Motivation for this change

Roswell is a popular Common Lisp tool, it should be part of nixpkgs.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • 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/)
  • Fits CONTRIBUTING.md.


meta = with stdenv.lib; {
homepage = https://github.com/roswell/roswell;
description = "lisp installer and launcher for major environments that just works";
Copy link
Member

Choose a reason for hiding this comment

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

Capitalize the first letter of the description, https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes.

name = "roswell-${version}";
version = "17.9.10.82";

src = fetchgit {
Copy link
Member

Choose a reason for hiding this comment

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

Use fetchFromGitHub?

{
  src = fetchFromGitHub {
    owner = "roswell";
    repo = "roswell";
    rev = "v${version}";
  };
}

Also fetchFromGitHub should be imported at the top instead of fetchgit, and may also need a different sha256 (not sure).

sh bootstrap
'';

nativeBuildInputs = [ autoconf automake curl ];
Copy link
Contributor

Choose a reason for hiding this comment

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

What is curl used for here?

Copy link
Author

@CarlOlson CarlOlson Sep 17, 2017

Choose a reason for hiding this comment

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

It's checked for in configure.ac, looks like it is more of a runtime requirement. Probably should put it is buildInputs, right? Curl headers are required in source files.

Copy link
Contributor

Choose a reason for hiding this comment

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

Probably, if it is referenced at runtime. Now, it won't actually matter unless build and host platform differ (and are incompatible, in which case curl would crash when invoked on the host machine).

Copy link
Contributor

Choose a reason for hiding this comment

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

Even if it's just headers, I still think build inputs makes more sense, but if it isn't linking against anything or invoking anything then I suppose it's all the same.

Copy link
Author

Choose a reason for hiding this comment

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

I've moved it, but haven't pushed my WIP yet.

@CarlOlson
Copy link
Author

CarlOlson commented Sep 18, 2017

I'm having a problem with NixOS. When roswell is first run it downloads SBCL into the ~/.roswell sub-directory. This executable expects the elf interpreter to be in /lib, thus doesn't run on NixOS. Patchelf won't work at install time because it is in the user directory...

Is there a standard solution to this problem? I'm looking into buildFHSUserEnv.

EDIT:
Got it working with buildFHSUserEnv, just working on ensuring it has the libraries needed to build SBCL. Still having trouble with glibc.

@ryantm
Copy link
Member

ryantm commented Sep 8, 2018

@GrahamcOfBorg build roswell

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: roswell

Partial log (click to expand)

gzipping man pages under /nix/store/zhyycjw85kwva4l0a4hv5crsbzn9qpqj-roswell-17.9.10.82/share/man/
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/zhyycjw85kwva4l0a4hv5crsbzn9qpqj-roswell-17.9.10.82/bin
patching script interpreter paths in /nix/store/zhyycjw85kwva4l0a4hv5crsbzn9qpqj-roswell-17.9.10.82
checking for references to /build in /nix/store/zhyycjw85kwva4l0a4hv5crsbzn9qpqj-roswell-17.9.10.82...
building '/nix/store/v1lihg2jknj031hinnxmsvnq9sjcf9ch-roswell-17.9.10.82-fhs-env-fhs.drv'...
building '/nix/store/krbf7b112fb3s669q7c7m6zwdxdgbfb6-roswell-17.9.10.82-fhs-env-init.drv'...
building '/nix/store/qdzrnzgszfrhx17ghhyrgbk46w3agx9r-roswell-17.9.10.82-fhs-env.drv'...
building '/nix/store/qiphhsadzqcwpx55svhxd7n75s4dq76a-roswell-17.9.10.82.drv'...
/nix/store/7l7zb614424w24m6y07zk4f9zsr6hyk9-roswell-17.9.10.82

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: roswell

Partial log (click to expand)

 /nix/store/zkfqg7icazgz0kj7rff6zdfbcf3v79sa-coreutils-8.29/bin/install -c -m 644 lisp/helper.el lisp/init.lisp lisp/util.lisp lisp/util-swank.lisp lisp/locations.lisp lisp/patch-quicklisp.lisp lisp/system.lisp lisp/build.ros lisp/build-ros.lisp lisp/build-asd.lisp lisp/config.ros lisp/util-config.lisp lisp/emacs.ros lisp/fmt.ros lisp/get.ros lisp/git.ros lisp/hg.ros lisp/run.ros lisp/setup.ros lisp/shell.ros lisp/version.ros lisp/wait.ros lisp/delete.ros lisp/delete-dump.lisp lisp/delete-git.lisp lisp/delete-asdf.lisp lisp/delete-env.lisp lisp/dump.ros lisp/util-dump.lisp lisp/dump-ccl.lisp lisp/dump-clisp.lisp lisp/dump-cmucl.lisp lisp/dump-ecl.lisp lisp/dump-sbcl.lisp lisp/help.ros lisp/help-install.lisp lisp/help-options.lisp lisp/help-run.lisp lisp/init.ros lisp/init-default.lisp '/nix/store/67pzcm5dpqpac226n8g92xmck8b6pzhb-roswell-17.9.10.82/etc/roswell'
 /nix/store/zkfqg7icazgz0kj7rff6zdfbcf3v79sa-coreutils-8.29/bin/install -c -m 644 lisp/init-env.lisp lisp/install.ros lisp/util-install.lisp lisp/util-install-quicklisp.lisp lisp/install+7zip.lisp lisp/install-abcl-bin.lisp lisp/install-allegro.lisp lisp/install-ccl-bin.lisp lisp/install-clasp.lisp lisp/install-clisp.lisp lisp/install-cmu-bin.lisp lisp/install-ecl.lisp lisp/install-quicklisp.lisp lisp/install-sbcl-bin.lisp lisp/install-sbcl.lisp lisp/install-slime.lisp lisp/install+externals-clasp.lisp lisp/install+ffcall.lisp lisp/install+msys2.lisp lisp/install+sigsegv.lisp lisp/install-asdf.lisp lisp/update.ros lisp/update-git.lisp lisp/update-hg.lisp lisp/update-quicklisp.lisp lisp/list.ros lisp/list-dump.lisp lisp/list-git.lisp lisp/list-installed.lisp lisp/list-versions.lisp lisp/list-asdf.lisp lisp/list-env.lisp lisp/template.ros lisp/util-template.lisp lisp/use.ros lisp/util-use.lisp lisp/use-asdf.lisp lisp/use-env.lisp lisp/which.ros '/nix/store/67pzcm5dpqpac226n8g92xmck8b6pzhb-roswell-17.9.10.82/etc/roswell'
make[2]: Leaving directory '/private/tmp/nix-build-roswell-17.9.10.82.drv-0/source'
make[1]: Leaving directory '/private/tmp/nix-build-roswell-17.9.10.82.drv-0/source'
post-installation fixup
gzipping man pages under /nix/store/67pzcm5dpqpac226n8g92xmck8b6pzhb-roswell-17.9.10.82/share/man/
strip is /nix/store/df6k4mgdjxciy0f637lryp7c9ln7n1m3-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/67pzcm5dpqpac226n8g92xmck8b6pzhb-roswell-17.9.10.82/bin
patching script interpreter paths in /nix/store/67pzcm5dpqpac226n8g92xmck8b6pzhb-roswell-17.9.10.82
/nix/store/67pzcm5dpqpac226n8g92xmck8b6pzhb-roswell-17.9.10.82

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: roswell

Partial log (click to expand)

post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/sazsnx8yds4cfgbmb5dcy87nykbqhysw-roswell-17.9.10.82
shrinking /nix/store/sazsnx8yds4cfgbmb5dcy87nykbqhysw-roswell-17.9.10.82/bin/ros
gzipping man pages under /nix/store/sazsnx8yds4cfgbmb5dcy87nykbqhysw-roswell-17.9.10.82/share/man/
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/sazsnx8yds4cfgbmb5dcy87nykbqhysw-roswell-17.9.10.82/bin
patching script interpreter paths in /nix/store/sazsnx8yds4cfgbmb5dcy87nykbqhysw-roswell-17.9.10.82
checking for references to /build in /nix/store/sazsnx8yds4cfgbmb5dcy87nykbqhysw-roswell-17.9.10.82...
building '/nix/store/ai9b9x44rbpybzfcfz18lap12sp3r8zr-roswell-17.9.10.82.drv'...
/nix/store/inplnh1w4wsy4cm4b9g3fq9vqv8mwvrz-roswell-17.9.10.82

Copy link
Member

@ryantm ryantm left a comment

Choose a reason for hiding this comment

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

@CarlOlson Please confirm if you are still having trouble with glibc

@CarlOlson
Copy link
Author

@ryantm I haven't been using roswell, but I can look into this again. I've probably learned something since then. 🤷‍♂️

@aanderse
Copy link
Member

@CarlOlson any interest in continuing with this PR?

@CarlOlson
Copy link
Author

Sorry, I've stopped using nix 🤷‍♂

@CarlOlson CarlOlson closed this May 19, 2019
@CarlOlson CarlOlson deleted the add-roswell branch May 19, 2019 11:56
@aanderse
Copy link
Member

No problem, thanks for the update

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

7 participants