diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-10-08 22:20:37 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-10-08 22:20:37 -0300 |
commit | fccf9769e2c26f577f6214ed9d0dbb30cb8c51bd (patch) | |
tree | cc5312eeed95e18d8e2c6009c568f3d32501bc01 /libre/mc-libre | |
parent | 69962c022fb4ed68b9163e60183fff714308e4e3 (diff) | |
parent | 3a0ad5dc35d5cff379cdfc736b9cae856416fe6a (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/abe/PKGBUILD
community/account-plugins/PKGBUILD
community/adesklets/PKGBUILD
community/aircrack-ng/PKGBUILD
community/audit/PKGBUILD
community/bchunk/PKGBUILD
community/bibutils/PKGBUILD
community/cantata/PKGBUILD
community/cdck/PKGBUILD
community/cinnamon-control-center/PKGBUILD
community/clusterssh/PKGBUILD
community/consonance/PKGBUILD
community/credentials-preferences/PKGBUILD
community/dee/PKGBUILD
community/dosbox/PKGBUILD
community/drbd/PKGBUILD
community/dvdisaster/PKGBUILD
community/ekg/PKGBUILD
community/ekg2/PKGBUILD
community/emelfm2/PKGBUILD
community/erlang/PKGBUILD
community/ettercap/PKGBUILD
community/evilwm/PKGBUILD
community/fatrat/PKGBUILD
community/fcitx-mozc/PKGBUILD
community/fcrackzip/PKGBUILD
community/ffmpegsource/PKGBUILD
community/fssos-nsvs/PKGBUILD
community/geda-gaf/PKGBUILD
community/gnome-applets/PKGBUILD
community/gnome-panel/PKGBUILD
community/gnustep-make/PKGBUILD
community/gwibber/PKGBUILD
community/html2text/PKGBUILD
community/intellij-idea-libs/PKGBUILD
community/libcgns2/PKGBUILD
community/libmatio/PKGBUILD
community/librcc/PKGBUILD
community/libsignon-glib/PKGBUILD
community/linux-tools/PKGBUILD
community/minitube/PKGBUILD
community/mpdscribble/PKGBUILD
community/mplayer2/PKGBUILD
community/musepack-tools/PKGBUILD
community/nginx/PKGBUILD
community/pam_pwcheck/PKGBUILD
community/portaudio/PKGBUILD
community/portaudio_cpp/PKGBUILD
community/prelink/PKGBUILD
community/projectm/PKGBUILD
community/prosody/PKGBUILD
community/python-basemap/PKGBUILD
community/qgit/PKGBUILD
community/raptor1/PKGBUILD
community/sensors-applet/PKGBUILD
community/signon-keyring-extension/PKGBUILD
community/signon-plugin-oauth2/PKGBUILD
community/signon-ui/PKGBUILD
community/sshguard/PKGBUILD
community/tea/PKGBUILD
community/tint2/PKGBUILD
community/tremulous/PKGBUILD
community/vobcopy/PKGBUILD
community/windowlab/PKGBUILD
community/xdelta/PKGBUILD
community/xmms2/PKGBUILD
community/xosd/PKGBUILD
core/gdbm/PKGBUILD
core/heirloom-mailx/PKGBUILD
core/libffi/PKGBUILD
core/procps-ng/PKGBUILD
core/systemd/PKGBUILD
core/tar/PKGBUILD
cross/mips64el-unknown-linux-gnu-linux-libre-api-headers/PKGBUILD
extra/arj/PKGBUILD
extra/audacity/PKGBUILD
extra/cdparanoia/PKGBUILD
extra/elfutils/PKGBUILD
extra/fltk/PKGBUILD
extra/gnome-python-desktop/PKGBUILD
extra/gstreamer/PKGBUILD
extra/gtk2/PKGBUILD
extra/gvfs/PKGBUILD
extra/imagemagick/PKGBUILD
extra/indent/PKGBUILD
extra/kdepim/PKGBUILD
extra/lcms/PKGBUILD
extra/lesstif/PKGBUILD
extra/libchewing/PKGBUILD
extra/libdrm/PKGBUILD
extra/libmodplug/PKGBUILD
extra/libnotify/PKGBUILD
extra/libsm/PKGBUILD
extra/libxmu/PKGBUILD
extra/libxpm/PKGBUILD
extra/mariadb/PKGBUILD
extra/mesa/PKGBUILD
extra/mkvtoolnix/PKGBUILD
extra/neon/PKGBUILD
extra/ocaml/PKGBUILD
extra/phonon-vlc/PKGBUILD
extra/php-xcache/PKGBUILD
extra/polkit/PKGBUILD
extra/pycups/PKGBUILD
extra/python-cairo/PKGBUILD
extra/python/PKGBUILD
extra/ruby/PKGBUILD
extra/sqlite/PKGBUILD
extra/talloc/PKGBUILD
extra/thunar-archive-plugin/PKGBUILD
extra/totem-plparser/PKGBUILD
extra/totem/PKGBUILD
extra/vinagre/PKGBUILD
extra/vino/PKGBUILD
extra/vlc/PKGBUILD
extra/wget/PKGBUILD
extra/xine-lib/PKGBUILD
extra/xorg-server/PKGBUILD
extra/xorg-twm/PKGBUILD
extra/xorg-xclipboard/PKGBUILD
extra/xorg-xclock/PKGBUILD
extra/xorg-xkill/PKGBUILD
extra/xorg-xlsclients/PKGBUILD
extra/xorg-xman/PKGBUILD
extra/xorg-xrdb/PKGBUILD
extra/xpdf/PKGBUILD
extra/xvidcore/PKGBUILD
extra/yelp/PKGBUILD
libre/audacious-plugins-libre/PKGBUILD
libre/mc-libre/PKGBUILD
libre/python2-reportlab-libre/PKGBUILD
Diffstat (limited to 'libre/mc-libre')
-rw-r--r-- | libre/mc-libre/PKGBUILD | 34 | ||||
-rw-r--r-- | libre/mc-libre/fs36962.diff | 77 | ||||
-rw-r--r-- | libre/mc-libre/unar.in | 64 |
3 files changed, 169 insertions, 6 deletions
diff --git a/libre/mc-libre/PKGBUILD b/libre/mc-libre/PKGBUILD index 1fb9fe810..70ccf5b93 100644 --- a/libre/mc-libre/PKGBUILD +++ b/libre/mc-libre/PKGBUILD @@ -1,12 +1,14 @@ -# $Id: PKGBUILD 95010 2013-08-03 09:40:52Z schuay $ +# $Id: PKGBUILD 97329 2013-09-18 07:33:03Z schuay $ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> # Maintainer: schuay <jakob.gruber@gmail.com> +# Maintainer (Parabola): André Silva <emulatorman@parabola.nu> +# Contributor (Parabola): Márcio Silva <coadde@parabola.nu> _pkgname=mc pkgname=mc-libre pkgver=4.8.10 -pkgrel=1 -pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander, with unar and arj recommendation included and nonfree unace recommendation removed" +pkgrel=2.1 +pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander, with unar support and arj recommendation included and nonfree unace recommendation removed" arch=('i686' 'x86_64' 'mips64el') url="http://www.ibiblio.org/mc/" license=('GPL') @@ -15,7 +17,6 @@ depends=( 'glib2' 'gpm' 'libssh2' - 'pcre' 'slang') makedepends=('libxt' 'libx11') optdepends=( @@ -45,11 +46,30 @@ backup=('etc/mc/edit.indent.rc' 'etc/mc/mc.keymap' 'etc/mc/mc.menu' 'etc/mc/sfs.ini') -source=("http://www.midnight-commander.org/downloads/${_pkgname}-${pkgver}.tar.bz2") +source=("http://www.midnight-commander.org/downloads/${_pkgname}-${pkgver}.tar.bz2" + "fs36962.diff" + "unar.in") + +prepare() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + ## add unar support removing nonfree urar on the source + rm -v src/vfs/extfs/helpers/urar.in + install -m644 $srcdir/unar.in src/vfs/extfs/helpers + sed -i '\|rar v -c- "${MC_EXT_FILENAME}" 2>/dev/null|d + s| unrar v -c-|unar| + ' misc/ext.d/archive.sh + sed -i 's|urar.in|unar.in|g' $(grep -rlI 'urar.in') + sed -i '\|src/vfs/extfs/helpers/urar| s|urar|unar|g + ' configure{,.ac} + sed -i 's|urar|unar|g' src/vfs/extfs/helpers/Makefile.{am,in} +} build() { cd "${srcdir}/${_pkgname}-${pkgver}" + patch -Np1 < "${srcdir}/fs36962.diff" + ./configure --prefix=/usr --sysconfdir=/etc --enable-vfs-smb \ --with-x --libexecdir=/usr/lib @@ -69,4 +89,6 @@ package() { -i "${pkgdir}/usr/lib/mc/extfs.d/s3+" } -md5sums=('eb4bdc23abd4fdfa14911d53d65c8186') +md5sums=('eb4bdc23abd4fdfa14911d53d65c8186' + '7f7cf5388a5390c2ed49965492f490aa' + 'f549a6c13ac0c3052986fcdc945648a9') diff --git a/libre/mc-libre/fs36962.diff b/libre/mc-libre/fs36962.diff new file mode 100644 index 000000000..0db5ed42b --- /dev/null +++ b/libre/mc-libre/fs36962.diff @@ -0,0 +1,77 @@ +diff -ur mc-4.8.10-orig/src/filemanager/file.c mc-4.8.10/src/filemanager/file.c +--- mc-4.8.10-orig/src/filemanager/file.c 2013-08-02 22:02:40.000000000 +0400 ++++ mc-4.8.10/src/filemanager/file.c 2013-09-17 09:59:30.699635407 +0400 +@@ -1272,8 +1272,8 @@ + + /** Initialize variables for progress bars */ + static FileProgressStatus +-panel_operate_init_totals (FileOperation operation, const WPanel * panel, const char *source, +- FileOpContext * ctx, filegui_dialog_type_t dialog_type) ++panel_operate_init_totals (const WPanel * panel, const char *source, FileOpContext * ctx, ++ filegui_dialog_type_t dialog_type) + { + FileProgressStatus status; + +@@ -1282,7 +1282,7 @@ + return FILE_CONT; + #endif + +- if (operation != OP_MOVE && verbose && file_op_compute_totals) ++ if (verbose && file_op_compute_totals) + { + ComputeDirSizeUI *ui; + +@@ -2378,13 +2378,6 @@ + mc_refresh (); + if (ctx->erase_at_end) + { +- /* remove files after move */ +- if (erase_list != NULL) +- { +- file_op_context_destroy_ui (ctx); +- file_op_context_create_ui (ctx, FALSE, FILEGUI_DIALOG_DELETE_ITEM); +- } +- + while (erase_list != NULL && return_status != FILE_ABORT) + { + struct link *lp = (struct link *) erase_list->data; +@@ -2792,14 +2785,12 @@ + { + if (operation == OP_DELETE) + dialog_type = FILEGUI_DIALOG_DELETE_ITEM; ++ else if (single_entry && S_ISDIR (selection (panel)->st.st_mode)) ++ dialog_type = FILEGUI_DIALOG_MULTI_ITEM; ++ else if (single_entry || force_single) ++ dialog_type = FILEGUI_DIALOG_ONE_ITEM; + else +- { +- dialog_type = ((operation != OP_COPY) || single_entry || force_single) +- ? FILEGUI_DIALOG_ONE_ITEM : FILEGUI_DIALOG_MULTI_ITEM; +- +- if (single_entry && (operation == OP_COPY) && S_ISDIR (selection (panel)->st.st_mode)) +- dialog_type = FILEGUI_DIALOG_MULTI_ITEM; +- } ++ dialog_type = FILEGUI_DIALOG_MULTI_ITEM; + } + + /* Initialize things */ +@@ -2844,8 +2835,8 @@ + else + source_with_vpath = vfs_path_append_new (panel->cwd_vpath, source, (char *) NULL); + #endif /* WITH_FULL_PATHS */ +- if (panel_operate_init_totals +- (operation, panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type) == FILE_CONT) ++ if (panel_operate_init_totals (panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type) ++ == FILE_CONT) + { + if (operation == OP_DELETE) + { +@@ -2936,7 +2927,7 @@ + goto clean_up; + } + +- if (panel_operate_init_totals (operation, panel, NULL, ctx, dialog_type) == FILE_CONT) ++ if (panel_operate_init_totals (panel, NULL, ctx, dialog_type) == FILE_CONT) + { + /* Loop for every file, perform the actual copy operation */ + for (i = 0; i < panel->count; i++) diff --git a/libre/mc-libre/unar.in b/libre/mc-libre/unar.in new file mode 100644 index 000000000..3ba37b019 --- /dev/null +++ b/libre/mc-libre/unar.in @@ -0,0 +1,64 @@ +#! /bin/sh + +UNAR=`which unar 2>/dev/null` + +# Define $UNAR version +UNAR_VERSION=`$UNAR -v` + +mcunar4fs_list () +{ + $UNAR -q "$1" | @AWK@ -v uid=`id -u` -v gid=`id -g` ' +BEGIN { flag=0 } +/^-------/ { flag++; if (flag > 1) exit 0; next } +flag==1 { + str = substr($0, 2) + getline + split($4, a, "-") + if (index($6, "D") != 0) + $6="drwxr-xr-x" + else + if (index($6, ".") != 0) + $6="-rw-r--r--" + printf "%s 1 %s %s %d %02d/%02d/%02d %s ./%s\n", $6, uid, gid, $1, a[2], a[1], a[3], $5, str +}' +} + +mcunarfs_list () +{ + $UNAR -q "$1" | @AWK@ -v uid=`id -u` -v gid=`id -g` ' +BEGIN { flag=0 } +/^-----------/ { flag++; if (flag > 1) exit 0; next } +flag==1 { + split($5, a, "-") + if (index($1, "D") != 0) + $1="drwxr-xr-x" + else + if (index($1, ".") != 0) + $1="-rw-r--r--" + printf "%s 1 %s %s %d %02d/%02d/%02d %s ./%s\n", $1, uid, gid, $2, a[2], a[1], a[3], $6, $8 +}' +} + +mcunarfs_list () +{ + mcunarfs_list "$@" +} + +mcunarfs_copyout () +{ + $UNAR -q "$1" "$2" > "$3" +} + +umask 077 + +cmd="$1" +shift + +case "$cmd" in + # Workaround for a bug in mc - directories must precede files to + # avoid duplicate entries, so we sort output by filenames + list) mcunarfs_list "$@" | sort -k 8 ;; + copyout) mcunarfs_copyout "$@" ;; + *) exit 1 ;; +esac +exit 0 |