# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka global pkgname := 'hfsprogs' global _pkgname := 'diskdev_cmds' global pkgver := '540.1_p3' global _pkgver := $(pkgver/_p/.linux) global pkgrel := '1' global pkgdesc := '"Tools to create/check Apple HFS+ filesystems'" # We use modified version provided by Fedora's dev, not directly from Apple. global url := '"https://src.fedoraproject.org/rpms/hfsplus-tools'" global arch := '"all'" global license := '"APSL-2.0'" global makedepends := '"clang libbsd-dev libressl-dev linux-headers util-linux-dev'" global provides := ""$_pkgname=$pkgver-r$pkgrel"" global subpackages := ""$pkgname-doc"" # Tarball made by Matthew Garrett (mjg59). # https://src.fedoraproject.org/rpms/hfsplus-tools/blob/f27/f/hfsplus-tools.spec global source := ""http://cavan.codon.org.uk/~mjg59/$_pkgname/$_pkgname-$_pkgver.tar.gz APSL-2.0.txt fix-stdarg.patch musl-compat.patch"" global builddir := ""$srcdir/$_pkgname-$_pkgver"" proc prepare { default_prepare cd $builddir sed -i 's/[F|f]sck_hfs/fsck.hfsplus/g' fsck_hfs.tproj/fsck_hfs.8 sed -i 's/[N|n]ewfs_hfs/mkfs.hfsplus/g' newfs_hfs.tproj/newfs_hfs.8 # Remove errant execute bits. find . -type f -name '*.[ch]' -exec chmod -c -x {} + } proc build { cd $builddir make } proc check { cd $builddir ./fsck_hfs.tproj/fsck_hfs !2 > !1 | grep 'usage: fsck_hfs' ./newfs_hfs.tproj/newfs_hfs !2 > !1 | grep 'usage: newfs_hfs' } proc package { cd $builddir install -D -m 755 fsck_hfs.tproj/fsck_hfs "$pkgdir"/usr/sbin/fsck.hfs install -D -m 755 newfs_hfs.tproj/newfs_hfs "$pkgdir"/usr/sbin/mkfs.hfsplus ln -s fsck.hfs "$pkgdir"/usr/sbin/fsck.hfsplus install -D -m 644 fsck_hfs.tproj/fsck_hfs.8 \ "$pkgdir"/usr/share/man/man8/fsck.hfsplus.8 install -D -m 644 newfs_hfs.tproj/newfs_hfs.8 \ "$pkgdir"/usr/share/man/man8/mkfs.hfsplus.8 ln -s fsck.hfs.8 "$pkgdir"/usr/share/man/man8/fsck.hfs.8 install -D -m 644 "$srcdir"/APSL-2.0.txt \ "$pkgdir"/usr/share/licenses/$pkgname/APSL-2.0.txt } global sha512sums := '"3d88fcdec4bfd32a75b6dc75899748d8585371b641be86cfdfe54ade738a0612662dd008c1506c7e216325303217d0b5f188a9c4fdccfb48b2ce50333f212d9e diskdev_cmds-540.1.linux3.tar.gz 76a53cc22e92e12d6255fc6ee0b9b65e03ef0d590e8bdbf06e9861a5f024f25c5344ce8426ca8f81d8544d86004be02f806ad60517165a9f6d9dfd6f31790c21 APSL-2.0.txt cff25de690f5ecc418380e5cbda3615d38ef9583ace60be9b7696c50e46bc35a29855b216ddb4daae79ff5b40f66ffbc03f613ab0ae1935ee9df6e69caed2e0b fix-stdarg.patch 34c73b0b57c8e8fa64abf34a9396b6dc218b1a1f06fec98fd52e77c81421cff249f4a65d5f26e692b1cb5e2424a871ecbf5b35eab5d3509506f6710406ff7577 musl-compat.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(hfsprogs)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(diskdev_cmds)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(540.1_p3)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_pkgver) op: Equal rhs: { (BracedVarSub token: suffix_op: (PatSub pat: {(_p)} replace: {(.linux)} do_all: False do_prefix: False do_suffix: False ) spids: [16 22] ) } spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[24])] spids: [24] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Tools to create/check Apple HFS+ filesystems"))} spids: [27] ) ] spids: [27] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://src.fedoraproject.org/rpms/hfsplus-tools"))} spids: [35] ) ] spids: [35] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[40])] spids: [40] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (APSL-2.0))} spids:[45])] spids: [45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ("clang libbsd-dev libressl-dev linux-headers util-linux-dev"))} spids: [50] ) ] spids: [50] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:provides) op: Equal rhs: { (DQ ($ VSub_Name "$_pkgname") ("=") ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel")) } spids: [55] ) ] spids: [55] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))} spids: [64] ) ] spids: [64] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://cavan.codon.org.uk/~mjg59/") ($ VSub_Name "$_pkgname") (/) ($ VSub_Name "$_pkgname") (-) ($ VSub_Name "$_pkgver") (".tar.gz\n") ("\tAPSL-2.0.txt\n") ("\tfix-stdarg.patch\n") ("\tmusl-compat.patch") ) } spids: [76] ) ] spids: [76] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_pkgname") (-) ($ VSub_Name "$_pkgver"))} spids: [90] ) ] spids: [90] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(default_prepare)}) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(sed)} {(-i)} {(SQ <"s/[F|f]sck_hfs/fsck.hfsplus/g">)} {(fsck_hfs.tproj/fsck_hfs.8)}) (C {(sed)} {(-i)} {(SQ <"s/[N|n]ewfs_hfs/mkfs.hfsplus/g">)} {(newfs_hfs.tproj/newfs_hfs.8)}) (C {(find)} {(.)} {(-type)} {(f)} {(-name)} {(SQ <"*.[ch]">)} {(-exec)} {(chmod)} {(-c)} {(-x)} {(Lit_LBrace "{") (Lit_RBrace "}")} {(Lit_Other "+")} ) ] spids: [104] ) spids: [100 103] ) (FuncDef name: build body: (BraceGroup children: [(C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)})] spids: [179] ) spids: [175 178] ) (FuncDef name: check body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Pipeline children: [ (SimpleCommand words: [{(./fsck_hfs.tproj/fsck_hfs)}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[212])] ) (C {(grep)} {(SQ <"usage: fsck_hfs">)}) ] negated: False ) (Pipeline children: [ (SimpleCommand words: [{(./newfs_hfs.tproj/newfs_hfs)}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[226])] ) (C {(grep)} {(SQ <"usage: newfs_hfs">)}) ] negated: False ) ] spids: [199] ) spids: [195 198] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(install)} {(-D)} {(-m)} {(755)} {(fsck_hfs.tproj/fsck_hfs)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/fsck.hfs)} ) (C {(install)} {(-D)} {(-m)} {(755)} {(newfs_hfs.tproj/newfs_hfs)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/mkfs.hfsplus)} ) (C {(ln)} {(-s)} {(fsck.hfs)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/fsck.hfsplus)}) (C {(install)} {(-D)} {(-m)} {(644)} {(fsck_hfs.tproj/fsck_hfs.8)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man8/fsck.hfsplus.8)} ) (C {(install)} {(-D)} {(-m)} {(644)} {(newfs_hfs.tproj/newfs_hfs.8)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man8/mkfs.hfsplus.8)} ) (C {(ln)} {(-s)} {(fsck.hfs.8)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man8/fsck.hfs.8)} ) (C {(install)} {(-D)} {(-m)} {(644)} {(DQ ($ VSub_Name "$srcdir")) (/APSL-2.0.txt)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/) ($ VSub_Name "$pkgname") (/APSL-2.0.txt) } ) ] spids: [244] ) spids: [240 243] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "3d88fcdec4bfd32a75b6dc75899748d8585371b641be86cfdfe54ade738a0612662dd008c1506c7e216325303217d0b5f188a9c4fdccfb48b2ce50333f212d9e diskdev_cmds-540.1.linux3.tar.gz\n" ) ( "76a53cc22e92e12d6255fc6ee0b9b65e03ef0d590e8bdbf06e9861a5f024f25c5344ce8426ca8f81d8544d86004be02f806ad60517165a9f6d9dfd6f31790c21 APSL-2.0.txt\n" ) ( "cff25de690f5ecc418380e5cbda3615d38ef9583ace60be9b7696c50e46bc35a29855b216ddb4daae79ff5b40f66ffbc03f613ab0ae1935ee9df6e69caed2e0b fix-stdarg.patch\n" ) ( "34c73b0b57c8e8fa64abf34a9396b6dc218b1a1f06fec98fd52e77c81421cff249f4a65d5f26e692b1cb5e2424a871ecbf5b35eab5d3509506f6710406ff7577 musl-compat.patch" ) ) } spids: [374] ) ] spids: [374] ) ] )