This package is intended to be used with teTeX. Reproducible: Always Steps to Reproduce:
Created attachment 43845 [details] cm-super-0.3.3.ebuild
Created attachment 43846 [details] cm-super-0.3.3.ebuild corrected
Andrey, your ebuild has a couple of issues: 1. The header is invalid http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3 2. A dev is only allowed to add the Keywords, he can test. Even though its "only" a fonts package, adding all possible keywords isn't needed or wanted. 3.The ebuild uses sed, so it's a DEPEND 4. The appropriate unpack functions need to be called. Just e.g. tar ... is not correct. 5. using a herefile is a bit ugly
> Andrey, your ebuild has a couple of issues: > 1. The header is invalid > http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3 Freankly speaking I do not quiet understand meaning of this requirement. CVS understands $Header$ (without colon) just well. > 2. A dev is only allowed to add the Keywords, he can test. Even though its > "only" a fonts package, adding all possible keywords isn't needed or wanted. Not a big problem too. The one who who will commit my ebuild can correct is as he want. > 3.The ebuild uses sed, so it's a DEPEND > 4. The appropriate unpack functions need to be called. Just e.g. tar ... is > not correct. > 5. using a herefile is a bit ugly OK. I tryed to comply with these requirements. Hope it is little better now.
Created attachment 43878 [details] cm-super-0.3.3.ebuild
Andrey, as for ebuild header, what you didn't follow is not $Header$ but Gentoo Technologies, Inc. Gentoo Technologies, Inc. is drobbins' company and Gentoo Foundation is the entity who runs Gentoo Project. Please use Gentoo Foundation instead of Gentoo Technologies, Inc. Also, the reason we ask ebuild submitters to rewrite their ebuilds is because we'd like to tell them the way we write ebuilds. (Yes, we can correct your ebuild when we commit, but if we do so you may or may not notice adding non-tested arches is not allowed by our policy)
*** Bug 78686 has been marked as a duplicate of this bug. ***
Alright, I for some reason didn't spot this package when I made a similar one (bug 78686). The differences between this and mine: 1. I couldn't locate the updmap.cfg file -- I looked where the cm-super distro told me for teTeX and it obviously wasn't there. Oh well :-p.. so I went for the hard way, patching the three config files for pdftex, dvips and dvpdfm respectively. This way of doing it (the present bug) is of course better. 2. I pull a souce directly, and thus don't depend on rpg2tbz. I recomend we do the same here, since it's kind of a weird dependency IMO.
Created attachment 57465 [details] cm-super-0.3.3.ebuild As I desparately need this package and there has not been any activity on this bug for quite a while, I adapted the best ideas from the existing two suggestions and wrote my own ebuild. If this is against netiquette, please ignore this attachment. Changes against Andreys ebuild: - Header conforms to Gentoo requirements. - HOMEPAGE changed to CTAN-home - SRC_URI changed to CTAN-download, providing .tar.gz instead of .rpm - new function src_unpack() to circumvent a problem with the .tar.gz. The tar.gz at CTAN is generated automatically using a broken/misconfigured tar. The archive contains "trailing garbage", which gzip warns about, but which is harmless otherwise. See the gzip manpage for details. The default src_unpack dies due to this warning. For this reason, I pass "-f" (force) to gzip. This way, it exits cleanly. If Gentoo repacks the .tar.gz (using gunzip tar -x tar -c gzip), this function is obsolete. - src_install() prints a warning if installation of the docs fails and dies if the installation of fonts or the fontmaps fails. Enjoy!
Created attachment 74561 [details, diff] Patch for cm-super-0.3.3.ebuild from Tobias Hahn I tried Tobias ebuild and there were some issues: 1. CTAN seems not providing tar file any more - so I switched to zip. 2. type1ec.sty is not installed into LaTeX path - I added it.
Created attachment 76242 [details] new cm-super ebuild The last cm-super ebuild doesn't work on my system. So I chanched the ebuild to work on my system. I hope all changes are good. What I changed: - path for *.map and *.enc files read this: http://tug.org/texlive/mapenc.html - adjusted path for pkg_postint() and pkg_postrm() - use /var/lib/texmf/web2c/updmap.cfg to work correct - changed updmap to updmap-sys for global use - added mktexlsr (not sure if this is really needed) Be sure to remove the old ebuild before installing this ebuild, because the pkg_postint() and pkg_postrm() are changed regards Andreas
Created attachment 76243 [details] new ebuild for cm-super-0.3.3 The last cm-super ebuild doesn't work on my system. So I chanched the ebuild to work on my system. I hope all changes are good. What I changed: - path for *.map and *.enc files read this: http://tug.org/texlive/mapenc.html - adjusted path for pkg_postint() and pkg_postrm() - use /var/lib/texmf/web2c/updmap.cfg to work correct - changed updmap to updmap-sys for global use - added mktexlsr (not sure if this is really needed) Be sure to unmerge the old ebuild before merging this ebuild, because the pkg_postint() and pkg_postrm() are changed
Just had a quick look at your ebuild, apparently Mathias forgot to remove my comment ('# Pass option -f to gzip to avoid dying due to "trailing garbage".') about the force option to gzip when changing from tar.gz to zip. Would you do that? Thx!
Created attachment 76311 [details] fixed my last ebuild Fixed a big bug from the last ebuild! Don't use my last ebuild. It overwrites the link in /var/lib/texmf/web2c/updmap.cfg to /etc/texmf/web2c/updmap.cfg. If you've installed the last ebuild then recreate this link! Now I insert the Maps in /etc/texmf/updmap.d/00updmap.cfg to stay also if a latex update is done. And the ebuild runs now some more latex update script to get all data updated. Not sure if all are needed, but they don't hurt. BTW: For which tetex did you build the cm-super packages in past? I've installed tetex-3.0-r2. Should I set this somewhere in ebuild options? I think the paths in tetex-2.x are a little different? What is the policy for such problems? Should we only support the latest tetex version?
I'm using the latest stable, i.e. 2.0.2-r5.
Oh, then you should be careful if installing my ebuilds! How do I correct define to use tetex-3.0-r2? Currently it's this: RDEPEND="virtual/tetex" DEPEND="${RDEPEND} sys-apps/sed app-arch/unzip" Do you like to test the ebuild with the 2.x version? If not we should maintain two different versions of cm-super. Or should this be done with if/else stuff inside to ebuild for each tetex version?
Sorry, I don't have the time to test stuff right now. For dependencies: Right now, there seems to be no way to depend on specific versions of virtuals (see http://www.gentoo.org/proj/en/glep/glep-0037.html). So one way would be to change the dependency to DEPEND=">=app-text/tetex-3" Probably a better way is to see what version is installed. The latex-package.eclass exports the function has_tetex_3() that returns true if tetex-3 or ptex-3.1.8 or higher is installed. The optimal way probably would be to use the functionality of the eclass. It provides functionality to install fonts, do the rehashing after installation etc. It is well documented file:///usr/portage/eclass/latex-package.eclass maybe this will help :) Any volunteers?
(In reply to comment #14) > Fixed a big bug from the last ebuild! Don't use my last ebuild. It overwrites > the link in /var/lib/texmf/web2c/updmap.cfg to /etc/texmf/web2c/updmap.cfg. Sorry I have problems with this ebuild here with a system using tetex-3.0-r4. I get this error-message from the call of updmap-sys: !!! ERROR! The map file `cm-super-t1.map' has not been found at all. Either put this file into the right place or remove the reference from the configuration file. An automatic way to disable unavailable map files is to call updmap --syncwithtrees For manual editing, call updmap --edit ------- I don't know, why the maps are not found, they are in /usr/share/texmf/fonts/enc/dvips/cm-super/ Mathias
> Sorry I have problems with this ebuild here with a system using tetex-3.0-r4. > I get this error-message from the call of updmap-sys: > > !!! ERROR! The map file `cm-super-t1.map' has not been found at all. > > Either put this file into the right place or remove the > reference from the configuration file. An automatic way > to disable unavailable map files is to call > updmap --syncwithtrees > > For manual editing, call > updmap --edit > ------- > I don't know, why the maps are not found, they are in > /usr/share/texmf/fonts/enc/dvips/cm-super/ The reason is: The map files were installed into the "enc"-Directory, they should go into the "map" directory. I submit the fixed ebuild
Created attachment 78284 [details] fixed the last ebuild The map files were installed into the "enc"-Directory, they should go into the "map" directory.
Created attachment 78289 [details] replaced "enc" sed call with "map" Ok, I tested the last ebuild. You're right with the map files. But if you change the place for the map files the pkg_postinst() function need to be changed also. I did this and here is the new ebuild file. I hope it works for you. :-)
(In reply to comment #21) > Created an attachment (id=78289) [edit] > replaced "enc" sed call with "map" > > Ok, I tested the last ebuild. You're right with the map files. But if you > change the place for the map files the pkg_postinst() function need to be > changed also. I did this and here is the new ebuild file. I hope it works for > you. :-) > it works good for me (tested on three different machines)
(In reply to comment #17) > The optimal way probably would be to use the functionality of the eclass. It > provides functionality to install fonts, do the rehashing after installation > etc. Any volunteers? I rewrote the ebuild with this in mind. There are several changes: 1. introduced USE flag to optionally install afm files 2. correctly set source dir ${S}=${WORKDIR}/${PN} 3. generation of updmap configuration in src_compile, not pkg_postinst 4. installation of pfb, afm and sty using latex-package.eclass 5. installing updmap into a seperate file 6. pkg_postinst and pkg_postrm inherited from latex-package.eclass The procedure from 5. pevents any tweaking with 00updmap. Instead you simply create your own file, and texmf-update combines all files in this directory to the final configuration file used by tetex. If the directory /etc/texmf/updmap.d/ was included in CONFIG_PROTECT_MASK as it imho should be, the file would automatically be unmerged with the package. I filed the seperate bug #124986 about this issue. 6. works because in latex-package.eclass the default implementation already calls latex-package_rehash, which in turn calls texmf-update, which in turn calls both mktexlsr, texconfig-sys and updmap-sys.
Created attachment 81327 [details] cm-super-0.3.3.ebuild based on latex-package.eclass
If these are a set of Type 1 fonts, then the ebuild should use the font eclass and the default location for fonts in gentoo /usr/share/fonts . Not sure what is needed for tex to be able to pick up these fonts, adding the respective herd to shed some light on that.
I'm no tex font expert, but I think that to find them, TeX needs to have them in one of its ${TEXMF}/fonts/whatever directory, and then call latex-package_rehash which will call the right functions (see comment #23).
is there any chance this will be in portage some time soon? I wanna try it out...
(In reply to comment #27) > is there any chance this will be in portage some time soon? > I wanna try it out... I have no idea if/when this is going to be in portage, but trying it out should be easy. The last version of the ebuild depends on tetex-3, which is testing right now. This is experimental stuff and there is a slight chance that these instructions might break your system, fry your cpu and cause your partner to cheat on you. It is your responsability if you proceed, so don't blame me! If you want to stick to stable tetex-2 but need to have cm-super, you can download attachment 57465 [details] from 2005-04-28 in step 3 instead. This should not update an existing tetex-2 installation, but still be sure to check the output of emerge -av. 1. Add the following line to your /etc/make.conf PORTDIR_OVERLAY="/usr/local/portage" 2. Create the directory /usr/local/portage/dev-tex/cm-super 3. Download the latest attachment (right now attachment 81327 [details] from 2006-03-04) to this directory. 3a. If you are _not_ on x86, you need to # ekeyword "~your-arch" /usr/local/portage/dev-tex/cm-super/cm-super-0.3.3.ebuild 4. Enter the command # ebuild /usr/local/portage/dev-tex/cm-super/cm-super-0.3.3.ebuild digest This should download the fonts and create Manifest and Digest. WARNING: The following will update your tetex incl. dependencies to tetex-3 using unstable (~x86) packages, so carefully check the output of emerge -av before proceeding. 5. Do it. Of course, if you are not on x86, you need to replace '~x86' with '~your-arch' # ACCEPT_KEYWORDS="~x86" emerge -av cm-super 6. Read chapter 5 and 6 of http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3 to understand what you just did. Read chapter 1 of http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2 to learn more about ebuilds.
Just a report that this built fine on my amd64 machine. Seemingly no problems after a few hours of use.
(In reply to comment #25) > If these are a set of Type 1 fonts, then the ebuild should use the font eclass > and the default location for fonts in gentoo /usr/share/fonts . Well, yes; but I consider what you have just said as a 'hack' on the package, since these fonts are designed for the use with TeX and not with X. Also, it's a big package (nearly 60 MB), which you want only in the case you're writing with TeX to make sure your documents will use vector-drawn glyphs. Nonetheless, your idea may be good; let someone which doesn't know what TeX is install these fonts for X usage and, using for example a useflag 'tex', let another informed user use them in his documents. Also, in the case of '-tex', some files from the distribution may be left out of the installation process. > Not sure what is needed for tex to be able to pick up these fonts, adding the > respective herd to shed some light on that. I suggest that the ebuild will do a symlink between /usr/share/fonts/Type1/CM-super and /usr/share/texmf-site/fonts/type1/CM-super, install the .map files in /usr/share/texmf-site/fonts/map/dvips/CM-super, inserting a 10cmsuper.cfg file in /etc/texmf/updmap.d allowing the use of these fonts in tetex and do a texmf-update. If it does interest you all, please let me know and I'll work on it.
Hi, Maybe it's time to add cm-super to portage?
FYI: According to bug 137197, tetex should one day be replaced by texlive. A quick grep over the ebuilds tells me that texlive-fontsextra includes cm-super, among several others. So an alternative to installing one of the attached ebuilds would be to switch over to texlive and use dev-texlive/texlive-fontsextra.
Time to close bug! It's in dev-texlive/texlive-fontsextra already.
Yup, it look like this bug is already fixed.