# Contributor: # Maintainer: Paul Morgan global pkgname := 'createrepo_c' # This is awful, but it allows to create package with recent commits. # Upstream has not tagged a release in nearly two years, but # they have commits in master that we want to use. # Follow the lead of 'git-describe' and # append a number that represents the number of commits since last tag. # After upstream releases a new tag, go back to normal alpine versioning. # git_describe="0.10.0-48-g0cac54d" global treeish := '"0cac54d09b5a2140b625cabad95dc48898e25cdd'" global upstream_tag := '0.10.0' global commits_since := '48' global pkgver := "$(upstream_tag).$(commits_since)" global pkgrel := '0' global pkgdesc := '"C implementation of createrepo'" global url := '"https://github.com/rpm-software-management/createrepo_c/'" global arch := '"all'" global license := '"GPL2'" global makedepends := '" bash-completion bzip2-dev cmake curl-dev expat-dev file-dev glib-dev libressl-dev libxml2-dev python2-dev rpm-dev scanelf sqlite-dev xz-dev zlib-dev '" global checkdepends := "" $(makedepends) check check-dev py-nose xz "" global subpackages := "" $(pkgname)-bash-completion:bashcomp:noarch $(pkgname)-dev $(pkgname)-doc $(pkgname)-libs py2-$(pkgname):py2 "" global source := "" $(pkgname)-$(treeish).tar.gz::https://github.com/rpm-software-management/createrepo_c/archive/$(treeish).tar.gz 10-libdir.patch "" global builddir := ""$(srcdir)/$(pkgname)-$(treeish)/"" proc build { mkdir "$(builddir)"/build cd "$(builddir)"/build # Pass cmake variables so # end user does not need to set LD_LIBRARY_PATH. # https://cmake.org/Wiki/CMake_RPATH_handling#Always_full_RPATH cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_SKIP_BUILD_RPATH=false \ -DCMAKE_BUILD_WITH_INSTALL_RPATH=false \ -DCMAKE_INSTALL_RPATH=/usr/lib \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=true \ -DPYTHON_DESIRED=2 make } proc check { cd "$(builddir)"/build make tests tests/run_gtester.sh } proc package { cd "$(builddir)"/build make install/strip DESTDIR=$(pkgdir) } proc py2 { global pkgdesc := '"Python2 bindings for createrepo_c'" global depends := ""python2 $(pkgname)-libs"" # This is architecture-specific and provides a *.so file. mkdir -p "$(subpkgdir)"/usr/lib mv "$(pkgdir)"/usr/lib/python* "$(subpkgdir)"/usr/lib/ } proc bashcomp { global depends := ''"" global pkgdesc := ""Bash completions for $(pkgname)"" global install_if := ""$(pkgname)=$(pkgver)-r$(pkgrel) bash-completion"" mkdir -p "$(subpkgdir)"/usr/share/ mv "$(pkgdir)"/usr/share/bash-completion "$(subpkgdir)"/usr/share/ } global sha512sums := '"e1e76d4a7c27af812d2ccf48512491377baeaa2506617ef6a6070dd04327a48b7f16e07bf8e84f8793db3fb5c8d0b79cd88cee4f013f86be2244a5750ccf08c0 createrepo_c-0cac54d09b5a2140b625cabad95dc48898e25cdd.tar.gz df861d341d2acf5aba85d2bf0b959a7b22a29315efb0efeeada3871d7f1c4be035d27ff2408f55f3df24e6e11a8e5d7c4c88fd0ce25e4377b5452e861b40e188 10-libdir.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(createrepo_c)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:treeish) op: Equal rhs: {(DQ (0cac54d09b5a2140b625cabad95dc48898e25cdd))} spids: [31] ) ] spids: [31] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:upstream_tag) op:Equal rhs:{(0.10.0)} spids:[36])] spids: [36] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:commits_since) op:Equal rhs:{(48)} spids:[39])] spids: [39] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgver) op: Equal rhs: {(${ VSub_Name upstream_tag) (.) (${ VSub_Name commits_since)} spids: [43] ) ] spids: [43] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[52])] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("C implementation of createrepo"))} spids: [55] ) ] spids: [55] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://github.com/rpm-software-management/createrepo_c/"))} spids: [60] ) ] spids: [60] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[65])] spids: [65] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[70])] spids: [70] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("\n") ("\tbash-completion\n") ("\tbzip2-dev\n") ("\tcmake\n") ("\tcurl-dev\n") ("\texpat-dev\n") ("\tfile-dev\n") ("\tglib-dev\n") ("\tlibressl-dev\n") ("\tlibxml2-dev\n") ("\tpython2-dev\n") ("\trpm-dev\n") ("\tscanelf\n") ("\tsqlite-dev\n") ("\txz-dev\n") ("\tzlib-dev\n") ("\t") ) } spids: [75] ) ] spids: [75] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: { (DQ ("\n") ("\t") (${ VSub_Name makedepends) ("\n") ("\tcheck\n") ("\tcheck-dev\n") ("\tpy-nose\n") ("\txz\n") ("\t") ) } spids: [96] ) ] spids: [96] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ("\n") ("\t") (${ VSub_Name pkgname) ("-bash-completion:bashcomp:noarch\n") ("\t") (${ VSub_Name pkgname) ("-dev\n") ("\t") (${ VSub_Name pkgname) ("-doc\n") ("\t") (${ VSub_Name pkgname) ("-libs\n") ("\tpy2-") (${ VSub_Name pkgname) (":py2\n") ("\t") ) } spids: [111] ) ] spids: [111] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("\n") ("\t") (${ VSub_Name pkgname) (-) (${ VSub_Name treeish) (".tar.gz::https://github.com/rpm-software-management/createrepo_c/archive/") (${ VSub_Name treeish) (".tar.gz\n") ("\t10-libdir.patch\n") ("\t") ) } spids: [142] ) ] spids: [142] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ (${ VSub_Name srcdir) (/) (${ VSub_Name pkgname) (-) (${ VSub_Name treeish) (/))} spids: [162] ) ] spids: [162] ) (FuncDef name: build body: (BraceGroup children: [ (C {(mkdir)} {(DQ (${ VSub_Name builddir)) (/build)}) (C {(cd)} {(DQ (${ VSub_Name builddir)) (/build)}) (C {(cmake)} {(..)} {(-DCMAKE_BUILD_TYPE) (Lit_Other "=") (Release)} {(-DCMAKE_INSTALL_PREFIX) (Lit_Other "=") (/usr)} {(-DCMAKE_INSTALL_LIBDIR) (Lit_Other "=") (lib)} {(-DCMAKE_SKIP_BUILD_RPATH) (Lit_Other "=") (false)} {(-DCMAKE_BUILD_WITH_INSTALL_RPATH) (Lit_Other "=") (false)} {(-DCMAKE_INSTALL_RPATH) (Lit_Other "=") (/usr/lib)} {(-DCMAKE_INSTALL_RPATH_USE_LINK_PATH) (Lit_Other "=") (true)} {(-DPYTHON_DESIRED) (Lit_Other "=") (2)} ) (C {(make)}) ] spids: [183] ) spids: [179 182] ) (FuncDef name: check body: (BraceGroup children: [ (C {(cd)} {(DQ (${ VSub_Name builddir)) (/build)}) (C {(make)} {(tests)}) (C {(tests/run_gtester.sh)}) ] spids: [281] ) spids: [277 280] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ (${ VSub_Name builddir)) (/build)}) (C {(make)} {(install/strip)} {(Lit_VarLike "DESTDIR=") (${ VSub_Name pkgdir)}) ] spids: [308] ) spids: [304 307] ) (FuncDef name: py2 body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Python2 bindings for createrepo_c"))} spids: [340] ) ] spids: [340] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("python2 ") (${ VSub_Name pkgname) (-libs))} spids: [346] ) ] spids: [346] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir)) (/usr/lib)}) (C {(mv)} {(DQ (${ VSub_Name pkgdir)) (/usr/lib/python) (Lit_Other "*")} {(DQ (${ VSub_Name subpkgdir)) (/usr/lib/)} ) ] spids: [337] ) spids: [333 336] ) (FuncDef name: bashcomp body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[400])] spids: [400] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Bash completions for ") (${ VSub_Name pkgname))} spids: [405] ) ] spids: [405] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ (${ VSub_Name pkgname) ("=") (${ VSub_Name pkgver) (-r) (${ VSub_Name pkgrel) (" bash-completion") ) } spids: [414] ) ] spids: [414] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir)) (/usr/share/)}) (C {(mv)} {(DQ (${ VSub_Name pkgdir)) (/usr/share/bash-completion)} {(DQ (${ VSub_Name subpkgdir)) (/usr/share/)} ) ] spids: [397] ) spids: [393 396] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "e1e76d4a7c27af812d2ccf48512491377baeaa2506617ef6a6070dd04327a48b7f16e07bf8e84f8793db3fb5c8d0b79cd88cee4f013f86be2244a5750ccf08c0 createrepo_c-0cac54d09b5a2140b625cabad95dc48898e25cdd.tar.gz\n" ) ( "df861d341d2acf5aba85d2bf0b959a7b22a29315efb0efeeada3871d7f1c4be035d27ff2408f55f3df24e6e11a8e5d7c4c88fd0ce25e4377b5452e861b40e188 10-libdir.patch" ) ) } spids: [463] ) ] spids: [463] ) ] )