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

[RFC/RDY] flent: add manpage + init http-getter #41614

Merged
merged 2 commits into from Jun 22, 2018

Conversation

teto
Copy link
Member

@teto teto commented Jun 7, 2018

Motivation for this change

without at least netperf the program is useless since it is an interface to netperf.
http-getter is a small utility used just by flent so I addded it to the flent default.nix.

NB: for those testing it, I kept the stable release but there is a nasty bug that was solved there
tohojo/flent#137 so you might need to override the src to sthg more recent.

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

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

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

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: flent

Partial log (click to expand)

test_create_timeseries (unittests.test_plotters.TestPlotters) ... ok
test_create_timeseries_combine (unittests.test_plotters.TestPlotters) ... ok
test_load_tests (unittests.test_tests.TestTests) ... ok

----------------------------------------------------------------------
Ran 26 tests in 4.563s

OK
postPatchMkspecs
/nix/store/5z6i0bd4r248jahlhl9fmbl9b19m6c9d-flent-1.2.2

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

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

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

Failure on x86_64-linux (full log)

Attempted: flent

Partial log (click to expand)

checking for references to /build in /nix/store/y1071aid72sabrhllhdgrallsixw8ncx-qtwebkit-5.9.1-dev...
postPatchMkspecs
fixQtModulePaths: Fixing module paths in `/nix/store/y1071aid72sabrhllhdgrallsixw8ncx-qtwebkit-5.9.1-dev/mkspecs/modules/qt_lib_webkitwidgets.pri'...
fixQtModulePaths: Fixing module paths in `/nix/store/y1071aid72sabrhllhdgrallsixw8ncx-qtwebkit-5.9.1-dev/mkspecs/modules/qt_lib_webkitwidgets_private.pri'...
fixQtModulePaths: Fixing module paths in `/nix/store/y1071aid72sabrhllhdgrallsixw8ncx-qtwebkit-5.9.1-dev/mkspecs/modules/qt_lib_webkit.pri'...
fixQtModulePaths: Fixing module paths in `/nix/store/y1071aid72sabrhllhdgrallsixw8ncx-qtwebkit-5.9.1-dev/mkspecs/modules/qt_lib_webkit_private.pri'...
postPatchMkspecs
cannot build derivation '/nix/store/4yfavrkhw7q1g4qf2sznm17kzpps0jja-python3.6-PyQt-5.10.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/lrvl9x8rp803rwd51bi96n4jdk38nzcc-flent-1.2.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/lrvl9x8rp803rwd51bi96n4jdk38nzcc-flent-1.2.2.drv' failed

{ stdenv, buildPythonApplication, fetchFromGitHub, matplotlib, netperf, procps, pyqt5 }:
{ stdenv, buildPythonApplication, fetchFromGitHub, matplotlib, netperf, procps, pyqt5
, makeWrapper, iperf2
, withMan ? true, sphinx ? null
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think it's worth making the manual optional. Doesn't take long to build (and hydra does it for you anyway), and it's put in a separate output. So I suggest to remove this option and always build the manual, which is the de-facto standard in nixpkgs.

Copy link
Member Author

Choose a reason for hiding this comment

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

I received different feedback on other PRs but I definitely agree we should encourage manpages so I build it by default.

propagatedBuildInputs = [
matplotlib
procps
pyqt5
];

postBuild = stdenv.lib.optionalString withMan ''
make man
Copy link
Contributor

Choose a reason for hiding this comment

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

This postBuild is not necessary and can be removed. The manual is built automatically.

@teto
Copy link
Member Author

teto commented Jun 13, 2018

In the end I removed the wrapping since it might pull too much otherwise and wouldn't work in python development mode which was my interest. The PR juste enables the manpage and add http-getter to cover some tests in flent.

So people should keep using it describing the necessary dependencies nix-shell -p flent iperf http-getter etc

@teto teto changed the title flent: wrap binaries with netperf/iperf/http-getter [RFC] flent: wrap binaries with netperf/iperf/http-getter Jun 13, 2018
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: flent, http-getter

Partial log (click to expand)

test_create_timeseries_combine (unittests.test_plotters.TestPlotters) ... ok
test_load_tests (unittests.test_tests.TestTests) ... ok

----------------------------------------------------------------------
Ran 26 tests in 4.700s

OK
postPatchMkspecs
/nix/store/sa3zqh70l8g6ija2dqb1ki26vyp6q0aq-flent-1.2.2
/nix/store/53kfkpf2b2mfhcm9xshyd97a6ix3mf2v-http-getter

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: flent, http-getter

Partial log (click to expand)

[4565/17529] CXX obj/third_party/icu/bundled_icui18n/precision.o
[4566/17529] CXX obj/third_party/WebKit/Source/platform/wtf/wtf/BitVector.o
[4567/17529] CXX obj/third_party/icu/bundled_icui18n/nfsubs.o
[4568/17529] CXX obj/third_party/icu/bundled_icui18n/quant.o
[4569/17529] CXX obj/third_party/icu/bundled_icui18n/regexst.o
[4570/17529] CXX obj/third_party/icu/bundled_icui18n/region.o
building of '/nix/store/lssdkibmydaff326bfilmdkgzmhbdz7k-qtwebengine-5.10.1.drv' timed out after 3600 seconds
cannot build derivation '/nix/store/cdkfra7xdjkzw6gnvhyj8jbsxsv7m2ib-python3.6-PyQt-5.10.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/ijhxi08w5pq520wi5v0lshlpi32ww625-flent-1.2.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/ijhxi08w5pq520wi5v0lshlpi32ww625-flent-1.2.2.drv' failed

@teto teto changed the title [RFC] flent: wrap binaries with netperf/iperf/http-getter [RFC/RDY] flent: wrap binaries with netperf/iperf/http-getter Jun 15, 2018
@teto teto changed the title [RFC/RDY] flent: wrap binaries with netperf/iperf/http-getter [RFC/RDY] flent: add manpage + init http-getter Jun 17, 2018
@matthewbauer matthewbauer merged commit 9185df5 into NixOS:master Jun 22, 2018
@teto teto deleted the flent_wrap branch June 22, 2018 02:10
@mmlb
Copy link
Contributor

mmlb commented Aug 8, 2019

In the end I removed the wrapping since it might pull too much otherwise and wouldn't work in python development mode which was my interest.

hey @teto what did you mean by python-development mode, do you recall? Maybe we should do 2 packages here, flent and flent-full or something? I'd like to have all the needed tools depended on and brought in somehow.

@teto
Copy link
Member Author

teto commented Aug 8, 2019

@mmlb I meant I was using flent in a nix-shell (equivalent to python setup.py develop). So the executable is not wrapped (maybe there is some trick to wrap it).
I think we should add an extraLibs settings like in i3pystatus

{ stdenv, fetchFromGitHub, libpulseaudio, python3Packages, extraLibs ? [] }:
, default it to a full setting that people can override.

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

5 participants