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

@GrahamcOfBorg build frei0r

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build handbrake

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build tambura shotcut soundkonverter ffmpeg-full

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build ffmpeg-full

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build retroshare

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build shotcut

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build soundkonverter

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build synfigstudio

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build saga

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build kdenlive

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build manim

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build mlt

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build hydron

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build meguca

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build libsForQt5.openbr

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build liquidsoap

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build printrun

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build pfstools

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build openmvs

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build p2pvc

@doronbehar
Copy link
Contributor Author

@GrahamcOfBorg build olive-editor

@doronbehar
Copy link
Contributor Author

@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

@GrahamcOfBorg build python37Packages.moderngl-window

@doronbehar
Copy link
Contributor Author

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

@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
Member

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
@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
Development

Successfully merging this pull request may close these issues.

None yet

3 participants