Author Topic: CodePacks Plugin  (Read 7136 times)

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
CodePacks Plugin
« on: January 13, 2008, 12:07:17 am »
Hi to all,

I was thinking of improving the devpacks plugin, actually implement a new one. The plugin would be cross plataform.

Example:

Listbox->Plataforms: Windows, Linux, Mac(may be)
and another listbox that display the version or distribution, For example if linux: Fedora,Suse,Ubuntu. If windows: Windows 95/98, windows2000/xp, vista. This information would be stored in a plataforms.xml file for download as the list of categories and packages available.

To help cross compiling the programmer, if on linux, will also have the ability to download windows packages to a special directory, same for windows

Another ability would be to select the packages by compiler, the user can select libraries that are compatible with his compiler.

The file format would be zip instead of gzip since it's available on wxWidgets (7-zip would be great, better compression algorithms).

The cbpack will be divided in 3 parts (may be more?), one for necessary includes (or just add this includes also with the other packs making only 2) and other 2 packs, one for dynamic libraries and other for static ones. So the user could browse between them. The documentation would be on a separate download with an option to be added to the help plug in list. There should be a configuration file since the plugin should be able to configure the current project with the library that the user desires, for example, needed defines.

Also develop a small php community where users can upload a cbpack. Since codeblocks is becoming more popular every day I think that users will be happy to contribute cbpacks. And maintain some packages that we thing that are of generic use, multiplataform and that every one could need, like tinyxml or wxWidgets. So instead of using devpaks.org create a codeblocks one.

The idea of adding linux as a supported plataform is dumb but what can I loose  :D just wanted to improve the ability of RAD on both plataforms as Java and .Net does :), where many other c++ IDE's fail. Many distributions like fedora and ubuntu bring software repositories with libraries and sources, but not categorized like dev packs does.

Maybe I have ommited other details that I would like to implement, but that's part of the fun :D.

So code blocks developers, I just want to know if this is a good idea to start working on, also suggestions are very welcome!
« Last Edit: January 13, 2008, 12:40:09 am by JGM »

Offline EnterTheNameHere

  • Multiple posting newcomer
  • *
  • Posts: 19
Re: CodePacks Plugin
« Reply #1 on: January 13, 2008, 07:06:02 am »
To help cross compiling the programmer, if on linux, will also have the ability to download windows packages to a special directory, same for windows

Or every platform could have it's own directory, for example "TestLib" directories [..]/TestLib/Win or Linux or Mac, and desired platform release could be downloaded to this directory.
( directory structure is only an example.. )

The cbpack will be divided in 3 parts (may be more?), one for necessary includes [...]
You mean headers as includes or other required packages for successful compile of the lib inside the package?

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: CodePacks Plugin
« Reply #2 on: January 13, 2008, 04:17:43 pm »
You mean headers as includes or other required packages for successful compile of the lib inside the package?

Yep, the headers on a package and the static or dynamic files on another package.

Offline EnterTheNameHere

  • Multiple posting newcomer
  • *
  • Posts: 19
Re: CodePacks Plugin
« Reply #3 on: January 13, 2008, 06:18:49 pm »
And another dumb question ahead(:
You mean a static or dynamic files as a binaries, or a source code? ( If You mean source code then Ithought that dynamic or static build is more dependent on the compiling options than different source codes. Or You mean distibuting headers and compiled files but then what about source code( also distribute with headers? ), and what about libs that doesn't distribute binaries, I'll have to compile them myself as a package creator? )

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: CodePacks Plugin
« Reply #4 on: January 13, 2008, 06:55:37 pm »
And another dumb question ahead(:
You mean a static or dynamic files as a binaries, or a source code? ( If You mean source code then Ithought that dynamic or static build is more dependent on the compiling options than different source codes. Or You mean distibuting headers and compiled files but then what about source code( also distribute with headers? ), and what about libs that doesn't distribute binaries, I'll have to compile them myself as a package creator? )

Well Distribute only the headers (.h files), not source code (.cpp files). And yes the static and dynamic would be the binary files to link with the compiler, then only declarations (.h files)  are needed, with the neccesary configurations to add into the compiler options if applicable.

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: CodePacks Plugin
« Reply #5 on: January 13, 2008, 10:55:55 pm »
Well, since none of the codeblocks developer has said anything about this then I will start the analysis to develop the plugin.

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: CodePacks Plugin
« Reply #6 on: January 17, 2008, 01:16:34 am »
The power went down at the job, so without computer took a paper and pencil and here is what i got for a respository:

examplerepo.com/therepo

files inside "therepo":

repository.xml
==Begin Content==
<repository>
  <info>
    <name />
    <maintainer />
    <description />
    <website />
    <email />
  </info>

  <available_platforms>
    <platform name="string" distribution_based="yes,no" distribution="string" version="string" id="string" directory_name="string" />
  </available_platforms>

  <available_compilers>
    <compiler name="string" id="string" version="string" platform_id="string" dir_name="string" />
  </available_compilers>
</repository>
==end Content==

catalog.xml
==Begin Content==
<libraries>
  <library name="string" platform_id="string" version="string" compiler_id="string" static="yes,no" dynamic="yes,no" />
</libraries>
==End Content==

Folders:
  include
  docs
  plataform/plataform_available/libraries

lib file name:
name-version-staticORdynamic-compilerID-plataformID.ext

doc file name
name-version-doc.ext

include pack name
name-version-includes.ext

Well that's just a starting that popped on my head, maybe i could copy the synaptic way of doing it. Any suggestions or help welcome  :wink:
« Last Edit: January 17, 2008, 06:24:58 pm by JGM »

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: CodePacks Plugin
« Reply #7 on: January 17, 2008, 03:12:50 am »
forgot the categories, it should be something like:

catalog.xml
==Begin Content==
<libraries>
  <category_one>
    <library name="string" platform_id="string" version="string" compiler_id="string" static="yes,no" dynamic="yes,no" />
  </category_one>
  <category_two>
    <library name="string" platform_id="string" version="string" compiler_id="string" static="yes,no" dynamic="yes,no" />
  </category_two>
</libraries>
==End Content==

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: CodePacks Plugin
« Reply #8 on: January 17, 2008, 01:16:05 pm »
Well, since none of the codeblocks developer has said anything about this then I will start the analysis to develop the plugin.
This is possibly because it's not very likely I (we) would be the main stakeholders and users. I for myself have never used the DevPak plugin as I don't like the DevPak structure and up-to-dateness and would like to have libs "installed" my way. So I do it manually.
But please: If such a plugin would make it easier to install a (DevPak) library then the current approach (which I don't really know) - that's fine with me! Such a plugin would definitely be a nice and welcome contribution. Go ahead then! :-)
With regards, Morten.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: CodePacks Plugin
« Reply #9 on: January 19, 2008, 01:10:39 am »
This is possibly because it's not very likely I (we) would be the main stakeholders and users.

I'm going to do it like ubuntu repos so anyone can create a library repository, and the user just add it to library sources, so maybe wxwidgets.org mantainers could create an official codepacks repo that will be displayed on the list as GUI.

I for myself have never used the DevPak plugin as I don't like the DevPak structure and up-to-dateness and would like to have libs "installed" my way. So I do it manually.

How do you describe does deficiencies?

But please: If such a plugin would make it easier to install a (DevPak) library then the current approach (which I don't really know)

That's what I want to accomplish, I remember when I didn't even know how to compile a dll, I just kept hitting my head with the wall, like what defines I need to compile on windows mode or linux? how to compile with that compiler? So for a new programmer it would be a nice feature and for people that want things fast. Also it is a nice feature to let know the programmers all the open source tools available out there. So I want it to be as much user friendly as possible, as configure the project automatically for compiling with the selected library, checking for updates, searching... Like ubuntu or debian synaptics does, but focused on programming libraries, and well categorized, also keeping the feature of multiple compilers, to not attach the user to a specific compiler or platform.

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: CodePacks Plugin
« Reply #10 on: January 26, 2008, 03:18:38 pm »
Hi, just opened a berlios project for CodePacks,

https://developer.berlios.de/projects/codepacks/

Still i have to upload what I have done for now to svn, when I got it there I will report it here. :)