diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-06-10 14:38:26 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-06-10 14:38:26 -0300 |
commit | f5e137fdf748b757bacfc50577e5d48a693d31c4 (patch) | |
tree | c75bdfef17b69eff3b8bb20b285c880d7f9183c0 /community | |
parent | 300b3ee60aef9cfa0a32f5c69aa5e25ad637285f (diff) | |
parent | dd5222c4ae447eb7a6bda08ec5a3c2339852dc16 (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/chntpw/PKGBUILD
community/hardinfo/PKGBUILD
community/obconf/obconf.install
community/xplc/PKGBUILD
community/zziplib/PKGBUILD
core/rp-pppoe/PKGBUILD
extra/icedtea-web/PKGBUILD
extra/icon-naming-utils/PKGBUILD
extra/lxmenu-data/PKGBUILD
extra/openbox/PKGBUILD
extra/phonon-xine/PKGBUILD
extra/qt/PKGBUILD
extra/zope-interface/PKGBUILD
libre/pacman/PKGBUILD
libre/pacman/pacman.conf.mips64el
libre/pacman/rePKGBUILD
testing/coreutils/PKGBUILD
testing/net-tools/PKGBUILD
Diffstat (limited to 'community')
44 files changed, 1806 insertions, 207 deletions
diff --git a/community/chntpw/PKGBUILD b/community/chntpw/PKGBUILD index 6899fbefc..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" -arch=('i686' 'x86_64' 'mips64el') -url="http://pogostick.net/~pnh/ntpasswd/" +pkgdesc='Offline NT Password Editor - reset passwords in a Windows NT SAM userdatabase file' +arch=('i686' 'x86_64') +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/hardinfo/ChangeLog b/community/hardinfo/ChangeLog deleted file mode 100644 index faf242a7b..000000000 --- a/community/hardinfo/ChangeLog +++ /dev/null @@ -1,20 +0,0 @@ -2009-04-06 Eric Belanger <eric@archlinux.org> - - * hardinfo 0.5.1-1 - * Upstream update - -2009-03-29 Eric Belanger <eric@archlinux.org> - - * hardinfo 0.5c-1 - * Upstream update - -2008-08-13 Eric Belanger <eric@archlinux.org> - - * hardinfo 0.4.2.3-3 - * Rebuilt against gnutls 2.4.1 - -2008-04-06 Eric Belanger <eric@archlinux.org> - - * hardinfo 0.4.2.3-2 - * Rebuilt against libsoup 2.4 - * Added ChangeLog diff --git a/community/hardinfo/PKGBUILD b/community/hardinfo/PKGBUILD deleted file mode 100644 index e97e66584..000000000 --- a/community/hardinfo/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# $Id: PKGBUILD 17993 2010-05-29 04:49:43Z ebelanger $ -# Maintainer: Eric Belanger <eric@archlinux.org> - -pkgname=hardinfo -pkgver=0.5.1 -pkgrel=2 -pkgdesc="A system information and benchmark tool." -arch=('i686' 'x86_64' 'mips64el') -url="http://hardinfo.berlios.de/wiki/index.php/Main_Page" -license=('GPL2') -depends=('gtk2' 'libsoup' 'gnutls') -options=('!emptydirs') -source=(http://download.berlios.de/hardinfo/${pkgname}-${pkgver}.tar.bz2 \ - fixsensors.patch hardinfo.distro) -md5sums=('6fb38992e140f2fab16518ae1f38e188' '05c212db07b9f152cdea052ff7bb28fa'\ - 'ab8a557d10f74bec5c94ed6cae34729c') -sha1sums=('983f0445aa60e02156bc5a5eaedeffb30b8e4d64' 'd2151dce76dca238102937d0e15541f172bca530'\ - '4c31cbbfbdeb48593641ff600c8d4fb7bda2b01c') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 < ../fixsensors.patch || return 1 - sed -i 's|/usr/lib64|/usr/lib|' configure || return 1 - ./configure --prefix=/usr || return 1 - sed -i 's|lib64|lib|' binreloc.c || return 1 - sed -i 's|/sbin/lsmod|/bin/lsmod|g' arch/linux/{parisc,ppc,m68k,x86,common,mips,sparc,x86_64}/modules.h || return 1 - sed -i 's|/sbin/lsmod|/bin/lsmod|g' arch/this/modules.h || return 1 - sed -i 's|{ DB_PREFIX "debian_version", "deb" },|{ DB_PREFIX "hardinfo.distro", "arch" },{ DB_PREFIX "debian_version", "deb" },|' computer.h || return 1 - make || return 1 -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install || return 1 - install -D -m644 ../hardinfo.distro "${pkgdir}/etc/hardinfo.distro" || return 1 -} diff --git a/community/hardinfo/fixsensors.patch b/community/hardinfo/fixsensors.patch deleted file mode 100644 index 812c29458..000000000 --- a/community/hardinfo/fixsensors.patch +++ /dev/null @@ -1,13 +0,0 @@ - diff -upNr hardinfo-0.4.2.2.orign/util.c hardinfo-0.4.2.2/util.c ---- hardinfo-0.4.2.2.orign/util.c 2007-07-20 16:45:08.000000000 +0200 -+++ hardinfo-0.4.2.2/util.c 2007-07-26 10:15:32.000000000 +0200 -@@ -996,7 +996,8 @@ gchar *h_strdup_cprintf(const gchar * fo - if (source) { - retn = g_strconcat(source, buffer, NULL); - g_free(buffer); -- g_free(source); -+ if(strlen(source)) -+ g_free(source); - } else { - retn = buffer; - } diff --git a/community/hardinfo/hardinfo.distro b/community/hardinfo/hardinfo.distro deleted file mode 100644 index 850183eeb..000000000 --- a/community/hardinfo/hardinfo.distro +++ /dev/null @@ -1 +0,0 @@ -Arch Linux 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..3a1d121fd --- /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' 'mips64el') +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 c7c7ee4a9..8b3ab0e1a 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' 'mips64el') 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/luxrender/libpng.patch b/community/luxrender/libpng.patch deleted file mode 100644 index 71700a7d2..000000000 --- a/community/luxrender/libpng.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -rupN lux-36533b0843bd/core/cimg.h lux-fixed/core/cimg.h ---- lux-36533b0843bd/core/external/cimg.h 2009-12-19 10:39:59.000000000 +0100 -+++ lux-fixed/core/external/cimg.h 2010-01-22 11:38:06.651814854 +0100 -@@ -25679,7 +25679,7 @@ namespace cimg_library { - png_read_info(png_ptr,info_ptr); - png_uint_32 W, H; - int bit_depth, color_type, interlace_type; -- png_get_IHDR(png_ptr,info_ptr,&W,&H,&bit_depth,&color_type,&interlace_type,int_p_NULL,int_p_NULL); -+ png_get_IHDR(png_ptr,info_ptr,&W,&H,&bit_depth,&color_type,&interlace_type,(int *) NULL,(int *) NULL); - int new_bit_depth = bit_depth; - int new_color_type = color_type; - -@@ -25690,7 +25690,7 @@ namespace cimg_library { - new_bit_depth = 8; - } - if (new_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8){ -- png_set_gray_1_2_4_to_8(png_ptr); -+ png_set_expand_gray_1_2_4_to_8(png_ptr); - new_bit_depth = 8; - } - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) diff --git a/community/lxde-common/PKGBUILD b/community/lxde-common/PKGBUILD new file mode 100644 index 000000000..dea1d7caf --- /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' 'mips64el') +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..1663cf998 --- /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' 'mips64el') +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..21fbb05ab --- /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' 'mips64el') +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..f27e3fd26 --- /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' 'mips64el') +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..74749321c --- /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' 'mips64el') +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/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..09a833e6d --- /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' 'mips64el') +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 2637aebbf..20a74f4cf 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' 'mips64el') 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 997ae290b..a9c7735d8 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' 'mips64el') @@ -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 397aa53be..07ed0e452 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' 'mips64el') @@ -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/sword/curl_7.20.patch b/community/sword/curl_7.20.patch deleted file mode 100644 index 88763188d..000000000 --- a/community/sword/curl_7.20.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- src/mgr/curlftpt.cpp (revision 2505) -+++ src/mgr/curlftpt.cpp (revision 2506) -@@ -177,6 +177,9 @@ - res = curl_easy_perform(session); - SWLog::getSystemLog()->logDebug("***** Finished performing curl easy action. \n"); - -+ // it seems CURL tries to use this option data later for some reason, so we unset here -+ curl_easy_setopt(session, CURLOPT_PROGRESSDATA, (void*)NULL); -+ - if(CURLE_OK != res) { - retVal = -1; - } diff --git a/community/wvdial/PKGBUILD b/community/wvdial/PKGBUILD new file mode 100644 index 000000000..a6428f314 --- /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' 'mips64el') +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..81bd87127 --- /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' 'mips64el') +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..913e7cd09 --- /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' 'mips64el') +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 +} diff --git a/community/zziplib/PKGBUILD b/community/zziplib/PKGBUILD deleted file mode 100644 index caaad5bf2..000000000 --- a/community/zziplib/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# $Id: PKGBUILD 46490 2011-05-07 21:04:10Z ebelanger $ -# Maintainer: -# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> -# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com> - -pkgname=zziplib -pkgver=0.13.60 -pkgrel=1 -pkgdesc="A lightweight library that offers the ability to easily extract data from files archived in a single zip file" -arch=('i686' 'x86_64' 'mips64el') -url="http://zziplib.sourceforge.net" -license=('LGPL' 'MPL') -depends=('zlib') -makedepends=('python2') -options=('!libtool') -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 zziplib-0.13.60-ldflags.patch) -md5sums=('54a6aa53262483a4d54f7c59f0a7258b' - 'e585052f884525a338ca341b5d2957dc') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - export PYTHON=/usr/bin/python2 - patch -p1 -i ../zziplib-0.13.60-ldflags.patch - ./configure --prefix=/usr - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - -#fix permission - chmod -s "${pkgdir}/usr/share/man/man3" - chmod 644 "${pkgdir}"/usr/share/man/man3/* - chown -R root:root "${pkgdir}/usr/share/man/man3" -} diff --git a/community/zziplib/zziplib-0.13.60-ldflags.patch b/community/zziplib/zziplib-0.13.60-ldflags.patch deleted file mode 100644 index 3c95ff465..000000000 --- a/community/zziplib/zziplib-0.13.60-ldflags.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://sourceforge.net/tracker/?func=detail&aid=3175466&group_id=6389&atid=306389 -https://bugs.gentoo.org/354051 - ---- a/configure -+++ b/configure -@@ -292,7 +292,7 @@ - # --------------------------------------------------------------- - AC_MSG_CHECKING([link options]) - ZZIPLIB_LDFLAGS="" --test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="--export-dynamic" -+test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="-export-dynamic" - RESOLVES=" # " - case "$host_os" in mingw*) - ZZIPLIB_LDFLAGS="-no-undefined -export-all-symbols -mconsole" |