Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 496080 - app-i18n/librime-1.1 version bump
Summary: app-i18n/librime-1.1 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Yixun Lan
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-26 16:15 UTC by YeLee
Modified: 2014-04-08 23:28 UTC (History)
3 users (show)

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


Attachments
librime-1.1.ebuild (librime-1.1.ebuild,1.12 KB, text/plain)
2014-01-01 14:12 UTC, Yixun Lan
Details
librime-1.1.ebuild (librime-1.1.ebuild,1.16 KB, text/plain)
2014-01-03 03:06 UTC, Yixun Lan
Details
librime-1.1.ebuild (librime-1.1.ebuild,1.14 KB, text/plain)
2014-01-03 15:19 UTC, Yixun Lan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description YeLee 2013-12-26 16:15:56 UTC
A new version of librime has been released.
http://code.google.com/p/rimeime/downloads/detail?name=librime-1.1.tar.gz

Reproducible: Always
Comment 1 YeLee 2013-12-27 05:09:02 UTC
It failed to build under gcc-4.7.3, probably because of the bug below. 
We need to upgrade to gcc 4.8.0 or newer version to build successfully without any changes.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53613
Comment 2 Yixun Lan archtester gentoo-dev 2013-12-30 06:46:17 UTC
Hi @YeLee, thanks for reporting, I've already noticed this.
(and I queued them in my proxy repo, also for app-i18n/rime-data, app-i18n/ibus-rime)

force user to upgrade to gcc 4.8 won't be a good idea, how about the users who still stick to stable version? (gcc 4.8 still not go stable..)

could you report this bug to upstream, and provide the link back here? seems there is already one simple fix.

thanks
Comment 3 YeLee 2013-12-31 12:54:06 UTC
@Dennis 'dlan' Lan, I have reported this bug to upstream, but I wrote it in Chinese, I hope you can understand. :)
http://code.google.com/p/rimeime/issues/detail?id=553
Comment 4 Sven Vermeulen (RETIRED) gentoo-dev 2013-12-31 21:48:50 UTC
Ok to add it to the tree, obviously ~arch? gcc 4.8 is also ~arch and we can add in a DEPEND on it, and rename this bug to "app-i18n/librime-1.1 fails to build with gcc <4.8" ?
Comment 5 Yixun Lan archtester gentoo-dev 2014-01-01 14:12:20 UTC
Created attachment 366688 [details]
librime-1.1.ebuild

@Yelee, thanks for reporting to upstream

@swift, Ok, fine by me. So, let's restrict the gcc version dependency. I've also added a version check in pkg_setup(), let's keep it until we have better solution.

changes to librime
1) drop to unstable/testing keywords
2) drop patches which is already included by upstream
3) gcc version check

also please help bumping following ebuilds which released by upstream in the same time.
a) app-i18n/ibus-rime-1.1 (you just copy from version 0.9.9)
b) app-i18n/rime-data-0.32 (copy 0.22, drop to unstable keywords, bump EPAI=5)

also, you can checkout those ebuilds from my git repo.
$ git clone -b for-yngwin git://github.com/dlanx/proxy-maint.git
Comment 6 Markos Chandras (RETIRED) gentoo-dev 2014-01-01 15:05:35 UTC
(In reply to Yixun 'dlan' Lan from comment #5)
> Created attachment 366688 [details]
> librime-1.1.ebuild
> 
> @Yelee, thanks for reporting to upstream
> 
> @swift, Ok, fine by me. So, let's restrict the gcc version dependency. I've
> also added a version check in pkg_setup(), let's keep it until we have
> better solution.

No no no. Restricting gcc dependency makes no sense because the user may have 4.8 and 4.6 installed, so the dependency is satisfied, but have 4.6 as the default one. Better, detect running gcc version in src_prepare and die if 4.8 is not used. Unfortunately I can't think of another way to mitigate this problem for now.
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2014-01-01 15:07:02 UTC
(In reply to Markos Chandras from comment #6)
> (In reply to Yixun 'dlan' Lan from comment #5)
> > Created attachment 366688 [details]
> > librime-1.1.ebuild
> > 
> > @Yelee, thanks for reporting to upstream
> > 
> > @swift, Ok, fine by me. So, let's restrict the gcc version dependency. I've
> > also added a version check in pkg_setup(), let's keep it until we have
> > better solution.
> 
> No no no. Restricting gcc dependency makes no sense because the user may
> have 4.8 and 4.6 installed, so the dependency is satisfied, but have 4.6 as
> the default one. Better, detect running gcc version in src_prepare and die
> if 4.8 is not used. Unfortunately I can't think of another way to mitigate
> this problem for now.

...or wait until upstream provide a fix and then use it in the ebuild to allow old gcc version to be used as well
Comment 8 Yixun Lan archtester gentoo-dev 2014-01-02 02:01:00 UTC
(In reply to Markos Chandras from comment #6)
> No no no. Restricting gcc dependency makes no sense because the user may
> have 4.8 and 4.6 installed, so the dependency is satisfied, but have 4.6 as
> the default one. Better, detect running gcc version in src_prepare and die
> if 4.8 is not used. Unfortunately I can't think of another way to mitigate
> this problem for now.
didn't look at the attached ebuild?!
we *did* actually check the active gcc version in pkg_setup(), and emit die if not satisfied

> ...or wait until upstream provide a fix and then use it in the ebuild to
> allow old gcc version to be used as well
I'd rather not to wait, we can push this solution now, and amend later when we find better solution, either 1) librime upstream fix the code 2) or patches for gcc backported.
Comment 9 Yixun Lan archtester gentoo-dev 2014-01-02 05:14:48 UTC
I'm afraid, probably we won't have much choices here, librime upstream just mark this bug as "won't fix" and force it depend on >=gcc-4.8..
And I'd personally against carry patches which won't be accepted by upstream, it would be rather burden for maintenance...
Comment 10 Markos Chandras (RETIRED) gentoo-dev 2014-01-02 18:49:45 UTC
The ebuild needs fixing I believe. pkg_setup is also executed for binary packages so gcc || die should not be there. Better move it to src_prepare or check if the package is not binary.
Comment 11 Yixun Lan archtester gentoo-dev 2014-01-03 03:06:40 UTC
Created attachment 366804 [details]
librime-1.1.ebuild

(In reply to Markos Chandras from comment #10)
> The ebuild needs fixing I believe. pkg_setup is also executed for binary
> packages so gcc || die should not be there. Better move it to src_prepare or
> check if the package is not binary.

ooops, I obviously missed this.. sorry

let's check if the package is binary. 

I don't think checking in src_prepare is a good iea, because it runs at post-unpack, check in this phase will result in unnecessary unpacking when install from source and <gcc-4.8.

also example from leechcraft.eclass do this check in pkg_pretend(). this phase can't grantee the dependencies will be met, so gcc-4.8 maybe not even installed (install from source). we definitely want to check after gcc installed.
Comment 12 Yixun Lan archtester gentoo-dev 2014-01-03 15:19:41 UTC
Created attachment 366856 [details]
librime-1.1.ebuild

19:03:49< dlan> hwoarang: one thing still, you don't agree to put >=gcc-4.8
                into DEPEND?
19:03:56< hwoarang> dlan: yeah because there will be at least one gcc installed
19:04:11< hwoarang> dlan: no because it means nothing. the package will pull
                    and install gcc-4.8 but not select it as active
19:04:22< hwoarang> the error message is good enough to let the user know what
                    he needs to do
19:04:28< hwoarang> meaning "install and enable gcc-4.8"
19:04:32< hwoarang> no need to pull it from the ebuild
19:05:19< dlan> oh, I see your point..
19:05:56< dlan> my original idea was 1) put into DEPEND, so it will
                automatically installed for user 2) then user only need to
                active the correct version
19:06:15< hwoarang> yeah but we usually do not list @system deps
19:06:36< hwoarang> unless necessary, for example, package foo needs glibc-2.18
19:06:45< hwoarang> because only one glibc can be installed
19:07:04< hwoarang> but with gcc and slots, you can have 10 of them installed,
                    and the DEPEND= does not guarantee that the good one will
                    be selected

updated with 1) gcc removed from DEPEND 2) check in pkg_pretend(), so it will die early
Comment 13 Markos Chandras (RETIRED) gentoo-dev 2014-01-03 21:44:49 UTC
+*librime-1.1 (03 Jan 2014)
+
+  03 Jan 2014; Markos Chandras <hwoarang@gentoo.org> +librime-1.1.ebuild:
+  Version bump. Bug #496080. Thanks to Yixun Lan <dennis.yxun@gmail.com>
+
Comment 15 Yixun Lan archtester gentoo-dev 2014-04-08 23:28:02 UTC
+*librime-1.1-r1 (08 Apr 2014)
+
+  08 Apr 2014; Yixun Lan <dlan@gentoo.org> +librime-1.1-r1.ebuild,
+  +files/librime-1.1-BOOST_NO_SCOPED_ENUMS.patch,
+  +files/librime-1.1-gcc53613.patch:
+  backport patchhes for <gcc-4.8, thanks @YeLee
+