| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: rubygem.mk,v 1.19 2008/03/14 15:30:10 jlam Exp $ | | 1 | # $NetBSD: rubygem.mk,v 1.20 2008/03/14 16:41:21 jlam Exp $ |
2 | # | | 2 | # |
3 | # This Makefile fragment is intended to be included by packages that build | | 3 | # This Makefile fragment is intended to be included by packages that build |
4 | # and install Ruby gems. | | 4 | # and install Ruby gems. |
5 | # | | 5 | # |
6 | # Package-settable variables: | | 6 | # Package-settable variables: |
7 | # | | 7 | # |
8 | # GEM_BUILD | | 8 | # GEM_BUILD |
9 | # The method used to build the local gem. | | 9 | # The method used to build the local gem. |
10 | # | | 10 | # |
11 | # Possible: gemspec, rake | | 11 | # Possible: gemspec, rake |
12 | # Default: rake | | 12 | # Default: rake |
13 | # | | 13 | # |
14 | # GEM_CLEANBUILD | | 14 | # GEM_CLEANBUILD |
| @@ -124,33 +124,35 @@ PRINT_PLIST_AWK+= /^(@dirrm )?${GEM_HOME | | | @@ -124,33 +124,35 @@ PRINT_PLIST_AWK+= /^(@dirrm )?${GEM_HOME |
124 | ### | | 124 | ### |
125 | ### gem-extract | | 125 | ### gem-extract |
126 | ### | | 126 | ### |
127 | ### The gem-extract target extracts a standard gem file. A standard | | 127 | ### The gem-extract target extracts a standard gem file. A standard |
128 | ### gem file contains: | | 128 | ### gem file contains: |
129 | ### | | 129 | ### |
130 | ### data.tar.gz contains the actual files to build, install, etc. | | 130 | ### data.tar.gz contains the actual files to build, install, etc. |
131 | ### metadata.gz YAML specification file | | 131 | ### metadata.gz YAML specification file |
132 | ### | | 132 | ### |
133 | _GEMSPEC_FILE= ${WRKDIR}/${PKGBASE:S|^${RUBY_PKGPREFIX}-||}.gemspec | | 133 | _GEMSPEC_FILE= ${WRKDIR}/${PKGBASE:S|^${RUBY_PKGPREFIX}-||}.gemspec |
134 | | | 134 | |
135 | .PHONY: gem-extract | | 135 | .PHONY: gem-extract |
136 | do-extract: gem-extract | | 136 | do-extract: gem-extract |
| | | 137 | .if !target(gem-extract) |
137 | gem-extract: | | 138 | gem-extract: |
138 | ${RUN} cd ${WRKDIR} && ${EXTRACTOR} -f tar ${_DISTDIR:Q}/${GEMFILE:Q} | | 139 | ${RUN} cd ${WRKDIR} && ${EXTRACTOR} -f tar ${_DISTDIR:Q}/${GEMFILE:Q} |
139 | ${RUN} mkdir ${WRKSRC} | | 140 | ${RUN} mkdir ${WRKSRC} |
140 | ${RUN} cd ${WRKSRC} && ${EXTRACTOR} -f tar ${WRKDIR:Q}/data.tar.gz | | 141 | ${RUN} cd ${WRKSRC} && ${EXTRACTOR} -f tar ${WRKDIR:Q}/data.tar.gz |
141 | ${RUN} cd ${WRKDIR} && ${EXTRACTOR} metadata.gz && \ | | 142 | ${RUN} cd ${WRKDIR} && ${EXTRACTOR} metadata.gz && \ |
142 | mv metadata ${_GEMSPEC_FILE} | | 143 | mv metadata ${_GEMSPEC_FILE} |
143 | ${RUN} cd ${WRKDIR} && rm -f data.tar.gz* metadata.gz* | | 144 | ${RUN} cd ${WRKDIR} && rm -f data.tar.gz* metadata.gz* |
| | | 145 | .endif |
144 | | | 146 | |
145 | ### | | 147 | ### |
146 | ### gem-build | | 148 | ### gem-build |
147 | ### | | 149 | ### |
148 | ### The gem-build target builds a new local gem from the extracted gem's | | 150 | ### The gem-build target builds a new local gem from the extracted gem's |
149 | ### contents. The new gem as created as ${WRKSRC}/${GEM_NAME}.gem. | | 151 | ### contents. The new gem as created as ${WRKSRC}/${GEM_NAME}.gem. |
150 | ### | | 152 | ### |
151 | .PHONY: gem-build gem-gemspec-build gem-rake-build | | 153 | .PHONY: gem-build gem-gemspec-build gem-rake-build |
152 | do-build: gem-build | | 154 | do-build: gem-build |
153 | | | 155 | |
154 | gem-build: gem-${GEM_BUILD}-build | | 156 | gem-build: gem-${GEM_BUILD}-build |
155 | | | 157 | |
156 | gem-gemspec-build: | | 158 | gem-gemspec-build: |