On 24/06/2014 14:38, Ernesto Torresin (ML) wrote: > On 24/06/2014 13:39, Ernesto Torresin (ML) wrote: >> On 24/06/2014 12:18, Ernesto Torresin (ML) wrote: >>> On 24/06/2014 11:00, Nick Stenning wrote: >>>> >> [...] >>> I am using the master branch indeed, because to read the sources and >>> compile I was requested by the Makefile to have a .git repository. I'm >>> going for the 1.2.x branch now. >> >> 'npm install .' in the v1.2.x gave me [email protected] as specified in >> package.json and required by [email protected], but Makefile wants to >> call the coffeescript node module with the "--no-header" option, that >> was not present in coffeescript before v. 1.7.1 if I understand >> correctly >> https://github.com/jashkenas/coffeescript/commit/2b03fa9077cea31b25cb23518d8af59fe5b80fed. >> Should I modify the package.json or the Makefile? >> > > No way in either way. Requesting a more recent coffeescript module > breaks some dependencies, and removing the "--no-header" option just > lets me hit against sed errors about missing files. BTW I get the same > sed errors about missing files if I try to compile the version at > https://github.com/openannotation/annotator/archive/v1.2.9.tar.gz linked > to at https://github.com/openannotation/annotator/releases/tag/v1.2.9. > I am installing npm modules locally in every version, and I can compile > the clone of the master branch as usual. > > Any idea?
OK, I don't need minified files to study the code, so I stripped away the pkg/Makefile rules for the min.js files and now the https://github.com/openannotation/annotator/archive/v1.2.9.tar.gz compiles. This sounds like a reasonable start. I'm dropping the v1.2.x branch because I'd like to start with something that was considered stable enough for being released. :-) E.T. PS in case it may help anybody, here is my modified Makefile. Some line breaks may be added by the mail program, so chances are good that this cannot be used as-is. Anyway, I just replaced the parts with the "min.js" string, with parts with a ".js" string. Quick and dirty. ----------------------------------------------------------------- pkg/Makefile: ----------------------------------------------------------------- vpath %.coffee ../src SHELL := /bin/bash PATH := $(shell npm bin):$(PATH) ANNOTATOR=\ xpath.coffee \ util.coffee \ console.coffee \ class.coffee \ range.coffee \ annotator.coffee \ widget.coffee \ editor.coffee \ viewer.coffee \ notification.coffee PLUGINS=\ plugin/annotateitpermissions.coffee \ plugin/auth.coffee \ plugin/document.coffee \ plugin/filter.coffee \ plugin/kitchensink.coffee \ plugin/markdown.coffee \ plugin/permissions.coffee \ plugin/store.coffee \ plugin/tags.coffee \ plugin/unsupported.coffee ANNOTATOR_FULL=\ $(ANNOTATOR) \ plugin/unsupported.coffee \ plugin/auth.coffee \ plugin/store.coffee \ plugin/permissions.coffee \ plugin/annotateitpermissions.coffee \ plugin/filter.coffee \ plugin/markdown.coffee \ plugin/tags.coffee \ plugin/kitchensink.coffee BOOKMARKLET=\ $(ANNOTATOR) \ plugin/auth.coffee \ plugin/store.coffee \ plugin/permissions.coffee \ plugin/annotateitpermissions.coffee \ plugin/unsupported.coffee \ plugin/tags.coffee BOOKMARKLET_CFG=../contrib/bookmarklet/config.json BOOKMARKLET_SRC=../contrib/bookmarklet/src/bookmarklet.js all: annotator plugins annotator-full bookmarklet annotator: annotator.js annotator.min.css #annotator: annotator.min.js annotator.min.css PLUGIN_NAMES=$(notdir $(PLUGINS)) plugins: $(addprefix annotator.,$(PLUGIN_NAMES:.coffee=.js)) #plugins: $(addprefix annotator.,$(PLUGIN_NAMES:.coffee=.min.js)) annotator-full: annotator-full.js #annotator-full.min.js _preamble.map: @../tools/preamble > _preamble.coffee @coffee -mcb _preamble.coffee annotator.js: $(ANNOTATOR) _preamble.map @cd ..; coffeebarx $(addprefix src/, $(ANNOTATOR)) -xso pkg/_annotator.js @mapcat _preamble.map _annotator.map -m annotator.map -j annotator.js annotator-full.js: $(ANNOTATOR_FULL) _preamble.map @cd ..; coffeebarx $(addprefix src/, $(ANNOTATOR_FULL)) -xso pkg/_annotator-full.js @mapcat _preamble.map _annotator-full.map -m annotator-full.map -j annotator-full.js annotator.css: ../css/annotator.css @../tools/data_uri_ify <../css/annotator.css >annotator.css bookmarklet: annotator-bookmarklet.js annotator.min.css bookmarklet.js #bookmarklet: annotator-bookmarklet.min.js annotator.min.css bookmarklet.min.js annotator-bookmarklet.js: $(BOOKMARKLET) _preamble.map @cd ..; coffeebarx $(addprefix src/, $(BOOKMARKLET)) -xso pkg/_annotator-bookmarklet.js @mapcat _preamble.map _annotator-bookmarklet.map -m annotator-bookmarklet.map -j annotator-bookmarklet.js BOOKMARKLET_CFG_DEP=$(shell [ -f $(BOOKMARKLET_CFG) ] && echo $(BOOKMARKLET_CFG)) bookmarklet.js: $(BOOKMARKLET_SRC) $(BOOKMARKLET_CFG_DEP) @if [ -r $(BOOKMARKLET_CFG) ]; then \ sed -e "/Leave __config__/d" \ -e "/^__config__$$/{r $(BOOKMARKLET_CFG)" -e 'd;}' \ <$(BOOKMARKLET_SRC) \ >bookmarklet.js; \ else \ sed -e "/Leave __config__/d" \ <$(BOOKMARKLET_SRC) \ >bookmarklet.js; \ fi annotator.%.js: plugin/%.coffee _preamble.map @cd ..; coffeebarx -xso pkg/_$(basename $@).js pkg/$< @mapcat _preamble.map _$(basename $@).map -m $(basename $@).map -j $@ #%.min.js: %.js _preamble.map # @# Oh my god this is so horrible I want to die. Uglify doesn't add the # @# "file" key to the output map, so we manually inject it... with sed. # @echo $@ # @if [ -e $(basename $<).map ]; then \ # uglifyjs $< --source-map _$(basename $<).min.map --in-source-map $(basename $<).map > _$@ 2>/dev/null ; \ # sed -e 's/\("version":3,\)/\1"file":"'_$@'",/' -i '' _$(basename $<).min.map ; \ # mapcat _preamble.map _$(basename $<).min.map -m $(basename $<).min.map -j $@ ; \ # else \ # uglifyjs $< > $@ 2>/dev/null ; \ # fi %.min.css: %.css @echo $@ @uglifycss $< >$@ locales: @cd ..; \ for f in $(basename $(ANNOTATOR_FULL)); \ do echo "lib/$$f.js"; \ done | \ xargs xgettext -Lpython -o- -k_t -kgettext --from-code=utf-8 \ > locale/annotator.pot clean: rm -rf *.js *.css *.map *_mapsrc _preamble* _tmp # don't remove intermediate .js files when building plugins .SECONDARY: .PHONY: all annotator plugins annotator-full bookmarklet clean ----------------------------------------------------------------- _______________________________________________ annotator-dev mailing list [email protected] https://lists.okfn.org/mailman/listinfo/annotator-dev Unsubscribe: https://lists.okfn.org/mailman/options/annotator-dev
