Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 593220 - app-i18n/enca-1.19: version bump
Summary: app-i18n/enca-1.19: version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Coacher
URL: https://github.com/gentoo/gentoo/pull...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-08 15:24 UTC by Coacher
Modified: 2016-09-20 00:11 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Coacher 2016-09-08 15:24:09 UTC
I'm working on it.

Problems with 1.18 ebuild:
- missing gtk-doc dep;
- doc USE is ignored;
- automagic libiconv;
- automagic recode;
- deprecated eclasses;
- 404 homepage.

I wonder how previous maintainers managed to skip all this.
Yes, maksbotan, this is a question for you.
Comment 1 Coacher 2016-09-14 01:49:34 UTC
All of the above already fixed in my 1.19 ebuild, but cross-compilation is still broken: parts of build system compile and execute C code, which easily breaks for obvious reasons. Some places where this happens aren't fixed in 1.18 probably because nobody looked for those.
Comment 2 Coacher 2016-09-14 16:34:58 UTC
Ok, I fixed cross compilation as well.
Tomorrow I'll submit PR and update this bug accordingly.
Comment 3 Coacher 2016-09-15 16:31:40 UTC
(In reply to Coacher from comment #0)
>[...]
> - automagic recode;
>[...]
My mistake: recode dependency isn't automagic.
Comment 4 Coacher 2016-09-15 23:45:13 UTC
enca has an optional iconv interface. During configure step enca compiles and executes C code (iconvcap) that includes some data derived from iconv.h into the resulting libenca library [1,2].

This obviously breaks when cross compiling for a different arch because the compiled binary isn't executable. If we compile the said C code using the build system's toolchain, then we pollute the target binaries with build system's info.

Thus there's no correct way to cross-compile enca with iconv support now. With that said, starting with 1.19 enca ebuild dies when cross compiling with iconv support enabled.

Previously there were no special actions re this problem, so iconv support silently failed when cross compiling for a different arch and worked when cross compiling for the same arch, which is as bad as automagic.

[1]: https://github.com/nijel/enca/issues/11
[2]: https://github.com/nijel/enca/blob/1.19/m4/libiconv.m4
Comment 5 Coacher 2016-09-15 23:48:43 UTC
Starting with 1.19 recode interface isn't enabled by default as upstream that fails to fix a glaring buffer overflow for two years [1] is as good as dead.
iconv interface is enabled by default instead that should work for the vast majority of users.

[1]: https://github.com/pinard/Recode/pull/3
Comment 6 Coacher 2016-09-20 00:11:00 UTC
commit 00efaa785db0abba65dedad5ed3f35c752b6de13
Author:     Ilya Tumaykin <itumaykin@gmail.com>
AuthorDate: Fri Sep 16 10:56:19 2016 +0300
Commit:     Yixun Lan <dlan@gentoo.org>
CommitDate: Tue Sep 20 07:34:29 2016 +0800

    app-i18n/enca: verbump to 1.19

    Major ebuild overhaul:
    - EAPI=6, migrate away from deprecated eclasses;
    - fix 404 HOMEPAGE;
    - do not enable recode by default as its upstream is dead;
    - introduce iconv USE to avoid iconv automagic dependency;
    - introduce static-libs USE;
    - add missing gtk-doc dep for doc USE;
    - make build system respect doc USE;
    - avoid ugly cross compilation and multilib hacks by doing things right.

    Gentoo-Bug: https://bugs.gentoo.org/593220
    Closes: https://github.com/gentoo/gentoo/pull/2340

    Package-Manager: portage-2.3.0

    Signed-off-by: Yixun Lan <dlan@gentoo.org>