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
Merged

gopro: init at 1.0 #65607

merged 1 commit into from Aug 3, 2019

Conversation

jonringer
Copy link
Contributor

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
Copy link
Contributor Author

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
Copy link
Member

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
Copy link
Contributor Author

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

@JohnAZoidberg
Copy link
Member

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
Copy link
Contributor Author

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

@srhb srhb merged commit 57f6f4c into NixOS:master Aug 3, 2019
@jonringer jonringer deleted the add-gopro branch August 3, 2019 09:32
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.

Request to package gopro-linux
5 participants