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

opencv: rename and default to opencv4 #86808

Merged
merged 7 commits into from May 5, 2020
Merged

Conversation

@doronbehar
Copy link
Contributor

doronbehar commented May 4, 2020

Motivation for this change

Make opencv4 the default and make sure all packages that depend on it built with it. The general goal is to reduce closure size for users of packages which can use the latest opencv. See https://discourse.nixos.org/t/nixpkgs-policy-regarding-libraries-available-in-multiple-versions/7026/2

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • 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 nixpkgs-review --run "nixpkgs-review wip" (used ofborg)
    • faust2jack-unstable (uses opencv2 explicitly now)
    • faust2jaqt-unstable (uses opencv2 explicitly now)
    • Tambura (a dependency of fast2jaqt which hasn't really changed it's inputs)
    • ffmpeg-full
    • frei0r-plugins
    • handbrake
    • hydron-unstable
    • kdenlive
    • liquidsoap-full
    • manim
    • mathematica (uses opencv2 explicitly now (I can't test it since it's unfree))
    • meguca-unstable (already broken)
    • mlt
    • olive-editor
    • libsForQt5.openbr (already broken)
    • openmvs-unstable (already broken)
    • p2pvc (uses opencv2 explicitly now)
    • pfstools (uses opencv2 explicitly now)
    • printrun
    • python2.7-gym
    • python2.7-pydub
    • python2.7-pyglet
    • python2.7-pytmx
    • python2.7-remotecv (already broken)
    • python3.7-baselines
    • python3.7-gym
    • python3.7-moderngl_window
    • python3.7-pydub
    • python3.7-pyglet
    • python3.7-pytmx
    • python3.7-rl-coach (already fails to build on hydra as well)
    • python3.7-roboschool
    • python3.8-gym
    • python3.8-moderngl_window
    • python3.8-pydub
    • python3.8-pyglet
    • python3.8-pytmx
    • python3.8-roboschool
    • retroshare (broken anyway)
    • saga (uses opencv2 explicitly now)
    • seeks (broken anyway)
    • shotcut
    • soundkonverter
    • synfigstudio (already broken)
    • yafaray-core
  • 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)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@doronbehar
Copy link
Contributor Author

doronbehar commented May 4, 2020

@GrahamcOfBorg build frei0r

@doronbehar
Copy link
Contributor Author

doronbehar commented May 4, 2020

@GrahamcOfBorg build handbrake

@doronbehar
Copy link
Contributor Author

doronbehar commented May 4, 2020

@GrahamcOfBorg build tambura shotcut soundkonverter ffmpeg-full

@doronbehar
Copy link
Contributor Author

doronbehar commented May 4, 2020

@GrahamcOfBorg build ffmpeg-full

@doronbehar
Copy link
Contributor Author

doronbehar commented May 4, 2020

@GrahamcOfBorg build retroshare

@doronbehar
Copy link
Contributor Author

doronbehar commented May 4, 2020

@GrahamcOfBorg build shotcut

@doronbehar
Copy link
Contributor Author

doronbehar commented May 4, 2020

@GrahamcOfBorg build soundkonverter

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build synfigstudio

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build saga

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build kdenlive

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build manim

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build mlt

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build hydron

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build meguca

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build libsForQt5.openbr

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build liquidsoap

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build printrun

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build pfstools

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build openmvs

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build p2pvc

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build olive-editor

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build python2Packages.gym python37Packages.gym python38Packages.gym

@GrahamcOfBorg build python2Packages.pydub python37Packages.pydub python38Packages.pydub

@GrahamcOfBorg build python2Packages.pyglet python37Packages.pyglet python38Packages.pyglet

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build python2Packages.pytmx python37Packages.pytmx python38Packages.pytmx

@GrahamcOfBorg build python2Packages.remotecv python37Packages.remotecv python38Packages.remotecv

@GrahamcOfBorg build python37Packages.baselines

@GrahamcOfBorg build python37Packages.rl-coach python38Packages.rl-coach

@GrahamcOfBorg build python37Packages.roboschool python38Packages.roboschool

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@GrahamcOfBorg build python37Packages.moderngl-window

@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

To make the checks visible after all the fixes have been commited, I'm executing all of the builds here once more:

@GrahamcOfBorg build frei0r
@GrahamcOfBorg build handbrake
@GrahamcOfBorg build tambura shotcut soundkonverter ffmpeg-full
@GrahamcOfBorg build ffmpeg-full
@GrahamcOfBorg build retroshare
@GrahamcOfBorg build shotcut
@GrahamcOfBorg build soundkonverter
@GrahamcOfBorg build synfigstudio
@GrahamcOfBorg build saga
@GrahamcOfBorg build kdenlive
@GrahamcOfBorg build manim
@GrahamcOfBorg build mlt
@GrahamcOfBorg build hydron
@GrahamcOfBorg build meguca
@GrahamcOfBorg build libsForQt5.openbr
@GrahamcOfBorg build liquidsoap
@GrahamcOfBorg build printrun
@GrahamcOfBorg build pfstools
@GrahamcOfBorg build openmvs
@GrahamcOfBorg build p2pvc
@GrahamcOfBorg build olive-editor
@GrahamcOfBorg build python2Packages.gym python37Packages.gym python38Packages.gym
@GrahamcOfBorg build python2Packages.pydub python37Packages.pydub python38Packages.pydub
@GrahamcOfBorg build python2Packages.pyglet python37Packages.pyglet python38Packages.pyglet
@GrahamcOfBorg build python2Packages.pytmx python37Packages.pytmx python38Packages.pytmx
@GrahamcOfBorg build python2Packages.remotecv python37Packages.remotecv python38Packages.remotecv
@GrahamcOfBorg build python37Packages.baselines
GrahamcOfBorg build python37Packages.rl-coach python38Packages.rl-coach (broken but not marked as so)
@GrahamcOfBorg build python37Packages.roboschool python38Packages.roboschool
@GrahamcOfBorg build python37Packages.moderngl-window

@doronbehar doronbehar changed the title [WIP] opencv: rename and default to opencv4 opencv: rename and default to opencv4 May 5, 2020
@doronbehar
Copy link
Contributor Author

doronbehar commented May 5, 2020

@Mic92 I made opencv4 the default opencv and thoroughly tested all of the affected packages with ofborg's help. Some of the affected packages were marked as broken already, and some of them do compile only with opencv2, hence the other commits.

All of the checks are available here: https://github.com/NixOS/nixpkgs/pull/86808/checks

@Mic92
Copy link
Contributor

Mic92 commented May 5, 2020

Thanks a lot for your work!
In separate PR it might be also worth looking at what opencv3 usages can be upgraded to opencv4.

@Mic92 Mic92 merged commit 3c4096f into NixOS:master May 5, 2020
100 checks passed
100 checks passed
faust2jack, faust2jack.passthru.tests, faust2jaqt, faust2jaqt.passthru.tests, mathematica, mathematica.passthru.tests, opencv, opencv.passthru.tests, p2pvc, p2pvc.passthru.tests, pfstools, pfstools.passthru.tests, saga, saga.passthru.tests on aarch64-linux Failure
Details
ffmpeg-full, shotcut, soundkonverter, tambura on aarch64-linux Failure
Details
handbrake on x86_64-darwin No attempt
Details
kdenlive on x86_64-darwin No attempt
Details
libsForQt5.openbr on aarch64-linux No attempt
Details
libsForQt5.openbr on x86_64-darwin No attempt
Details
libsForQt5.openbr on x86_64-linux No attempt
Details
liquidsoap on x86_64-darwin No attempt
Details
manim on aarch64-linux No attempt
Details
meguca on aarch64-linux No attempt
Details
meguca on x86_64-darwin No attempt
Details
meguca on x86_64-linux No attempt
Details
mlt on x86_64-darwin No attempt
Details
openmvs on aarch64-linux No attempt
Details
openmvs on x86_64-darwin No attempt
Details
openmvs on x86_64-linux No attempt
Details
p2pvc on x86_64-darwin No attempt
Details
pfstools on x86_64-darwin No attempt
Details
printrun on x86_64-darwin No attempt
Details
python2Packages.gym, python37Packages.gym, python38Packages.gym on x86_64-darwin No attempt
Details
python2Packages.pyglet, python37Packages.pyglet, python38Packages.pyglet on x86_64-darwin No attempt
Details
python2Packages.pytmx, python37Packages.pytmx, python38Packages.pytmx on x86_64-darwin No attempt
Details
python2Packages.remotecv, python37Packages.remotecv, python38Packages.remotecv on aarch64-linux No attempt
Details
python2Packages.remotecv, python37Packages.remotecv, python38Packages.remotecv on x86_64-darwin No attempt
Details
python2Packages.remotecv, python37Packages.remotecv, python38Packages.remotecv on x86_64-linux No attempt
Details
python37Packages.baselines on aarch64-linux Timed out, unknown build status
Details
python37Packages.baselines on x86_64-darwin No attempt
Details
python37Packages.moderngl-window on x86_64-darwin No attempt
Details
python37Packages.roboschool, python38Packages.roboschool on x86_64-darwin No attempt
Details
retroshare on aarch64-linux No attempt
Details
retroshare on x86_64-darwin No attempt
Details
retroshare on x86_64-linux No attempt
Details
saga on x86_64-darwin No attempt
Details
shotcut on x86_64-darwin No attempt
Details
soundkonverter on x86_64-darwin No attempt
Details
synfigstudio on aarch64-linux No attempt
Details
synfigstudio on x86_64-darwin No attempt
Details
synfigstudio on x86_64-linux No attempt
Details
Evaluation Performance Report Evaluator Performance Report
Details
faust2jack, faust2jack.passthru.tests, faust2jaqt, faust2jaqt.passthru.tests, mathematica, mathematica.passthru.tests, opencv, opencv.passthru.tests, p2pvc, p2pvc.passthru.tests, pfstools, pfstools.passthru.tests, saga, saga.passthru.tests on x86_64-darwin Success
Details
faust2jack, faust2jack.passthru.tests, faust2jaqt, faust2jaqt.passthru.tests, mathematica, mathematica.passthru.tests, opencv, opencv.passthru.tests, p2pvc, p2pvc.passthru.tests, pfstools, pfstools.passthru.tests, saga, saga.passthru.tests on x86_64-linux Success
Details
ffmpeg-full on aarch64-linux Success
Details
ffmpeg-full on x86_64-darwin Success
Details
ffmpeg-full on x86_64-linux Success
Details
ffmpeg-full, shotcut, soundkonverter, tambura on x86_64-darwin Success
Details
ffmpeg-full, shotcut, soundkonverter, tambura on x86_64-linux Success
Details
frei0r on aarch64-linux Success
Details
frei0r on x86_64-darwin Success
Details
frei0r on x86_64-linux Success
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="53effac"; rev="53effac04003090683768615887460026c25f5fb"; } ./pkgs/t
Details
grahamcofborg-eval-lib-tests nix-build --arg pkgs import ./. {} ./lib/tests/release.nix
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="53effac"; rev="53effac04003090683768615887460026c25f5fb"; } ./nixos/
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="53effac"; rev="53effac04003090683768615887460026c25f5fb"; } ./nixos/
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="53effac"; rev="53effac04003090683768615887460026c25f5fb"; } ./nixos/
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="53effac"; rev="53effac04003090683768615887460026c25f5fb"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="53effac"; rev="53effac04003090683768615887460026c25f5fb"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="53effac"; rev="53effac04003090683768615887460026c25f5fb"; } ./pkgs/t
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
handbrake on aarch64-linux Success
Details
handbrake on x86_64-linux Success
Details
hydron on aarch64-linux Success
Details
hydron on x86_64-darwin Success
Details
hydron on x86_64-linux Success
Details
kdenlive on aarch64-linux Success
Details
kdenlive on x86_64-linux Success
Details
liquidsoap on aarch64-linux Success
Details
liquidsoap on x86_64-linux Success
Details
manim on x86_64-darwin Success
Details
manim on x86_64-linux Success
Details
mlt on aarch64-linux Success
Details
mlt on x86_64-linux Success
Details
olive-editor on aarch64-linux Success
Details
olive-editor on x86_64-darwin Success
Details
olive-editor on x86_64-linux Success
Details
p2pvc on aarch64-linux Success
Details
p2pvc on x86_64-linux Success
Details
pfstools on aarch64-linux Success
Details
pfstools on x86_64-linux Success
Details
printrun on aarch64-linux Success
Details
printrun on x86_64-linux Success
Details
python2Packages.gym, python37Packages.gym, python38Packages.gym on aarch64-linux Success
Details
python2Packages.gym, python37Packages.gym, python38Packages.gym on x86_64-linux Success
Details
python2Packages.pydub, python37Packages.pydub, python38Packages.pydub on aarch64-linux Success
Details
python2Packages.pydub, python37Packages.pydub, python38Packages.pydub on x86_64-darwin Success
Details
python2Packages.pydub, python37Packages.pydub, python38Packages.pydub on x86_64-linux Success
Details
python2Packages.pyglet, python37Packages.pyglet, python38Packages.pyglet on aarch64-linux Success
Details
python2Packages.pyglet, python37Packages.pyglet, python38Packages.pyglet on x86_64-linux Success
Details
python2Packages.pytmx, python37Packages.pytmx, python38Packages.pytmx on aarch64-linux Success
Details
python2Packages.pytmx, python37Packages.pytmx, python38Packages.pytmx on x86_64-linux Success
Details
python37Packages.baselines on x86_64-linux Success
Details
python37Packages.moderngl-window on aarch64-linux Success
Details
python37Packages.moderngl-window on x86_64-linux Success
Details
python37Packages.roboschool, python38Packages.roboschool on aarch64-linux Success
Details
python37Packages.roboschool, python38Packages.roboschool on x86_64-linux Success
Details
saga on aarch64-linux Success
Details
saga on x86_64-linux Success
Details
@flokli
Copy link
Contributor

flokli commented May 5, 2020

Thanks for this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.