Git Product home page Git Product logo

Comments (6)

mroth avatar mroth commented on May 28, 2024

I doubt precompiled binaries will work with the wide variety of Linux architectures out there, unless we bundle a gazillion different binaries and pick the right one (but that would bloat the gem bundle size for everyone).

I think it's possible for ruby gems to have native code that compiles ("...building native extensions"), some issues there:

  • we'd only want to compile it in linux architecture, and avoid native extensions elsewhere.
  • might be overkill in terms of complication if there are a lot of dependencies, when most Linux distros have a good package manager and we're currently asking people to install ImageMagick anyhow.

Thoughts?

from lolcommits.

prydonius avatar prydonius commented on May 28, 2024

Looking at the readme's for camshot and v4l2grab I think the only dependencies would be developer tools, and video4linux drivers (which I think are installed by default on most distros).

So the only problem would be only building it for Linux. http://guides.rubygems.org/c-extensions/ only shows how to build a .so library that you can require, so we'd have to customise the makefile mkmf creates -- or create one manually. Any ideas on how to go about this?

Here's an example of modifying the makefile:
https://github.com/tenderlove/nokogiri/blob/master/ext/nokogiri/extconf.rb

They use different options for different OS's so perhaps we could stop it from compiling on anything but Linux?

Of course, mplayer isn't a particularly annoying dependency, and is easily installed so perhaps we needn't worry about packaging one of the above at all. Not to mention the fact that I've not even tried either of the above and don't know of their reliability. But yeah, just a thought :).

from lolcommits.

german avatar german commented on May 28, 2024

Just a thought: basically this gem is aimed at developers that actively use git and I think that running one extra command (sudo apt-get install ...) isn't that complicated for them. As for me I already had mplayer and ImageMagick with all development libraries installed so it wasn't issue for me at all ;)

Thanks.

from lolcommits.

prydonius avatar prydonius commented on May 28, 2024

That's true, I only raised this as a thought since imagesnap and CommandCam are bundled. Although a developer might not want to keep their system bloated with things they won't use, I wouldn't want to install a media player on a development machine because there's just no need for it (especially since it installs all those big ffmpeg libraries that we're not even using).

Just my two pennies' worth...

from lolcommits.

german avatar german commented on May 28, 2024

@prydonius Ah, ok then. I didn't know that imagesnap and CommandCam are bundled. Sorry.

from lolcommits.

matthutchinson avatar matthutchinson commented on May 28, 2024

Since we've been living with mplayer for over 2 years now without many complaints, I think this issue can be closed now. It still the simplest and safest way to get a captured image on linux machines.

from lolcommits.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.