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
Move to Meson Build System #1245
base: feature-new-build
Are you sure you want to change the base?
Conversation
aca2dfd
to
a5d4437
Compare
6d41001
to
7881022
Compare
a5d4437
to
ba4510b
Compare
DependenciesMeson can check for dependencies, this is what we've checked so far:
|
|
|
|
Yeah, I would expect something like https://github.com/linux-nvme/libnvme/blob/bff7dda7e2a0f883d0b89e23fed725c916de3e61/libnvme/meson.build#L29-L45 to work. |
'-g', # always include symbols, for profiling | ||
] | ||
|
||
if system_os == "darwin" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lexer error:
meson.build:47:16: ERROR: Double quotes are not supported. Use single quotes.
if system_os == "darwin"
^
mypaintlib_swig = custom_target( | ||
'mypaintlib.py', | ||
input: ['lib/mypaintlib.i', | ||
'lib/gdkpixbuf2numpy.cpp', | ||
'lib/pixops.cpp', | ||
'lib/fastpng.cpp', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this has to go in src/meson.build (or src/lib/meson.build), since all the paths are in src/lib/* and it will be painful as-is.
'lib/fill/blur.cpp', | ||
'lib/fill/morphology.cpp' | ||
], | ||
output: ['mypaintlib.py', 'lib/mypaintlib_wrap.cpp'], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just output it to mypaintlib_wrapper.cpp, exact paths don't really matter for a .cpp file anyway.
@eli-schwartz I appreciate your review, but the latest commit was half copied and pasted code that I was yet to fully translate. Nonetheless, you have made some useful suggestions, which I'll add in when I can sit down and look at them more closely. |
Ahh, gotcha. :) (I have selfish reasons for having a small interest in seeing mypaint be compiled by meson, as it's currently a pain to handle diverging expectations of PEP 517 vs traditional setup.py usage and packagers are being strongly encouraged to only use PEP 517, which doesn't work here. So I figured any small help I could provide might make that transition happen faster. Please do feel free to ask me for help.) |
@eli-schwartz I'm tremendously grateful for your interest in improving MyPaint -- thank you for your offer of help. Would you mind if I call you in to be a reviewer at the final stages of the draft? |
I'd be thrilled to. :) |
Co-authored-by: Eli Schwartz <eschwartz93@gmail.com>
Completes #1229
Two arguments from
setup.py
catch our interest, they contain other commands and do everything needed to create a running instance of MyPaint:Build(build)
build
, which itself inheritsCommand
BuildConfig(Command)
build_ext
build_py
build_clib
build_scripts
BuildTranslations(Command)
managed_install
TBD
Other setuptools/distutils Features