Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 309403

Summary: Apache Thrift ebuild request
Product: Gentoo Linux Reporter: Priit Laes (IRC: plaes) <plaes>
Component: New packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: RESOLVED FIXED    
Severity: normal CC: binki, hongqn, lpmichalik, naota, pavel.a.denisov, sam, serkan
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://incubator.apache.org/thrift/
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 309453    
Bug Blocks: 317569, 624806    
Attachments: thrift-0.2.0.ebuild
thrift-0.2.0.ebuild
thrift-0.2.0.ebuild
Fixes errant perl file, and allows compiline with -java
Thrift 0.5 ebuild
thrift-0.5.0.ebuild with PHP fixes
thrift-0.7.0.ebuild

Description Priit Laes (IRC: plaes) 2010-03-14 18:43:50 UTC
Thrift is a software framework for scalable cross-language services development. It combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml.
Comment 1 Priit Laes (IRC: plaes) 2010-03-14 18:45:31 UTC
Created attachment 223541 [details]
thrift-0.2.0.ebuild

WIP ebuild, most of the stuff works except USE="java" :S
Comment 2 Serkan Kaba (RETIRED) gentoo-dev 2010-03-14 20:38:09 UTC
I'll help with java support
Comment 3 Priit Laes (IRC: plaes) 2010-03-14 21:24:38 UTC
Created attachment 223549 [details]
thrift-0.2.0.ebuild

Ebuild updated to use proper python packaging.
Comment 4 Priit Laes (IRC: plaes) 2010-03-15 23:04:11 UTC
Created attachment 223819 [details]
thrift-0.2.0.ebuild

Now comes with proper java support, but unfortunately some tests fail.
Comment 5 Luca Barbato gentoo-dev 2010-04-09 09:51:25 UTC
I'd consider to have it as meta-ebuild + split. thrift per se is a bunch of different implementation lumped in a single package...
Comment 6 Luca Barbato gentoo-dev 2010-04-12 08:40:32 UTC
btw the perl module installs a pod that collides with nginx (both are faulty I think)
Comment 7 Priit Laes (IRC: plaes) 2010-04-12 08:50:06 UTC
(In reply to comment #6)
> btw the perl module installs a pod that collides with nginx (both are faulty I
> think)
> 

Hrm.. I don't really care about this ebuild anymore :S

I first needed it because I wanted to try out Cassandra but I ran into lots of trouble when trying to create ebuilds for other deps so eventually I just gave up...
Comment 8 Mina Naguib 2010-04-28 00:43:45 UTC
Created attachment 229457 [details]
Fixes errant perl file, and allows compiline with -java

Attached is an updated ebuild which addresses:

 * The errant perllocal.pod file
 * Failure to compile unless use flag "-java"
Comment 9 Alistair Bush (RETIRED) gentoo-dev 2010-04-28 11:25:32 UTC
FYI. There is now an ebuild for thift java's java-experimental overlay.  It is very ruff,  but believe it is an improvement on the attachments above.
Comment 10 Mina Naguib 2010-04-28 15:10:30 UTC
(In reply to comment #9)
> FYI. There is now an ebuild for thift java's java-experimental overlay.  It is
> very ruff,  but believe it is an improvement on the attachments above.

What about the non-java folks ? For example I need thrift mostly for it's C++ interface (consumed by libcassandra - see #317569)

If the java ebuild handles only the java interface, should we go the route of language-specific ebuilds ? (thrift-base, thrift-perl, thrift-ruby, thrift-cxx, thrift-java, etc..) ?

I prefer seeing this ebuild improved, and continue using USE flags in a single ebuild for all of thrift.
Comment 11 Alistair Bush (RETIRED) gentoo-dev 2010-04-29 08:52:37 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > FYI. There is now an ebuild for thift java's java-experimental overlay.  It is
> > very ruff,  but believe it is an improvement on the attachments above.
> 
> What about the non-java folks ? For example I need thrift mostly for it's C++
> interface (consumed by libcassandra - see #317569)
> 

My hope is to get thrift into the tree sooner rather than later,  for all languages it supports.  But I am doing this specificially because thrift is a dep of a java package I want to support.  Therefore i put it into the java-experimental overlay (note that isn't a "public" layman overlay).  If someone were to put it into sunrise then that would be fine by me.

> 
> I prefer seeing this ebuild improved, and continue using USE flags in a single
> ebuild for all of thrift.
> 

So would I.
Comment 12 Pavel Denisov 2010-10-28 18:30:14 UTC
Created attachment 252399 [details]
Thrift 0.5 ebuild

Bumped to 0.5.0.
Added: some perl stuff, docs, vim-syntax.
I've tested build with USE="perl python -java -php", but haven't run it yet.
Builds OK with Thrift 0.6-dev from SVN too but requires additional run of bootstrap.sh in src_configure()
Comment 13 Tommie 2010-11-14 15:25:04 UTC
Created attachment 254321 [details]
thrift-0.5.0.ebuild with PHP fixes

Add dev-lang/php common dependency when the "php" USE flag is set.
Add --with-php_extension support, dependent on the "php" USE flag.
Comment 14 OKUMURA N. Shin-ya 2011-09-11 14:20:36 UTC
Created attachment 286129 [details]
thrift-0.7.0.ebuild

thrift-0.7.0.ebuild without slf4j-simple
Comment 15 Wiehann Matthysen 2011-11-15 15:02:49 UTC
Hi there,

When emerging thrift, using this ebuild, I get a lot of errors of the form:

...
...
[artifact:dependencies] [WARNING] Overriding profile: 'maven-ant-tasks-repo-profile' (source: pom) with new instance from source: pom
[artifact:dependencies] Downloading: org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.pom from repository central at http://repo1.maven.org/maven2
ACCESS DENIED  mkdir:        /root/.m2/repository
ACCESS DENIED  mkdir:        /root/.m2/repository
[artifact:dependencies] [WARNING] Unable to get resource 'org.slf4j:slf4j-api:pom:1.5.8' from repository central (http://repo1.maven.org/maven2): Specified destination directory cannot be created: /root/.m2/repository/org/slf4j/slf4j-api/1.5.8
[artifact:dependencies] Downloading: commons-lang/commons-lang/2.5/commons-lang-2.5.pom from repository central at http://repo1.maven.org/maven2
ACCESS DENIED  mkdir:        /root/.m2/repository
ACCESS DENIED  mkdir:        /root/.m2/repository
[artifact:dependencies] [WARNING] Unable to get resource 'commons-lang:commons-lang:pom:2.5' from repository central (http://repo1.maven.org/maven2): Specified destination directory cannot be created: /root/.m2/repository/commons-lang/commons-lang/2.5
[artifact:dependencies] Downloading: javax/servlet/servlet-api/2.5/servlet-api-2.5.pom from repository central at http://repo1.maven.org/maven2
ACCESS DENIED  mkdir:        /root/.m2/repository
ACCESS DENIED  mkdir:        /root/.m2/repository
[artifact:dependencies] [WARNING] Unable to get resource 'javax.servlet:servlet-api:pom:2.5' from repository central (http://repo1.maven.org/maven2): Specified destination directory cannot be created: /root/.m2/repository/javax/servlet/servlet-api/2.5
...
...

It seems as though the maven-ant task (that builds the java part) is trying to create a .m2 folder in the root directory, which it can't since it is sandboxed to /var/tmp/portage/dev-libs/thrift-0.7.0/

Is there any way around this issue?
Comment 16 Fedja Beader 2017-07-12 20:45:50 UTC
Bump,

Apache Thrift is required to get the control port of GNU Radio working. I have an ebuild for 0.10.0 but it is nowhere near the completeness of the attached, so I will abstain from cluttering attachments.
Comment 17 Vitaly Zdanevich 2019-12-30 15:39:33 UTC
This issue must be DONE because thrift ebuild already exists in the Gentoo tree https://packages.gentoo.org/packages/dev-python/thrift ?
Comment 18 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-12-23 17:43:17 UTC
(In reply to Vitaly Zdanevich from comment #17)
> This issue must be DONE because thrift ebuild already exists in the Gentoo
> tree https://packages.gentoo.org/packages/dev-python/thrift ?

Yep, had dev-python/thrift in tree for a while.