app-misc/clifm: Add back USE flags for various compiled features

Note clifm-1.9 and clifm-1.10 don't have the 'fzf' or 'trash' USE flags;
their associated compile options cause compilation errors. In that case
the features are enabled by default, and, 'app-shells/fzf' becomes an
optional dependency.

Signed-off-by: Michael Yang <michaelzcyang@gmail.com>
This commit is contained in:
Michael Yang
2023-06-05 21:49:58 -07:00
parent c7fed96579
commit 947dc7fb34
7 changed files with 345 additions and 74 deletions

View File

@@ -6,7 +6,7 @@ EAPI=8
DESCRIPTION="The command line file manager"
HOMEPAGE="https://github.com/leo-arch/clifm"
inherit optfeature xdg
inherit flag-o-matic optfeature xdg
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/leo-arch/clifm.git"
@@ -20,22 +20,58 @@ fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
IUSE="archive +bleach emoji +highlight icons +lira +magic nerdfonts nls
posix qsort +suggestions +tags"
PATCHES=(
"${FILESDIR}/${P}-gentoo-skip-manpage-compression.patch"
)
DEPEND="
LIB="
sys-libs/libcap
sys-libs/readline:=
sys-apps/acl
sys-apps/file
magic? ( sys-apps/file )
"
DEPEND="
${LIB}
nls? ( sys-devel/gettext )
"
RDEPEND="
${LIB}
archive? (
app-arch/atool
sys-fs/archivemount
)
nls? ( virtual/libintl )
"
RDEPEND="${DEPEND}"
BDEPEND=""
src_compile() {
# emoji > nerdfonts > icons
if ! use emoji; then # support for emoji-icons is default
if use nerdfonts; then
append-cflags "-D_NERD"
elif use icons; then
append-cflags "-D_ICONS_IN_TERMINAL"
fi
# do not append -D_NO_ICONS here, causes compilation error
fi
use posix && append-cflags "-D_BE_POSIX"
use archive || append-cflags "-D_NO_ARCHIVING"
use bleach || append-cflags "-D_NO_BLEACH"
use nls || append-cflags "-D_NO_GETTEXT"
# -D_NO_FZF causes compile error
use highlight || append-cflags "-D_NO_HIGHLIGHT"
use lira || append-cflags "-D_NO_LIRA"
use magic || append-cflags "-D_NO_MAGIC"
use suggestions || append-cflags "-D_NO_SUGGESTIONS"
use tags || append-cflags "-D_NO_TAGS"
# -D_NO_TRASH causes compile error
use qsort && append-cflags "-D_TOURBIN_QSORT"
# makefile defaults to /usr/local
emake PREFIX="/usr"
}
@@ -47,14 +83,23 @@ src_install() {
}
pkg_postinst() {
optfeature_header "Install additional optional functionality:"
optfeature "fzf tab completion and more" app-shells/fzf
optfeature "mounting/unmounting support" sys-fs/udisks sys-apps/udevil
optfeature_header "Install optional archiving support (if you didn't use -D_NO_ARCHIVING):"
optfeature "zstd operations" app-arch/zstd
optfeature "archive extraction/unpacking" app-arch/atool
optfeature "mounting archives" sys-fs/archivemount
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
xdg_pkg_postinst
if use emoji; then
use nerdfonts && ewarn "Warning: Use flag 'nerdfonts' overridden by 'emoji'"
use icons && ewarn "Warning: Use flag 'icons' overridden by 'emoji'"
elif use nerdfonts; then
use icons && ewarn "Warning: Use flag 'icons' overridden by 'nerdfonts'"
else
use icons || ewarn "Warning: as none of 'emoji', 'nerdfonts', or 'icons' were selected, \
'emoji' was implicitly enabled to prevent compilation error"
fi
optfeature_header "Install additional optional functionality:"
optfeature "mounting/unmounting support" sys-apps/udevil sys-fs/udisks
optfeature "fzf tab completion and more" app-shells/fzf
if use archive; then
optfeature_header "Install additional archive support:"
optfeature "zstd support" app-arch/zstd
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
fi
}

View File

@@ -6,7 +6,7 @@ EAPI=8
DESCRIPTION="The command line file manager"
HOMEPAGE="https://github.com/leo-arch/clifm"
inherit optfeature xdg
inherit flag-o-matic optfeature xdg
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/leo-arch/clifm.git"
@@ -20,22 +20,61 @@ fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
IUSE="archive +bleach emoji fzf +highlight icons +lira +magic nerdfonts nls
posix +profiles qsort +suggestions +tags +trash"
PATCHES=(
"${FILESDIR}/${P}-gentoo-skip-manpage-compression.patch"
)
DEPEND="
LIB="
sys-libs/libcap
sys-libs/readline:=
sys-apps/acl
sys-apps/file
magic? ( sys-apps/file )
"
DEPEND="
${LIB}
nls? ( sys-devel/gettext )
"
RDEPEND="
${LIB}
archive? (
app-arch/atool
sys-fs/archivemount
)
fzf? ( app-shells/fzf )
nls? ( virtual/libintl )
"
RDEPEND="${DEPEND}"
BDEPEND=""
src_compile() {
# emoji > nerdfonts > icons
if ! use emoji; then # support for emoji-icons is default
if use nerdfonts; then
append-cflags "-D_NERD"
elif use icons; then
append-cflags "-D_ICONS_IN_TERMINAL"
else
append-cflags "-D_NO_ICONS"
fi
fi
use posix && append-cflags "-D_BE_POSIX"
use archive || append-cflags "-D_NO_ARCHIVING"
use bleach || append-cflags "-D_NO_BLEACH"
use nls || append-cflags "-D_NO_GETTEXT"
use fzf || append-cflags "-D_NO_FZF"
use highlight || append-cflags "-D_NO_HIGHLIGHT"
use lira || append-cflags "-D_NO_LIRA"
use magic || append-cflags "-D_NO_MAGIC"
use suggestions || append-cflags "-D_NO_SUGGESTIONS"
use tags || append-cflags "-D_NO_TAGS"
use profiles || append-cflags "-D_NO_PROFILES"
use trash || append-cflags "-D_NO_TRASH"
use qsort && append-cflags "-D_TOURBIN_QSORT"
# makefile defaults to /usr/local
emake PREFIX="/usr"
}
@@ -47,14 +86,19 @@ src_install() {
}
pkg_postinst() {
optfeature_header "Install additional optional functionality:"
optfeature "fzf tab completion and more" app-shells/fzf
optfeature "mounting/unmounting support" sys-fs/udisks sys-apps/udevil
optfeature_header "Install optional archiving support (if you didn't use -D_NO_ARCHIVING):"
optfeature "zstd operations" app-arch/zstd
optfeature "archive extraction/unpacking" app-arch/atool
optfeature "mounting archives" sys-fs/archivemount
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
xdg_pkg_postinst
if use emoji; then
use nerdfonts && ewarn "Warning: Use flag 'nerdfonts' overridden by 'emoji'"
use icons && ewarn "Warning: Use flag 'icons' overridden by 'emoji'"
elif use nerdfonts; then
use icons && ewarn "Warning: Use flag 'icons' overridden by 'nerdfonts'"
fi
optfeature_header "Install additional optional functionality:"
optfeature "mounting/unmounting support" sys-apps/udevil sys-fs/udisks
if use archive; then
optfeature_header "Install additional archive support:"
optfeature "zstd support" app-arch/zstd
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
fi
}

View File

@@ -6,7 +6,7 @@ EAPI=8
DESCRIPTION="The command line file manager"
HOMEPAGE="https://github.com/leo-arch/clifm"
inherit optfeature xdg
inherit flag-o-matic optfeature xdg
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/leo-arch/clifm.git"
@@ -20,22 +20,60 @@ fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
IUSE="archive +bleach emoji fzf +highlight icons +lira +magic nerdfonts nls
posix qsort +suggestions +tags +trash"
PATCHES=(
"${FILESDIR}/${P}-gentoo-skip-manpage-compression.patch"
)
DEPEND="
LIB="
sys-libs/libcap
sys-libs/readline:=
sys-apps/acl
sys-apps/file
magic? ( sys-apps/file )
"
DEPEND="
${LIB}
nls? ( sys-devel/gettext )
"
RDEPEND="
${LIB}
archive? (
app-arch/atool
sys-fs/archivemount
)
fzf? ( app-shells/fzf )
nls? ( virtual/libintl )
"
RDEPEND="${DEPEND}"
BDEPEND=""
src_compile() {
# emoji > nerdfonts > icons
if ! use emoji; then # support for emoji-icons is default
if use nerdfonts; then
append-cflags "-D_NERD"
elif use icons; then
append-cflags "-D_ICONS_IN_TERMINAL"
else
append-cflags "-D_NO_ICONS"
fi
fi
use posix && append-cflags "-D_BE_POSIX"
use archive || append-cflags "-D_NO_ARCHIVING"
use bleach || append-cflags "-D_NO_BLEACH"
use nls || append-cflags "-D_NO_GETTEXT"
use fzf || append-cflags "-D_NO_FZF"
use highlight || append-cflags "-D_NO_HIGHLIGHT"
use lira || append-cflags "-D_NO_LIRA"
use magic || append-cflags "-D_NO_MAGIC"
use suggestions || append-cflags "-D_NO_SUGGESTIONS"
use tags || append-cflags "-D_NO_TAGS"
use trash || append-cflags "-D_NO_TRASH"
use qsort && append-cflags "-D_TOURBIN_QSORT"
# makefile defaults to /usr/local
emake PREFIX="/usr"
}
@@ -47,14 +85,19 @@ src_install() {
}
pkg_postinst() {
optfeature_header "Install additional optional functionality:"
optfeature "fzf tab completion and more" app-shells/fzf
optfeature "mounting/unmounting support" sys-fs/udisks sys-apps/udevil
optfeature_header "Install optional archiving support (if you didn't use -D_NO_ARCHIVING):"
optfeature "zstd operations" app-arch/zstd
optfeature "archive extraction/unpacking" app-arch/atool
optfeature "mounting archives" sys-fs/archivemount
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
xdg_pkg_postinst
if use emoji; then
use nerdfonts && ewarn "Warning: Use flag 'nerdfonts' overridden by 'emoji'"
use icons && ewarn "Warning: Use flag 'icons' overridden by 'emoji'"
elif use nerdfonts; then
use icons && ewarn "Warning: Use flag 'icons' overridden by 'nerdfonts'"
fi
optfeature_header "Install additional optional functionality:"
optfeature "mounting/unmounting support" sys-apps/udevil sys-fs/udisks
if use archive; then
optfeature_header "Install additional archive support:"
optfeature "zstd support" app-arch/zstd
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
fi
}

View File

@@ -6,7 +6,7 @@ EAPI=8
DESCRIPTION="The command line file manager"
HOMEPAGE="https://github.com/leo-arch/clifm"
inherit optfeature xdg
inherit flag-o-matic optfeature xdg
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/leo-arch/clifm.git"
@@ -20,22 +20,58 @@ fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
IUSE="archive +bleach emoji +highlight icons +lira +magic nerdfonts nls
posix qsort +suggestions +tags"
PATCHES=(
"${FILESDIR}/${P}-gentoo-skip-manpage-compression.patch"
)
DEPEND="
LIB="
sys-libs/libcap
sys-libs/readline:=
sys-apps/acl
sys-apps/file
magic? ( sys-apps/file )
"
DEPEND="
${LIB}
nls? ( sys-devel/gettext )
"
RDEPEND="
${LIB}
archive? (
app-arch/atool
sys-fs/archivemount
)
nls? ( virtual/libintl )
"
RDEPEND="${DEPEND}"
BDEPEND=""
src_compile() {
# emoji > nerdfonts > icons
if ! use emoji; then # support for emoji-icons is default
if use nerdfonts; then
append-cflags "-D_NERD"
elif use icons; then
append-cflags "-D_ICONS_IN_TERMINAL"
fi
# do not append -D_NO_ICONS here, causes compilation error
fi
use posix && append-cflags "-D_BE_POSIX"
use archive || append-cflags "-D_NO_ARCHIVING"
use bleach || append-cflags "-D_NO_BLEACH"
use nls || append-cflags "-D_NO_GETTEXT"
# -D_NO_FZF causes compile error
use highlight || append-cflags "-D_NO_HIGHLIGHT"
use lira || append-cflags "-D_NO_LIRA"
use magic || append-cflags "-D_NO_MAGIC"
use suggestions || append-cflags "-D_NO_SUGGESTIONS"
use tags || append-cflags "-D_NO_TAGS"
# -D_NO_TRASH causes compile error
use qsort && append-cflags "-D_TOURBIN_QSORT"
# makefile defaults to /usr/local
emake PREFIX="/usr"
}
@@ -47,14 +83,23 @@ src_install() {
}
pkg_postinst() {
optfeature_header "Install additional optional functionality:"
optfeature "fzf tab completion and more" app-shells/fzf
optfeature "mounting/unmounting support" sys-fs/udisks sys-apps/udevil
optfeature_header "Install optional archiving support (if you didn't use -D_NO_ARCHIVING):"
optfeature "zstd operations" app-arch/zstd
optfeature "archive extraction/unpacking" app-arch/atool
optfeature "mounting archives" sys-fs/archivemount
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
xdg_pkg_postinst
if use emoji; then
use nerdfonts && ewarn "Warning: Use flag 'nerdfonts' overridden by 'emoji'"
use icons && ewarn "Warning: Use flag 'icons' overridden by 'emoji'"
elif use nerdfonts; then
use icons && ewarn "Warning: Use flag 'icons' overridden by 'nerdfonts'"
else
use icons || ewarn "Warning: as none of 'emoji', 'nerdfonts', or 'icons' were selected, \
'emoji' was implicitly enabled to prevent compilation error"
fi
optfeature_header "Install additional optional functionality:"
optfeature "mounting/unmounting support" sys-apps/udevil sys-fs/udisks
optfeature "fzf tab completion and more" app-shells/fzf
if use archive; then
optfeature_header "Install additional archive support:"
optfeature "zstd support" app-arch/zstd
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
fi
}

View File

@@ -6,7 +6,7 @@ EAPI=8
DESCRIPTION="The command line file manager"
HOMEPAGE="https://github.com/leo-arch/clifm"
inherit optfeature xdg
inherit flag-o-matic optfeature xdg
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/leo-arch/clifm.git"
@@ -20,22 +20,61 @@ fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
IUSE="archive +bleach emoji fzf +highlight icons +lira +magic nerdfonts nls
posix +profiles qsort +suggestions +tags +trash"
PATCHES=(
"${FILESDIR}/${P}-gentoo-skip-manpage-compression.patch"
)
DEPEND="
LIB="
sys-libs/libcap
sys-libs/readline:=
sys-apps/acl
sys-apps/file
magic? ( sys-apps/file )
"
DEPEND="
${LIB}
nls? ( sys-devel/gettext )
"
RDEPEND="
${LIB}
archive? (
app-arch/atool
sys-fs/archivemount
)
fzf? ( app-shells/fzf )
nls? ( virtual/libintl )
"
RDEPEND="${DEPEND}"
BDEPEND=""
src_compile() {
# emoji > nerdfonts > icons
if ! use emoji; then # support for emoji-icons is default
if use nerdfonts; then
append-cflags "-D_NERD"
elif use icons; then
append-cflags "-D_ICONS_IN_TERMINAL"
else
append-cflags "-D_NO_ICONS"
fi
fi
use posix && append-cflags "-D_BE_POSIX"
use archive || append-cflags "-D_NO_ARCHIVING"
use bleach || append-cflags "-D_NO_BLEACH"
use nls || append-cflags "-D_NO_GETTEXT"
use fzf || append-cflags "-D_NO_FZF"
use highlight || append-cflags "-D_NO_HIGHLIGHT"
use lira || append-cflags "-D_NO_LIRA"
use magic || append-cflags "-D_NO_MAGIC"
use suggestions || append-cflags "-D_NO_SUGGESTIONS"
use tags || append-cflags "-D_NO_TAGS"
use profiles || append-cflags "-D_NO_PROFILES"
use trash || append-cflags "-D_NO_TRASH"
use qsort && append-cflags "-D_TOURBIN_QSORT"
# makefile defaults to /usr/local
emake PREFIX="/usr"
}
@@ -47,14 +86,19 @@ src_install() {
}
pkg_postinst() {
optfeature_header "Install additional optional functionality:"
optfeature "fzf tab completion and more" app-shells/fzf
optfeature "mounting/unmounting support" sys-fs/udisks sys-apps/udevil
optfeature_header "Install optional archiving support (if you didn't use -D_NO_ARCHIVING):"
optfeature "zstd operations" app-arch/zstd
optfeature "archive extraction/unpacking" app-arch/atool
optfeature "mounting archives" sys-fs/archivemount
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
xdg_pkg_postinst
if use emoji; then
use nerdfonts && ewarn "Warning: Use flag 'nerdfonts' overridden by 'emoji'"
use icons && ewarn "Warning: Use flag 'icons' overridden by 'emoji'"
elif use nerdfonts; then
use icons && ewarn "Warning: Use flag 'icons' overridden by 'nerdfonts'"
fi
optfeature_header "Install additional optional functionality:"
optfeature "mounting/unmounting support" sys-apps/udevil sys-fs/udisks
if use archive; then
optfeature_header "Install additional archive support:"
optfeature "zstd support" app-arch/zstd
optfeature "extracting .iso files" app-arch/p7zip
optfeature "creating .iso files" app-cdr/cdrtools
fi
}

View File

@@ -2,11 +2,11 @@ Skip manpage compression in makefile.
--- a/Makefile
+++ b/Makefile
@@ -54,7 +54,6 @@ install: $(BIN)
$(INSTALL) -m 0755 -d $(DESTDIR)$(DATADIR)/zsh/site-functions
@@ -55,7 +55,6 @@ install: $(BIN)
$(INSTALL) -m 0755 -d $(DESTDIR)$(DESKTOPPREFIX)
$(INSTALL) -m 0755 -d $(DESTDIR)$(DESKTOPICONPREFIX)/scalable/apps
$(INSTALL) -m 0644 misc/manpage $(DESTDIR)$(MANDIR)/man1/$(BIN).1
- gzip -f -- $(DESTDIR)$(MANDIR)/man1/$(BIN).1
$(INSTALL) -m 0644 misc/completions.bash $(DESTDIR)$(DATADIR)/bash-completion/completions/$(BIN)
$(INSTALL) -m 0644 misc/completions.zsh $(DESTDIR)$(DATADIR)/zsh/site-functions/_$(BIN)
$(INSTALL) -m 0644 misc/$(BIN).desktop $(DESTDIR)$(DESKTOPPREFIX)
$(INSTALL) -m 0644 misc/completions.fish $(DESTDIR)$(DATADIR)/fish/vendor_completions.d/$(BIN).fish

View File

@@ -3,13 +3,63 @@
<pkgmetadata>
<longdescription>
The command line file manager.
By default most features are enabled, customizing this requires adding CFLAGS:
More information about the use flags can be found here:
https://github.com/leo-arch/clifm/blob/master/src/README.md#compiling-features-inout
</longdescription>
<maintainer type="person">
<email>michaelzcyang@gmail.com</email>
<name>Michael Yang</name>
</maintainer>
<use>
<flag name="archive">
Archive manipulation support (extraction/decompression, listing, repacking, mounting)
</flag>
<flag name="bleach">
Support for Bleach, the built-in file names cleaner
</flag>
<flag name="emoji">
Enable icons and set them to use the noto-emoji font (see <pkg>media-fonts/noto-emoji</pkg>)
</flag>
<flag name="fzf">
Enable support for tab completion via <pkg>app-shells/fzf</pkg>
</flag>
<flag name="highlight">
Syntax highlighting support
</flag>
<flag name="icons">
Enable icons and set them to use icons-in-terminal (see https://github.com/sebastiencs/icons-in-terminal)
</flag>
<flag name="lira">
Add Lira as the default built-in resource opener
</flag>
<flag name="magic">
Use libmagic from <pkg>sys-apps/file</pkg> to query file MIME types (instead of using the output of the file command)
</flag>
<flag name="nerdfonts">
Enable icons and set them to use NerdFonts
</flag>
<flag name="nls">
Add translations support (via <pkg>sys-devel/gettext</pkg>)
</flag>
<flag name="posix">
Force POSIX.1-2008 compliance, removing support for Linux-specific "file birth time" information
</flag>
<flag name="profiles">
Enable support for creating, switching, renaming, and deleting of user profiles
</flag>
<flag name="qsort">
Use Alexey Tourbin's faster qsort implementation
</flag>
<flag name="suggestions">
Autosuggestion support
</flag>
<flag name="tags">
Built-in file tagging system support
</flag>
<flag name="trash">
FreeDesktop compliant trash system support
</flag>
</use>
<upstream>
<remote-id type="github">leo-arch/clifm</remote-id>
</upstream>