-
Notifications
You must be signed in to change notification settings - Fork 104
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
mupdf: fix fallback fonts handling #1815
mupdf: fix fallback fonts handling #1815
Conversation
I git pull base, and ran kodev build, but it did not recompile mupdf. |
There's no sure way beside rebuilding: CMake cached variables, make based systems that don't account for update to external libraries (or headers), patches that may have been changed… The old build system would just nuke and reconfigure some thirdparty projects, but I don't think that's a great behavior. |
If you know what changed, you can |
I don't know if outdated projects could be detected. Like meson: each subproject (CMake external project equivalent, more or less) checkout has a |
That worked.
Would be nice if these
Well, at least it was practical, and I always had my emulator build up to date, without needing to follow what has changed. |
Though to be clear, the way it works in meson is extremely inconvenient and it's a pita to get it behave anywhere close to sane, requiring all kinds of weird commands and flags that should not be necessary. What we had is in fact not terrible and significantly better than anything meson does imho. Because it just works. I don't mean to say much with that other than that I do not wish to see anything remotely meson-like happening because in this regard it just plain sucks. |
@benoit-pierre |
Must… resist… urge… to rant about submodules… @mergen3107: Currently missing commits are: ▸ git -C base fetch https://github.com/koreader/koreader-base.git && git -C base log --reverse --oneline $(git ls-tree --object-only master base)..FETCH_HEAD
3f00257f mupdf: fix fallback fonts handling (#1815)
b369ed30 cmake: fix `download-all` target (#1817)
f43f1830 (origin/master, origin/HEAD, github/master, master) Update Lua-RapidJSON (#1816) You can checkout another version of base, if you know it's compatible with your koreader commit, or wait for the next bump containing the fix. Also note: |
Thanks! I shall wait then, don't really want to mess with it :D |
%-re:
$(MAKE) $*-clean
$(MAKE) $*
Is nuking the external project you may be working on the right behavior? I suspect it's another instance where we're going to have wildly different views on the subject. |
You'll have to elaborate. |
Thanks for the explanations. I again think these tips need to be documented in a file we can have at hands.
I never lost anything (except once, where I blindly did kodev fetchthirdparty or something and it recloned from scratch crengine and I lost all my archived and current commits). But the current behaviour of not picking pulled changes is neither great nor right :) Anyway, even a shell script outside of the make/cmake infrastructure, that would walk the dirs and compare timestamps to run the needed |
I don't see how that's possible. One thing that was changed recently, is to not hard-reset the checkout: 1c24dc1. You should not loose uncommitted changes:
Of course, if you've have made a number of commits without checking out a branch first, an update would leave those unconnected, and you'll have to use the reflog to rescue them.
You don't have to do that anymore. |
Best as I can tell Iff [sic] it only ever failed when you had manually changed something the behavior would arguably make sense. The desired behavior requires convoluted invocations like Taking that back to the discussion at hand, it means our desired behavior is to checkout the desired commit, unlike meson which doesn't. Any potential forcing is orthogonal to that primary desire. |
Any update on that? Can I be sure everything was picked ? Or there are still risks stuff was not detected as needing rebuild? Oh, just got:
I thought this was somehow handled better? Previously, when that happened, I needed to rm thirdparty/mupdf/build.
The interleaving of many stuff does not help understanding what causes what :/ |
The behavior is the same as the old build system: external projects steps don't depend on files, but are re-run when the step command itself changes. So when you change the version in the URL of a project, or change the revision in a call to Adding a patch to the Changing |
And that configure step can also fail, for example bumping the zlib version will re-build zlib from scratch, but fail in libpng because the build is not redone from scratch. |
And prior to f11b599, some thirdparty projects would nuke their build directories on |
Mentionning that as it was not obvious in my latest output paste, it does not succesfully build because:
No idea what to do - I might suck at escape games :) |
Anyway, provide me a spec, and I'll look into it. |
Install ccache, |
A "spec" ? Like my own description of how I'd like |
That's the key factor causing more friction now: it's not doing enough of that. :-) |
Ah! right… Even if all external projects were rebuild from scratch, that still does not account for possible old-leftovers in the output directory or the staging tree. |
|
The earlier version of the build system using by-products (manually listing all installed files) was sort of self-healing: remove part of the output files, and they automatically get re-created. |
This is the correct MuPDF 1.24.2 update to the "external fonts" patch, preventing both koreader/koreader#11959 and koreader/koreader#11983.
And our little guy
◂
is now correctly rendered too!This change is![Reviewable](https://camo.githubusercontent.com/23b05f5fb48215c989e92cc44cf6512512d083132bd3daf689867c8d9d386888/68747470733a2f2f72657669657761626c652e696f2f7265766965775f627574746f6e2e737667)