-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
eiwd: init at 2.8-1 #208844
Merged
Merged
eiwd: init at 2.8-1 #208844
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
5134c37
eiwd: init at 2.0-1
5c8f765
eiwd: 2.0-1 -> 2.1-1
83daf63
eiwd: 2.1-1 -> 2.2-1
a4a6133
eiwd: 2.2-1 -> 2.3-1
3471586
eiwd: 2.3-1 -> 2.4-1
7c1fecd
eiwd: 2.4-1 -> 2.5-1
369134f
eiwd: 2.5-1 -> 2.6-1
1e3ec20
eiwd: 2.6-1 -> 2.8-1
66eb36f
eiwd: move to pkgs/by-name
57cb2ad
https://github.com/NixOS/nixpkgs/pull/208844#discussion_r1381145197
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
{ lib | ||
, stdenv | ||
, fetchFromGitHub | ||
, autoreconfHook | ||
, pkg-config | ||
, python3Packages # for tests | ||
, openssl # for tests | ||
, enableManpages ? true | ||
, docutils # for manpages | ||
}: | ||
|
||
stdenv.mkDerivation (finalAttrs: { | ||
pname = "eiwd"; | ||
version = "2.8-1"; | ||
|
||
src = fetchFromGitHub { | ||
owner = "illiliti"; | ||
repo = "eiwd"; | ||
rev = finalAttrs.version; | ||
hash = "sha256-SD/RJFuGBwFT4G73f93VrWO/6mGKQxjVhmNrpKRA/WY="; | ||
fetchSubmodules = true; | ||
}; | ||
|
||
outputs = [ | ||
"out" "doc" | ||
] ++ lib.optionals enableManpages [ | ||
"man" | ||
] ++ lib.optionals finalAttrs.doCheck [ | ||
"test" | ||
]; | ||
|
||
postUnpack = '' | ||
patchShebangs . | ||
''; | ||
|
||
nativeBuildInputs = [ | ||
autoreconfHook | ||
pkg-config | ||
] ++ lib.optionals enableManpages [ | ||
docutils # only for the man pages | ||
]; | ||
|
||
checkInputs = [ | ||
python3Packages.python | ||
(lib.getBin openssl) | ||
]; | ||
|
||
configureFlags = [ | ||
"--disable-dbus" | ||
] ++ lib.optionals (!enableManpages) [ | ||
"--disable-manual-pages" | ||
]; | ||
|
||
enableParallelBuilding = true; | ||
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.
finalAttrs.finalPackage.doCheck
contains the logic in mkDerivation so setting doCheck here will be unnecessaryThere 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.
Yeah but you can't reference
finalPackage
in the definition of the package itself. It's infinite recursion.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.
Yes you can https://github.com/search?q=repo%3ANixOS%2Fnixpkgs%20finalAttrs.finalPackage.doCheck&type=code
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.
Yeah but not for
outputs
.mkDerivation
is extra-strict in those. Go ahead try your suggestion; you'll get this: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
outputs
is extra-strict because technically you could have insane things likeThere 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.
In other words,
finalAttrs.finalPackage
is strict inoutputs
, because the attrnames ofoutputs
become attrnames offinalPackage
, and Nix attrsets are strict in their attrnames (lazy only in their attrvalues).So
outputs
can't depend onfinalAttrs
.