Giter Club home page Giter Club logo

bym's People

Contributors

alexey-lysiuk avatar

Watchers

 avatar  avatar

bym's Issues

TAR warning with PyCharm

The latest PyCharm 2017.2.3 running macOS 10.13 outputs the following message on every tar invocation:
tar: Failed to set default locale

Retry download with different user agent

If download fails with 403 Forbidden error, do a request again with well known user agent, Firefox for example.
Hopefully this will fix #26. The issue with Travis CI downloads is different problem ๐Ÿ˜ž

Extend build state

Up-to-date/out-of-date states should be extended with at least forced download, extract+patch and rebuild states

File based customization

Re-add ability to customize build environment via file, i.e. Python module with extra options

Migrate to Python 3

With upcoming deprecation of Python 2, switch to 3.7.x currently shipped with Xcode.

Disable dependency tracking

Find the way to add --disable-dependency-tracking command line option to ./configure intelligently
Is it possible to detect availability of this switch, using some regex maybe?

Coloring for output

Add coloring for text output using hard-coded escape code or via dedicated Python module

List of packages

Add command line to list available packages: brief (names only) and full (URL, checksum, dependencies, commands)

Repository refactoring

Refactor package from dict to own Package class. It will encapsulate all operations: download, extract, verify and build.
Source URL and hash sum are mandatory arguments, dependencies and build commands are optional.
Overriding of environment variables should be reconsidered.

Build command will be changed from tuple to Command class hierarchy: Autogen, Configure, CMake, Install, etc.

Commands and dependencies can be a single instance, list or tuple of corresponding instances.

make install is too common and probably can be assumed if no other make-like command is specified.
configure --disable-shared --enable-static can be a default one.

Patching

Apply unified diff via patch (requires shell subprocess) or using patch module:

import patch
pset = patch.fromfile(your_unified_diff_file)
pset.apply()

ffmpeg

It has lots of dependencies

Quite/verbose mode

Add switch to suppress build output

Another option is to add verbose mode but keep it disabled by default

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.