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

gopro: init at 1.0 #65607

Merged
merged 1 commit into from Aug 3, 2019

Conversation

@jonringer
Copy link
Contributor

commented Jul 30, 2019

Motivation for this change

Resolves #65603

CLI QoL script for interacting with GoPro's

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 nix-review --run "nix-review wip"
  • 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.
Notify maintainers

cc @CMCDragonkai


it's big (mplayer is a 500MB closure), kind of feel like doing multiple outputs for some of the dependencies (mplayer and imagemagick), so I don't have to include the whole closure.

$ nix path-info -Sh ./result
/nix/store/b9dbwqyzqvd1jcyab0cbr7760nlq4rql-gopro-1.0    543.9M
@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Jul 30, 2019

Meh, did more research, 350MB of the 500MB closure was X11. But most people will already have that on their machine.

pkgs/tools/video/gopro/default.nix Outdated Show resolved Hide resolved
pkgs/tools/video/gopro/default.nix Outdated Show resolved Hide resolved
pkgs/tools/video/gopro/default.nix Show resolved Hide resolved
@JohnAZoidberg

This comment has been minimized.

Copy link
Member

commented Jul 30, 2019

Would it still be as useful with the dependencies split out? They seem pretty essential to this program, so I guess everyone would want them anyways.

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Jul 30, 2019

@JohnAZoidberg what I meant by that is changing the dependencies such as mplayer to just exposing the mencoder tool, for the purpose of this tool, it doesn't really need everything else that gets bundled in the 500MB mplayer closure.

@jonringer jonringer force-pushed the jonringer:add-gopro branch from 3d07f23 to 3aa1d38 Jul 30, 2019

@JohnAZoidberg

This comment has been minimized.

Copy link
Member

commented Jul 30, 2019

Oh yeah, that might make sense if they pull in a lot of dependencies that are not needed for a subset of their commands.

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Jul 30, 2019

actually, nevermind, mencoder gets linked to everything under the sun. It may still be worthwhile to have a non-X11 version though, it's 150MB vs 500MB

ldd of mencoder
$ ldd ./result/bin/mencoder
        linux-vdso.so.1 (0x00007ffc5b4d6000)
        libncursesw.so.6 => /nix/store/58zg3ya4ap9s13sjkgv1v6ga2q5s2g5w-ncurses-6.1-20190112/lib/libncursesw.so.6 (0x00007fbb5a0b9000)
        librt.so.1 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/librt.so.1 (0x00007fbb5a0ad000)
        libpng16.so.16 => /nix/store/gynahyv6v4jnnwxlc1xbsj4scg7pk2mq-libpng-apng-1.6.37/lib/libpng16.so.16 (0x00007fbb5a074000)
        libz.so.1 => /nix/store/w3wqang215is14xqajycbxmd52b44qkw-zlib-1.2.11/lib/libz.so.1 (0x00007fbb5a055000)
        libjpeg.so.62 => /nix/store/1fh8m8zf3ldv59a73n247ikyd1j1pwf3-libjpeg-turbo-2.0.2/lib/libjpeg.so.62 (0x00007fbb59fbd000)
        libasound.so.2 => /nix/store/ykkyj86i3hdnb47wa49kvrwjwh7amdzz-alsa-lib-1.1.9/lib/libasound.so.2 (0x00007fbb59eb9000)
        libdl.so.2 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libdl.so.2 (0x00007fbb59eb4000)
        libpthread.so.0 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0 (0x00007fbb59e91000)
        libbluray.so.2 => /nix/store/bqa17zc3mwjb3ldfzr41w35j6kf36yin-libbluray-1.1.2/lib/libbluray.so.2 (0x00007fbb59e3c000)
        libdvdread.so.4 => /nix/store/43q5dkhc2jn07zg4gn7jn0i8nk33na6z-libdvdread-6.0.1/lib/libdvdread.so.4 (0x00007fbb59e1c000)
        libcdda_interface.so.0 => /nix/store/qk9cg5416863qy73nvgzincpfrzmmqjj-cdparanoia-III-10.2/lib/libcdda_interface.so.0 (0x00007fbb59e09000)
        libcdda_paranoia.so.0 => /nix/store/qk9cg5416863qy73nvgzincpfrzmmqjj-cdparanoia-III-10.2/lib/libcdda_paranoia.so.0 (0x00007fbb59dfe000)
        libfreetype.so.6 => /nix/store/pwqhcix98q3g19x5875g74g0sbnxgpgh-freetype-2.10.0/lib/libfreetype.so.6 (0x00007fbb59d40000)
        libbz2.so.1 => /nix/store/g8al6vdf21mgfi5774qx6r6cil1j7zr8-bzip2-1.0.6.0.1/lib/libbz2.so.1 (0x00007fbb59d2c000)
        libvorbisenc.so.2 => /nix/store/x5vhl6b0iw14x3px4snr8vza2w8wrpbs-libvorbis-1.3.6/lib/libvorbisenc.so.2 (0x00007fbb59c7e000)
        libvorbis.so.0 => /nix/store/x5vhl6b0iw14x3px4snr8vza2w8wrpbs-libvorbis-1.3.6/lib/libvorbis.so.0 (0x00007fbb59c45000)
        libogg.so.0 => /nix/store/gkvw49lq2n7jyn6157pvd5fvjfqic8ad-libogg-1.3.3/lib/libogg.so.0 (0x00007fbb59c3c000)
        libspeex.so.1 => /nix/store/3bv1xpcrwh31j8zyfqwb57182j1cldm5-speex-1.2.0/lib/libspeex.so.1 (0x00007fbb59c21000)
        libtheoradec.so.1 => /nix/store/99j75sy6lz6llrsd9xxi2bv4bd2gfglf-libtheora-1.1.1/lib/libtheoradec.so.1 (0x00007fbb59c03000)
        libswscale.so.4 => /nix/store/j84qfkq4jx0mq2ck79lli0rwhcilj2cz-ffmpeg-3.4.6/lib/libswscale.so.4 (0x00007fbb59b77000)
        libswresample.so.2 => /nix/store/j84qfkq4jx0mq2ck79lli0rwhcilj2cz-ffmpeg-3.4.6/lib/libswresample.so.2 (0x00007fbb59b56000)
        libavformat.so.57 => /nix/store/j84qfkq4jx0mq2ck79lli0rwhcilj2cz-ffmpeg-3.4.6/lib/libavformat.so.57 (0x00007fbb59916000)
        libavcodec.so.57 => /nix/store/j84qfkq4jx0mq2ck79lli0rwhcilj2cz-ffmpeg-3.4.6/lib/libavcodec.so.57 (0x00007fbb58495000)
        libavutil.so.55 => /nix/store/j84qfkq4jx0mq2ck79lli0rwhcilj2cz-ffmpeg-3.4.6/lib/libavutil.so.55 (0x00007fbb58414000)
        libpostproc.so.54 => /nix/store/j84qfkq4jx0mq2ck79lli0rwhcilj2cz-ffmpeg-3.4.6/lib/libpostproc.so.54 (0x00007fbb583f4000)
        libdvdnav.so.4 => /nix/store/w2kyr7299b25mrxm3rdlz4wwamw5p64d-libdvdnav-4.2.1/lib/libdvdnav.so.4 (0x00007fbb583d4000)
        libm.so.6 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libm.so.6 (0x00007fbb5823e000)
        libmp3lame.so.0 => /nix/store/ry59pjvcamg8ps7mzsmv6zgafvsfzhki-lame-3.100-lib/lib/libmp3lame.so.0 (0x00007fbb581c4000)
        libfontconfig.so.1 => /nix/store/ck4sgji9n1s28b80kng40rvdpdw68hvr-fontconfig-2.12.6-lib/lib/libfontconfig.so.1 (0x00007fbb5817c000)
        libfribidi.so.0 => /nix/store/kzn3f4ify1v0fzmfns24zsx3gxsrvgjz-fribidi-1.0.5/lib/libfribidi.so.0 (0x00007fbb5815e000)
        libX11.so.6 => /nix/store/ifvvyvydrfbwfg04s1wl1sx6ywyx0npv-libX11-1.6.7/lib/libX11.so.6 (0x00007fbb5801c000)
        libXext.so.6 => /nix/store/59k2b6hbdnhwrshhjizs3ykxmk8zsq6g-libXext-1.3.4/lib/libXext.so.6 (0x00007fbb58005000)
        libc.so.6 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6 (0x00007fbb57e4f000)
        /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/ld-linux-x86-64.so.2 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib64/ld-linux-x86-64.so.2 (0x00007fbb5a3f6000)
        libxml2.so.2 => /nix/store/3mhwhfss68lyzz0zvxzz9j743wmhcavf-libxml2-2.9.9/lib/libxml2.so.2 (0x00007fbb57ce7000)
        libdvdcss.so.2 => /nix/store/76wh7ggqn8683z6h7zkrgxzk5x3hi19g-libdvdcss-1.4.2/lib/libdvdcss.so.2 (0x00007fbb57cdd000)
        libmvec.so.1 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libmvec.so.1 (0x00007fbb57cae000)
        libsoxr.so.0 => /nix/store/s1ysnqa6zyqcbm2y5gylndr6ypa2wf7v-soxr-0.1.3/lib/libsoxr.so.0 (0x00007fbb57c3a000)
        libssh.so.4 => /nix/store/qm7rkw1qfaf9brnrbpqc3gkb82xjmywb-libssh-0.8.7/lib/libssh.so.4 (0x00007fbb57baa000)
        libgnutls.so.30 => /nix/store/nmidhr1si6j1ipyxngl7bs3wslrazw03-gnutls-3.6.8/lib/libgnutls.so.30 (0x00007fbb579f9000)
        libva.so.2 => /nix/store/g1qnx58wmm49phg5d0r0hjvxckvdjrg8-libva-2.4.1/lib/libva.so.2 (0x00007fbb579d3000)
        libxvidcore.so.4 => /nix/store/9m823cpn262fnyr1vh5cz2b9h0zmw1lj-xvidcore-1.3.5/lib/libxvidcore.so.4 (0x00007fbb578bd000)
        libx265.so.176 => /nix/store/qghp541y9j8jxyr6r6a9anlkvqp9b141-x265-3.1.1/lib/libx265.so.176 (0x00007fbb57310000)
        libx264.so.157 => /nix/store/w2rgxdfb2msyyln3lr3hsihrp5k0kqq3-x264-20190517-2245-lib/lib/libx264.so.157 (0x00007fbb56fe3000)
        libvpx.so.5 => /nix/store/gzm88fcd89lca9x3w18l9pwhiqi3f4v8-libvpx-1.7.0/lib/libvpx.so.5 (0x00007fbb56c61000)
        libtheoraenc.so.1 => /nix/store/99j75sy6lz6llrsd9xxi2bv4bd2gfglf-libtheora-1.1.1/lib/libtheoraenc.so.1 (0x00007fbb56c1c000)
        libopus.so.0 => /nix/store/8vlav8nrlqbl9i9zgjgw16kqqzskvrqv-libopus-1.3.1/lib/libopus.so.0 (0x00007fbb56bbd000)
        liblzma.so.5 => /nix/store/ji9kpgmbddkv2l2szzjfqinhja2322k0-xz-5.2.4/lib/liblzma.so.5 (0x00007fbb56b94000)
        libdrm.so.2 => /nix/store/illy94aflxgccjdm7l085qhrln4gx6vh-libdrm-2.4.99/lib/libdrm.so.2 (0x00007fbb56b7d000)
        libvdpau.so.1 => /nix/store/9yz6j7aawvp7g5l6qw3z9ai9qkcq79xi-libvdpau-1.2/lib/libvdpau.so.1 (0x00007fbb56b76000)
        libva-x11.so.2 => /nix/store/g1qnx58wmm49phg5d0r0hjvxckvdjrg8-libva-2.4.1/lib/libva-x11.so.2 (0x00007fbb56b6e000)
        libva-drm.so.2 => /nix/store/g1qnx58wmm49phg5d0r0hjvxckvdjrg8-libva-2.4.1/lib/libva-drm.so.2 (0x00007fbb56b69000)
        libexpat.so.1 => /nix/store/8qbic5yz5zl1q4840d5b3bg8lz0b48gr-expat-2.2.7/lib/libexpat.so.1 (0x00007fbb56b35000)
        libxcb.so.1 => /nix/store/qgagyq6b1ay8v6wrzbqm8kdr84gxj80w-libxcb-1.13.1/lib/libxcb.so.1 (0x00007fbb56b08000)
        libgomp.so.1 => /nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libgomp.so.1 (0x00007fbb56ad9000)
        libcrypto.so.1.0.0 => /nix/store/029i3gc3a26wwddjiiszyzqc4kbxq9q0-openssl-1.0.2s/lib/libcrypto.so.1.0.0 (0x00007fbb5686d000)
        libp11-kit.so.0 => /nix/store/xrhv2lq0qr27qndcgvr650n97lhssi9i-p11-kit-0.23.16.1/lib/libp11-kit.so.0 (0x00007fbb5673b000)
        libunistring.so.2 => /nix/store/qc4hwzwzhz9n5fqjckk913j8avcidfrw-libunistring-0.9.10/lib/libunistring.so.2 (0x00007fbb565b6000)
        libtasn1.so.6 => /nix/store/861blp13d6x02wr65fywawz680kkd9d7-libtasn1-4.13/lib/libtasn1.so.6 (0x00007fbb565a1000)
        libnettle.so.6 => /nix/store/wyznqagmc7jzp1z8kxzrwnrj5j7b25cf-nettle-3.4.1/lib/libnettle.so.6 (0x00007fbb56567000)
        libhogweed.so.4 => /nix/store/wyznqagmc7jzp1z8kxzrwnrj5j7b25cf-nettle-3.4.1/lib/libhogweed.so.4 (0x00007fbb5652e000)
        libgmp.so.10 => /nix/store/vdw4zkdvdcpca3bn0z7i3a2na48pr38a-gmp-6.1.2/lib/libgmp.so.10 (0x00007fbb56498000)
        libnuma.so.1 => /nix/store/hal7xrqnc1a62m6lv71cdlpb6f5cz3vg-numactl-2.0.12/lib/libnuma.so.1 (0x00007fbb56487000)
        libstdc++.so.6 => /nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6 (0x00007fbb562fd000)
        libgcc_s.so.1 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libgcc_s.so.1 (0x00007fbb560e7000)
        libXfixes.so.3 => /nix/store/0ngcigvy1jb9i8p4crxpjfpvs3f50kwa-libXfixes-5.0.3/lib/libXfixes.so.3 (0x00007fbb560df000)
        libXau.so.6 => /nix/store/7wfcq5r70iyv4g43p09gvad1gm2cb321-libXau-1.0.9/lib/libXau.so.6 (0x00007fbb560d8000)
        libXdmcp.so.6 => /nix/store/mpiza8a78ylqhp57vd0m8alzkah0ghy9-libXdmcp-1.1.3/lib/libXdmcp.so.6 (0x00007fbb560d0000)
        libffi.so.6 => /nix/store/rr52rxkzn8w4pidxp8g49649yysa726h-libffi-3.2.1/lib/../lib64/libffi.so.6 (0x00007fbb560c3000)

@jonringer jonringer force-pushed the jonringer:add-gopro branch from 3aa1d38 to 1184bcd Jul 30, 2019

@jonringer jonringer force-pushed the jonringer:add-gopro branch from 1184bcd to 5b30a10 Aug 2, 2019

@srhb srhb merged commit 57f6f4c into NixOS:master Aug 3, 2019

14 of 15 checks passed

gopro on aarch64-linux Failure
Details
Evaluation Performance Report Evaluator Performance Report
Details
gopro 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="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
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

@jonringer jonringer deleted the jonringer:add-gopro branch Aug 3, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.