Hi,
Here is an update for lfm to version 3.1. It has been rewritten
almost from scratch, here are the most important changes (see [0]):
* move from python 2 to python 3
* pyview has been removed in favour of less(1)
* many backward incompatible changes, notably ~/.lfmrc has been
deprecated in favour of ~/.config/lfmrc/...
Port-wise, despite the size of the diff, there is not much to say.
Nonetheless, data files were not installed where they should.
As such, i've brought back the 2.3 behaviour and chose to install
everything as data_files, instead of using a post-install hook. We
would have needed to patch setup.py anyway.
I met no issues while testing, but given the number of features, i
indeed did not test all of them.
I'm not used to deal with python stuff, so feedback is very welcome :)
Charlène.
[0] https://inigo.katxi.org/devel/lfm/NEWS
Index: Makefile
===================================================================
RCS file: /cvs/ports/misc/lfm/Makefile,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 Makefile
--- Makefile 24 Mar 2020 15:12:39 -0000 1.8
+++ Makefile 29 Dec 2020 10:01:42 -0000
@@ -2,9 +2,8 @@
COMMENT = powerful curses interface python file manager
-MODPY_EGG_VERSION = 2.3
+MODPY_EGG_VERSION = 3.1
DISTNAME = lfm-${MODPY_EGG_VERSION}
-REVISION= 2
CATEGORIES = misc
@@ -13,14 +12,14 @@ HOMEPAGE = https://inigo.katxi.org/deve
# GPLv3+
PERMIT_PACKAGE = Yes
-MODPY_PI = Yes
-
MODULES = lang/python
+MODPY_PI = Yes
+MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
+
NO_TEST = Yes
-post-install:
- ${INSTALL_MAN} ${WRKSRC}/lfm.1 ${PREFIX}/man/man1
- ${INSTALL_MAN} ${WRKSRC}/pyview.1 ${PREFIX}/man/man1
+post-patch:
+ sed -i 's,/usr,${LOCALBASE},g' ${WRKSRC}/lfm.1
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/misc/lfm/distinfo,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 distinfo
--- distinfo 18 Jan 2015 03:14:31 -0000 1.2
+++ distinfo 29 Dec 2020 10:01:42 -0000
@@ -1,2 +1,2 @@
-SHA256 (lfm-2.3.tar.gz) = 6N8YjBfU1nbPQcyun2v4KqDF/zlC1arZhZkK0URslQQ=
-SIZE (lfm-2.3.tar.gz) = 119120
+SHA256 (lfm-3.1.tar.gz) = L3MaJpQNsWj5yIMM4YbYdplcSFd1coiAUva84Dd6v8o=
+SIZE (lfm-3.1.tar.gz) = 88876
Index: patches/patch-lfm___init___py
===================================================================
RCS file: patches/patch-lfm___init___py
diff -N patches/patch-lfm___init___py
--- patches/patch-lfm___init___py 17 Jul 2011 20:23:46 -0000 1.1.1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-$OpenBSD: patch-lfm___init___py,v 1.1.1.1 2011/07/17 20:23:46 sthen Exp $
-
-Change default .rar handler
-
---- lfm/__init__.py.orig Thu Jul 14 11:45:30 2011
-+++ lfm/__init__.py Thu Jul 14 11:46:01 2011
-@@ -46,7 +46,7 @@ sysprogs = { 'tar': 'tar',
- 'gzip': 'gzip',
- 'zip': 'zip',
- 'unzip': 'unzip',
-- 'rar': 'rar',
-+ 'rar': 'unrar',
- '7z': '7z',
- 'xz': 'xz',
- 'grep': 'grep',
Index: patches/patch-lfm_common_py
===================================================================
RCS file: patches/patch-lfm_common_py
diff -N patches/patch-lfm_common_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lfm_common_py 29 Dec 2020 10:01:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Change default handler for rar files
+
+Index: lfm/common.py
+--- lfm/common.py.orig
++++ lfm/common.py
+@@ -37,7 +37,7 @@ SYSPROGS = {'tar': 'tar',
+ 'gzip': 'gzip',
+ 'zip': 'zip',
+ 'unzip': 'unzip',
+- 'rar': 'rar',
++ 'rar': 'unrar',
+ '7z': '7z',
+ 'xz': 'xz',
+ 'lzip': 'lzip',
Index: patches/patch-lfm_compress_py
===================================================================
RCS file: /cvs/ports/misc/lfm/patches/patch-lfm_compress_py,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 patch-lfm_compress_py
--- patches/patch-lfm_compress_py 17 Jul 2011 20:23:46 -0000 1.1.1.1
+++ patches/patch-lfm_compress_py 29 Dec 2020 10:01:43 -0000
@@ -2,14 +2,42 @@ $OpenBSD: patch-lfm_compress_py,v 1.1.1.
Incompatible GNU tar option
---- lfm/compress.py.orig Thu Jul 14 12:19:36 2011
-+++ lfm/compress.py Thu Jul 14 12:19:48 2011
-@@ -111,7 +111,7 @@ class PackagerTGZ(PackagerBase):
- exts = ('.tar.gz', '.tgz', '.tar.Z')
+Index: lfm/compress.py
+--- lfm/compress.py.orig
++++ lfm/compress.py
+@@ -108,7 +108,7 @@ class PackagerTGZ(PackagerBase):
need_tar = True
- uncompress_prog = compress_prog = sysprogs['gzip']
-- uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + sysprogs['tar'] + ' xfi -'
-+ uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + sysprogs['tar'] + ' xf -'
- compress_cmd = sysprogs['tar'] + ' cf - \"%s\" | ' + compress_prog + ' > \"%s\"'
- compressXXX_cmd = sysprogs['tar'] + ' cf - %s | ' + compress_prog + ' > \"%s\"'
+ can_vfs = True
+ uncompress_prog = compress_prog = SYSPROGS['gzip']
+- uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xfi -'
++ uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xf -'
+ compress_cmd = SYSPROGS['tar'] + ' cf - \"%s\" | ' + compress_prog + ' > \"%s\"'
+ compress2_cmd = SYSPROGS['tar'] + ' cf - %s | ' + compress_prog + ' > \"%s\"'
+
+@@ -130,7 +130,7 @@ class PackagerTXZ(PackagerBase):
+ need_tar = True
+ can_vfs = True
+ uncompress_prog = compress_prog = SYSPROGS['xz']
+- uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xfi -'
++ uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xf -'
+ compress_cmd = SYSPROGS['tar'] + ' cf - \"%s\" | ' + compress_prog + ' > \"%s\"'
+ compress2_cmd = SYSPROGS['tar'] + ' cf - %s | ' + compress_prog + ' > \"%s\"'
+
+@@ -152,7 +152,7 @@ class PackagerTLZ(PackagerBase):
+ need_tar = True
+ can_vfs = True
+ uncompress_prog = compress_prog = SYSPROGS['lzip']
+- uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xfi -'
++ uncompress_cmd = uncompress_prog + ' -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xf -'
+ compress_cmd = SYSPROGS['tar'] + ' cf - \"%s\" | ' + compress_prog + ' > \"%s\"'
+ compress2_cmd = SYSPROGS['tar'] + ' cf - %s | ' + compress_prog + ' > \"%s\"'
+
+@@ -174,7 +174,7 @@ class PackagerTLZ4(PackagerBase):
+ need_tar = True
+ can_vfs = True
+ uncompress_prog = compress_prog = SYSPROGS['lz4']
+- uncompress_cmd = uncompress_prog + ' -q -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xfi -'
++ uncompress_cmd = uncompress_prog + ' -q -d \"%s\" -c | ' + SYSPROGS['tar'] + ' xf -'
+ compress_cmd = SYSPROGS['tar'] + ' cf - \"%s\" | ' + compress_prog + ' -9 -q > \"%s\"'
+ compress2_cmd = SYSPROGS['tar'] + ' cf - %s | ' + compress_prog + ' -9 -q > \"%s\"'
Index: patches/patch-setup_py
===================================================================
RCS file: /cvs/ports/misc/lfm/patches/patch-setup_py,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 patch-setup_py
--- patches/patch-setup_py 17 Jul 2011 20:23:46 -0000 1.1.1.1
+++ patches/patch-setup_py 29 Dec 2020 10:01:43 -0000
@@ -1,15 +1,61 @@
$OpenBSD: patch-setup_py,v 1.1.1.1 2011/07/17 20:23:46 sthen Exp $
-Fix manpage path
+Install the manpage and docs according to our file hierarchy, otherwise:
+* the manpage was installed in /usr/share/man/man1
+* default configuration and doc files where put in sites-packages
---- setup.py.orig Thu Jul 14 11:45:34 2011
-+++ setup.py Thu Jul 14 11:45:45 2011
-@@ -57,7 +57,7 @@ setup(name = 'lfm',
- 'lfm/config', 'lfm/pyview'],
- scripts = ['lfm/lfm', 'lfm/pyview'],
- data_files = [('share/doc/lfm', DOC_FILES),
-- ('share/man/man1', MAN_FILES)]
-+ ('man/man1', MAN_FILES)]
- # **addargs
- )
+Index: setup.py
+--- setup.py.orig
++++ setup.py
+@@ -50,33 +50,21 @@ if 'bdist_wheel' in argv:
+ raise RuntimeError("This setup.py does not support wheels")
+ import shutil
+-try:
+- try:
+- os.mkdir('lfm/doc')
+- for f in DOC_FILES:
+- shutil.copy2(f, 'lfm/doc')
+- os.symlink('../etc', 'lfm/etc')
+- except:
+- pass
+- setup(name='lfm',
+- version='3.1',
+- description=__doc__.split("\n")[2],
+- long_description='\n'.join(__doc__.split("\n")[2:]).strip(),
+- author='Iñigo Serna',
+- author_email='inigoserna@gmail.com',
+- url='https://inigo.katxi.org/devel/lfm',
+- platforms='POSIX',
+- keywords=['file manager shell cli'],
+- classifiers=filter(None, classifiers.split("\n")),
+- license='GPL3+',
+- packages=['lfm'],
+- scripts=['lfm/lfm'],
+- data_files=[(join(prefix, 'share/man/man1'), MAN_FILES)],
+- package_data={'': CONFIG_FILES + [join('doc', f) for f in DOC_FILES]},
+- )
+-finally:
+- shutil.rmtree('lfm/doc')
+- try:
+- os.unlink('lfm/etc')
+- except IsADirectoryError:
+- pass
++setup(name='lfm',
++ version='3.1',
++ description=__doc__.split("\n")[2],
++ long_description='\n'.join(__doc__.split("\n")[2:]).strip(),
++ author='Iñigo Serna',
++ author_email='inigoserna@gmail.com',
++ url='https://inigo.katxi.org/devel/lfm',
++ platforms='POSIX',
++ keywords=['file manager shell cli'],
++ classifiers=filter(None, classifiers.split("\n")),
++ license='GPL3+',
++ packages=['lfm'],
++ scripts=['lfm/lfm'],
++ data_files=[(join(prefix, 'man/man1'), MAN_FILES),
++ (join(prefix, 'share/examples/lfm'), CONFIG_FILES),
++ (join(prefix, 'share/doc/lfm'), DOC_FILES),
++ ],
++)
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/misc/lfm/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 PLIST
--- pkg/PLIST 16 Sep 2011 22:08:32 -0000 1.2
+++ pkg/PLIST 29 Dec 2020 10:01:43 -0000
@@ -1,34 +1,36 @@
@comment $OpenBSD: PLIST,v 1.2 2011/09/16 22:08:32 sthen Exp $
bin/lfm
-bin/pyview
lib/python${MODPY_VERSION}/site-packages/lfm/
lib/python${MODPY_VERSION}/site-packages/lfm-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
lib/python${MODPY_VERSION}/site-packages/lfm/__init__.py
-lib/python${MODPY_VERSION}/site-packages/lfm/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}actions.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}compress.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}folders.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}key_defs.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}lfm.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}preferences.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}ui.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}ui_widgets.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/lfm/actions.py
-lib/python${MODPY_VERSION}/site-packages/lfm/actions.pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/common.py
lib/python${MODPY_VERSION}/site-packages/lfm/compress.py
-lib/python${MODPY_VERSION}/site-packages/lfm/compress.pyc
-lib/python${MODPY_VERSION}/site-packages/lfm/config.py
-lib/python${MODPY_VERSION}/site-packages/lfm/config.pyc
-lib/python${MODPY_VERSION}/site-packages/lfm/files.py
-lib/python${MODPY_VERSION}/site-packages/lfm/files.pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/folders.py
+lib/python${MODPY_VERSION}/site-packages/lfm/key_defs.py
lib/python${MODPY_VERSION}/site-packages/lfm/lfm.py
-lib/python${MODPY_VERSION}/site-packages/lfm/lfm.pyc
-lib/python${MODPY_VERSION}/site-packages/lfm/messages.py
-lib/python${MODPY_VERSION}/site-packages/lfm/messages.pyc
-lib/python${MODPY_VERSION}/site-packages/lfm/pyview.py
-lib/python${MODPY_VERSION}/site-packages/lfm/pyview.pyc
+lib/python${MODPY_VERSION}/site-packages/lfm/preferences.py
+lib/python${MODPY_VERSION}/site-packages/lfm/ui.py
+lib/python${MODPY_VERSION}/site-packages/lfm/ui_widgets.py
lib/python${MODPY_VERSION}/site-packages/lfm/utils.py
-lib/python${MODPY_VERSION}/site-packages/lfm/utils.pyc
-lib/python${MODPY_VERSION}/site-packages/lfm/vfs.py
-lib/python${MODPY_VERSION}/site-packages/lfm/vfs.pyc
@man man/man1/lfm.1
-@man man/man1/pyview.1
share/doc/lfm/
share/doc/lfm/COPYING
-share/doc/lfm/ChangeLog
share/doc/lfm/NEWS
share/doc/lfm/README
-share/doc/lfm/README.pyview
share/doc/lfm/TODO
+share/examples/lfm/
+share/examples/lfm/lfm-default.keys
+share/examples/lfm/lfm-default.theme
No comments:
Post a Comment