Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • P PyAV
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 37
    • Issues 37
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 26
    • Merge requests 26
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyAV
  • PyAV
  • Merge requests
  • !51

BLD: Build process raises if libraries are missing.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/danielballan/standardize-setup into master 10 years ago
  • Overview 0
  • Commits 1
  • Pipelines 0
  • Changes 2

Created by: danielballan

This supercedes #34. To summarize it and revisit the discussion there:

The most important change in stated in the title. Currently, if a required library is not found, the build finishes "sucessfully" and failure is only discovered when the user tries import av. Now, a LibraryNotFoundError stops the build and lists the missing libraries.

The build script also fails immediately and informatively if someone attempts to run it on Windows.

The code that ran pkg-config through a Unix pipe has been replaced by a module on PyPI, pkgconfig, that provides this functionality. Removing that low-level code from PyAV's setup.py file makes it cleaner and more approachable. If we eventually support Windows, as I still hope to do, this refactor paves the way for a parallel implementation of pkg_exists and get_pkg_info using ctypes.WinDLL instead of pkgconfig.

A disadvantage of this change is that setup.py requires pkgconfig, and setuptools' setup_requires is not clever enough to install what it needs and then continue the build. We could make the build process smoother by distrbuting pkgconfig (it's only one file) with PyAV in, say, PyAV/extern/pkgconfig/. What do you think?

Finally, unlike #34, this does not cythonize sources -- make build is still required. I still think it would be good for python setup.py develop to run the whole build, cythonizing included, but that's not part of this PR.

And, again unlike #34, this does not change the way the build directory's contents are automatically detected. You convinced me. :- )

Loading
Loading

Activity


  • Administrator closed 10 years ago

    closed

Please register or sign in to reply
0 Assignees
None
Assign to
0 Reviewers
None
Request review from
Labels
2
Client: Crystal Enhancement: General
2
Client: Crystal Enhancement: General
    Assign labels
  • Manage project labels

Milestone
6.3.0
6.3.0 (expired)
None
Time tracking
No estimate or time spent
Lock merge request
Unlocked
0
0 participants
Reference: OpenAPITools/openapi-generator!14436
Source branch: github/fork/danielballan/standardize-setup

Menu

Explore Projects Groups Snippets