unzip-iconv is installed and preferred, but installing gnome2 next leads to conflict.
'pkg set -o unzip:unzip-iconv' doesn't help, probably because of next time 'pkg install gnome2' runs it updates origins backward to unzip.
Is it possible to change deps from unzip/unrar to their -iconv analogues, since FreeBSD is developed for multilingual purposes?
How-To-Repeat: install unzip-iconv and then gnome2
yes, they conflict. The conflict is noted in the makefile, so it's known. Basically unzip-iconv is a slave port that builds iconv with WITH_ICONV defined. The whole thing is probably a bad idea.
My recommendation is build unzip from source like this:
> cd /usr/ports/archivers/unzip
> make WITH_ICONV=yes ; make install
The idea is you don't even mess with the ill conceived archivers/unzip_iconv port. This should have been an option for unzip all along.
(The reason it's a bad idea is because unzip is used as an archiver for ports itself so really unzip_iconv can NEVER been installed practically)
bapt, should we merge unzip-iconv into unzip and add iconv as an option?
Could you be so kind and do it?
(In reply to John Marino from comment #2)
> bapt, should we merge unzip-iconv into unzip and add iconv as an option?
okay, I'll try.
Somehow we got this far without ever talking to the port maintainer, ehaupt@
not only does archivers/unzip-iconv have be merged and remove, but for the same reasons we have to merge in russian/unzip, chinese/unzip and korean/unzip. They are just as practically impossible to use as unzip-iconv is.
As I dig into this port, I see a lot of things that could use improving so this is going to turn out to be an overhaul.
While digging, I see this:
It was last referenced in 2004. I suspect this is something that could be eliminated to simplify the port. I don't know if it even works still.
ehaupt, do you have any background on this?
Another concepts question: Obviously korean, russian, and chinese options should be mutually exclusive, but what about iconv? Can you have russian + iconv options together?
I finished the draft and verified iconv builds easily with russian, chinese, and korea options.
So I've got:
[ ] docs
[ ] iconv
[ 0 or 1 ] russian, chinese, korean
I'll upload the diff in a minute.
The four slave ports would have to be removed at the same time
Created attachment 145789 [details]
Combine all 4 unzip slave ports, convert to options
FYI, I removed WITH_UNZIP_UNREDUCE since it wasn't touched since 2004 and unzip went through a few revisions since then.
Mikhail, it would be good if you could provide feedback if this patch works well for you.
ehaupt approved on IRC
A commit references this bug:
Date: Fri Aug 15 10:11:14 UTC 2014
New revision: 364956
Merge 4 unzip slave ports into archivers/unzip as non-default options
It is practically impossible to use any of the unzip slave ports. This
is because archivers/unzip is used by the ports infrastruction (via
USES=zip, USES=zip:infozip) and each slave port conflicts with it.
If you install the slave port first, then the port infrastructure can't
install archivers/unzip (although if attempted, the extracts dependency
might be satisfied by the slave port so it might actually work).
In any case, this change:
* Adds "iconv" support as an non-default option
* Add a localization group that can have zero or one selection
* That group contains Chinese, Korean, or Russian support
* WITH_UNZIP_UNREDUCE support was removed (I'm not sure it even worked)
* Makefile was simplified (several loops removed)
* Removes unzip-iconv, Chinese, Korean, Russian slave ports
Reported by: Mikhail Rokhin
Unzip overhaul: marino
Approved by: maintainer (ehaupt@)
I'm glad to see this one finished. :)
Thank you very much)
(In reply to commit-hook from comment #13)
> A commit references this bug:
> Author: marino
> Date: Fri Aug 15 10:11:14 UTC 2014
> New revision: 364956
> URL: http://svnweb.freebsd.org/changeset/ports/364956
> Merge 4 unzip slave ports into archivers/unzip as non-default options
> It is practically impossible to use any of the unzip slave ports. This
> is because archivers/unzip is used by the ports infrastruction (via
> USES=zip, USES=zip:infozip) and each slave port conflicts with it.
> If you install the slave port first, then the port infrastructure can't
> install archivers/unzip (although if attempted, the extracts dependency
> might be satisfied by the slave port so it might actually work).
> In any case, this change:
> * Adds "iconv" support as an non-default option
> * Add a localization group that can have zero or one selection
> * That group contains Chinese, Korean, or Russian support
> * WITH_UNZIP_UNREDUCE support was removed (I'm not sure it even worked)
> * Makefile was simplified (several loops removed)
> * Removes unzip-iconv, Chinese, Korean, Russian slave ports
> PR: 190349
> Reported by: Mikhail Rokhin
> Unzip overhaul: marino
> Approved by: maintainer (ehaupt@)