Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/11/21 17:40:55.112 (台灣標準時)

TeX 関連のパッケージを pkgsrc に追加する方法

pkgsrc に含まれる TeX 関連のパッケージを見てみると、 TEXLIVE_REV とい う変数が使われているでござる。例えば、 print/tex-beamertheme-metropolis の Makefile を見てみると、以下のよう になっているでござる。


# $NetBSD: Makefile,v 1.1 2020/07/16 01:03:32 markd Exp $

DISTNAME=       beamertheme-metropolis
PKGNAME=        tex-${DISTNAME}-1.2
TEXLIVE_REV=    43031

MAINTAINER=     pkgsrc-users@NetBSD.org
HOMEPAGE=       https://ctan.org/pkg/beamertheme-metropolis
COMMENT=        Modern LaTeX beamer theme
LICENSE=        cc-by-sa-v4.0

DEPENDS+=       tex-beamer-[0-9]*:../../print/tex-beamer

.include "../../print/texlive/package.mk"
.include "../../mk/bsd.pkg.mk"

新しく TeX 関連のパッケージを pkgsrc に追加する際に、 TEXLIVE_REV をど うやって決めればよいのかわからなかったので、調べてみたでござる。 /usr/pkgsrc/print/texlive/package.mk というファイルが読み込まれている ので、まず、このファイルを見てみたでござる。以下のような説明があったで ござる。


# TEXLIVE_REV
#       String appended to DIST_SUBDIR (useful because the majority of tex
#       packages do not have a revision number in the DISTNAME).
#       To obtain information to be used as TEXLIVE_REV you should use the
#       value of "revision" line usually available in
#       ${WRKSRC}/tlpkg/tlpobj/${DISTNAME}.tlpobj

しかし、この説明を読んでもよくわからないでござる。探してみると、 CTAN に beamertheme-metropolis のファイルがあることがわかり、そこに TEXLIVE_REV に指定すべき番号があることがわかったでござる。 https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/ を見てみればよいようでござる。

例えば、 beamertheme-metropolis について見てみると、 TEXLIVE_REV は 43031 だとわかるでござる。

fig_202308/ctan_beamertheme_metropolis_202308.png

CTAN のミラーサイトがどこにあるのかは、以下を参照すればよいようでござ る。

以下では、 beamertheme-simpledarkblue を pkgsrc に追加してみることとす るでござる。まず、ディレクトリを作成するでござる。


# cd /usr/pkgsrc/pkgsrc_myownpkgs
# mkdir tex-beamertheme-simpledarkblue
# cd tex-beamertheme-simpledarkblue

次に、 CTAN の https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/ を見て、 beamertheme-simpledarkblue を探すでござる。 https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/beamertheme-simpledarkblue.r60061.tar.xz というファイルが見つかるでござる。 url2pkg コマンドを使って Makefile の雛形を作成するでござる。


# url2pkg https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/beamertheme-simpledarkblue.r60061.tar.xz
===> Cleaning for beamertheme-simpledarkblue.r60061
=> Bootstrap dependency digest>=20211023: found digest-20220214
=> Checksum BLAKE2s OK for beamertheme-simpledarkblue.r60061.tar.xz
=> Checksum SHA512 OK for beamertheme-simpledarkblue.r60061.tar.xz
===> Installing dependencies for beamertheme-simpledarkblue.r60061
=> Tool dependency mktools-[0-9]*: found mktools-20220614
=> Tool dependency cwrappers>=20150314: found cwrappers-20220403
===> Checking for vulnerabilities in beamertheme-simpledarkblue.r60061
===> Overriding tools for beamertheme-simpledarkblue.r60061
===> Extracting for beamertheme-simpledarkblue.r60061

Remember to run pkglint when you're done.
See ../../doc/pkgsrc.txt to get some help.

# ls -lF
total 10
-rw-r--r--   1 root  wheel   93 Aug 22 19:52 DESCR
-rw-r--r--   1 root  wheel  561 Aug 22 19:52 Makefile
-rw-r--r--   1 root  wheel  170 Aug 22 19:52 PLIST
-rw-r--r--   1 root  wheel  370 Aug 22 19:52 distinfo
drwxr-xr-x  12 root  wheel  512 Aug 22 19:52 work/

作成された Makefile の雛形は以下のようになっているでござる。


# $NetBSD$

DISTNAME=       beamertheme-simpledarkblue.r60061
CATEGORIES=     pkgsrc_myownpkgs
MASTER_SITES=   https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/
EXTRACT_SUFX=   .tar.xz

MAINTAINER=     INSERT_YOUR_MAIL_ADDRESS_HERE # or use pkgsrc-users@NetBSD.org
HOMEPAGE=       https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/
COMMENT=        TODO: Short description of the package
#LICENSE=       # TODO: (see mk/license.mk)

WRKSRC=         ${WRKDIR} # TODO: one of tex tlpkg, or leave it as-is
USE_LANGUAGES=  # none

.include "../../mk/bsd.pkg.mk"

Makefile を以下のように修正するでござる。


# $NetBSD$

DISTNAME=       beamertheme-simpledarkblue
PKGNAME=        tex-${DISTNAME}-20210725
TEXLIVE_REV=    60061
CATEGORIES=     print
MASTER_SITES=   https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/
EXTRACT_SUFX=   .tar.xz

MAINTAINER=     pkgsrc-users@NetBSD.org
HOMEPAGE=       https://ctan.mirror.twds.com.tw/tex-archive/systems/texlive/tlnet/archive/
COMMENT=        Beamer's theme "simpledarkblue"
LICENSE=        public-domain

WRKSRC=         ${WRKDIR} # TODO: one of tex tlpkg, or leave it as-is
USE_LANGUAGES=  # none

DEPENDS+=       tex-beamer>=0:../../print/tex-beamer

.include "../../print/texlive/package.mk"
.include "../../mk/bsd.pkg.mk"

version と license については、 CTAN の beamertheme-simpledarkblue の ページを参照すればよいでござる。

この後は、通常通りにパッケージを作成すればよいでござる。


# make install
# make print-PLIST > PLIST
# vi DESCR
# make clean
# make install

追記: Makefile の中の MASTER_SITES は、以下のようにしておくのがよさそ うでござる。


MASTER_SITES=   ${MASTER_SITE_TEX_CTAN:=systems/texlive/tlnet/archive/}



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Computer___Network/20230508_00.html
  8. Food___Taiwan/20220429_0.html
  9. Computer___NetBSD/20220817_3.html
  10. Computer___Python/20220410_0.html
  11. Computer___Network/20240416_00.html
  12. Computer___Network/20240130_00.html
  13. Computer___Debian/20210223_1.html
  14. Computer___NetBSD/20230119_00.html
  15. Computer___Python/20210124_0.html
  16. Computer___Python/20221013_0.html
  17. Computer___NetBSD/20220818_1.html
  18. Computer___NetBSD/20220428_0.html
  19. Science___Math/20220420_0.html
  20. Computer___NetBSD/20240101_02.html
  21. Computer___NetBSD/20220808_0.html
  22. Computer___TeX/20230503_00.html
  23. Computer___NetBSD/20230515_00.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___NetBSD/20210127_0.html
  26. Computer___Python/20240101_00.html
  27. Computer___Network/20220413_1.html
  28. Computer___Python/20220816_1.html
  29. Computer___NetBSD/20210204_0.html
  30. Travel___Taiwan/20220809_2.html


HTML file generated by Kinoshita Daisuke.