summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-06-10 17:00:28 +0000
committerroot <root@rshg047.dnsready.net>2011-06-10 17:00:28 +0000
commit622de23541903f9b6f85fe0a96d61de08372d23b (patch)
treeef4a902b4ba6800b34c6871399beaec7d2963990 /community
parent8634a064b17334eb58699897220aeed2fc9a54db (diff)
Fri Jun 10 17:00:28 UTC 2011
Diffstat (limited to 'community')
-rw-r--r--community/chntpw/PKGBUILD47
-rw-r--r--community/john/PKGBUILD6
-rw-r--r--community/libfm/0001-filename-with-spaces-not-supported.patch345
-rw-r--r--community/libfm/PKGBUILD34
-rw-r--r--community/libfm/libfm.install15
-rw-r--r--community/luxrays/PKGBUILD22
-rw-r--r--community/luxrender/PKGBUILD26
-rw-r--r--community/lxde-common/PKGBUILD37
-rw-r--r--community/lxde-common/lxde-common-arch.patch186
-rw-r--r--community/lxde-common/lxde-common-invalid-distfile.patch10
-rw-r--r--community/lxde-common/lxde-common.install13
-rw-r--r--community/lxdm/PKGBUILD49
-rw-r--r--community/lxdm/Xsession.patch14
-rw-r--r--community/lxdm/lxdm-daemon36
-rw-r--r--community/lxdm/lxdm-pam.patch8
-rw-r--r--community/lxdm/lxdm.install59
-rw-r--r--community/lxdm/lxdm.patch26
-rw-r--r--community/lxmenu-data/PKGBUILD25
-rw-r--r--community/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch43
-rw-r--r--community/lxpanel/PKGBUILD30
-rw-r--r--community/lxsession-lite/PKGBUILD29
-rw-r--r--community/menu-cache/PKGBUILD29
-rw-r--r--community/obconf/PKGBUILD35
-rw-r--r--community/obconf/obconf.install12
-rw-r--r--community/openbox/PKGBUILD47
-rw-r--r--community/openbox/openbox.install4
-rw-r--r--community/openbox/which-2.20.patch53
-rw-r--r--community/pcmanfm/PKGBUILD30
-rw-r--r--community/pcmanfm/pcmanfm.install14
-rw-r--r--community/pcmanfm/revert-new-IPC.patch432
-rw-r--r--community/qtcreator/PKGBUILD12
-rw-r--r--community/quvi/PKGBUILD6
-rw-r--r--community/skrooge/PKGBUILD8
-rw-r--r--community/wvdial/PKGBUILD30
-rw-r--r--community/wvstreams/PKGBUILD40
-rw-r--r--community/xbindkeys/PKGBUILD26
-rw-r--r--community/xplc/PKGBUILD32
37 files changed, 1817 insertions, 53 deletions
diff --git a/community/chntpw/PKGBUILD b/community/chntpw/PKGBUILD
index 78c094e4a..bbbc62e13 100644
--- a/community/chntpw/PKGBUILD
+++ b/community/chntpw/PKGBUILD
@@ -1,29 +1,34 @@
-# $Id: PKGBUILD 91796 2010-09-28 06:24:38Z tpowa $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 48999 2011-06-09 15:13:27Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
pkgname=chntpw
-pkgver=100627
+pkgver=110511
pkgrel=1
-pkgdesc="The Offline NT Password Editor - enables you to view some information and change user passwords in a Windows NT SAM userdatabase file"
+pkgdesc='Offline NT Password Editor - reset passwords in a Windows NT SAM userdatabase file'
arch=('i686' 'x86_64')
-url="http://pogostick.net/~pnh/ntpasswd/"
+url='http://pogostick.net/~pnh/ntpasswd/'
license=('GPL' 'LGPL')
makedepends=('openssl')
-source=(http://pogostick.net/~pnh/ntpasswd/${pkgname}-source-${pkgver}.zip)
-md5sums=('8b046c2073f27eed728e18635ba72dd4')
-sha1sums=('4b2a7e7a406ca9ecb68c9ab4fb6012864828806d')
+source=("http://pogostick.net/~pnh/ntpasswd/${pkgname}-source-${pkgver}.zip")
+md5sums=('a3fb358d1adec589cd6bc8dedf68896c')
build() {
- if [ "$CARCH" = "x86_64" ]; then
- cd ${srcdir}/${pkgname}-${pkgver}
- sed -i "s|CFLAGS= -DUSEOPENSSL -g -I. -I\$(OSSLINC) -Wall -m32|CFLAGS= -DUSEOPENSSL -g -I. -I\$(OSSLINC) -Wall|" Makefile
- fi
- cd ${srcdir}/${pkgname}-${pkgver}
- make
- # install binaries, don't install static binaries!
- install -Dm755 ${srcdir}/${pkgname}-${pkgver}/${pkgname} ${pkgdir}/usr/bin/${pkgname}
- install -Dm755 ${srcdir}/${pkgname}-${pkgver}/reged ${pkgdir}/usr/bin/reged
- install -Dm755 ${srcdir}/${pkgname}-${pkgver}/cpnt ${pkgdir}/usr/bin/cpnt
- for doc in *.txt; do
- install -Dm644 ${doc} ${pkgdir}/usr/share/doc/${pkgname}/${doc}
- done
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ [ "$CARCH" = "x86_64" ] && sed -i "s|CFLAGS= -DUSEOPENSSL -g -I. -I\$(OSSLINC) -Wall -m32|CFLAGS= -DUSEOPENSSL -g -I. -I\$(OSSLINC) -Wall|" Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # install binaries, don't install static binaries!
+ install -Dm0755 "${srcdir}/${pkgname}-${pkgver}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm0755 "${srcdir}/${pkgname}-${pkgver}/reged" "${pkgdir}/usr/bin/reged"
+ install -Dm0755 "${srcdir}/${pkgname}-${pkgver}/cpnt" "${pkgdir}/usr/bin/cpnt"
+
+ for _f in *.txt; do
+ install -Dm0644 "${_f}" "${pkgdir}/usr/share/doc/${pkgname}/${_f}"
+ done
}
diff --git a/community/john/PKGBUILD b/community/john/PKGBUILD
index c4f02caa8..8830aa59b 100644
--- a/community/john/PKGBUILD
+++ b/community/john/PKGBUILD
@@ -6,8 +6,8 @@
pkgname=john
pkgver=1.7.7
-pkgrel=2
-_jumbover=5
+pkgrel=3
+_jumbover=6
pkgdesc="John The Ripper - A fast password cracker (jumbo-$_jumbover included)"
arch=('i686' 'x86_64')
url="http://www.openwall.com/$pkgname/"
@@ -19,7 +19,7 @@ source=(http://www.openwall.com/$pkgname/g/$pkgname-$pkgver.tar.bz2
ftp://ftp.kfki.hu/pub/packages/security/ssh/ossh/libdes-4.04b.tar.gz
params.h.patch)
md5sums=('be316618de834a58573a21225d4a2674'
- '40efadf002fb68d8287e60654593a531'
+ 'a9b0ca4d9d48480fc44b1986610d471a'
'c8d5c69f86c2eedb485583b0305284a1'
'f69ed632eba8fb9e45847a4b4a323787')
diff --git a/community/libfm/0001-filename-with-spaces-not-supported.patch b/community/libfm/0001-filename-with-spaces-not-supported.patch
new file mode 100644
index 000000000..568f6dc38
--- /dev/null
+++ b/community/libfm/0001-filename-with-spaces-not-supported.patch
@@ -0,0 +1,345 @@
+From 96fa31c757189c7c5f60d4de4c2df236d2cba0ea Mon Sep 17 00:00:00 2001
+From: Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
+Date: Wed, 20 Oct 2010 06:40:51 +0800
+Subject: [PATCH] Fix #3089625 - Filenames with spaces not supported in copy/paste.
+
+---
+ src/base/fm-file-launcher.c | 2 +-
+ src/base/fm-folder.c | 6 +-
+ src/base/fm-path.c | 2 +-
+ src/gtk/fm-folder-view.c | 130 +++++++++++++++++++++---------------------
+ src/gtk/fm-gtk-utils.c | 10 +--
+ src/gtk/fm-path-entry.c | 2 +-
+ 6 files changed, 75 insertions(+), 77 deletions(-)
+
+diff --git a/src/base/fm-file-launcher.c b/src/base/fm-file-launcher.c
+index 3857c33..c356249 100644
+--- a/src/base/fm-file-launcher.c
++++ b/src/base/fm-file-launcher.c
+@@ -91,7 +91,7 @@ gboolean fm_launch_desktop_entry(GAppLaunchContext* ctx, const char* file_or_id,
+ * e.g: If this URL points to the another desktop entry file, and it
+ * points to yet another desktop entry file, this can create a
+ * infinite loop. This is a extremely rare case. */
+- FmPath* path = fm_path_new(url);
++ FmPath* path = fm_path_new_for_uri(url);
+ _uris = g_list_prepend(_uris, path);
+ ret = fm_launch_paths(ctx, _uris, launcher, user_data);
+ g_list_free(_uris);
+diff --git a/src/base/fm-folder.c b/src/base/fm-folder.c
+index ccbb3cc..3474937 100644
+--- a/src/base/fm-folder.c
++++ b/src/base/fm-folder.c
+@@ -334,8 +334,8 @@ static void on_job_finished(FmDirListJob* job, FmFolder* folder)
+
+ static FmJobErrorAction on_job_err(FmDirListJob* job, GError* err, FmJobErrorSeverity severity, FmFolder* folder)
+ {
+- FmJobErrorAction ret;
+- g_signal_emit(folder, signals[ERROR], 0, err, severity, &ret);
++ FmJobErrorAction ret;
++ g_signal_emit(folder, signals[ERROR], 0, err, severity, &ret);
+ return ret;
+ }
+
+@@ -470,7 +470,7 @@ FmFolder* fm_folder_get_for_path(FmPath* path)
+
+ FmFolder* fm_folder_get_for_path_name(const char* path)
+ {
+- FmPath* fm_path = fm_path_new(path);
++ FmPath* fm_path = fm_path_new_for_str(path);
+ FmFolder* folder = fm_folder_get_internal(fm_path, NULL);
+ fm_path_unref(fm_path);
+ return folder;
+diff --git a/src/base/fm-path.c b/src/base/fm-path.c
+index ca62256..8b31de2 100644
+--- a/src/base/fm-path.c
++++ b/src/base/fm-path.c
+@@ -926,7 +926,7 @@ FmPathList* fm_path_list_new_from_uris(const char** uris)
+ FmPathList* pl = fm_path_list_new();
+ for(uri = uris; *uri; ++uri)
+ {
+- FmPath* path = fm_path_new(*uri);
++ FmPath* path = fm_path_new_for_uri(*uri);
+ fm_list_push_tail_noref(pl, path);
+ }
+ return pl;
+diff --git a/src/gtk/fm-folder-view.c b/src/gtk/fm-folder-view.c
+index fab88c0..9943015 100644
+--- a/src/gtk/fm-folder-view.c
++++ b/src/gtk/fm-folder-view.c
+@@ -41,8 +41,8 @@
+
+ enum{
+ CHDIR,
+- LOADED,
+- STATUS,
++ LOADED,
++ STATUS,
+ CLICKED,
+ SEL_CHANGED,
+ SORT_CHANGED,
+@@ -82,7 +82,7 @@ static void fm_folder_view_class_init(FmFolderViewClass *klass)
+ {
+ GObjectClass *g_object_class;
+ GtkWidgetClass *widget_class;
+- FmFolderViewClass *fv_class;
++ FmFolderViewClass *fv_class;
+ g_object_class = G_OBJECT_CLASS(klass);
+ g_object_class->finalize = fm_folder_view_finalize;
+ widget_class = GTK_WIDGET_CLASS(klass);
+@@ -165,19 +165,19 @@ gboolean on_folder_view_focus_in(GtkWidget* widget, GdkEventFocus* evt)
+
+ void on_chdir(FmFolderView* fv, FmPath* dir_path)
+ {
+- GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
+- if(GTK_WIDGET_REALIZED(toplevel))
+- {
+- GdkCursor* cursor = gdk_cursor_new(GDK_WATCH);
+- gdk_window_set_cursor(toplevel->window, cursor);
+- }
++ GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
++ if(GTK_WIDGET_REALIZED(toplevel))
++ {
++ GdkCursor* cursor = gdk_cursor_new(GDK_WATCH);
++ gdk_window_set_cursor(toplevel->window, cursor);
++ }
+ }
+
+ void on_loaded(FmFolderView* fv, FmPath* dir_path)
+ {
+- GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
+- if(GTK_WIDGET_REALIZED(toplevel))
+- gdk_window_set_cursor(toplevel->window, NULL);
++ GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
++ if(GTK_WIDGET_REALIZED(toplevel))
++ gdk_window_set_cursor(toplevel->window, NULL);
+ }
+
+ void on_status(FmFolderView* fv, const char* msg)
+@@ -187,15 +187,15 @@ void on_status(FmFolderView* fv, const char* msg)
+
+ void on_model_loaded(FmFolderModel* model, FmFolderView* fv)
+ {
+- FmFolder* folder = model->dir;
+- char* msg;
+- /* FIXME: prevent direct access to data members */
+- g_signal_emit(fv, signals[LOADED], 0, folder->dir_path);
++ FmFolder* folder = model->dir;
++ char* msg;
++ /* FIXME: prevent direct access to data members */
++ g_signal_emit(fv, signals[LOADED], 0, folder->dir_path);
+
+ /* FIXME: show number of hidden files and available disk spaces. */
+- msg = g_strdup_printf("%d files are listed.", fm_list_get_length(folder->files) );
+- g_signal_emit(fv, signals[STATUS], 0, msg);
+- g_free(msg);
++ msg = g_strdup_printf("%d files are listed.", fm_list_get_length(folder->files) );
++ g_signal_emit(fv, signals[STATUS], 0, msg);
++ g_free(msg);
+ }
+
+ FmJobErrorAction on_folder_err(FmFolder* folder, GError* err, FmJobErrorSeverity severity, FmFolderView* fv)
+@@ -326,8 +326,8 @@ static void fm_folder_view_finalize(GObject *object)
+ if( self->model )
+ g_object_unref(self->model);
+ }
+- g_object_unref(self->dnd_src);
+- g_object_unref(self->dnd_dest);
++ g_object_unref(self->dnd_src);
++ g_object_unref(self->dnd_dest);
+
+ if(self->cwd)
+ fm_path_unref(self->cwd);
+@@ -715,15 +715,15 @@ void fm_folder_view_set_mode(FmFolderView* fv, FmFolderViewMode mode)
+
+ /* FIXME: maybe calling set_icon_size here is a good idea */
+
+- gtk_drag_source_set(fv->view, GDK_BUTTON1_MASK,
+- fm_default_dnd_src_targets, N_FM_DND_SRC_DEFAULT_TARGETS,
+- GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
++ gtk_drag_source_set(fv->view, GDK_BUTTON1_MASK,
++ fm_default_dnd_src_targets, N_FM_DND_SRC_DEFAULT_TARGETS,
++ GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
+ fm_dnd_src_set_widget(fv->dnd_src, fv->view);
+
+- gtk_drag_dest_set(fv->view, 0,
+- fm_default_dnd_dest_targets, N_FM_DND_DEST_DEFAULT_TARGETS,
+- GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
+- fm_dnd_dest_set_widget(fv->dnd_dest, fv->view);
++ gtk_drag_dest_set(fv->view, 0,
++ fm_default_dnd_dest_targets, N_FM_DND_DEST_DEFAULT_TARGETS,
++ GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
++ fm_dnd_dest_set_widget(fv->dnd_dest, fv->view);
+ g_signal_connect_after(fv->view, "drag-motion", G_CALLBACK(on_drag_motion), fv);
+ g_signal_connect(fv->view, "drag-leave", G_CALLBACK(on_drag_leave), fv);
+ g_signal_connect(fv->view, "drag-drop", G_CALLBACK(on_drag_drop), fv);
+@@ -739,9 +739,9 @@ void fm_folder_view_set_mode(FmFolderView* fv, FmFolderViewMode mode)
+ gtk_widget_grab_focus(fv->view);
+ }
+ else
+- {
++ {
+ /* g_debug("same mode"); */
+- }
++ }
+ }
+
+ FmFolderViewMode fm_folder_view_get_mode(FmFolderView* fv)
+@@ -785,7 +785,7 @@ void fm_folder_view_sort(FmFolderView* fv, GtkSortType type, int by)
+ fv->sort_by = by;
+ if(fv->model)
+ gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(fv->model),
+- fv->sort_by, fv->sort_type);
++ fv->sort_by, fv->sort_type);
+ }
+
+ GtkSortType fm_folder_view_get_sort_type(FmFolderView* fv)
+@@ -815,18 +815,18 @@ gboolean fm_folder_view_get_show_hidden(FmFolderView* fv)
+
+ gboolean fm_folder_view_chdir_by_name(FmFolderView* fv, const char* path_str)
+ {
+- gboolean ret;
+- FmPath* path;
++ gboolean ret;
++ FmPath* path;
+
+ if( G_UNLIKELY( !path_str ) )
+ return FALSE;
+
+- path = fm_path_new(path_str);
+- if(!path) /* might be a malformed path */
+- return FALSE;
+- ret = fm_folder_view_chdir(fv, path);
+- fm_path_unref(path);
+- return ret;
++ path = fm_path_new_for_str(path_str);
++ if(!path) /* might be a malformed path */
++ return FALSE;
++ ret = fm_folder_view_chdir(fv, path);
++ fm_path_unref(path);
++ return ret;
+ }
+
+ static void on_folder_unmounted(FmFolder* folder, FmFolderView* fv)
+@@ -912,10 +912,10 @@ gboolean fm_folder_view_chdir(FmFolderView* fv, FmPath* path)
+ }
+ }
+
+- /* FIXME: the signal handler should be able to cancel the loading. */
+- g_signal_emit(fv, signals[CHDIR], 0, path);
+- if(fv->cwd)
+- fm_path_unref(fv->cwd);
++ /* FIXME: the signal handler should be able to cancel the loading. */
++ g_signal_emit(fv, signals[CHDIR], 0, path);
++ if(fv->cwd)
++ fm_path_unref(fv->cwd);
+ fv->cwd = fm_path_ref(path);
+
+ fv->folder = folder = fm_folder_get_for_path(path);
+@@ -1041,12 +1041,12 @@ gboolean on_btn_pressed(GtkWidget* view, GdkEventButton* evt, FmFolderView* fv)
+ if(!fv->model)
+ return FALSE;
+
+- /* FIXME: handle single click activation */
++ /* FIXME: handle single click activation */
+ if( evt->type == GDK_BUTTON_PRESS )
+ {
+- /* special handling for ExoIconView */
+- if(evt->button != 1)
+- {
++ /* special handling for ExoIconView */
++ if(evt->button != 1)
++ {
+ if(fv->mode==FM_FV_ICON_VIEW || fv->mode==FM_FV_COMPACT_VIEW || fv->mode==FM_FV_THUMBNAIL_VIEW)
+ {
+ /* select the item on right click for ExoIconView */
+@@ -1089,27 +1089,27 @@ gboolean on_btn_pressed(GtkWidget* view, GdkEventButton* evt, FmFolderView* fv)
+ gtk_tree_path_free(tp);
+ }
+ }
+- }
++ }
+
+- if(evt->button == 2) /* middle click */
+- type = FM_FV_MIDDLE_CLICK;
+- else if(evt->button == 3) /* right click */
+- type = FM_FV_CONTEXT_MENU;
++ if(evt->button == 2) /* middle click */
++ type = FM_FV_MIDDLE_CLICK;
++ else if(evt->button == 3) /* right click */
++ type = FM_FV_CONTEXT_MENU;
+ }
+
+- if( type != FM_FV_CLICK_NONE )
+- {
+- sels = fm_folder_view_get_selected_tree_paths(fv);
+- if( sels || type == FM_FV_CONTEXT_MENU )
+- {
+- item_clicked(fv, sels ? sels->data : NULL, type);
+- if(sels)
+- {
+- g_list_foreach(sels, (GFunc)gtk_tree_path_free, NULL);
+- g_list_free(sels);
+- }
+- }
+- }
++ if( type != FM_FV_CLICK_NONE )
++ {
++ sels = fm_folder_view_get_selected_tree_paths(fv);
++ if( sels || type == FM_FV_CONTEXT_MENU )
++ {
++ item_clicked(fv, sels ? sels->data : NULL, type);
++ if(sels)
++ {
++ g_list_foreach(sels, (GFunc)gtk_tree_path_free, NULL);
++ g_list_free(sels);
++ }
++ }
++ }
+ return FALSE;
+ }
+
+diff --git a/src/gtk/fm-gtk-utils.c b/src/gtk/fm-gtk-utils.c
+index 23b6f33..07df7d5 100644
+--- a/src/gtk/fm-gtk-utils.c
++++ b/src/gtk/fm-gtk-utils.c
+@@ -149,7 +149,7 @@ FmPath* fm_get_user_input_path(GtkWindow* parent, const char* title, const char*
+ }
+
+ str = _fm_user_input_dialog_run( dlg, GTK_ENTRY( entry ) );
+- path = fm_path_new(str);
++ path = fm_path_new_for_str(str);
+
+ g_free(path_str);
+ g_free(str);
+@@ -261,11 +261,9 @@ FmPath* fm_select_folder(GtkWindow* parent)
+ GTK_RESPONSE_OK, NULL);
+ if( gtk_dialog_run((GtkDialog*)chooser) == GTK_RESPONSE_OK )
+ {
+- char* file = gtk_file_chooser_get_filename(chooser);
+- if(!file)
+- file = gtk_file_chooser_get_uri(chooser);
+- path = fm_path_new(file);
+- g_free(file);
++ GFile* file = gtk_file_chooser_get_file(chooser);
++ path = fm_path_new_for_gfile(file);
++ g_object_unref(file);
+ }
+ else
+ path = NULL;
+diff --git a/src/gtk/fm-path-entry.c b/src/gtk/fm-path-entry.c
+index a57b58d..af60d03 100644
+--- a/src/gtk/fm-path-entry.c
++++ b/src/gtk/fm-path-entry.c
+@@ -163,7 +163,7 @@ static void fm_path_entry_changed(GtkEditable *editable)
+ if( !fm_path_equal_str(priv->path, original_key, key_dir_len) )
+ {
+ gchar* new_path = g_path_get_dirname(original_key);
+- FmPath *new_fm_path = fm_path_new(new_path);
++ FmPath *new_fm_path = fm_path_new_for_str(new_path);
+ g_free(new_path);
+ if( new_fm_path != NULL )
+ {
+--
+1.7.0.1
+
+
diff --git a/community/libfm/PKGBUILD b/community/libfm/PKGBUILD
new file mode 100644
index 000000000..c91a59bd3
--- /dev/null
+++ b/community/libfm/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=libfm
+pkgver=0.1.14
+pkgrel=5
+pkgdesc="the core of next generation file manager PCManFM"
+url="http://pcmanfm.sourceforge.net/"
+arch=('i686' 'x86_64')
+license=('GPL')
+groups=('lxde')
+options=('!libtool')
+install=libfm.install
+depends=('gtk2' 'menu-cache' 'shared-mime-info' 'udisks')
+source=(http://downloads.sourceforge.net/pcmanfm/$pkgname-$pkgver.tar.gz
+ 0001-filename-with-spaces-not-supported.patch)
+md5sums=('d55e51dced6bb9ef46665243b079761f'
+ '22bf07665db6eb82989cc8111ef5c3bf')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 -i $srcdir/0001-filename-with-spaces-not-supported.patch
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-udisks \
+ --with-gnu-ld
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/libfm/libfm.install b/community/libfm/libfm.install
new file mode 100644
index 000000000..076da308e
--- /dev/null
+++ b/community/libfm/libfm.install
@@ -0,0 +1,15 @@
+post_install() {
+ usr/bin/update-mime-database usr/share/mime > /dev/null
+ usr/bin/update-desktop-database -q
+ usr/bin/gio-querymodules usr/lib/gio/modules
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+
diff --git a/community/luxrays/PKGBUILD b/community/luxrays/PKGBUILD
index 47f1abe5d..6c9f0e18a 100644
--- a/community/luxrays/PKGBUILD
+++ b/community/luxrays/PKGBUILD
@@ -1,28 +1,32 @@
-# $Id: PKGBUILD 48847 2011-06-06 14:44:47Z stativ $
+# $Id: PKGBUILD 49009 2011-06-09 16:49:54Z stativ $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=luxrays
pkgver=0.8
_pkgver=ed424ec77571
-pkgrel=1
+pkgrel=2
epoch=0
pkgdesc="Accelerate the ray intersection process by using GPUs"
arch=('i686' 'x86_64')
url="http://www.luxrender.net/"
license=('GPL')
-depends=('freeimage' 'freeglut' 'glew' 'libgl' 'libcl')
-makedepends=('cmake' 'boost' 'opencl-headers')
-source=(http://src.luxrender.net/luxrays/archive/$_pkgver.tar.bz2)
-md5sums=('32ac9ebd0a4de217fb3362494ce16a8e')
+depends=('freeimage' 'freeglut' 'glew')
+makedepends=('cmake' 'boost')
+source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2)
+md5sums=('386a3549376ac8240065232ae3294da4')
build() {
- cd "$srcdir/$pkgname-$_pkgver"
+ cd "$srcdir/luxrender-$pkgname-$_pkgver"
- cmake -DCMAKE_INSTALL_PREFIX=/usr .
+ export CXXFLAGS="$CXXFLAGS -lpthread"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DLUXRAYS_DISABLE_OPENCL=ON \
+ .
make
}
package() {
- cd "$srcdir/$pkgname-$_pkgver"
+ cd "$srcdir/luxrender-$pkgname-$_pkgver"
install -d -m755 "$pkgdir"/usr/{bin,include,lib}
install -m755 bin/* "$pkgdir"/usr/bin
diff --git a/community/luxrender/PKGBUILD b/community/luxrender/PKGBUILD
index 578bf6588..e2d4aa951 100644
--- a/community/luxrender/PKGBUILD
+++ b/community/luxrender/PKGBUILD
@@ -1,3 +1,4 @@
+# $Id: PKGBUILD 49014 2011-06-09 17:05:59Z stativ $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Initial contributor: flixie <69one@gmx.net>
# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org>
@@ -6,28 +7,31 @@ pkgver=0.8
_pkgver=45d3e13eb94c
_luxblend=9cb3fcee0be8
_blender=2.57
-pkgrel=1
+pkgrel=2
pkgdesc="Rendering system for physically correct, unbiased image synthesis"
arch=('i686' 'x86_64')
url="http://www.luxrender.net/"
license=('GPL')
-depends=('boost-libs' 'luxrays' 'openexr')
+depends=('boost-libs' 'freeimage' 'openexr')
optdepends=('blender: Blender exporter' 'qt: Qt GUI')
-makedepends=('cmake' 'boost' 'qt' 'opencl-headers')
-source=(http://src.luxrender.net/lux/archive/$_pkgver.tar.bz2
- http://src.luxrender.net/luxblend25/archive/$_luxblend.tar.bz2)
-md5sums=('ad8d2ede00aa244cad884d9696ff5fbb'
- '29c34f97791db3af1b827d9e9a1b3d79')
+makedepends=('cmake' 'boost' 'qt' 'luxrays')
+source=(https://bitbucket.org/luxrender/lux/get/$_pkgver.tar.bz2 \
+ https://bitbucket.org/luxrender/luxblend25/get/$_luxblend.tar.bz2)
+md5sums=('0f2d856385db72131f51e44a7ee527fa'
+ '0c3c8d9efba76133f8c687b5dd2bca8a')
build() {
- cd "$srcdir"/lux-$_pkgver
+ cd "$srcdir"/luxrender-lux-$_pkgver
- cmake -DCMAKE_INSTALL_PREFIX=/usr .
+ export CXXFLAGS="$CXXFLAGS -lpthread"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLUXRAYS_DISABLE_OPENCL=ON \
+ .
make
}
package() {
- cd "$srcdir"/lux-$_pkgver
+ cd "$srcdir"/luxrender-lux-$_pkgver
make DESTDIR="$pkgdir" install
# fix library path on x86_64
@@ -35,7 +39,7 @@ package() {
# install blender exporter
install -d -m755 "$pkgdir"/usr/share/blender/$_blender/scripts/addons
- cp -a "$srcdir"/luxblend25-$_luxblend/src/luxrender \
+ cp -a "$srcdir"/luxrender-luxblend25-$_luxblend/src/luxrender \
"$pkgdir"/usr/share/blender/$_blender/scripts/addons
}
diff --git a/community/lxde-common/PKGBUILD b/community/lxde-common/PKGBUILD
new file mode 100644
index 000000000..b2516b833
--- /dev/null
+++ b/community/lxde-common/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=lxde-common
+pkgver=0.5.0
+pkgrel=3
+pkgdesc="Common files of the LXDE Desktop"
+arch=('i686' 'x86_64')
+license=('GPL2')
+groups=('lxde')
+depends=('libx11' 'glib2' 'lxde-icon-theme')
+url="http://lxde.org/"
+# startlxde is useless without lxsession
+makedepends=(automake)
+optdepends=(lxsession-lite)
+backup=(etc/xdg/lxsession/LXDE/{desktop.conf,autostart})
+source=("http://downloads.sourceforge.net/lxde/${pkgname}-${pkgver}.tar.gz"
+ "${pkgname}-arch.patch" "${pkgname}-invalid-distfile.patch")
+md5sums=('23606ab3d6e1039386d62a4b68b4ffc6'
+ '21657157d9ab377de55deb19a42d68e8'
+ '24938631783683fd98dfd533023e6d4e')
+
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 -i ${srcdir}/${pkgname}-arch.patch
+ autoreconf
+ ./configure --sysconfdir=/etc --prefix=/usr
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 lxde-logout.desktop \
+ ${pkgdir}/usr/share/applications/lxde-logout.desktop
+}
diff --git a/community/lxde-common/lxde-common-arch.patch b/community/lxde-common/lxde-common-arch.patch
new file mode 100644
index 000000000..3aa1a8992
--- /dev/null
+++ b/community/lxde-common/lxde-common-arch.patch
@@ -0,0 +1,186 @@
+diff --git a/Makefile.am b/Makefile.am
+index ba4149c..61cf4c5 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -31,9 +31,9 @@ openbox_DATA= \
+ openbox/rc.xml \
+ openbox/menu.xml
+
+-pcmanfmdir=$(datadir)/lxde/pcmanfm
++pcmanfmdir=$(sysconfdir)/xdg/pcmanfm
+ pcmanfm_DATA= \
+- pcmanfm/main.lxde
++ pcmanfm/lxde.conf
+
+ EXTRA_DIST = \
+ autostart \
+@@ -45,7 +45,7 @@ EXTRA_DIST = \
+ openbox/rc.xml.in \
+ openbox/menu.xml \
+ openbox-lxde.in \
+- pcmanfm/main.lxde.in \
++ pcmanfm/lxde.conf.in \
+ $(lxpanel_DATA) \
+ lxpanel/panel.in
+
+diff --git a/autostart b/autostart
+index 17d7b58..d5b6514 100644
+--- a/autostart
++++ b/autostart
+@@ -1,3 +1,3 @@
+-@xscreensaver -no-splash
+ @lxpanel --profile LXDE
+-@pcmanfm -d
++@pcmanfm --desktop --profile lxde
++@xscreensaver -no-splash
+diff --git a/configure.ac b/configure.ac
+index 3b62903..f90b4c5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,5 +1,5 @@
+ AC_PREREQ([2.57])
+-AC_INIT(lxde-common,[0.5.0], [],lxde-common)
++AC_INIT(lxde-common,[0.5.5], [],lxde-common)
+ AM_INIT_AUTOMAKE()
+ dnl AC_PROG_INTLTOOL(, [no-xml])
+ dnl AM_MAINTAINER_MODE
+@@ -48,7 +48,16 @@ AC_OUTPUT([
+ lxpanel/panel
+ openbox/rc.xml
+ openbox-lxde
+- pcmanfm/main.lxde
++ pcmanfm/lxde.conf
+ man/Makefile
+ ])
+
++if test x"$sysconfdir" != x'/etc'; then
++ echo
++ echo
++ echo 'Error: sysconfdir is not /etc.'
++ echo 'Please consider passing --sysconfdir=/etc to configure.';
++ echo 'Otherwise default config files will be installed to wrong place.'
++ echo
++ echo
++fi
+diff --git a/lxpanel/config b/lxpanel/config
+index 1911551..cb7f06d 100644
+--- a/lxpanel/config
++++ b/lxpanel/config
+@@ -1,4 +1,4 @@
+ [Command]
+ FileManager=pcmanfm %s
+-Terminal=xterm -e
++Terminal=lxterminal
+ Logout=lxde-logout
+diff --git a/openbox-lxde b/openbox-lxde
+old mode 100755
+new mode 100644
+diff --git a/openbox/menu.xml b/openbox/menu.xml
+index 78099e6..a7768a5 100644
+--- a/openbox/menu.xml
++++ b/openbox/menu.xml
+@@ -25,7 +25,7 @@
+ <item label="Desktop Settings">
+ <action name="Execute">
+ <startupnotify><enabled>yes</enabled></startupnotify>
+- <command>pcmanfm --show-pref 2</command>
++ <command>pcmanfm --desktop-pref</command>
+ </action>
+ </item>
+ <item label="Window Management Settings">
+@@ -43,4 +43,4 @@
+ </item>
+ </menu>
+
+-</openbox_menu>
+\ No newline at end of file
++</openbox_menu>
+diff --git a/pcmanfm/lxde.conf.in b/pcmanfm/lxde.conf.in
+new file mode 100644
+index 0000000..6799e1f
+--- /dev/null
++++ b/pcmanfm/lxde.conf.in
+@@ -0,0 +1,20 @@
++[config]
++bm_open_method=0
++su_cmd=xdg-su -c '%s'
++
++[desktop]
++wallpaper_mode=1
++wallpaper=@prefix@/share/lxde/wallpapers/lxde_blue.jpg
++desktop_bg=#000000
++desktop_fg=#ffffff
++desktop_shadow=#000000
++
++[ui]
++always_show_tabs=0
++hide_close_btn=0
++win_width=640
++win_height=480
++view_mode=0
++show_hidden=0
++sort_type=0
++sort_by=0
+diff --git a/pcmanfm/main.lxde.in b/pcmanfm/main.lxde.in
+deleted file mode 100644
+index a619852..0000000
+--- a/pcmanfm/main.lxde.in
++++ /dev/null
+@@ -1,3 +0,0 @@
+-[Desktop]
+-show_wallpaper=1
+-wallpaper=@prefix@/share/lxde/wallpapers/lxde_blue.jpg
+diff --git a/startlxde.in b/startlxde.in
+index 8372d3a..f493e28 100755
+--- a/startlxde.in
++++ b/startlxde.in
+@@ -1,28 +1,43 @@
+ #!/bin/sh
+
+ if [ -z "$XDG_CONFIG_HOME" ]; then
+- export XDG_CONFIG_HOME="$HOME/.config"
++ export XDG_CONFIG_HOME="$HOME/.config"
+ fi
+
+ # Ensure the existance of pcmanfm config file
+ PCMANFM_CONF_DIR="$XDG_CONFIG_HOME/pcmanfm"
+-if [ ! -f "$PCMANFM_CONF_DIR/main.lxde" ]; then
+- mkdir -p "$PCMANFM_CONF_DIR"
+- cp @prefix@/share/lxde/pcmanfm/main.lxde "$PCMANFM_CONF_DIR/main.lxde"
++if [ ! -f "$PCMANFM_CONF_DIR/pcmanfm.conf" ]; then
++ mkdir -p "$PCMANFM_CONF_DIR"
++ cp @prefix@/share/lxde/pcmanfm/pcmanfm.conf "$PCMANFM_CONF_DIR/pcmanfm.conf"
+ fi
+
+ # Ensure the existance of openbox config file
+ OPENBOX_CONF_DIR="$XDG_CONFIG_HOME/openbox"
+ if [ ! -f "$OPENBOX_CONF_DIR/lxde-rc.xml" ]; then
+- mkdir -p "$OPENBOX_CONF_DIR"
+- cp @prefix@/share/lxde/openbox/rc.xml "$OPENBOX_CONF_DIR/lxde-rc.xml"
++ mkdir -p "$OPENBOX_CONF_DIR"
++ cp @prefix@/share/lxde/openbox/rc.xml "$OPENBOX_CONF_DIR/lxde-rc.xml"
+ fi
+
++# Ensure the existance of the 'Desktop' folder
++if [ -e "$XDG_CONFIG_HOME/user-dirs.dirs" ]; then
++ . "$XDG_CONFIG_HOME/user-dirs.dirs"
++else
++ XDG_DESKTOP_DIR="$HOME/Desktop"
++fi
++mkdir -p "$XDG_DESKTOP_DIR"
++
+ # Clean up after GDM (GDM sets the number of desktops to one)
+ xprop -root -remove _NET_NUMBER_OF_DESKTOPS -remove _NET_DESKTOP_NAMES -remove _NET_CURRENT_DESKTOP 2> /dev/null
+
+ # Enable GTK+2 integration for OpenOffice.org, if available.
+ export SAL_USE_VCLPLUGIN=gtk
+
++# Launch DBus if needed
++if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
++ eval "$(dbus-launch --sh-syntax --exit-with-session)"
++fi
++
++export XDG_MENU_PREFIX="lxde-"
++
+ # Start the LXDE session
+ exec @prefix@/bin/lxsession -s LXDE -e LXDE
diff --git a/community/lxde-common/lxde-common-invalid-distfile.patch b/community/lxde-common/lxde-common-invalid-distfile.patch
new file mode 100644
index 000000000..df5d68084
--- /dev/null
+++ b/community/lxde-common/lxde-common-invalid-distfile.patch
@@ -0,0 +1,10 @@
+diff -ub lxde-common-0.5.0.dist/startlxde.in lxde-common-0.5.0/startlxde.in
+--- lxde-common-0.5.0.dist/startlxde.in 2009-09-04 11:46:53.000000000 +0200
++++ lxde-common-0.5.0./startlxde.in 2010-01-18 21:47:18.000000000 +0100
+@@ -25,4 +25,4 @@
+ export SAL_USE_VCLPLUGIN=gtk
+
+ # Start the LXDE session
+-exec @prefix@/bin/lxsession -s LXDE
++exec @prefix@/bin/lxsession -s LXDE -e LXDE
+
diff --git a/community/lxde-common/lxde-common.install b/community/lxde-common/lxde-common.install
new file mode 100644
index 000000000..d2226670d
--- /dev/null
+++ b/community/lxde-common/lxde-common.install
@@ -0,0 +1,13 @@
+ICON_PATH=usr/share/icons/nuoveXT2
+
+post_install() {
+ gtk-update-icon-cache -q -t -f ${ICON_PATH}
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f ${ICON_PATH}
+}
diff --git a/community/lxdm/PKGBUILD b/community/lxdm/PKGBUILD
new file mode 100644
index 000000000..618566d6e
--- /dev/null
+++ b/community/lxdm/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: kiefer <jorgelmadrid@gmail.com>
+
+pkgname=lxdm
+pkgver=0.3.0
+pkgrel=1
+pkgdesc="Lightweight Display Manager (part of LXDE)"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/lxdm/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2' 'xorg-server' 'consolekit')
+makedepends=('intltool')
+install=${pkgname}.install
+backup=('etc/lxdm/lxdm.conf') # 'etc/lxdm/xinitrc')
+source=("http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz"
+ Xsession.patch lxdm.patch lxdm-pam.patch lxdm-daemon)
+md5sums=('1d0688e088edab7c3c563263eb2f9654'
+ '9bdf95adb74d81d4b6b6176fb1142090'
+ 'baed9055e8825a5511712bc095197519'
+ 'b20fe3c8487a039050986d60e45233a9'
+ '705f394052fdd0dec22e95321d170de0')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm
+ make
+
+ patch -Np0 < ../lxdm.patch
+ patch -Np0 < ../Xsession.patch
+}
+
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+
+ install -m644 ${srcdir}/lxdm-pam.patch ${pkgdir}/etc/pam.d/lxdm
+ install -Dm755 ${srcdir}/lxdm-daemon ${pkgdir}/etc/rc.d/lxdm
+
+ # these files are not in the package, but should be owned by lxdm - taken from Fedora pkg
+# touch ${pkgdir}/etc/lxdm/xinitrc
+ install -d ${pkgdir}/var/{lib,run}/lxdm
+# touch ${pkgdir}/var/lib/lxdm/lxdm.conf
+
+ # fix the greeter location
+ sed -i -e "s/libexec/lib\/lxdm/" ${pkgdir}/etc/lxdm/lxdm.conf
+}
diff --git a/community/lxdm/Xsession.patch b/community/lxdm/Xsession.patch
new file mode 100644
index 000000000..a9ba63233
--- /dev/null
+++ b/community/lxdm/Xsession.patch
@@ -0,0 +1,14 @@
+--- data/Xsession.orig 2010-01-31 20:48:08.695677408 -0200
++++ data/Xsession 2010-01-31 20:47:48.260223292 -0200
+@@ -2,6 +2,11 @@
+
+ # use bash for "exec -l", howto run login shell by /bin/sh ?
+
++[[ -f /etc/profile ]] && . /etc/profile
++[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
++[[ -f /etc/xprofile ]] && . /etc/xprofile
++[[ -f "$HOME/.xprofile" ]] && . "$HOME/.xprofile"
++
+ if [ $# -eq 1 -a -n "$1" ]; then
+ LXSESSION=$1
+ else
diff --git a/community/lxdm/lxdm-daemon b/community/lxdm/lxdm-daemon
new file mode 100644
index 000000000..68eb6225d
--- /dev/null
+++ b/community/lxdm/lxdm-daemon
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=$(pidof -o %PPID `which lxdm-binary`)
+case "$1" in
+ start)
+ stat_busy "Starting LXDM Display Manager"
+ [ -z "$PID" ] && /usr/sbin/lxdm -d &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lxdm
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping LXDM Display Manager"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lxdm
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community/lxdm/lxdm-pam.patch b/community/lxdm/lxdm-pam.patch
new file mode 100644
index 000000000..3f5df04a7
--- /dev/null
+++ b/community/lxdm/lxdm-pam.patch
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_limits.so
+session required pam_unix.so
+password required pam_unix.so
diff --git a/community/lxdm/lxdm.install b/community/lxdm/lxdm.install
new file mode 100644
index 000000000..8d42de90f
--- /dev/null
+++ b/community/lxdm/lxdm.install
@@ -0,0 +1,59 @@
+pkgname=lxdm
+
+post_install() {
+ # make sure the group and user "lxdm" exist on this system and have the correct values
+ if grep -q "^lxdm:" /etc/group &> /dev/null ; then
+ groupmod -g 121 -n lxdm lxdm &> /dev/null
+ else
+ groupadd -g 121 lxdm &> /dev/null
+ fi
+
+ if grep -q "^lxdm:" /etc/passwd 2> /dev/null ; then
+ usermod -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm lxdm &> /dev/null
+ else
+ useradd -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm -m -r lxdm &> /dev/null
+ fi
+ passwd -l lxdm > /dev/null
+
+# chown root:lxdm /etc/lxdm/{lxdm.conf,xinitrc} > /dev/null
+ chown root:lxdm /etc/lxdm/lxdm.conf > /dev/null
+ chown -R root:lxdm /var/lib/lxdm > /dev/null
+ chown -R root:lxdm /var/run/lxdm > /dev/null
+
+cat << EOF
+>>> To make the LXDM as your default DM,
+>>> put, 'lxdm' or '@lxdm' (without quotes) on DAEMONS in /etc/rc.conf
+>>>
+>>> You can also use /etc/inittab,
+>>> just add 'x:5:respawn:/usr/sbin/lxdm >& /dev/null' (without quotes)
+>>> in the end of the file /etc/inittab
+>>> and uncoment the line on the top 'id:5:initdefault:'.
+EOF
+}
+
+post_upgrade() {
+ # make sure the group and user "lxdm" exist on this system and have the correct values
+ if grep -q "^lxdm:" /etc/group &> /dev/null ; then
+ groupmod -g 121 -n lxdm lxdm &> /dev/null
+ else
+ groupadd -g 121 lxdm &> /dev/null
+ fi
+
+ if grep -q "^lxdm:" /etc/passwd 2> /dev/null ; then
+ usermod -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm lxdm &> /dev/null
+ else
+ useradd -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm -m -r lxdm &> /dev/null
+ fi
+ passwd -l lxdm > /dev/null
+
+# chown root:lxdm /etc/lxdm/{lxdm.conf,xinitrc} > /dev/null
+ chown root:lxdm /etc/lxdm/lxdm.conf > /dev/null
+ chown -R root:lxdm /var/lib/lxdm > /dev/null
+ chown -R root:lxdm /var/run/lxdm > /dev/null
+}
+
+post_remove() {
+ # Removing lxdm group+user
+ getent passwd lxdm >/dev/null 2>&1 && userdel lxdm #|| /bin/true
+ getent group lxdm >/dev/null 2>&1 && groupdel lxdm #|| /bin/true
+}
diff --git a/community/lxdm/lxdm.patch b/community/lxdm/lxdm.patch
new file mode 100644
index 000000000..a703a386d
--- /dev/null
+++ b/community/lxdm/lxdm.patch
@@ -0,0 +1,26 @@
+--- data/lxdm.orig 2010-01-24 16:58:42.262866825 -0200
++++ data/lxdm 2010-01-19 11:56:34.308668692 -0200
+@@ -1,21 +1,13 @@
+ #!/bin/sh
+
+-[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
+-
+-if [ -z "$LANG" -a -e /etc/sysconfig/language ]; then
+- . /etc/sysconfig/language
+- if [ -n "$RC_LANG"]; then
+- LANG=$RC_LANG
+- fi
++if [ -r /etc/profile.d/locale.sh ]; then
++ . /etc/profile.d/locale.sh
+ fi
+
+ if [ -n "$LANG" ]; then
+ export LANG
+ fi
+
+-[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop
+-[ -f /etc/sysconfig/windowmanager ] && . /etc/sysconfig/windowmanager
+-
+ if [ -n "$DEFAULT_WM" ]; then
+ PREFERRED=$DEFAULT_WM
+ fi
diff --git a/community/lxmenu-data/PKGBUILD b/community/lxmenu-data/PKGBUILD
new file mode 100644
index 000000000..3efe37218
--- /dev/null
+++ b/community/lxmenu-data/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=lxmenu-data
+pkgver=0.1.1
+pkgrel=1
+pkgdesc="freedesktop.org desktop menus for LXDE"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+source=("http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz")
+md5sums=('cee3181dd22088f3db0e99ffbedc986d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch b/community/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch
new file mode 100644
index 000000000..e3da3d897
--- /dev/null
+++ b/community/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch
@@ -0,0 +1,43 @@
+From 4a974f2686d2fafdcda4a180b0483a7b17fd2d71 Mon Sep 17 00:00:00 2001
+From: Marty Jack <martyj@linux.local>
+Date: Thu, 22 Jul 2010 19:46:13 -0400
+Subject: [PATCH 3/3] Fix build issue with symbol "alarm" showing up on F14 (Bug3033293)
+
+---
+ src/plugins/batt/batt.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/plugins/batt/batt.c b/src/plugins/batt/batt.c
+index 288231f..05c0deb 100644
+--- a/src/plugins/batt/batt.c
++++ b/src/plugins/batt/batt.c
+@@ -95,7 +95,7 @@ typedef struct {
+ typedef struct {
+ char *command;
+ sem_t *lock;
+-} alarm;
++} Alarm;
+
+ static void destructor(Plugin *p);
+ static void update_display(lx_battery *lx_b, gboolean repaint);
+@@ -103,7 +103,7 @@ static void update_display(lx_battery *lx_b, gboolean repaint);
+ /* alarmProcess takes the address of a dynamically allocated alarm struct (which
+ it must free). It ensures that alarm commands do not run concurrently. */
+ static void * alarmProcess(void *arg) {
+- alarm *a = (alarm *) arg;
++ Alarm *a = (Alarm *) arg;
+
+ sem_wait(a->lock);
+ system(a->command);
+@@ -157,7 +157,7 @@ void update_display(lx_battery *lx_b, gboolean repaint) {
+ /* Run the alarm command if it isn't already running */
+ if (alarmCanRun) {
+
+- alarm *a = (alarm *) malloc(sizeof(alarm));
++ Alarm *a = (Alarm *) malloc(sizeof(Alarm));
+ a->command = lx_b->alarmCommand;
+ a->lock = &(lx_b->alarmProcessLock);
+
+--
+1.7.1.1
+
diff --git a/community/lxpanel/PKGBUILD b/community/lxpanel/PKGBUILD
new file mode 100644
index 000000000..505c7a27a
--- /dev/null
+++ b/community/lxpanel/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=lxpanel
+pkgver=0.5.6
+pkgrel=1
+pkgdesc="Panel of the LXDE Desktop"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('gtk2' 'alsa-lib' 'menu-cache' 'lxmenu-data')
+source=(http://downloads.sourceforge.net/lxde/${pkgname}-${pkgver}.tar.gz
+ Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch)
+optdepends=(pcmanfm)
+md5sums=('3c6b5498b5f4109c3913b10a66809fe6'
+ 'afe03191cbeccfc702f9a04bffd62dbf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 -i $srcdir/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxsession-lite/PKGBUILD b/community/lxsession-lite/PKGBUILD
new file mode 100644
index 000000000..8e56e74f5
--- /dev/null
+++ b/community/lxsession-lite/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=lxsession-lite
+pkgver=0.4.5
+pkgrel=1
+pkgdesc="Session manager of the LXDE Desktop (light version)"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('gtk2' 'dbus')
+makedepends=('pkgconfig' 'intltool')
+replaces=("lxde-settings-daemon")
+conflicts=('lxsession' 'lxde-settings-daemon')
+source=(http://downloads.sourceforge.net/lxde/lxsession-${pkgver}.tar.gz)
+md5sums=('d5cd0cb733748191b2c7371c9efda155')
+
+build() {
+ cd "$srcdir/lxsession-$pkgver"
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/lxsession-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/menu-cache/PKGBUILD b/community/menu-cache/PKGBUILD
new file mode 100644
index 000000000..693f22de8
--- /dev/null
+++ b/community/menu-cache/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=menu-cache
+pkgver=0.3.2
+pkgrel=1
+pkgdesc="Caches to speed up freedesktop.org's application menus use."
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('intltool' 'glib2')
+options=('!libtool')
+makedepends=('pkgconfig')
+source=(http://downloads.sourceforge.net/lxde/${pkgname}-${pkgver}.tar.gz)
+md5sums=('ac4a9ea77db68d3db3f9f53cc75af66a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/menu-cache --disable-static
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/obconf/PKGBUILD b/community/obconf/PKGBUILD
new file mode 100644
index 000000000..63755ce33
--- /dev/null
+++ b/community/obconf/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 49029 2011-06-09 21:05:36Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=obconf
+pkgver=2.0.3
+pkgrel=4
+pkgdesc="A GTK2 based configuration tool for the Openbox windowmanager"
+arch=('i686' 'x86_64')
+url="http://icculus.org/openbox/index.php/ObConf:About"
+license=('GPL')
+depends=('openbox' 'gtk2' 'libglade' 'desktop-file-utils' 'libsm')
+install=${pkgname}.install
+source=("http://icculus.org/openbox/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'http://icculus.org/openbox/mw/images/8/80/Obconf-72.png')
+md5sums=('b22e273721851dedad72acbc77eefb68'
+ '340ae4732e76731d2838473541eb8d4e')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+ sed -i 's/=openbox/=obconf/' obconf.desktop
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ../Obconf-72.png \
+ "${pkgdir}"/usr/share/pixmaps/obconf.png
+}
diff --git a/community/obconf/obconf.install b/community/obconf/obconf.install
new file mode 100644
index 000000000..3121bf3ea
--- /dev/null
+++ b/community/obconf/obconf.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database /usr/share/mime 1> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/openbox/PKGBUILD b/community/openbox/PKGBUILD
new file mode 100644
index 000000000..d980675be
--- /dev/null
+++ b/community/openbox/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 49029 2011-06-09 21:05:36Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: tobias <tobias@archlinux.org>
+
+pkgname=openbox
+pkgver=3.4.11.2
+pkgrel=2
+pkgdesc="A window manager for the X11 windowing system"
+arch=('i686' 'x86_64')
+url="http://openbox.org"
+license=('GPL')
+depends=('startup-notification' 'libxml2' 'libxinerama' 'libxrandr'
+ 'libxcursor' 'pango')
+optdepends=('pyxdg: for the xdg-autostart script')
+groups=('lxde')
+install=${pkgname}.install
+options=('!libtool')
+backup=('etc/xdg/openbox/menu.xml' 'etc/xdg/openbox/rc.xml')
+source=(http://www.icculus.org/openbox/releases/${pkgname}-${pkgver}.tar.gz
+ 'which-2.20.patch')
+md5sums=('30e669134fa81df810fe7d1dc59cd931'
+ 'ec5e3d4d74779b0ca576a053ae54124d')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # FS#11455
+ patch -Np1 -i ${srcdir}/which-2.20.patch
+ sed -i 's#python#python2#' tools/xdg-autostart/xdg-autostart
+ ./configure --prefix=/usr \
+ --with-x \
+ --enable-startup-notification \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ sed -i "s:startkde:/usr/bin/\0:" \
+ ${pkgdir}/usr/share/xsessions/openbox-kde.desktop
+ sed -i "s:=gnome-session:=/usr/bin/gnome-session:" \
+ ${pkgdir}/usr/share/xsessions/openbox-gnome.desktop
+}
diff --git a/community/openbox/openbox.install b/community/openbox/openbox.install
new file mode 100644
index 000000000..a8088b4db
--- /dev/null
+++ b/community/openbox/openbox.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "Place menu.xml, rc.xml and autostart.sh in ~/.config/openbox"
+ echo "They can be found in /etc/xdg/openbox"
+}
diff --git a/community/openbox/which-2.20.patch b/community/openbox/which-2.20.patch
new file mode 100644
index 000000000..7f663ae49
--- /dev/null
+++ b/community/openbox/which-2.20.patch
@@ -0,0 +1,53 @@
+--- openbox-3.4.11.1/data/autostart.sh.in 2010-03-14 09:40:37.000000000 -0500
++++ openbox-3.4.11.1/data/autostart.sh.in 2010-03-26 14:44:36.000000000 -0500
+@@ -3,13 +3,13 @@
+
+ # Set a background color
+ BG=""
+-if which hsetroot >/dev/null; then
++if which hsetroot >/dev/null 2>&1; then
+ BG=hsetroot
+ else
+- if which esetroot >/dev/null; then
++ if which esetroot >/dev/null 2>&1; then
+ BG=esetroot
+ else
+- if which xsetroot >/dev/null; then
++ if which xsetroot >/dev/null 2>&1; then
+ BG=xsetroot
+ fi
+ fi
+@@ -17,28 +17,28 @@
+ test -z $BG || $BG -solid "#303030"
+
+ # D-bus
+-if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
++if which dbus-launch >/dev/null 2>&1 && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
+ eval `dbus-launch --sh-syntax --exit-with-session`
+ fi
+
+ # Make GTK apps look and behave how they were set up in the gnome config tools
+ if test -x @libexecdir@/gnome-settings-daemon >/dev/null; then
+ @libexecdir@/gnome-settings-daemon &
+-elif which gnome-settings-daemon >/dev/null; then
++elif which gnome-settings-daemon >/dev/null 2>&1; then
+ gnome-settings-daemon &
+ # Make GTK apps look and behave how they were set up in the XFCE config tools
+-elif which xfce-mcs-manager >/dev/null; then
++elif which xfce-mcs-manager >/dev/null 2>&1; then
+ xfce-mcs-manager n &
+ fi
+
+ # Preload stuff for KDE apps
+-if which start_kdeinit >/dev/null; then
++if which start_kdeinit >/dev/null 2>&1; then
+ LD_BIND_NOW=true start_kdeinit --new-startup +kcminit_startup &
+ fi
+
+ # Run XDG autostart things. By default don't run anything desktop-specific
+ # See xdg-autostart --help more info
+ DESKTOP_ENV="OPENBOX"
+-if which @secretbindir@/xdg-autostart >/dev/null; then
++if which @secretbindir@/xdg-autostart >/dev/null 2>&1; then
+ @secretbindir@/xdg-autostart $DESKTOP_ENV
+ fi
diff --git a/community/pcmanfm/PKGBUILD b/community/pcmanfm/PKGBUILD
new file mode 100644
index 000000000..ef93d7cc9
--- /dev/null
+++ b/community/pcmanfm/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 49034 2011-06-09 21:26:14Z andrea $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=pcmanfm
+pkgver=0.9.8
+pkgrel=6
+pkgdesc="File manager of the LXDE Desktop"
+arch=('i686' 'x86_64')
+url="http://pcmanfm.sourceforge.net/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2' 'desktop-file-utils' 'libfm' 'lxmenu-data')
+makedepends=('intltool' 'pkgconfig')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-$pkgver.tar.gz
+ revert-new-IPC.patch)
+md5sums=('4a7fdc0526ed14e3293d784c0ce27dea'
+ '4bedb071a83ba5a7af1aa43b71a262a9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i $srcdir/revert-new-IPC.patch
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pcmanfm/pcmanfm.install b/community/pcmanfm/pcmanfm.install
new file mode 100644
index 000000000..98965c989
--- /dev/null
+++ b/community/pcmanfm/pcmanfm.install
@@ -0,0 +1,14 @@
+post_install() {
+ update-mime-database usr/share/mime > /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+
diff --git a/community/pcmanfm/revert-new-IPC.patch b/community/pcmanfm/revert-new-IPC.patch
new file mode 100644
index 000000000..fa64fde42
--- /dev/null
+++ b/community/pcmanfm/revert-new-IPC.patch
@@ -0,0 +1,432 @@
+diff -Naur pcmanfm-20101030_10ae31a.orig/src/Makefile.am pcmanfm-20101030_10ae31a/src/Makefile.am
+--- pcmanfm-20101030_10ae31a.orig/src/Makefile.am 2010-10-30 20:36:02.000000000 +0200
++++ pcmanfm-20101030_10ae31a/src/Makefile.am 2010-10-31 09:13:48.000000000 +0100
+@@ -16,7 +16,6 @@
+ pref.c pref.h \
+ utils.c utils.h \
+ gseal-gtk-compat.h \
+- single-inst.c single-inst.h \
+ $(NULL)
+
+ EXTRA_DIST= \
+diff -Naur pcmanfm-20101030_10ae31a.orig/src/pcmanfm.c pcmanfm-20101030_10ae31a/src/pcmanfm.c
+--- pcmanfm-20101030_10ae31a.orig/src/pcmanfm.c 2010-10-30 20:36:02.000000000 +0200
++++ pcmanfm-20101030_10ae31a/src/pcmanfm.c 2010-10-31 09:25:45.000000000 +0100
+@@ -31,6 +31,8 @@
+ #include <string.h>
+ /* socket is used to keep single instance */
+ #include <sys/types.h>
++#include <sys/socket.h>
++#include <sys/un.h>
+ #include <signal.h>
+ #include <unistd.h> /* for getcwd */
+
+@@ -41,13 +43,14 @@
+ #include "volume-manager.h"
+ #include "pref.h"
+ #include "pcmanfm.h"
+-#include "single-inst.h"
++
++static int sock;
++GIOChannel* io_channel = NULL;
+
+ static int signal_pipe[2] = {-1, -1};
+ gboolean daemon_mode = FALSE;
+
+ static char** files_to_open = NULL;
+-static int n_files_to_open = 0;
+ static char* profile = NULL;
+ static gboolean no_desktop = FALSE;
+ static gboolean show_desktop = FALSE;
+@@ -80,25 +83,13 @@
+ { NULL }
+ };
+
+-/* single instance command id */
+-enum {
+- CMD_INVALID,
+- CMD_CWD,
+- CMD_PROFILE,
+- CMD_DESKTOP,
+- CMD_DESKTOP_OFF,
+- CMD_DAEMON_MODE,
+- CMD_DESKTOP_PREF,
+- CMD_SET_WALLPAPER,
+- CMD_WALLPAPER_MODE,
+- CMD_SHOW_PREF,
+- CMD_FILES_TO_OPEN,
+- CMD_EOF
+-};
+-
+ static const char* valid_wallpaper_modes[] = {"color", "stretch", "fit", "center", "tile"};
+
++static gboolean single_instance_check();
++static void single_instance_finalize();
++static void get_socket_name(char* buf, int len);
+ static gboolean pcmanfm_run();
++static gboolean on_socket_event(GIOChannel* ioc, GIOCondition cond, gpointer data);
+
+ /* it's not safe to call gtk+ functions in unix signal handler
+ * since the process is interrupted here and the state of gtk+ is unpredictable. */
+@@ -121,97 +112,6 @@
+ return TRUE;
+ }
+
+-static gboolean on_single_inst_command(int cmd, SingleInstCmdData* data)
+-{
+- switch(cmd)
+- {
+- case CMD_CWD:
+- g_free(ipc_cwd);
+- ipc_cwd = single_inst_get_str(data, NULL);
+- break;
+- case CMD_PROFILE:
+- /* Not supported */
+- break;
+- case CMD_DESKTOP:
+- single_inst_get_bool(data, &show_desktop);
+- break;
+- case CMD_DESKTOP_OFF:
+- single_inst_get_bool(data, &desktop_off);
+- break;
+- case CMD_DAEMON_MODE:
+- /* Not supported */
+- break;
+- case CMD_DESKTOP_PREF:
+- single_inst_get_bool(data, &desktop_pref);
+- break;
+- case CMD_SET_WALLPAPER:
+- g_free(set_wallpaper);
+- set_wallpaper = single_inst_get_str(data, NULL);
+- break;
+- case CMD_WALLPAPER_MODE:
+- g_free(wallpaper_mode);
+- wallpaper_mode = single_inst_get_str(data, NULL);
+- break;
+- case CMD_SHOW_PREF:
+- single_inst_get_int(data, &show_pref);
+- break;
+- case CMD_FILES_TO_OPEN:
+- {
+- g_strfreev(files_to_open);
+- n_files_to_open = 0;
+- files_to_open = single_inst_get_strv(data, &n_files_to_open);
+- }
+- break;
+- case CMD_EOF:
+- {
+- int i;
+- /* canonicalize filename if needed. */
+- for(i = 0; i < n_files_to_open; ++i)
+- {
+- char* file = files_to_open[i];
+- char* scheme = g_uri_parse_scheme(file);
+- if(scheme) /* a valid URI */
+- {
+- /* FIXME: should we canonicalize URIs? and how about file:///? */
+- g_free(scheme);
+- }
+- else /* a file path */
+- {
+- files_to_open[i] = fm_canonicalize_filename(file, ipc_cwd);
+- g_free(file);
+- }
+- }
+-
+- /* handle the parsed result and run the main program */
+- pcmanfm_run();
+- }
+- break;
+- }
+- return TRUE;
+-}
+-
+-/* we're not the first instance. pass the argv to the existing one. */
+-static void pass_args_to_existing_instance()
+-{
+- /* send our current working dir to existing instance via IPC. */
+- ipc_cwd = g_get_current_dir();
+- single_inst_send_str(CMD_CWD, ipc_cwd);
+- g_free(ipc_cwd);
+-
+- single_inst_send_bool(CMD_DESKTOP, show_desktop);
+- single_inst_send_bool(CMD_DESKTOP_OFF, desktop_off);
+- single_inst_send_bool(CMD_DESKTOP_PREF, desktop_pref);
+- single_inst_send_str(CMD_SET_WALLPAPER, set_wallpaper);
+- single_inst_send_str(CMD_WALLPAPER_MODE, wallpaper_mode);
+- single_inst_send_int(CMD_SHOW_PREF, show_pref);
+- /* single_inst_send_bool(CMD_FIND_FILES, find_files); */
+-
+- single_inst_send_strv(CMD_FILES_TO_OPEN, files_to_open);
+- single_inst_send_bool(CMD_EOF, TRUE); /* all args have been sent. */
+-
+- single_inst_finalize();
+-}
+-
+ int main(int argc, char** argv)
+ {
+ FmConfig* config;
+@@ -230,17 +130,10 @@
+ return 1;
+ }
+
+- /* ensure that there is only one instance of pcmanfm. */
+- switch(single_inst_init("pcmanfm", on_single_inst_command))
+- {
+- case SINGLE_INST_CLIENT: /* we're not the first instance. */
+- pass_args_to_existing_instance();
+- gdk_notify_startup_complete();
+- return 0;
+- case SINGLE_INST_ERROR: /* error happened. */
+- single_inst_finalize();
+- return 1;
+- }
++ /* ensure that there is only one instance of pcmanfm.
++ if there is an existing instance, command line arguments
++ will be passed to the existing instance, and exit() will be called here. */
++ single_instance_check();
+
+ if(pipe(signal_pipe) == 0)
+ {
+@@ -274,13 +167,240 @@
+ fm_volume_manager_finalize();
+ }
+
+- single_inst_finalize();
++ single_instance_finalize();
++
+ fm_gtk_finalize();
+
+ g_object_unref(config);
+ return 0;
+ }
+
++inline static void buf_append_str(GByteArray* buf, const char* str)
++{
++ int len;
++ if(G_LIKELY(str))
++ {
++ len = strlen(str) + 1;
++ g_byte_array_append(buf, (guint8*)&len, sizeof(len));
++ g_byte_array_append(buf, (guint8*)str, len);
++ }
++ else
++ {
++ len = 0;
++ g_byte_array_append(buf, (guint8*)&len, sizeof(len));
++ }
++}
++
++inline static GByteArray* args_to_ipc_buf()
++{
++ int i, len;
++ GByteArray* buf = g_byte_array_sized_new(4096);
++ /* send our current working dir to existing instance via IPC. */
++ ipc_cwd = g_get_current_dir();
++ buf_append_str(buf, ipc_cwd);
++ g_free(ipc_cwd);
++
++ /* g_byte_array_append(buf, (guint8*)&new_tab, sizeof(new_tab)); */
++ g_byte_array_append(buf, (guint8*)&show_desktop, sizeof(show_desktop));
++ g_byte_array_append(buf, (guint8*)&desktop_off, sizeof(desktop_off));
++ g_byte_array_append(buf, (guint8*)&desktop_pref, sizeof(desktop_pref));
++ buf_append_str(buf, set_wallpaper);
++ buf_append_str(buf, wallpaper_mode);
++ g_byte_array_append(buf, (guint8*)&show_pref, sizeof(show_pref));
++ g_byte_array_append(buf, (guint8*)&find_files, sizeof(find_files));
++ g_byte_array_append(buf, (guint8*)&no_desktop, sizeof(no_desktop));
++
++ len = files_to_open ? g_strv_length(files_to_open) : 0;
++ g_byte_array_append(buf, (guint8*)&len, sizeof(len));
++ for(i = 0; i < len; ++i)
++ buf_append_str(buf, files_to_open[i]);
++
++ return buf;
++}
++
++inline static gboolean buf_read_bool(const char**p)
++{
++ gboolean ret;
++ memcpy(&ret, *p, sizeof(ret));
++ *p += sizeof(ret);
++ return ret;
++}
++
++inline static int buf_read_int(const char**p)
++{
++ int ret;
++ memcpy(&ret, *p, sizeof(ret));
++ *p += sizeof(ret);
++ return ret;
++}
++
++inline static char* buf_read_str(const char**p)
++{
++ char* ret;
++ int len = buf_read_int(p);
++ if(len > 0)
++ {
++ ret = g_malloc(len);
++ memcpy(ret, *p, len);
++ *p += len;
++ }
++ else
++ ret = NULL;
++ return ret;
++}
++
++inline static void ipc_buf_to_args(GByteArray* buf)
++{
++ int i, len;
++ char* p = buf->data;
++ char* cwd = buf_read_str(&p);
++ /* new_tab = buf_read_bool(&p); */
++ show_desktop = buf_read_bool(&p);
++ desktop_off = buf_read_bool(&p);
++ desktop_pref = buf_read_bool(&p);
++ g_free(set_wallpaper);
++ set_wallpaper = buf_read_str(&p);
++ g_free(wallpaper_mode);
++ wallpaper_mode = buf_read_str(&p);
++ show_pref = buf_read_int(&p);
++ find_files = buf_read_bool(&p);
++ no_desktop = buf_read_bool(&p);
++
++ len = buf_read_int(&p);
++ /* g_debug("len = %d", len); */
++ if(len > 0)
++ {
++ files_to_open = g_new(char*, len + 1);
++ for(i = 0; i < len; ++i)
++ {
++ char* file = buf_read_str(&p);
++ char* scheme = g_uri_parse_scheme(file);
++ if(scheme) /* a valid URI */
++ {
++ /* FIXME: should we canonicalize URIs? and how about file:///? */
++ files_to_open[i] = file;
++ g_free(scheme);
++ }
++ else /* a file path */
++ {
++ files_to_open[i] = fm_canonicalize_filename(file, cwd);
++ g_free(file);
++ }
++ }
++ files_to_open[i] = NULL;
++ }
++ else
++ files_to_open = NULL;
++ g_free(cwd);
++}
++
++gboolean on_socket_event( GIOChannel* ioc, GIOCondition cond, gpointer data )
++{
++ int client, r;
++ socklen_t addr_len = 0;
++ struct sockaddr_un client_addr ={ 0 };
++ static char buf[ 1024 ];
++ GByteArray* args;
++
++ if ( cond & G_IO_IN )
++ {
++ client = accept( g_io_channel_unix_get_fd( ioc ), (struct sockaddr *)&client_addr, &addr_len );
++ if ( client != -1 )
++ {
++ args = g_byte_array_sized_new(4096);
++ while( (r = read( client, buf, sizeof(buf) )) > 0 )
++ g_byte_array_append( args, (guint8*)buf, r);
++ shutdown( client, 2 );
++ close( client );
++ ipc_buf_to_args(args);
++ g_byte_array_free( args, TRUE );
++ pcmanfm_run();
++ }
++ }
++ return TRUE;
++}
++
++void get_socket_name( char* buf, int len )
++{
++ char* dpy = gdk_get_display();
++ g_snprintf( buf, len, "/tmp/.pcmanfm-socket%s-%s", dpy, g_get_user_name() );
++ g_free( dpy );
++}
++
++gboolean single_instance_check()
++{
++ struct sockaddr_un addr;
++ int addr_len;
++ int ret;
++ int reuse;
++
++ if((sock = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
++ {
++ ret = 1;
++ goto _exit;
++ }
++
++ /* FIXME: use abstract socket */
++ addr.sun_family = AF_UNIX;
++ get_socket_name(addr.sun_path, sizeof( addr.sun_path ));
++#ifdef SUN_LEN
++ addr_len = SUN_LEN(&addr);
++#else
++ addr_len = strlen( addr.sun_path ) + sizeof( addr.sun_family );
++#endif
++
++ /* try to connect to existing instance */
++ if(connect(sock, (struct sockaddr*)&addr, addr_len) == 0)
++ {
++ /* connected successfully */
++ GByteArray* buf = args_to_ipc_buf();
++ write(sock, buf->data, buf->len);
++ g_byte_array_free(buf, TRUE);
++
++ shutdown( sock, 2 );
++ close( sock );
++ ret = 0;
++ goto _exit;
++ }
++
++ /* There is no existing server, and we are in the first instance. */
++ unlink( addr.sun_path ); /* delete old socket file if it exists. */
++ reuse = 1;
++ ret = setsockopt( sock, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse) );
++ if(bind(sock, (struct sockaddr*)&addr, addr_len) == -1)
++ {
++ ret = 1;
++ goto _exit;
++ }
++
++ io_channel = g_io_channel_unix_new(sock);
++ g_io_channel_set_encoding(io_channel, NULL, NULL);
++ g_io_channel_set_buffered(io_channel, FALSE);
++ g_io_add_watch(io_channel, G_IO_IN,
++ (GIOFunc)on_socket_event, NULL);
++ if(listen(sock, 5) == -1)
++ {
++ ret = 1;
++ goto _exit;
++ }
++ return TRUE;
++
++_exit:
++
++ gdk_notify_startup_complete();
++ exit( ret );
++}
++
++void single_instance_finalize()
++{
++ char lock_file[256];
++ shutdown(sock, 2);
++ g_io_channel_unref(io_channel);
++ close(sock);
++ get_socket_name(lock_file, sizeof( lock_file ));
++ unlink(lock_file);
++}
++
+ static FmJobErrorAction on_file_info_job_error(FmFileInfoJob* job, GError* err, FmJobErrorSeverity severity, gpointer user_data)
+ {
+ if(err->domain == G_IO_ERROR)
diff --git a/community/qtcreator/PKGBUILD b/community/qtcreator/PKGBUILD
index 4962430fc..89215fa3f 100644
--- a/community/qtcreator/PKGBUILD
+++ b/community/qtcreator/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 48974 2011-06-09 02:24:35Z svenstaro $
+# $Id: PKGBUILD 48989 2011-06-09 09:28:42Z svenstaro $
# Maintainer: Imanol Celaya <ornitorrincos@archlinux-es.org>
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
@@ -11,7 +11,7 @@ pkgbase=qtcreator
#pkgname=('qtcreator' 'qtcreator-todo-plugin' 'qtcreator-artisticstyle-plugin')
pkgname=('qtcreator' 'qtcreator-todo-plugin')
pkgver=2.2.0
-pkgrel=2
+pkgrel=3
pkgdesc='Lightweight, cross-platform integrated development environment'
arch=('i686' 'x86_64')
url='http://qt.nokia.com/products/developer-tools'
@@ -64,6 +64,14 @@ package_qtcreator() {
make INSTALL_ROOT="${pkgdir}/usr/" install
+ # qt already fixed this
+ if [[ -f "$pkgdir/usr/bin/qmlpuppet" ]]; then
+ echo "Remove this manual install as it is now unnecessary (probably qtcreator 2.2.1)"
+ return 1
+ fi
+ install -Dm755 bin/qmlpuppet "$pkgdir/usr/bin/qmlpuppet"
+ # remove it soon
+
install -Dm644 ${srcdir}/qtcreator.desktop \
${pkgdir}/usr/share/applications/qtcreator.desktop
install -Dm644 ${srcdir}/qt-creator-${pkgver}-src/LGPL_EXCEPTION.TXT \
diff --git a/community/quvi/PKGBUILD b/community/quvi/PKGBUILD
index 7a4c6beee..a124c5e8a 100644
--- a/community/quvi/PKGBUILD
+++ b/community/quvi/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 45360 2011-04-20 15:12:08Z lfleischer $
+# $Id: PKGBUILD 48994 2011-06-09 14:59:59Z lfleischer $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: joyfulgirl@archlinux.us
pkgname=quvi
-pkgver=0.2.15
+pkgver=0.2.16
pkgrel=1
pkgdesc='Command-line tool for parsing video download links.'
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ license=('LGPL')
depends=('curl' 'pcre' 'lua')
options=('!libtool')
source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('7cda6c6593c1281e89d91de3b0bed284')
+md5sums=('43ac4c1ecaace175e2e8b38f4566a710')
build() {
cd "${pkgname}-${pkgver}"
diff --git a/community/skrooge/PKGBUILD b/community/skrooge/PKGBUILD
index 6805f7ae6..e6c628896 100644
--- a/community/skrooge/PKGBUILD
+++ b/community/skrooge/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 42177 2011-03-15 08:11:50Z schiv $
+# $Id: PKGBUILD 48984 2011-06-09 06:50:51Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: neuromante <lorenzo.nizzi.grifi@gmail.com>
pkgname=skrooge
-pkgver=0.8.1
+pkgver=0.9.0
pkgrel=1
pkgdesc="A personal finances manager for KDE"
arch=('i686' 'x86_64')
@@ -14,13 +14,13 @@ depends=('kdebase-runtime' 'libofx' 'qca-ossl')
makedepends=('cmake' 'automoc4' 'docbook-xsl')
install=$pkgname.install
source=("http://skrooge.org/files/$pkgname-$pkgver.tar.bz2")
-md5sums=('417f5668d9ec07b715c8fc7023460c27')
+md5sums=('340cbec2ddc2a258bd9b5091dbdb5e92')
build() {
cd "$srcdir/$pkgname-$pkgver"
cmake . -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_PREFIX=/usr
make
}
diff --git a/community/wvdial/PKGBUILD b/community/wvdial/PKGBUILD
new file mode 100644
index 000000000..8edab9e52
--- /dev/null
+++ b/community/wvdial/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 49019 2011-06-09 20:53:15Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=wvdial
+pkgver=1.61
+pkgrel=3
+pkgdesc="A dialer program to connect to the Internet"
+url="http://alumnit.ca/wiki/index.php?page=WvDial"
+arch=('i686' 'x86_64')
+license=('custom')
+depends=('wvstreams' 'ppp' 'gcc-libs')
+makedepends=('lockdev')
+options=('!makeflags' '!buildflags')
+source=("http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('acd3b2050c9b65fff2aecda6576ee7bc')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ ./configure
+ make LOCKDEV="-llockdev"
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make prefix="${pkgdir}"/usr PPPDIR="${pkgdir}"/etc/ppp/peers install
+
+ install -Dm644 COPYING.LIB "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/wvstreams/PKGBUILD b/community/wvstreams/PKGBUILD
new file mode 100644
index 000000000..5be8bf94f
--- /dev/null
+++ b/community/wvstreams/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 49019 2011-06-09 20:53:15Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=wvstreams
+pkgver=4.6.1
+pkgrel=2
+pkgdesc="A network programming library written in C++"
+arch=('i686' 'x86_64')
+url="http://alumnit.ca/wiki/?page=WvStreams"
+license=('LGPL')
+depends=('zlib' 'pam' 'xplc' 'openssl' 'readline')
+source=(http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
+md5sums=('2760dac31a43d452a19a3147bfde571c')
+options=('!makeflags')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --without-dbus \
+ --with-pam \
+ --with-openssl \
+ --without-tcl \
+ --without-qt || return 1
+ make COPTS="$CFLAGS -fPIC" CXXOPTS="$CXXFLAGS -fPIC -fpermissive" VERBOSE=1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ # FS#15974
+ # --without-dbus still installs the pkg-config file
+ rm ${pkgdir}/usr/lib/pkgconfig/libwvdbus.pc
+ # --without-qt still installs the pkg-config file
+ rm ${pkgdir}/usr/lib/pkgconfig/libwvqt.pc
+}
diff --git a/community/xbindkeys/PKGBUILD b/community/xbindkeys/PKGBUILD
new file mode 100644
index 000000000..8e979b07a
--- /dev/null
+++ b/community/xbindkeys/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 49026 2011-06-09 20:58:03Z andrea $
+# Maintainer:
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+
+pkgname=xbindkeys
+pkgver=1.8.5
+pkgrel=1
+pkgdesc="Launch shell commands with your keyboard or your mouse under X"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/xbindkeys/xbindkeys.html"
+license=('GPL')
+depends=('libx11' 'guile' 'tk')
+source=(http://www.nongnu.org/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('4b66a05594dbc6888c0a6439351aa66d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/xplc/PKGBUILD b/community/xplc/PKGBUILD
new file mode 100644
index 000000000..bc029a87c
--- /dev/null
+++ b/community/xplc/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 49019 2011-06-09 20:53:15Z andrea $
+# Maintainer:
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=xplc
+pkgver=0.3.13
+pkgrel=3
+pkgdesc="Cross-Platform Lightweight Components"
+arch=('i686' 'x86_64')
+url="http://xplc.sourceforge.net"
+license=('LGPL')
+depends=('gcc-libs')
+source=("http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz")
+md5sums=('39da3270527c8712b8e8fcf03768d29f')
+options=('!buildflags')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --without-libuuid
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ mv $pkgdir/usr/share/man/man1/{uuidgen.1,uuidcdef.1}
+ rm -f $pkgdir/usr/bin/uuidgen
+}