これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/11/21 17:40:55.112 (台灣標準時)
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 だとわかるでござる。
|
---|
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/}