Create a .bep file for Haikuporter to build latest version of tinyxml2 Haiku
Status: Closed Time to complete: 72 hrs Mentors: Barrett, Richie Nyhus Tags: C, C++, BEP FILES, COMPILE, PORTING

 

This task requires creating a .bep file to allow Haikuporter to build from source code the listed package.  You will need a working installation of Haiku, this could be on real hardware or in a VM, and haikuporter which can be installed by following the install instructions at HaikuPorts

Some knowledge of C, C++ may or may not be required in order to complete this task.  Knowledge of the GNU autotools and/or cmake may also be helpful.  The package may or may not require some patching to get it to work on Haiku.  For these cases don't be afraid to ask for help.  Many compile issues can be figured out by reading through the various wiki pages at HaikuPorts.  Also google (or other web search engine) may be of help in finding solutions to build issues that you may run into, irc channel #haiku on freenode might also be of help.  Be sure to follow the correct format for creating your .bep file, including the license and copyright entries.

Here's a previous attempt at creating a .bep file for tinyxml2

http://ports.haiku-files.org/ticket/254

For this task we would like to see a .bep for the latest version of tinyxml.

Uploaded Work
File name/URL File size Date submitted
tinyxml-2.6.2.bep 499 bytes December 14 2012 17:05 UTC
tinyxml-2.6.2.bep 870 bytes December 15 2012 15:43 UTC
Comments
Piotr on December 14 2012 14:48 UTC Task Claimed

I would like to work on this task.

mmu_man on December 14 2012 14:49 UTC Task Assigned

This task has been assigned to Piotr. You have 72 hours to complete this task, good luck!

Piotr on December 14 2012 17:06 UTC Ready for review

The work on this task is ready to be reviewed.

Scott McCreary on December 15 2012 08:05 UTC hmmm

Seems this doesn't build to a library...  it just builds an example program...  but a little searching around and I see that there is a cmake file which will take the 4 cpp files and the two headers and make a shared libtinyxml.so for us:


http://code.google.com/p/libtinyxml/


So extend your bep's BUILD section to get the source from where it's already getting it, but then get the CMakeLists.txt from the above location using:


svn co http://libtinyxml.googlecode.com/svn/trunk/CMakeLists.txt


then use cmake to build it:


cmake .


In your INSTALL section make sure it is building ok to a DESTDIR, that is when you build using


haikuporter -i tinyxml


is it putting the files into the zip file like we'd expect them to be?  You might have to add some cp commands to get them in the right places.  If so be sure to use ${DESTDIR}/`finddir ....` in your destination pathnames. 


It'd also be nice to have the docs included, See if you can figure out how to put the files in "docs" into ${DESTDIR}/B_COMMON_DOCUMENTATION/docs/tinyxml/


So the resulting zip file should contain something like this:


common/lib/libtinyxml??.so??


common/include/???.h  <- 2 files


common/develop/tinyxml ???.cpp <- 4 files


common/documentation/docs/tinyxml/ <- everything that was in docs


If you need help, just ask.


 


 


 

Scott McCreary on December 15 2012 09:30 UTC Task Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Piotr on December 15 2012 15:43 UTC Ready for review

The work on this task is ready to be reviewed.

Piotr on December 15 2012 15:47 UTC Thanks

It is ok now?

Scott McCreary on December 15 2012 19:40 UTC done

I only made a slight change and that was to put the .cpp files in develop/tinyxml.  Nice job on this one, turned out just how I pictured it could.


On to the next task.  Do a


haikuporter -g 


to update the ports tree to see the committed version, this will also pull down all the recent updates that have been happening recently.


 

Scott McCreary on December 15 2012 19:40 UTC Task Closed

Congratulations, this task has been completed successfully.