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

lifelines: init at unstable-2019-05-07 #26537

Merged
merged 1 commit into from May 19, 2019
Merged

Conversation

disassembler
Copy link
Member

@disassembler disassembler commented Jun 12, 2017

Motivation for this change

Adds lifelines command line genealogy tool. Using unstable because tag 3.1.1 will not build. Currently points at my repo, but will switch to upstream as soon as lifelines/lifelines#311 is merged.

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 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.

@joachifm
Copy link
Contributor

You can do hardeningDisable = [ "format" ] or NIX_CFLAGS_COMPILE = "-Wno-error=format-security".

More generally, having unstable after the date seems inappropriate; unstable is more akin to a namespace than a part of the version string.

Copy link
Contributor

@joachifm joachifm left a comment

Choose a reason for hiding this comment

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

Thank you. I've left a few notes for you to consider.

version = "2017-06-12-unstable";
name = "lifelines-${version}";

src = fetchgit {
Copy link
Contributor

Choose a reason for hiding this comment

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

GitHub also provides autogenerated archives for arbitrary revs, which is cheaper than a checkout (and caches better). Use fetchFromGitHub instead of fetchgit to easily make use of this.

pkgs/applications/misc/lifelines/default.nix Show resolved Hide resolved
description = "Genealogy tool with ncurses interface";
homepage = "https://github.com/MarcNo/lifelines";
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.disassembler ];
Copy link
Contributor

Choose a reason for hiding this comment

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

Note that leaving platforms unspecified means the package only builds for x86_64-linux (before, it'd end up not being built at all ...).

@disassembler
Copy link
Member Author

Thanks for the review. I'll try that autotools thing. First autotools nixpkg I've worked on. As for the name, that semantic comes straight from the manual: https://nixos.org/nixpkgs/manual/#sec-package-naming. I'm contributing bug fixes and stuff upstream as well, so hopefully we can get a stable version tagged that builds on nixos soon.

@joachifm
Copy link
Contributor

Note that the manual recommends adding -unstable to the package name, not the version.

My suggestion of simply disabling the error flag obviates the need for pointing to your own fork, if that's the only reason to not use upstream.

disassembler pushed a commit to disassembler/nixpkgs that referenced this pull request Jun 12, 2017
@disassembler
Copy link
Member Author

My commit was just merged, so I switched to their repo. It's using fetchFromGithub now as well. I still can't build off a stable release because both previous stable releases (3.1.0 and 3.1.0) fail to compile on gcc because of conflicting function definitions (already fixed in upstream).

@joachifm
Copy link
Contributor

One thing to consider is that if you intend to drop the unstable suffix once upstream makes a new release, somebody who installed the unstable package would not receive the update via ordinary package upgrade, because they'll be considered different packages. It's probably more appropriate to use the pre-release naming pattern here. I think the intent behind unstable really is for situations where you'd carry both a stable and an unstable variant over time.

@disassembler
Copy link
Member Author

I'm hoping an upstream release will be soon and I can use that.

@veprbl
Copy link
Member

veprbl commented Nov 28, 2018

@disassembler How about versioning it as "3.1.1.20181013" ?

@aanderse
Copy link
Member

@disassembler any motivation to continue this PR?

@aanderse
Copy link
Member

I actually wanted to try this program out anyways... so I updated the PR to be a more recent unstable version.

@c0bw3b c0bw3b changed the title lifelines: init at 2017-06-12-unstable lifelines: init at unstable-2019-05-07 May 18, 2019
Copy link
Contributor

@c0bw3b c0bw3b left a comment

Choose a reason for hiding this comment

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

nix-review'ed

@c0bw3b c0bw3b merged commit b72504f into NixOS:master May 19, 2019
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

8 participants