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

howl: init at 0.5.3 #47979

Merged
merged 2 commits into from Oct 8, 2018
Merged

howl: init at 0.5.3 #47979

merged 2 commits into from Oct 8, 2018

Conversation

pacien
Copy link
Contributor

@pacien pacien commented Oct 6, 2018

Motivation for this change

This PR adds a new package for the Howl text editors and registers myself as a maintainer.

The package builds on my NixOS machine and the programs runs fine.

Since the introduction of this new package should not break anything, could this be back-ported to release-18.03 and release-18.09?

Things done
  • 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)
  • Fits CONTRIBUTING.md.

Copy link
Member

@timokau timokau left a comment

Choose a reason for hiding this comment

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

Great to see the maintainers list grow, welcome 🎉

Here are a few nitpicks.

pkgs/applications/editors/howl/default.nix Show resolved Hide resolved
sha256 = "0gnc8vr5h8mwapbcqc1zr9la62rb633awyqgy8q7pwjpiy85a03v";
};

sourceRoot = "./${name}/src";
Copy link
Member

Choose a reason for hiding this comment

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

Please don't use ${name} here. The name attribute is a nix package implemtation detail and only happens to use the same format as the folder name. If the nix name changes in the future for some reason, that would lead to confusing errors.

pkgs/applications/editors/howl/default.nix Show resolved Hide resolved
sourceRoot = "./${name}/src";
installFlags = [ "PREFIX=$(out)" ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ makeWrapper gtk3 librsvg ];
Copy link
Member

Choose a reason for hiding this comment

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

makeWrapper should be in nativeBuildInputs

'';

meta = {
homepage = "https://howl.io/";
Copy link
Member

Choose a reason for hiding this comment

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

The quotes here are unnessesary

pkgs/applications/editors/howl/default.nix Show resolved Hide resolved
pkgs/applications/editors/howl/default.nix Show resolved Hide resolved
@pacien
Copy link
Contributor Author

pacien commented Oct 7, 2018

@timokau Thanks for your feedback.
I've replied to the issues you have pointed out and made some changes.

@timokau
Copy link
Member

timokau commented Oct 7, 2018

@GrahamcOfBorg build howl

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: howl

Partial log (click to expand)

/nix/store/f2lp21azk4w88f17zgf4mji64agb18ga-bash-4.4-p23/bin/bash: gcc: command not found
/nix/store/f2lp21azk4w88f17zgf4mji64agb18ga-bash-4.4-p23/bin/bash: gcc: command not found
/nix/store/f2lp21azk4w88f17zgf4mji64agb18ga-bash-4.4-p23/bin/bash: gcc: command not found
Makefile:268: *** Unsupported target architecture.  Stop.
make[2]: Leaving directory '/private/tmp/nix-build-howl-0.5.3.drv-0/howl-0.5.3/src/deps/LuaJIT-2.1.0-beta3/src'
make[1]: *** [Makefile:113: default] Error 2
make[1]: Leaving directory '/private/tmp/nix-build-howl-0.5.3.drv-0/howl-0.5.3/src/deps/LuaJIT-2.1.0-beta3'
make: *** [Makefile:58: deps/LuaJIT-2.1.0-beta3/src/libluajit.a] Error 2
builder for '/nix/store/h3fjvcvcwdfm5y09l0xrarmbnzczi5in-howl-0.5.3.drv' failed with exit code 2
error: build of '/nix/store/h3fjvcvcwdfm5y09l0xrarmbnzczi5in-howl-0.5.3.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: howl

Partial log (click to expand)

glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3
shrinking /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/bin/.howl-wrapped
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/bin
patching script interpreter paths in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3
/nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/share/howl/bundles/lua/misc/tools/down_manual.sh: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
/nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/bin/howl-spec: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3...

@pacien
Copy link
Contributor Author

pacien commented Oct 7, 2018

It seems like darwin isn't supported.
How can it be excluded from the build platforms?

@timokau
Copy link
Member

timokau commented Oct 7, 2018

If the aarch64 build succeeds (apparently its still running), you can replace platforms.all by platforms.linux.

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: howl

Partial log (click to expand)

        /build/howl-0.5.3/lib/ext/moonscript/moonscript/base.lua:90: in function 'loadstring'
        /build/howl-0.5.3/lib/ext/moonscript/moonscript/base.lua:79: in function </build/howl-0.5.3/lib/ext/moonscript/moonscript/base.lua:66>
        [C]: in function 'require'
        /build/howl-0.5.3/lib/howl/init.lua:171: in function </build/howl-0.5.3/lib/howl/init.lua:167>
        [C]: in function 'pcall'
        /build/howl-0.5.3/lib/howl/init.lua:215: in main chunk

make: *** [Makefile:74: bytecode] Error 123
builder for '/nix/store/8jw6dgql92sg8y07x09xcsh59nv7ckf7-howl-0.5.3.drv' failed with exit code 2
error: build of '/nix/store/8jw6dgql92sg8y07x09xcsh59nv7ckf7-howl-0.5.3.drv' failed

@timokau
Copy link
Member

timokau commented Oct 7, 2018

Since it fails on aarch64 too, you set platforms = [ "i686-linux" "x86_64-linux" ].

@pacien
Copy link
Contributor Author

pacien commented Oct 7, 2018

The platforms property has been set accordingly.

@timokau
Copy link
Member

timokau commented Oct 8, 2018

@GrahamcOfBorg build howl

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: howl

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: howl

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: howl

Partial log (click to expand)

post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3
shrinking /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/bin/.howl-wrapped
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/bin
patching script interpreter paths in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3
/nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/share/howl/bundles/lua/misc/tools/down_manual.sh: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
/nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3/bin/howl-spec: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3...
/nix/store/8jfi7v723gfpbzrhkpbqcp82h6p42c8g-howl-0.5.3

@timokau
Copy link
Member

timokau commented Oct 8, 2018

Great, thank you for your patience with the review :)

@timokau timokau merged commit 9b90356 into NixOS:master Oct 8, 2018
@pacien
Copy link
Contributor Author

pacien commented Oct 8, 2018

Thank you for your review!

Would it be possible to back-port this to release-18.09 too?
I'm not familiar with the back-porting policy, but the introduction of a new package should not break anything.

@timokau
Copy link
Member

timokau commented Oct 8, 2018

I agree, I don't think there even is a hard policy on that. There probably should be. @samueldr what do you think on backporting new packages?

@samueldr
Copy link
Member

samueldr commented Oct 8, 2018

The current backport policies are about keeping the existing software set bug-free and safe security wise. We don't have policies about new software in stable, but current unwritten rules are that it's not really done.

While it wouldn't break anything, Nix, Nixpkgs and NixOS makes composition easy enough that "leaf derivations" like this one should be trivial to either add locally to an overlay, or use from unstable.

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