What packages are required for KDE Plasma widget development on Kubuntu? - kde-plasma

I'd like to develop a KDE Plasma widget, but the developer guide tells me to fetch "KDE Trunk" to get started. I have three problems with that:
I'd rather not get the whole source code of KDE just to develop a simple widget.
I want to develop a widget for the current version (10.10) of Kubuntu. Guess a tag would do, but what about Kubuntu's patches?
KDE seems to be in the middle of moving from Subversion to Git, so "KDE Trunk" (i.e. SVN) doesn't seem to be sufficient, and mixing Git and Subversion repositories doesn't sound good.
I've spotted quite a few KDE packages ending in -dev, so I guess some of those will be all I need.
Which packages in particular do I need to install in order to compile a Plasma widget?

It's described here:
http://techbase.kde.org/Getting_Started/Build

Related

What is the difference between Lazarus and CodeTyphon

Firstly, I saw some topics about these two but weren't my answer.
I'm looking for a good FPC(Free Pascal Compiler) IDE on GNU/Linux.
There are some IDE's like Lazarus and CodeTyphon. I need suggestion to choose one of those.
I've tried Lazarus once but all windows was separated. It looks messy and not interesting.
I would like to know what are the distinguishes between these two ?
I would like to know advantages / disadvantages each of those. Thank you
CodeTyphon is a distro of Lazarus, like Ubuntu and Debian are distros of Linux.
CodeTyphon comes with a large package of components and plugins, that otherwise you would have to google and download and install.
CodeTyphon have their own idea what are stable versions and what are not stable yet for both of FPC (compiler) and Lazarus(IDE). Whether their assessment is better or worse than upstream's Lazarus Team's, I don't know.
What about one-single-window plugin, it is work-in-progress and it doesn't seems to me it is ready for production use, no matter would you get it as part of CT or download and add it to vanilla Lazarus. However maybe it better works on Linux than on Windows, I don't know.
There were however issues with code legality in CT grande bundle. It is widely believed that Orca (if I remember the name) violates copyrights of glScene/vgScene, which also happened in early Delphi FMX releases but was fixed by EMBA later. There also were disputes in FPC forums/wiki about CodeTyphon pirating some open-source components. See answer by Peter Dunne below.
Your question is akin to asking the difference between Linux and Ubuntu. Lazarus is an IDE/component library, based on FreePascal (FPC). And CodeTyphon is a distribution of Lazarus and FPC. So CodeTyphon is just one way to install a functioning installation of Lazarus.
Lazarus uses the same floating window design as older versions of Delphi. Installing from CodeTyphon won't change that.
Myself and several friends highlighted several licensing issues with codetyphon
most of which could have been corrected by sourcing the included files from known good source and ensuring the correct license headers were included
PirateLogic refused to correct the issues which means they are using code in direct violation of the original license terms
The fact its open source code does not change the fact they are pirating the code by not including the correct license even after the issue was highlighted
I also found several instances of copyright code included which appears to be proprietary and not FOSS at all
They also changed the path & file names on some libraries so that source is no longer compatible with standard lazarus/component installs
This in my view is totally illogical
These 2 factors heavily undermine what was potentially the best FPC/Lazarus distro
Hardly professional
Lazarus can be a daunting installation process due to it's nature as a cross compiling environment. You don't just download an installer and click ok. A typical "installation" is actually a bootstrap FPC compiler doing a three-pass compilation of an "install". There are plenty of good installation scripts/methods from the official Lazarus/FPC team and in the community for a . But, understandably, the installation process is a skill in itself.
CodeTyphon is a a different/separate branch of an installer system, which is more of a utility suite/tools/third party code compilation library. If you want the simplest installation experience go with CodeTyphon. It has the nice graphical front end for managing the compiler. You can conveniently do the fancy stuff like build "cross-compilers" for almost every "target" operating system out there. It also is jam packed with hundreds of the best components/libraries pre-installed. It is a very actively maintained project and very professional. A whole lot of work is done for you.
Even if you want to be learn the low level compiler capabilities, CodeTyphon is a good place to start. It is written in FCP/Lazarus and is open source. Simply study it as "working demo app" and the other info on the compiler details. If you crash it, at least you don't have to learn to climb the hill. You get to get to start from the top and lose control on the way down. Start from scratch (and a three hour reinstallation) Hahaha
Lazarus also has a package "AnchorDock" which allows you to dock all the windows into one. Either install the anchor dock design package after installing Lazarus, or install Lazarus using the script at getlazarus.org which will do it for you.

Online xcode project (Working together)

I was wondering if Xcode has any possibilities to work on an xcode project from a server.
Like working together on the same xcode project with two people? Kinda like dreamweaver has the possibility to connect to ftp... Would come quite handy.
Didn't found anything on this on stackoverflow or google...
Thnx!
It has SCM support (CVS, Subversion and Perforce). This is the only way to work on the same project I guess.
I work with remote developers and we use either git or svn. Xcode does integrate with repositories but it's not necessary as you can achieve the same thing from the command line.
Using source control will allow multiple developers to work on a single project together. Both git and svn will merge files.
No, Apple has not provided this in the Xcode software. Nor is there any rumors on implementing this, it would be a nice feature but since Apple also doesn't allow plugins for Xcode we have to wait for Apple to add this ability to the software. This would be a really neat feature, but it could be a long time before we see this.
You can use GIT (http://git-scm.com/) and use a remote repository, like dropbox o github.
On XCODE4 you can use git, with out any additional plugin

How do you distribute the IDE and it's configuration within your Team?

I'm wondering how Software Development Team distribute their Standard IDE(s)?
E.g. developing with Eclipse, custom Code formatter, svn Resository, Copyright Header..
At the moment my Team has a standard zip File which is then distributed withhin the developers.
Problem:
If one file, a Plugin or the IDE itself changes, e.g. new Coding Guidlines, Upgrade Eclipse 3.5.1 the whole distribution has to be done again. Every developer needs to unzip the bundel again. Imagine your working with different Workspaces (Jetty, different Tomcamt Versions, WTP) due to Project History That doesn't scale
I know that there are some related Articels
A new version of Eclipse just came out. Is there anything I can do to avoid having to manually hunt down my plugins again?
Manage Your Eclipse Install With A Local Git Repository
And some comercial Programs.
Eclipse also has a new Update-Installer Approach
But I don't see the Killer App. How do your team solve this? Is there a best practice?
I guess best would be a Program letting you choose your current Project and then downloads the configured IDE from the Server and leting you know if Project Config Files are Updated
For eclipse look at Buckminster it targets exactly your target I suppose, didn't use it personally through.
At my previous company they wrote a custom update agent that pulled from a centrally configured server which was updated by the team leaders. It worked well, until people wanted to install their own plugins.
Basically, a developer wanted a plugin, fought in futility to get it included in the default (managed) repo, installed it himself, then updates broke on his machine when the team lead had a sudden stroke of common sense and included it.
They never did come up with a 'good' way to manage it. But, at least they didn't put us all on terminal servers with thin clients.

How best to deploy my XUL app?

I have a xul app that I think would be useful, and I want to deploy it. The target platform is Linux; I believe it will work on Windows/OSX as well but haven't tested. What is the best way to deploy this app?
Is using xpi packages and requiring the user to install xulrunner separately the way to go?
If I bundle xulrunner, should I keep it local in my program's directory or should I install it in /usr/bin or wherever?
I realize this is two questions, but I think they're related...
Thanks,
Nathan
I deployed an XULRunner based application during the 1.8 to 1.9 transition on Windows. It used XUL, and had some DLL based XPCOM components. The best way for making sure that you have something which will work 'out the box' is to bundle everything - the runtime and the application - into one install. There might be some duplication, but it's probably not worth the effort of sorting it out given the number of people who will already have XULRunner installed on their machine. It certainly wasn't for us (we were the first XULRunner app on BOWMAN kit). But you can also provide the xpi as a courtesy for advanced users, if you feel like it.
Bundle it - that's the recommended method from Mozilla (for now) - and you can make it more user-friendly.
Perhaps someday there will be a great tie with Firefox's xulrunner executable, and you can piggy back off of it. But that day is not today.

Setting up an Erlang development environment

I'm interested in looking at Erlang and want to follow the path of least resistance in getting up and running.
At present, I'm planning on installing Erlang R12B-3 and Erlide (Eclipse plugin). This is largely a Google-result-based decision. Initially this will be on a Windows XP system, though I am likely to reproduce the environment on Ubuntu shortly after.
Is there a significantly better choice? Even if it is tied to one platform.
Please share your experiences.
I highly recommend the Erlang mode shipped with the standard Erlang distribution. I've put together a "works out of the box" Emacs configuration which includes:
Syntax highlighting & context-sensitive indentation
Dynamic compilation with on-the-fly error highlighting
Integrated Erlang shell
And more....
You can browse my GitHub repo here:
http://github.com/kevsmith/hl-emacs
I've only done a small bit of coding in Erlang but I found the most useful method was just to write the code in a text editor and have a terminal open ready to build my code as I need to (this was in Linux, but a similar idea would work in Windows, I'm sure).
Your question didn't mention it, but if you're looking for a good book on Erlang, try this one by O'Reilly.
You could also try NetBeans there's a very nice Erlang module available: ErlyBird
Install Erlang: sudo aptitude install erlang
Install a recent JDK: sudo aptitute install sun-java6-jdk
Download and install (the smallest) NetBeans edition (e.g. the PHP one): www.netbeans.org/downloads
download the erlang module ErlyBird: sourceforge.net/projects/erlybird
manually install the modules via NetBeans
ErlyBird features:
syntax checking
syntax highlighting
auto-completion
pretty formatter
occurrences mark
brace matching
indentation
code folding
function navigator
go to declaration
project management
Erlang shell console
I'm using Erlang in a few production systems personally as well at the office. For client side testing, documentation and development I use a MacBook Pro as the OS/platform and TextMate with the Erlang bundle as an editor.
For sever side development and deployment we use RHEL 4.x/5.x in production and for editing I use VIM. Personally, I've got 4 machines (slices on slicehost.com) running Debian using Erlang for a few websites and jobs.
I try to go with the smallest 'engineering environment possible', usually the one with the fewest dependencies from apt or yum.
To add to the Emacs suggestions, I would also recommend that you look at the advantages of distel when running the Emacs erlang-mode.
I've seen answers suggesting TextMate here, so I wanted to add another good Mac OSX tool:
ErlangXCode plugin to XCode.
I've been using this since I started with Erlang and really do like it.
The download link on his blog is broken, here's the real download:
http://github.com/JonGretar/erlangxcode/tree/master
You could also try a virtual server on demand service like this one from CohesiveFT
Select the components you want (e.g. erlangrb12 + yaws + MySQL + erlyweb) and it will build a vm image for you to download or to put onto ec2.
Rolling you own locally is quite straightforward too if you follow the instructions in the pragmatic programmers book Programming Erlang
Just a quick note:
The Erlang "compiling" process described in Ciaran's post (described for Ubuntu 6.10 btw) can be easily skipped using apt command in any Debian based distro:
apt-get install erlang
Do not forget to install these packages if you see it fit:
erlang-doc-html - Erlang HTML document pages
erlang-examples - Some application examples
erlang-manpages - Erlang MAN pages
erlang-mode - editing mode for Emacs
Good Luck!
I like Justin's suggestion, but I'll add to it: this solution is great for learning a language. If you don't rely on something like code-completion, then it forces you to learn the language better. (If you are working with something with a huge API, like Java or Cocoa, then you'll want the code completion, however!)
It's also language-agnostic, and in the case of an interpreted language, particularly one that has an interactive interpreter, you'll probably spend just as much time in the shell/interpreter typing in commands. Even in a large-ish python project, I still work in an editor and 4 or 5 terminal windows.
So, the trick is more about getting an editor which works for you. I'm not about to suggest one, as that's heading towards evangelism!
I just use Scite. Type something and press f5 to see the results.
Just wrote a guide on this on my blog, heres the abridged version:
Part 1: Download what needs to be downloaded.
Download and install the Erlang run-time.
Download and install TextPad.
Download a .syn file for Erlang and place it in the system folder of TextPad. For me, this folder was C:\Program Files\TextPad 5\system. I'm not quite sure who did this syn file (the site is in another language), but they did a good enough job.
Part 2: Set up syntax highlighting.
Open up TextPad. Ensure no files are opened. Go to the 'Configure' menu, and select 'Preferences'. In the preferences window, click 'Document Classes'. There should be a list of currently recognized languages. Click the 'New' button (it is right under the list of languages), and type 'Erlang'. Click apply.
Click the '+' button next to 'Document Classes'. This should expand the list, and Erlang should now be on it. Click Erlang. You should see a list of file extensions associated with Erlang, click 'New', and type '*.erl'.
Now click the '+' button next to 'Erlang' on the left. This should expand a list of several more menus. Click on 'Syntax'. Click the drop down menu and select erlang.syn. If erlang.syn is not there, then the .syn file was not properly placed.
Feel free to edit some other syntax options to customize TextPad to your liking.
Part 3: Compiling from TextPad.
Note: as of 12/05/08 there are severe problems with compiling in textpad. The Erlang shell somehow ignores new compilation when it is done in text pad. This is only useful for checking for errors, when you want to actually run the code, compile it in the Erlang Shell.
In the preferences menu again, click 'tools' on the left.
Click the 'Add' button and select 'Program...'. Navigate to the erl5.6.5\erts-5.6.5\bin\ folder and select erlc.exe. Select and single click the new entry in the list to rename it. Click 'Apply'.
Now click the '+' button next to Tools on the left. Select erlc, or whatever you have named the new tool (I named mine 'Compile Erlang'). The parameters field needs to read '$File', and the initial folder field should read '$FileDir'.
I have had good success with Erlide.
If you use Vim I recommend you Vimerl (http://github.com/jimenezrick/vimerl):
Features
Syntax highlighting
Code indenting
Code folding
Code omni completion
Syntax checking with quickfix support
Code skeletons for the OTP behaviours
Uses configuration from Rebar
Pathogen compatible (http://github.com/tpope/vim-pathogen)
From what i've tried (and are still up to do), a good addition to an erlang dev. environment would be a virtual machine running ubuntu/yaws/erlang. Perhaps Erlyweb (erlang/yaws framework) would be nice checking out too.
Ciaran's posts (this would be the first of his "series") about his erlang install is nice, as he details the steps in setting up the server (and other stuff like xmpp with jabberlang).
Since you're switching to Ubuntu eventually anyways, I highly recommend using erlang-mode for emacs (which comes bundled with the Erlang distribution). It is officially what all the core developers use and what many other developers use because of the many features it offers you.
Installing the Erlang distribution itself should be simple :)