forked from pool/gimp-help
Accepting request 57702 from GNOME:Apps
Accepted submit request 57702 from user vuntz OBS-URL: https://build.opensuse.org/request/show/57702 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gimp-help?expand=0&rev=12
This commit is contained in:
parent
187bda62f8
commit
f25a0ed5c1
926
Makefile.GNU
Normal file
926
Makefile.GNU
Normal file
@ -0,0 +1,926 @@
|
||||
########################################################################
|
||||
#### Configuration (system-dependent) variables ####
|
||||
########################################################################
|
||||
|
||||
CYGWIN = $(shell make.d/test/is_cygwin.sh || echo 0)
|
||||
|
||||
|
||||
########################################################################
|
||||
#### The GIMP manual languages ####
|
||||
########################################################################
|
||||
|
||||
ALL_LINGUAS = da de en es fr it ja ko nl nn pl ru sv zh_CN
|
||||
LANGUAGES = $(if $(LINGUAS),$(filter $(ALL_LINGUAS),$(LINGUAS)),$(ALL_LINGUAS))
|
||||
ifneq ($(DOC_LINGUAS),)
|
||||
$(warning Do not set the internal variable DOC_LINGUAS)
|
||||
endif
|
||||
DOC_LINGUAS = $(LINGUAS)
|
||||
|
||||
ifneq ($(XML_LANG),)
|
||||
$(error You must not set the internal variable XML_LANG)
|
||||
endif
|
||||
ifneq ($(PO_LANGS),)
|
||||
$(error You must not set the internal variable PO_LANGS)
|
||||
endif
|
||||
XML_LANG = en
|
||||
PO_LANGS = $(filter-out $(XML_LANG), $(LANGUAGES))
|
||||
|
||||
|
||||
########################################################################
|
||||
#### External programs ####
|
||||
########################################################################
|
||||
|
||||
XSLTPROC = xsltproc
|
||||
XSLTFLAGS = --nonet
|
||||
|
||||
XMLLINT = xmllint
|
||||
XMLLINTFLAGS = --nonet
|
||||
|
||||
XML2PO = tools/xml2po.py
|
||||
XML2POFLAGS = --mode=gimphelp
|
||||
|
||||
MSGWIDTH = 79
|
||||
MSGUNIQ = msguniq
|
||||
MSGUNIQFLAGS =
|
||||
MSGCAT = msgcat
|
||||
MSGCATFLAGS = --width=$(MSGWIDTH)
|
||||
MSGINIT = msginit
|
||||
MSGINITFLAGS = --no-translator --width=$(MSGWIDTH)
|
||||
MSGFMT = msgfmt
|
||||
MSGFMTFLAGS = --check --use-fuzzy --statistics
|
||||
MSGMERGE = msgmerge
|
||||
MSGMERGEFLAGS = --quiet --width=$(MSGWIDTH)
|
||||
|
||||
DBLATEX = dblatex
|
||||
DBLATEXFLAGS = --verbose
|
||||
DOCBOOK2ODF = docbook2odf
|
||||
DOCBOOK2ODFFLAGS =
|
||||
|
||||
SED = sed
|
||||
|
||||
# Standard shell commands
|
||||
echo_n = echo -n
|
||||
mkdir_p = mkdir -p
|
||||
ln_s = ln -s
|
||||
find_l = find -L
|
||||
|
||||
# Calling make recursively
|
||||
RMAKE = $(MAKE) -f Makefile.GNU --no-print-directory
|
||||
|
||||
# Local (gimp-help-specific) tools
|
||||
MAKE_IMAGE_LINKS = make.d/make_image_links.pl
|
||||
MAKE_IMAGE_LINKS_FLAGS = -v
|
||||
ifeq ($(CYGWIN),1)
|
||||
MAKE_IMAGE_LINKS_FLAGS += --mode=hardlink,copy
|
||||
endif
|
||||
|
||||
# FIXME/TODO:
|
||||
# make it work with srcdir != builddir
|
||||
# Directories
|
||||
srcdir = .
|
||||
builddir = .
|
||||
abs_srcdir := $(shell cd $(srcdir) && pwd)
|
||||
abs_builddir := $(shell pwd)
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Files and directories ####
|
||||
########################################################################
|
||||
|
||||
src_file_predicates = \
|
||||
-name '*.xml' \
|
||||
-not -name '$(notdir $(AUTHORS_DOCBOOK_XML))'
|
||||
src_dir_predicates = -name images -prune -o -type d -print
|
||||
pot_file_predicates = -type f
|
||||
po_file_predicates = -type f -not -name "$(COMPENDIUM)"
|
||||
xml_file_predicates = -name '*.xml'
|
||||
|
||||
# List of authors and contributors (no DocBook)
|
||||
AUTHORS_SOURCE_XML = stylesheets/authors.xml
|
||||
# Automatically generated authors section (DocBook)
|
||||
AUTHORS_DOCBOOK_XML = src/preface/authors.xml
|
||||
AUTHORS_DOCBOOK_DIRNAME = $(dir $(AUTHORS_DOCBOOK_XML))
|
||||
AUTHORS_DOCBOOK_FILENAME = $(notdir $(AUTHORS_DOCBOOK_XML))
|
||||
# Stylesheets generating AUTHORS
|
||||
AUTHORS_TEXT_STYLESHEETS = \
|
||||
stylesheets/authors_text.xsl \
|
||||
stylesheets/authors_common.xsl
|
||||
# Stylesheets generating src/preface/authors.xml
|
||||
AUTHORS_DOCBOOK_STYLESHEETS = \
|
||||
stylesheets/authors_docbook.xsl \
|
||||
stylesheets/authors_common.xsl
|
||||
# Stylesheet generating MAINTAINERS
|
||||
DOAP_STYLESHEET = stylesheets/doap2text.xsl
|
||||
|
||||
# Targets which don't require source file list
|
||||
QUICK_TARGETS = help clean dot image-% AUTHORS MAINTAINERS
|
||||
|
||||
# Files & directories
|
||||
ifeq ($(filter $(QUICK_TARGETS),$(MAKECMDGOALS)),)
|
||||
SRC_DIRS := $(shell cd $(srcdir) && $(find_l) src/ $(src_dir_predicates))
|
||||
SRC_FILES := $(shell cd $(srcdir) && $(find_l) src/ $(src_file_predicates)) \
|
||||
$(AUTHORS_DOCBOOK_XML)
|
||||
else
|
||||
SRC_DIRS = $(shell cd $(srcdir) && $(find_l) src/ $(src_dir_predicates))
|
||||
SRC_FILES = $(shell cd $(srcdir) && $(find_l) src/ $(src_file_predicates)) \
|
||||
$(AUTHORS_DOCBOOK_XML)
|
||||
endif
|
||||
|
||||
# TODO
|
||||
#HTML_STYLESHEETS = stylesheets/html*.xsl
|
||||
HTML_STYLESHEETS = stylesheets/plainhtml.xsl stylesheets/htmlalternate.xsl
|
||||
|
||||
# This variable is used by "msgmerge";
|
||||
# use empty variable to disable the compendium option
|
||||
COMPENDIUM = Compendium.po
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Control the amount of output messages ####
|
||||
########################################################################
|
||||
|
||||
# Usage of the "msg" and "cmd" variables:
|
||||
# In the command lines of the make rules, use
|
||||
# $(msg) bla bla bla instead of @echo bla bla bla
|
||||
# $(cmd) command args instead of @command args (or command args)
|
||||
# then
|
||||
# messages will be suppressed if VERBOSE=0,
|
||||
# commands will be printed if VERBOSE=2.
|
||||
|
||||
VERBOSE = 1
|
||||
|
||||
ifeq ($(VERBOSE),0)
|
||||
msg = @:
|
||||
cmd = @
|
||||
else
|
||||
ifeq ($(VERBOSE),1)
|
||||
msg = @echo
|
||||
cmd = @
|
||||
else
|
||||
msg = @echo
|
||||
cmd =
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Functions ####
|
||||
########################################################################
|
||||
|
||||
#--------------------------------------------------------------#
|
||||
# The main functions used to transform #
|
||||
# (a) XML files to POT files #
|
||||
# (b) POT files to PO files #
|
||||
# (c) XML and PO files to XML files #
|
||||
#--------------------------------------------------------------#
|
||||
|
||||
# Create a PO-template (POT)
|
||||
#
|
||||
# Usage:
|
||||
# $(call xml2pot,xml-files,pot-file)
|
||||
# Parameters:
|
||||
# $1 - input: original (untranslated) XML files
|
||||
# and other prerequisites, e.g. images or "FORCE"
|
||||
# $2 - output: POT template file containing translatable tags
|
||||
xml2pot = $(XML2PO) $(XML2POFLAGS) --output='-' $(filter %.xml,$(1)) \
|
||||
| $(MSGUNIQ) $(MSGUNIQFLAGS) \
|
||||
| $(MSGCAT) $(MSGCATFLAGS) - > "$(2)"; \
|
||||
test -s "$(2)" || rm -f "$(2)"; \
|
||||
touch -c -r $(call get_recent_file,$(1)) "$(2)" || true; \
|
||||
test -s "$(2)"
|
||||
|
||||
# Merge template (pot) and message catalog (po) or create a new catalog
|
||||
#
|
||||
# Usage:
|
||||
# $(call pot2po,pot-file,language,po-file)
|
||||
# Parameters:
|
||||
# $1 - input POT file
|
||||
# $2 - translation language
|
||||
# $3 - output PO file
|
||||
pot2po = with_compendium="$(shell $(call get_compendium,$3)) \
|
||||
$(shell $(call use_gimp_po_files,$2))"; \
|
||||
tmpfile=$(3).tmp; \
|
||||
if [ -s $(3) ]; then \
|
||||
$(MSGMERGE) $(MSGMERGEFLAGS) $${with_compendium} \
|
||||
--output-file $${tmpfile} $(3) $(1); \
|
||||
else \
|
||||
$(MSGINIT) $(MSGINITFLAGS) --input $(1) --locale=$(2) --output=$(3); \
|
||||
pofile=$(3); \
|
||||
if [ -s $${pofile%/*}.po ]; then \
|
||||
$(MSGMERGE) $(MSGMERGEFLAGS) $${with_compendium} \
|
||||
--output-file $${tmpfile} $${pofile%/*}.po $(3); \
|
||||
elif [ -n "$${with_compendium}" ]; then \
|
||||
$(MSGMERGE) $(MSGMERGEFLAGS) $${with_compendium} \
|
||||
--output-file $${tmpfile} $(3) $(1); \
|
||||
else \
|
||||
$(SED) -e '/Plural-Forms:/d' $(3) > $${tmpfile}; \
|
||||
fi; \
|
||||
fi; \
|
||||
test -s $${tmpfile} && mv -f $${tmpfile} $(3) || rm -f $${tmpfile}; \
|
||||
test -s $(3) && $(MSGFMT) $(MSGFMTFLAGS) $(3) || exit 70; \
|
||||
rm -f messages.mo messages.gmo
|
||||
|
||||
# Merge PO file into (translated) XML file
|
||||
#
|
||||
# Usage:
|
||||
# $(call po2xml,en-xml-file,po-file,language,translated-xml-file)
|
||||
# Parameters:
|
||||
# $1 - original (untranslated) XML file
|
||||
# $2 - PO file containing translations
|
||||
# $3 - translation language
|
||||
# $4 - resulting (translated) XML file
|
||||
ifneq ($(FORMAT_XML_WITH_XMLLINT),1)
|
||||
po2xml = $(XML2PO) $(XML2POFLAGS) --po-file=$(2) --language=$(3) --output=$(4) $(1); \
|
||||
rm -f .xml2po.mo
|
||||
else
|
||||
po2xml = ($(XML2PO) $(XML2POFLAGS) --po-file=$(2) --language=$(3) --output='-' $(1) \
|
||||
| $(XMLLINT) $(XMLLINTFLAGS) --format --output $(4) -); \
|
||||
rm -f .xml2po.mo
|
||||
endif
|
||||
|
||||
|
||||
#--------------------------------------------------------------#
|
||||
# Helper functions #
|
||||
#--------------------------------------------------------------#
|
||||
|
||||
make_target_dir = f=$(1); d=$${f%/*}; test -d $$d || $(mkdir_p) $$d
|
||||
|
||||
get_recent_file = $(shell ls -t $(1) | head -n 1)
|
||||
|
||||
copy = $(ln_s) $(abs_srcdir)/$(1) $(2)
|
||||
|
||||
ifneq ($(COMPENDIUM),)
|
||||
get_compendium = \
|
||||
file="$(1)"; dir=$${file%/*}; \
|
||||
while true; do \
|
||||
if test -f $${dir}/$(COMPENDIUM); then \
|
||||
opt="$${opt} --compendium=$${dir}/$(COMPENDIUM)"; \
|
||||
fi; \
|
||||
case "$${dir}" in \
|
||||
po|*/po) break;; \
|
||||
*/*) dir="$${dir%/*}";; \
|
||||
*) break;; \
|
||||
esac; \
|
||||
done; \
|
||||
if test -n "$${opt}"; then echo $${opt}; fi
|
||||
else
|
||||
get_compendium =
|
||||
endif
|
||||
|
||||
ifneq ($(GIMP_PO_ROOT),)
|
||||
use_gimp_po_files = \
|
||||
for po in $(GIMP_PO_ROOT)/po*/$(1).po; do \
|
||||
if test -f "$${po}"; then echo '--compendium'="$${po}"; fi; \
|
||||
done
|
||||
else
|
||||
use_gimp_po_files =
|
||||
endif
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Main targets ####
|
||||
########################################################################
|
||||
|
||||
.PHONY: all
|
||||
all: html index AUTHORS MAINTAINERS
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Help!!! ####
|
||||
########################################################################
|
||||
|
||||
.PHONY: help
|
||||
make.help:
|
||||
@echo >&2 'ERROR: cannot find the help file "$@"!'
|
||||
@exit 66
|
||||
# TODO?: replace with a "real" script (e.g. tools/make-help.sed)
|
||||
# (probably "yes" if more features are needed...)
|
||||
help: make.help
|
||||
@$(SED) \
|
||||
-e '### skip comments ###' \
|
||||
-e '/^#/d' \
|
||||
-e '### print if no "make" variable found ###' \
|
||||
-e '/@/!b' \
|
||||
-e '### replace "make" variables ###' \
|
||||
-e 's/@LANGUAGES@/@$(strip $(LANGUAGES))@/' \
|
||||
-e 's/@LINGUAS@/@$(strip $(LINGUAS))@/' \
|
||||
-e 's/@ALL_LINGUAS@/@$(strip $(ALL_LINGUAS))@/' \
|
||||
-e '### add commas ###' \
|
||||
-e 'tloop' \
|
||||
-e ':loop' \
|
||||
-e ' ### mark value of variable (@@...@@) ###' \
|
||||
-e ' s/@\([^@]*\)@/@@\1@@/' \
|
||||
-e ' twhile' \
|
||||
-e ' :while' \
|
||||
-e ' s/\(@@[^,@]*\) \([^@]*@@\)/\1, \2/' \
|
||||
-e ' twhile' \
|
||||
-e ' s/@@\([^@]*\)@@/\1/' \
|
||||
-e 'tloop' \
|
||||
$<
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make AUTHORS and MAINTAINERS file ####
|
||||
########################################################################
|
||||
|
||||
AUTHORS: $(AUTHORS_SOURCE_XML) $(AUTHORS_TEXT_STYLESHEETS)
|
||||
$(msg) "[DOC] $@"
|
||||
$(cmd) $(XSLTPROC) \
|
||||
$(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
|
||||
$(srcdir)/stylesheets/authors_text.xsl \
|
||||
$< \
|
||||
> $@
|
||||
|
||||
$(AUTHORS_DOCBOOK_XML): $(AUTHORS_SOURCE_XML) $(AUTHORS_DOCBOOK_STYLESHEETS)
|
||||
$(msg) "[SRC] $@"
|
||||
$(cmd) $(call make_target_dir,$@)
|
||||
$(cmd) $(XSLTPROC) \
|
||||
$(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
|
||||
$(srcdir)/stylesheets/authors_docbook.xsl \
|
||||
$< \
|
||||
> $@
|
||||
|
||||
MAINTAINERS: gimp-help-2.doap $(DOAP_STYLESHEET)
|
||||
$(msg) "[DOC] $@"
|
||||
$(cmd) $(XSLTPROC) --output $@ $(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
|
||||
$(DOAP_STYLESHEET) $<
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make pot files: XML(en) --> POT ####
|
||||
########################################################################
|
||||
|
||||
# src/path/to/file/*.xml --> pot/path/to/file.pot
|
||||
POT_FILES = $(patsubst src/%,pot/%.pot,$(filter-out src src/,$(SRC_DIRS)))
|
||||
# Special case: src/*.xml --> pot/gimp.pot
|
||||
POT_FILES += pot/gimp.pot
|
||||
|
||||
# XXX: Secondary Expansion of the following two rules is required because
|
||||
# "pot/%.pot: $(srcdir)/src/%/*.xml" didn't work with make v3.82
|
||||
# (cf. bug #637505).
|
||||
.SECONDEXPANSION:
|
||||
# General case
|
||||
ifeq ($(filter pot/%.pot po/%.po,$(MAKECMDGOALS)),)
|
||||
pot/%.pot: src/$$*/*.xml $$(wildcard images/C/$$*/*.*)
|
||||
else
|
||||
pot/%.pot: src/$$*/*.xml FORCE
|
||||
endif
|
||||
$(cmd) $(call make_target_dir,$@)
|
||||
$(msg) "[POT] $@"
|
||||
$(cmd) $(call xml2pot,$^,$@)
|
||||
# Special case: rename pot file for toplevel xml files
|
||||
ifeq ($(filter pot/%.pot po/%.po,$(MAKECMDGOALS)),)
|
||||
pot/gimp.pot: src/*.xml $(wildcard images/C/*.*)
|
||||
else
|
||||
pot/gimp.pot: src/*.xml FORCE
|
||||
endif
|
||||
$(cmd) $(call make_target_dir,$@)
|
||||
$(msg) "[POT] $@"
|
||||
$(cmd) $(call xml2pot,$^,$@)
|
||||
# Special case: pot file for the authors DocBook file
|
||||
# requires an additional prerequisite
|
||||
AUTHORS_POT = $(AUTHORS_DOCBOOK_XML:src/%/$(AUTHORS_DOCBOOK_FILENAME)=pot/%.pot)
|
||||
ifeq ($(filter pot/%.pot po/%.po,$(MAKECMDGOALS)),)
|
||||
# TODO: add images to prerequisites if necessary
|
||||
$(AUTHORS_POT): $(AUTHORS_DOCBOOK_XML) $(wildcard $(AUTHORS_DOCBOOK_DIRNAME)*.xml)
|
||||
else
|
||||
$(AUTHORS_POT): $(AUTHORS_DOCBOOK_XML) $(wildcard $(AUTHORS_DOCBOOK_DIRNAME)*.xml) FORCE
|
||||
endif
|
||||
$(cmd) $(call make_target_dir,$@)
|
||||
$(msg) "[POT] $@"
|
||||
$(cmd) $(call xml2pot,$^,$@)
|
||||
|
||||
# Remove left over pot files
|
||||
cleanup-pot:
|
||||
$(msg) "Cleaning up pot files ..."
|
||||
$(cmd) $(find_l) pot/ $(pot_file_predicates) | \
|
||||
while read potfile; do \
|
||||
potfile=$${potfile#pot/}; srcfile=src/$${potfile%.pot}.xml \
|
||||
test -e $${srcfile} || rm -f $${potfile}; \
|
||||
done
|
||||
|
||||
# Targets suitable for command line
|
||||
pot: potfiles cleanup-pot ;
|
||||
potfiles: $(POT_FILES) ;
|
||||
|
||||
.PHONY: pot potfiles cleanup-pot
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make po files: POT --> PO ####
|
||||
########################################################################
|
||||
|
||||
define MAKE_PO_RULES
|
||||
$(1)_PO_FILES = $$(patsubst pot/%.pot, po/$(1)/%.po, $$(POT_FILES))
|
||||
ifeq ($$(filter po/$(1)/%.po,$$(MAKECMDGOALS)),)
|
||||
$$($(1)_PO_FILES): po/$(1)/%.po : pot/%.pot
|
||||
else
|
||||
$$($(1)_PO_FILES): po/$(1)/%.po : pot/%.pot FORCE
|
||||
endif
|
||||
$$(cmd) $$(call make_target_dir,$$@)
|
||||
$$(msg) "[PO] $$@"
|
||||
$$(cmd) if test -s $$<; then $$(call pot2po,$$<,$(1),$$@); else touch $$@; fi
|
||||
po-$(1): $$($(1)_PO_FILES) cleanup-po-$(1)
|
||||
$$(cmd) if test -e messages.mo; then rm -f messages.mo; fi
|
||||
cleanup-po-$(1):
|
||||
$$(msg) "Cleaning up '$(1)' po files ..."
|
||||
$$(cmd) $(find_l) po/$(1)/ $$(po_file_predicates) | \
|
||||
while read pofile; do \
|
||||
potfile=pot/$$$${pofile#po/$(1)/}t; \
|
||||
test -e $$$${potfile} || rm -vf $$$${pofile}; \
|
||||
done
|
||||
endef
|
||||
$(foreach LANG,$(PO_LANGS),$(eval $(call MAKE_PO_RULES,$(LANG))))
|
||||
|
||||
# Special case 'en': do nothing :-)
|
||||
po-en: ;
|
||||
|
||||
# Print translation statistics
|
||||
|
||||
status-%: po-status-% ;
|
||||
po-status-%: po-%
|
||||
$(cmd) perl tools/get_po_status.pl po/$*
|
||||
|
||||
status-all: po-status-all ;
|
||||
po-status-all:
|
||||
$(cmd) for podir in po/*; do \
|
||||
perl tools/get_po_status.pl --nofiles --nosummary $${podir} || break; \
|
||||
done
|
||||
|
||||
todo-%: po-todo-% ;
|
||||
po-todo-%: po-%
|
||||
$(cmd) perl tools/get_po_status.pl --todo po/$*
|
||||
|
||||
# Force updating po file(s)
|
||||
force-po/%:
|
||||
$(cmd) $(RMAKE) po/$*/*.po
|
||||
|
||||
# Main commandline target
|
||||
po: $(foreach LANG,$(PO_LANGS),po-$(LANG)) ;
|
||||
|
||||
.PHONY: po po-% cleanup-po-% todo-% po-todo-% po-status-%
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Generate XML prerequisites ####
|
||||
########################################################################
|
||||
|
||||
ifeq ($(filter $(QUICK_TARGETS),$(MAKECMDGOALS)),)
|
||||
include $(foreach LANG,$(PO_LANGS),xml/$(LANG)/.deps.mk)
|
||||
endif
|
||||
|
||||
# The dynamically generated and updated ".deps.mk" files contain
|
||||
# rules to register the po prereqisite for every xml file, e.g.
|
||||
# xml/LANG/*.xml: po/LANG/gimp.po
|
||||
# xml/LANG/filters/*.xml: po/LANG/filters.po
|
||||
# xml/LANG/filters/generic/*.xml: po/LANG/filters/generic.po
|
||||
# etc.
|
||||
|
||||
#xml/$(1)/.deps.mk: $(AUTHORS_DOCBOOK_XML) $$($(1)_PO_FILES)
|
||||
# TODO: simplify
|
||||
define MAKE_DEP_RULES
|
||||
xml/$(1)/.deps.mk: $(AUTHORS_DOCBOOK_XML) $$(SRC_FILES)
|
||||
$$(cmd) $$(call make_target_dir,$$@)
|
||||
$$(msg) "[DEP] $$@"
|
||||
$$(cmd) touch $$@
|
||||
$$(cmd) for srcdir in $(SRC_DIRS); do \
|
||||
ls $$$${srcdir}/*.xml >/dev/null 2>&1 || continue; \
|
||||
srcdir=$$$${srcdir%/}; \
|
||||
xmldir=xml/$(1)$$$${srcdir#src}; \
|
||||
test "$$$${srcdir}" != "src" || srcdir="src/gimp"; \
|
||||
pofile=po/$(1)$$$${srcdir#src}.po; \
|
||||
echo "$$$${xmldir}/*.xml: $$$${pofile}"; \
|
||||
done > $$@
|
||||
endef
|
||||
$(foreach LANG,$(PO_LANGS),$(eval $(call MAKE_DEP_RULES,$(LANG))))
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make XML files: PO --> XML(non-en) ####
|
||||
########################################################################
|
||||
|
||||
# TODO: check xml/$(1) vs. xml-$(1) prerequisites (XML_FILES)
|
||||
define MAKE_XML_RULES
|
||||
$(1)_XML_FILES = $$(SRC_FILES:src/%=xml/$(1)/%)
|
||||
xml/$(1)/%.xml:
|
||||
$$(msg) "[XML] $$@"
|
||||
$$(cmd) $$(call make_target_dir,$$@)
|
||||
$$(cmd) xmlfile=$$@; \
|
||||
stem=$$*; \
|
||||
srcfile=src/$$$${stem}.xml; \
|
||||
test "$$$${stem}" != "$$$${stem%/*}" && stem=$$$${stem%/*} || stem=gimp; \
|
||||
pofile=po/$(1)/$$$${stem}.po; \
|
||||
test -e "$$$${pofile}" || $$(RMAKE) "$$$${pofile}"; \
|
||||
$(call po2xml,$$$${srcfile},$$$${pofile},$(1),$$@)
|
||||
|
||||
# This is indirectly used as HTML and PDF prerequisite:
|
||||
xml/$(1): $$($(1)_XML_FILES) | xml/$(1)/images
|
||||
$$(cmd) test -d $$@ && touch $$@ || $(mkdir_p) $$@
|
||||
|
||||
# Targets suitable for command line
|
||||
xml-$(1): po-$(1) xml/$(1) cleanup-xml-$(1) ;
|
||||
endef
|
||||
$(foreach LANG,$(PO_LANGS),$(eval $(call MAKE_XML_RULES,$(LANG))))
|
||||
|
||||
# Special case: en
|
||||
|
||||
en_XML_FILES = $(SRC_FILES:src/%=xml/en/%)
|
||||
$(en_XML_FILES): xml/en/%.xml : src/%.xml
|
||||
$(msg) "[XML] $@ (copy)"
|
||||
$(cmd) $(call make_target_dir,$@)
|
||||
$(cmd) cp -f $< $@
|
||||
|
||||
xml/en: $(en_XML_FILES) | xml/en/images
|
||||
$(cmd) test -d $@ && touch $@ || $(mkdir_p) $@
|
||||
|
||||
xml-en: xml/en cleanup-xml-en ;
|
||||
|
||||
# Images
|
||||
|
||||
ifeq ($(MAKE_IMAGES), lazy)
|
||||
# fast and lazy: detect added or removed images, but may miss changed images
|
||||
IMAGE_PREREQ = $(shell cd $(srcdir) && $(find_l) images/common images/C -type d)
|
||||
else ifeq ($(MAKE_IMAGES), force)
|
||||
# just in case: always update images
|
||||
IMAGE_PREREQ = FORCE
|
||||
else
|
||||
# strict (default): detects added, removed, or changed images
|
||||
IMAGE_PREREQ = $(shell cd $(srcdir) && $(find_l) images/common images/C)
|
||||
endif
|
||||
|
||||
xml/%/images: $(IMAGE_PREREQ)
|
||||
$(cmd) test -d $@ && rm -rf $@/* || $(mkdir_p) $@
|
||||
$(cmd) $(echo_n) "Copying images ($*) ..."
|
||||
$(cmd) perl $(MAKE_IMAGE_LINKS) $(MAKE_IMAGE_LINKS_FLAGS) \
|
||||
images/common images/C xml/$*
|
||||
$(cmd) touch $@
|
||||
|
||||
# Remove left over xml files
|
||||
cleanup-xml-%:
|
||||
$(msg) "Cleaning up '$*' xml files ..."
|
||||
$(cmd) $(find_l) xml/$*/ $(xml_file_predicates) | \
|
||||
while read xmlfile; do \
|
||||
test -e src/$${xmlfile#xml/$*/} || rm -vf $${xmlfile}; \
|
||||
done
|
||||
|
||||
# Command-line targets
|
||||
xml: $(foreach LANG,$(LANGUAGES),xml-$(LANG)) ;
|
||||
images-%: xml/%/images html/%/images ;
|
||||
|
||||
.PRECIOUS: xml/%/images
|
||||
.PHONY: xml xml-% images-%
|
||||
|
||||
|
||||
########################################################################
|
||||
#### XML validation ####
|
||||
########################################################################
|
||||
|
||||
validate: validate-en ;
|
||||
validate-%: xmllint-% ;
|
||||
|
||||
xmllint: xmllint-en ;
|
||||
xmllint-%: log/%-xmllint.log
|
||||
$(cmd) test -s $< && cat $<
|
||||
|
||||
define MAKE_XMLLINT_RULES
|
||||
log/$(1)-xmllint.log: $$($(1)_XML_FILES)
|
||||
$$(cmd) $$(call make_target_dir,$$(@))
|
||||
$$(cmd) if type $$(XMLLINT) >/dev/null 2>&1; then \
|
||||
echo "*** Validating XML ($(1)) ... "; \
|
||||
$$(XMLLINT) $$(XMLLINTFLAGS) --xinclude xml/$(1)/gimp.xml \
|
||||
| $$(SED) -e 's,xmlns:xi="http://www.w3.org/2001/XInclude",,' \
|
||||
| $$(XMLLINT) $$(XMLLINTFLAGS) --valid \
|
||||
--output log/$(1).xml - 2>$$(@); \
|
||||
if test -s $$(@); then \
|
||||
echo "(You will find log and xml files in log/.)"; \
|
||||
else \
|
||||
echo "$(1): no errors."; \
|
||||
rm -f log/$(1).xml; \
|
||||
fi >> $$(@); \
|
||||
else \
|
||||
echo >&2 "*** Validating '$(1)' skipped: 'xmllint' not found."; \
|
||||
fi
|
||||
endef
|
||||
$(foreach LANG,$(LANGUAGES),$(eval $(call MAKE_XMLLINT_RULES,$(LANG))))
|
||||
|
||||
log:
|
||||
$(cmd) mkdir $@ && test -w $@
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make XSL styesheets for HTML ####
|
||||
########################################################################
|
||||
|
||||
# TODO
|
||||
stylesheets/plainhtml.xsl: stylesheets/plainhtml.xsl.in
|
||||
$(msg) "[XSL] $@"
|
||||
$(cmd) $(SED) -e s,@STYLEBASE@,http://docbook.sourceforge.net/release/xsl/current, $< > $@
|
||||
|
||||
stylesheets/htmlalternate.xsl: stylesheets/htmlalternate.xsl.in
|
||||
$(msg) "[XSL] $@"
|
||||
$(cmd) cp $< $@
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make HTML files: XML --> HTML ####
|
||||
########################################################################
|
||||
|
||||
# Main commandline targets
|
||||
html-%: xml-% html/%/index.html html/%/gimp-help.xml ;
|
||||
html: $(foreach lang,$(LANGUAGES),html-$(lang)) ;
|
||||
|
||||
# Making the main HTML file (side effect: make gimp-xrefs.xml)
|
||||
html/%/index.html: xml/% $(HTML_STYLESHEETS) | html/%/images
|
||||
$(msg) "*** Making html for $* ... "
|
||||
$(cmd) rm -f html/$*/*.*
|
||||
|
||||
$(cmd) $(XSLTPROC) \
|
||||
$(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
|
||||
--xinclude \
|
||||
--stringparam l10n.gentext.default.language $* \
|
||||
-o html/$*/ \
|
||||
stylesheets/plainhtml.xsl \
|
||||
xml/$*/gimp.xml
|
||||
|
||||
$(msg) "Copying stylesheets ... "
|
||||
$(cmd) for file in $(srcdir)/stylesheets/*.css \
|
||||
$(srcdir)/stylesheets/$*/*.css; do \
|
||||
if [ -f $${file} ]; then cp -f $${file} html/$*; fi; \
|
||||
done
|
||||
|
||||
### Cross references & context help ###
|
||||
index: $(foreach lang,$(LANGUAGES),index-$(lang)) ;
|
||||
index-%: html/%/gimp-help.xml ;
|
||||
|
||||
html/%/gimp-help.xml: html/%/gimp-xrefs.xml stylesheets/makeindex.xsl
|
||||
$(cmd) $(XSLTPROC) \
|
||||
$(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
|
||||
$(srcdir)/stylesheets/makeindex.xsl \
|
||||
$< \
|
||||
> $@
|
||||
|
||||
# The xrefs file is a side effect of the HTML build
|
||||
html/%/gimp-xrefs.xml: html/%/index.html
|
||||
$(cmd) touch $@
|
||||
|
||||
### HTML images ###
|
||||
ifneq ($(CYGWIN),1)
|
||||
html/%/images: xml/%/images
|
||||
$(cmd) test -d html/$* || $(mkdir_p) html/$*
|
||||
$(cmd) test -e $@ || $(ln_s) ../../$< $@
|
||||
else
|
||||
html/%/images: $(IMAGE_PREREQ)
|
||||
$(cmd) if test -h $@; then rm -f $@; fi
|
||||
$(cmd) test -d $@ && rm -rf $@/* || $(mkdir_p) $@
|
||||
$(cmd) $(echo_n) "Copying HTML images ($*) ..."
|
||||
$(cmd) perl $(MAKE_IMAGE_LINKS) $(MAKE_IMAGE_LINKS_FLAGS) \
|
||||
images/common images/C $@
|
||||
$(cmd) touch $@
|
||||
endif
|
||||
|
||||
.PRECIOUS: \
|
||||
html/%/index.html \
|
||||
html/%/gimp-help.xml \
|
||||
html/%/gimp-xrefs.xml \
|
||||
html/%/images
|
||||
|
||||
.PHONY: html html-% index index-%
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make HTML draft (single page preview) ####
|
||||
########################################################################
|
||||
|
||||
preview-xml/%.xml: xml/%.xml stylesheets/drafthtml.xsl
|
||||
$(cmd) id=`$(SED) -e 's/.*id=.//' -e tmatch \
|
||||
-e d -e :match \
|
||||
-e 's/["'"'"'].*//' \
|
||||
-e q $<`; \
|
||||
test -n "$${id}" || id=noname; \
|
||||
lang=$(shell echo $< | $(SED) -e 's,^xml/,,; s,/.*,,'); \
|
||||
destdir=html/$${lang}; \
|
||||
test -d $${destdir}/images || $(RMAKE) $${destdir}/images; \
|
||||
cp -f $(srcdir)/stylesheets/*.css $(srcdir)/stylesheets/$${lang}/*.css\
|
||||
$${destdir} 2>/dev/null; \
|
||||
destfile="$${destdir}/$${id}-draft.html"; \
|
||||
echo "Making $${destfile} (ignore any XSLT complaints) ..."; \
|
||||
$(XSLTPROC) \
|
||||
$(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
|
||||
--xinclude \
|
||||
--stringparam l10n.gentext.default.language $${lang} \
|
||||
--output $${destfile} \
|
||||
$(srcdir)/stylesheets/drafthtml.xsl \
|
||||
$<
|
||||
|
||||
preview-src/%.xml: $(foreach lang,$(LANGUAGES),preview-xml/$(lang)/%.xml)
|
||||
$(msg) "(Remember that links won't work in a draft file.)"
|
||||
|
||||
preview-po/%.po:
|
||||
@echo >&2 "After merging pofiles this feature does not work any more."
|
||||
@echo >&2 "Use 'make ... preview-xml/$*.xml'."
|
||||
|
||||
# For backward compatibility:
|
||||
|
||||
xml/%.draft: preview-xml/%.xml
|
||||
$(msg) "(Remember that links won't work in a draft file.)"
|
||||
|
||||
src/%.draft: preview-src/%.xml ;
|
||||
|
||||
# Synonyms
|
||||
draft-xml/%.xml: preview-xml/%.xml ;
|
||||
draft-src/%.xml: preview-src/%.xml ;
|
||||
draft-po/%.po: preview-po/%.po ;
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make PDF files: XML --> PDF ####
|
||||
########################################################################
|
||||
|
||||
ifneq ($(DBLATEX),)
|
||||
|
||||
pdf: $(foreach lang,$(LANGUAGES),pdf-$(lang)) ;
|
||||
pdf-%: pdf/%/gimp.pdf ;
|
||||
|
||||
# TODO: check prerequisites, e.g. images (--fig-path option?)
|
||||
pdf/%/gimp.pdf: xml/% stylesheets/plainprint.xsl xml/%/images
|
||||
$(cmd) if test -f pdf/%.pdf; then rm -f pdf/%.pdf; fi
|
||||
$(cmd) test -d pdf/$* || $(mkdir_p) pdf/$*
|
||||
$(msg) "*** Making PDF ($*) ..."
|
||||
$(cmd) $(DBLATEX) $(DBLATEXFLAGS) $(DBLATEXEXTRAFLAGS) \
|
||||
--xsl-user=$(srcdir)/stylesheets/plainprint.xsl \
|
||||
--output=$@ \
|
||||
xml/$*/gimp.xml
|
||||
|
||||
.PRECIOUS: pdf/%/gimp.pdf
|
||||
|
||||
else
|
||||
|
||||
pdf pdf-%:
|
||||
@echo "*** Cannot build PDFs because DBLATEX was not defined ***"
|
||||
@exit 69
|
||||
|
||||
endif
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make ODF files: XML --> ODF ####
|
||||
########################################################################
|
||||
|
||||
ifneq ($(DOCBOOK2ODF),)
|
||||
|
||||
odf: $(foreach lang,$(LANGUAGES),odf-$(lang)) ;
|
||||
odf-%: odf/%/gimp.odt ;
|
||||
|
||||
# TODO?: images
|
||||
odf/%/gimp.odt: xml/%/gimp-alldocs.xml xml/%/images
|
||||
$(cmd) if test -f odf/%.odt; then rm -f odf/%.odt; fi
|
||||
$(cmd) test -d odf/$* || $(mkdir_p) odf/$*
|
||||
$(msg) "*** Making ODF ($*) ..."
|
||||
$(cmd) $(DOCBOOK2ODF) $(DOCBOOK2ODFFLAGS) \
|
||||
--debug -v \
|
||||
--output-dir=`pwd` \
|
||||
--output-file=$@ \
|
||||
$<
|
||||
|
||||
# make temporary XML source file with all Xincludes resolved
|
||||
# TODO: find out how to avoid this
|
||||
xml/%/gimp-alldocs.xml: xml/%/gimp.xml
|
||||
$(msg) "*** Merging XML ..."
|
||||
$(cmd) $(XMLLINT) $(XMLLINTFLAGS) --xinclude --output $@ $<
|
||||
|
||||
.PRECIOUS: odf/%/gimp.odt
|
||||
|
||||
else
|
||||
|
||||
odf odf-%:
|
||||
@echo "*** Cannot build ODFs because DOCBOOK2ODF was not defined ***"
|
||||
@exit 69
|
||||
|
||||
endif
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Make language-specific HTML tarballs ####
|
||||
########################################################################
|
||||
|
||||
tarball_prefix = gimp-help-2-html
|
||||
tarball_dir = gimp-help-2
|
||||
HTMLMETAFILES = README AUTHORS COPYING MAINTAINERS
|
||||
|
||||
$(tarball_prefix)-%.tar: html/%/index.html html/%/gimp-help.xml \
|
||||
$(HTMLMETAFILES) make.d/Makefile.html-package
|
||||
$(msg) "Making $@ ..."
|
||||
$(cmd) test ! -d $(tarball_dir)
|
||||
$(cmd) $(mkdir_p) $(tarball_dir)/html
|
||||
$(cmd) cd $(tarball_dir)/html && $(ln_s) ../../html/$* .
|
||||
$(cmd) cp $(HTMLMETAFILES) $(tarball_dir)/
|
||||
$(cmd) cp make.d/INSTALL.html-package $(tarball_dir)/INSTALL
|
||||
$(cmd) $(SED) -e '/LANGUAGE *=/s/en/$*/' \
|
||||
make.d/Makefile.html-package > $(tarball_dir)/Makefile
|
||||
$(cmd) tar -chf $@ $(tarball_dir)/
|
||||
$(cmd) rm -rf $(tarball_dir)
|
||||
|
||||
$(tarball_prefix)-%.tar.gz: $(tarball_prefix)-%.tar
|
||||
$(msg) "Making $@ ..."
|
||||
$(cmd) gzip -c9 $< > $@
|
||||
|
||||
$(tarball_prefix)-%.tar.bz2: $(tarball_prefix)-%.tar
|
||||
$(msg) "Making $@ ..."
|
||||
$(cmd) bzip2 -c9 $< > $@
|
||||
|
||||
$(tarball_prefix)-%.tar.xz: $(tarball_prefix)-%.tar
|
||||
$(msg) "Making $@ ..."
|
||||
$(cmd) xz -c9 $< > $@
|
||||
|
||||
$(tarball_prefix)-%.zip: $(tarball_prefix)-%.tar
|
||||
$(msg) "Making $@ ..."
|
||||
$(cmd) rm -rf $(tarball_dir)/html
|
||||
$(cmd) $(mkdir_p) $(tarball_dir)/html
|
||||
$(cmd) cd $(tarball_dir)/html && $(ln_s) ../../html/$* .
|
||||
$(cmd) zip -9rq $@ $(tarball_dir)/html
|
||||
$(cmd) rm -rf $(tarball_dir)
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Clean up ####
|
||||
########################################################################
|
||||
|
||||
clean:
|
||||
$(cmd) for dir in pot xml log html pdf odf; do \
|
||||
test -d $${dir} || continue; \
|
||||
echo "Removing $${dir} ..."; \
|
||||
rm -rf $${dir}; \
|
||||
done
|
||||
$(cmd) for f in AUTHORS $(AUTHORS_DOCBOOK_XML) build-system.*; do \
|
||||
test -f $${f} || continue; \
|
||||
echo "Removing $${f} ..."; \
|
||||
rm -f $${f}; \
|
||||
done
|
||||
|
||||
dist-clean: clean ;
|
||||
|
||||
.PHONY: clean dist-clean
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Source file checks ####
|
||||
########################################################################
|
||||
|
||||
check: checks ;
|
||||
checks: check-image-references ;
|
||||
check-images: check-image-references ;
|
||||
|
||||
check-image-references:
|
||||
$(cmd) if cd $(srcdir) && test -e tools/validate_references.py && \
|
||||
type python >/dev/null 2>&1; then \
|
||||
echo "*** Checking image references ... "; \
|
||||
python tools/validate_references.py \
|
||||
--verbose --broken --orphaned \
|
||||
$(VALIDATEREFERENCESFLAGS); \
|
||||
else \
|
||||
echo >&2 "*** Cannot check image references (no Python installed?) ***"; \
|
||||
fi
|
||||
|
||||
check-images-%: FORCE
|
||||
$(cmd) $(RMAKE) check-image-references \
|
||||
VALIDATEREFERENCESFLAGS="--imgdir=images/C,images/$*"
|
||||
|
||||
check-image-resolutions-%:
|
||||
$(cmd) /bin/sh tools/check_image_resolutions.sh images/$*
|
||||
|
||||
# special case 'en':
|
||||
check-images-en check-images-C: check-image-references ;
|
||||
check-image-resolutions-en: check-image-resolutions-C ;
|
||||
|
||||
.PHONY: checks check-image-references check-image-resolutions-%
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Build system development & debugging ####
|
||||
########################################################################
|
||||
|
||||
build-system.svg: make.d/build-system.dot
|
||||
$(cmd) if type dot >/dev/null; then \
|
||||
dot -Tsvg -o $@ $<; \
|
||||
fi
|
||||
|
||||
dot: build-system.svg
|
||||
$(cmd) if test -e $<; then \
|
||||
if type display >/dev/null; then \
|
||||
display $<; \
|
||||
elif type xv >/dev/null; then \
|
||||
xv $<; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
|
||||
########################################################################
|
||||
#### Special targets ####
|
||||
########################################################################
|
||||
|
||||
FORCE: ;
|
||||
|
||||
.PHONY: FORCE
|
||||
|
||||
# Delete the default suffix rules
|
||||
.SUFFIXES:
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e66c577aba33b02123f08decac6191f4a2fdbb1a12744fbb6d1275fa8c4c9745
|
||||
size 49365211
|
3
gimp-help-2.6.1.tar.bz2
Normal file
3
gimp-help-2.6.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd122571738f02000952b12cff2551080304b315714a1da21c79f77afc668ba3
|
||||
size 118819114
|
62
gimp-help-2.doap
Normal file
62
gimp-help-2.doap
Normal file
@ -0,0 +1,62 @@
|
||||
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
||||
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
||||
xmlns:gnome="http://api.gnome.org/doap-extensions#"
|
||||
xmlns="http://usefulinc.com/ns/doap#">
|
||||
|
||||
<name xml:lang="en">gimp-help-2</name>
|
||||
<homepage rdf:resource="http://docs.gimp.org"/>
|
||||
<mailing-list rdf:resource="https://lists.xcf.berkeley.edu/mailman/listinfo/gimp-docs" />
|
||||
<download-page rdf:resource="http://docs.gimp.org/download.html" />
|
||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=GIMP-manual" />
|
||||
|
||||
<shortdesc xml:lang="en">GIMP User Manual</shortdesc>
|
||||
<shortdesc xml:lang="de">GIMP-Benutzerhandbuch</shortdesc>
|
||||
<!-- Based on I.1.1.2. The GIMP Help System -->
|
||||
<description xml:lang="en">
|
||||
The GIMP Documentation Team and other users have provided you with the
|
||||
information necessary to understand how to use GIMP. The User Manual is an
|
||||
important part of this help. The current version is on the web site of the
|
||||
Documentation Team in HTML format. The HTML version is also available as
|
||||
context sensitive help (if you installed it) while using GIMP by pressing
|
||||
the F1 key.
|
||||
</description>
|
||||
<description xml:lang="de">
|
||||
Das Dokumentations-Team und die Anwender von GIMP stellen Ihnen
|
||||
vielfältige Informationen bereit, um Sie bei der Arbeit mit GIMP zu
|
||||
unterstützen. Dieses Handbuch ist ein wichtiger Bestandteil der
|
||||
Dokumentation. Die aktuelle Version finden Sie auf der Webseite des
|
||||
GIMP-Dokumentations-Teams. Die HTML-Version wird zusätzlich als Kontexthilfe
|
||||
verwendet. Sie können auf diese von GIMP aus jederzeit durch Drücken der
|
||||
F1-Taste zugreifen.
|
||||
</description>
|
||||
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Róman Joost</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:romanofski@gimp.org" />
|
||||
<gnome:userid>romanofski</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Ulf-D. Ehlert</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:ulfehlert@svn.gnome.org" />
|
||||
<gnome:userid>ulfehlert</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Marco Ciampa</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:ciampix@libero.it" />
|
||||
<gnome:userid>marcoc</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Julien Hardelin</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:jm.hard@wanadoo.fr" />
|
||||
<gnome:userid>jhardlin</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
</Project>
|
@ -1,11 +0,0 @@
|
||||
--- configure.ac
|
||||
+++ configure.ac
|
||||
@@ -30,7 +30,7 @@
|
||||
# ALL_LINGUAS="cs de en es fr hr it ko nl no ru sv zh_CN"
|
||||
QUICKREFERENCE_ALL_LINGUAS="de en fr it ru sv"
|
||||
if test "x$ALL_LINGUAS" = "x"; then
|
||||
- ALL_LINGUAS="de en es fr it ko nl no pl ru sv"
|
||||
+ ALL_LINGUAS="de en es fr it ko nl nb pl ru sv"
|
||||
else
|
||||
QUICKREFERENCE_LINGUAS=""
|
||||
for asked_lang in $ALL_LINGUAS ; do
|
@ -1,240 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
LANGUAGES_NO_IMAGES="pl sv"
|
||||
LANGUAGES_INCOMPLETE='cs hr lt zh_CN'
|
||||
LANGUAGES_NO_EXAMPLES='es ko nl pl ru sv'
|
||||
|
||||
unset ${!LANG_NAME__*}
|
||||
LANG_NAME__af="Afrikaans"
|
||||
LANG_NAME__am="Amharic"
|
||||
LANG_NAME__ang="Old English"
|
||||
LANG_NAME__ar="Arabic"
|
||||
LANG_NAME__as="Assamese"
|
||||
LANG_NAME__ast="Asturian"
|
||||
LANG_NAME__az="Azeri"
|
||||
LANG_NAME__be="Belarusian"
|
||||
LANG_NAME__be__AT__latin="Belarusian Latin"
|
||||
LANG_NAME__bg="Bulgarian"
|
||||
LANG_NAME__bn="Bengali"
|
||||
LANG_NAME__bn_BD="Bengali / Bangla"
|
||||
LANG_NAME__bn_IN="Bengali, India"
|
||||
LANG_NAME__br="Breton"
|
||||
LANG_NAME__bs="Bosnian"
|
||||
LANG_NAME__ca="Catalan"
|
||||
LANG_NAME__cs="Czech"
|
||||
LANG_NAME__cy="Welsh"
|
||||
LANG_NAME__da="Danish"
|
||||
LANG_NAME__de="German"
|
||||
LANG_NAME__dz="Dzongkha"
|
||||
LANG_NAME__el="Greek"
|
||||
LANG_NAME__en_AU="English, Australia"
|
||||
LANG_NAME__en_CA="English, Canada"
|
||||
LANG_NAME__en_GB="English, Great Britain"
|
||||
LANG_NAME__en_US="English, USA"
|
||||
LANG_NAME__eo="Esperanto"
|
||||
LANG_NAME__es="Spanish"
|
||||
LANG_NAME__es_AR="Spanish, Argentina"
|
||||
LANG_NAME__es_CL="Spanish, Chile"
|
||||
LANG_NAME__es_CO="Spanish, Colombia"
|
||||
LANG_NAME__es_CR="Spanish, Costa Rica"
|
||||
LANG_NAME__es_DO="Spanish, Dominican Republic"
|
||||
LANG_NAME__es_EC="Spanish, Ecuador"
|
||||
LANG_NAME__es_ES="Spanish, Spain"
|
||||
LANG_NAME__es_GT="Spanish, Guatemala"
|
||||
LANG_NAME__es_HN="Spanish, Honduras"
|
||||
LANG_NAME__es_MX="Spanish, Mexico"
|
||||
LANG_NAME__es_NI="Spanish, Nicaragua"
|
||||
LANG_NAME__es_PA="Spanish, Panama"
|
||||
LANG_NAME__es_PE="Spanish, Peru"
|
||||
LANG_NAME__es_PR="Spanish, Puerto Rico"
|
||||
LANG_NAME__es_SV="Spanish, El Salvador"
|
||||
LANG_NAME__es_UY="Spanish, Uruguay"
|
||||
LANG_NAME__es_VE="Spanish, Venezuela"
|
||||
LANG_NAME__et="Estonian"
|
||||
LANG_NAME__eu="Basque"
|
||||
LANG_NAME__fa="Persian"
|
||||
LANG_NAME__fi="Finnish"
|
||||
LANG_NAME__fr="French"
|
||||
LANG_NAME__fur="Friulian"
|
||||
LANG_NAME__ga="Irish"
|
||||
LANG_NAME__gl="Galician"
|
||||
LANG_NAME__gn="Brazilian Guarani"
|
||||
LANG_NAME__gu="Gujarati"
|
||||
LANG_NAME__he="Hebrew"
|
||||
LANG_NAME__hi="Hindi"
|
||||
LANG_NAME__hr="Croatian"
|
||||
LANG_NAME__hu="Hungarian"
|
||||
LANG_NAME__hy="Armenian"
|
||||
LANG_NAME__id="Indonesian"
|
||||
LANG_NAME__io="Ido"
|
||||
LANG_NAME__is="Icelandic"
|
||||
LANG_NAME__it="Italian"
|
||||
LANG_NAME__ja="Japanese"
|
||||
LANG_NAME__ka="Georgian"
|
||||
LANG_NAME__km="Khmer"
|
||||
LANG_NAME__kn="Kannada"
|
||||
LANG_NAME__ko="Korean"
|
||||
LANG_NAME__ku="Kurdish"
|
||||
LANG_NAME__ky="Kyrgyz"
|
||||
LANG_NAME__li="Limburgish"
|
||||
LANG_NAME__lo="Lao"
|
||||
LANG_NAME__lt="Lithuanian"
|
||||
LANG_NAME__lv="Latvian"
|
||||
LANG_NAME__mai="Maithili"
|
||||
LANG_NAME__mg="Malagasy"
|
||||
LANG_NAME__mi="Maori"
|
||||
LANG_NAME__mk="Macedonian"
|
||||
LANG_NAME__ml="Malayalam"
|
||||
LANG_NAME__mn="Mongolian"
|
||||
LANG_NAME__mr="Marathi"
|
||||
LANG_NAME__ms="Malay"
|
||||
LANG_NAME__nb="Norwegian Bokmal"
|
||||
LANG_NAME__nds__AT__NFE="Low Saxon NFE (Northern Frisian Enclave)"
|
||||
LANG_NAME__ne="Nepali"
|
||||
LANG_NAME__nl="Dutch"
|
||||
LANG_NAME__nn="Norwegian Nynorsk"
|
||||
LANG_NAME__nso="Northern Sotho"
|
||||
LANG_NAME__oc="Occitan"
|
||||
LANG_NAME__or="Oriya"
|
||||
LANG_NAME__pa="Punjabi"
|
||||
LANG_NAME__pa_IN="Punjabi (Gurmukhi)"
|
||||
LANG_NAME__pa_PK="Punjabi (Shahmukhi)"
|
||||
LANG_NAME__pl="Polish"
|
||||
LANG_NAME__ps="Pashto, Pushto"
|
||||
LANG_NAME__pt="Portuguese"
|
||||
LANG_NAME__pt_BR="Brasilian Portuguese"
|
||||
LANG_NAME__ro="Romanian"
|
||||
LANG_NAME__ru="Russian"
|
||||
LANG_NAME__rw="Kinyarwanda"
|
||||
LANG_NAME__si="Sinhala"
|
||||
LANG_NAME__sk="Slovak"
|
||||
LANG_NAME__sl="Slovenian"
|
||||
LANG_NAME__sq="Albanian"
|
||||
LANG_NAME__sr="Serbian"
|
||||
LANG_NAME__sr__AT__Latn="Serbian Latin"
|
||||
LANG_NAME__sr__AT__ije="Serbian Cyrillic"
|
||||
LANG_NAME__sv="Swedish"
|
||||
LANG_NAME__ta="Tamil"
|
||||
LANG_NAME__te="Telugu"
|
||||
LANG_NAME__tg="Tajik"
|
||||
LANG_NAME__th="Thai"
|
||||
LANG_NAME__tk="Turkmen"
|
||||
LANG_NAME__tr="Turkish"
|
||||
LANG_NAME__tt="Tatar"
|
||||
LANG_NAME__ug="Uighur"
|
||||
LANG_NAME__uk="Ukrainian"
|
||||
LANG_NAME__ur="Urdu"
|
||||
LANG_NAME__uz="Uzbek"
|
||||
LANG_NAME__uz__AT__cyrillic="Uzbek Cyrillic"
|
||||
LANG_NAME__vi="Vietnamese"
|
||||
LANG_NAME__wa="Walloon"
|
||||
LANG_NAME__wal="Walaita"
|
||||
LANG_NAME__xh="Xhosa"
|
||||
LANG_NAME__yi="Yiddish"
|
||||
LANG_NAME__yo="Yoruba"
|
||||
LANG_NAME__zh_CN="Simplified Chinese"
|
||||
LANG_NAME__zh_HK="Chinese, Hong Kong"
|
||||
LANG_NAME__zh_TW="Traditional Chinese"
|
||||
LANG_NAME__zu="Zulu"
|
||||
|
||||
|
||||
LANG_LIST=$(
|
||||
(
|
||||
for LNG in $LANGUAGES_NO_IMAGES ; do
|
||||
echo $LNG
|
||||
done
|
||||
tar -jtf gimp-help-2.4.1.tar.bz2 | sed -n '
|
||||
s%.*/\([^/]*\)/[^/]*$%TRANS:\1%
|
||||
/dir/d
|
||||
/map/d
|
||||
/src/d
|
||||
/omf/d
|
||||
/web/d
|
||||
/po/d
|
||||
/^TRANS:\('"${LANGUAGES_INCOMPLETE// /\\|}"'\)$/d
|
||||
s/^TRANS:no$/TRANS:nb/
|
||||
s/^TRANS:\(..\)$/\1/p
|
||||
s/^TRANS:\(...\)$/\1/p
|
||||
s/^TRANS:\(.._..\)$/\1/p
|
||||
s/^TRANS:\(.._...\)$/\1/p
|
||||
s/^TRANS:\(..._..\)$/\1/p
|
||||
s/^TRANS:\(..._...\)$/\1/p
|
||||
') | sort -u)
|
||||
|
||||
sed <gimp-help.spec >gimp-help.spec.in '
|
||||
1,/%package/{
|
||||
/%package/i \
|
||||
@PACKAGE@
|
||||
}
|
||||
/^%prep/ a \
|
||||
%prep
|
||||
/%package/,/%prep/d
|
||||
|
||||
/^%changelog/a \
|
||||
@FILES@\
|
||||
%changelog
|
||||
/^%files /,/^%changelog/d
|
||||
'
|
||||
|
||||
exec <gimp-help.spec.in
|
||||
exec >gimp-help.spec
|
||||
|
||||
while read -r ; do
|
||||
case "$REPLY" in
|
||||
@PACKAGE@ )
|
||||
for LNG in $LANG_LIST ; do
|
||||
eval LNG_NAME\=\"\$LANG_NAME__${LNG//@/__AT__}\"
|
||||
if test -z "$LNG_NAME" ; then
|
||||
echo >&2 "ERROR: No LANG_NAME name for \"$LNG\" defined ${LNG//@/__AT__}!"
|
||||
LNG_NAME=FIXME
|
||||
fi
|
||||
case $LNG in
|
||||
ja | ja_* ) GROUP=System/I18n/Japanese ;;
|
||||
ko | ko_* ) GROUP=System/I18n/Korean ;;
|
||||
zh_* ) GROUP=System/I18n/Chinese ;;
|
||||
* ) GROUP=System/Localization ;;
|
||||
esac
|
||||
cat <<EOF
|
||||
%package $LNG
|
||||
Summary: $LNG_NAME Help System Data for GIMP2
|
||||
Group: $GROUP
|
||||
Requires: %{name} = %{version}
|
||||
Provides: locale(%{name}:$LNG)
|
||||
|
||||
%description $LNG
|
||||
GIMP-Help is a help system designed for use with the internal GIMP help
|
||||
browser, external Web browsers and HTML renderers, and human eyes.
|
||||
Docbook is used to create a highly customizable system for all needs.
|
||||
|
||||
This package provides $LNG_NAME data for gimp-help.
|
||||
|
||||
EOF
|
||||
done
|
||||
;;
|
||||
@FILES@ )
|
||||
for LNG in $LANG_LIST ; do
|
||||
eval 'case $LNG in
|
||||
'"${LANGUAGES_NO_IMAGES// /|}"' ) IMAGES= ;;
|
||||
* ) IMAGES="%lang($LNG) %{_datadir}/gimp/2.0/help/*/*/$LNG
|
||||
" ;;
|
||||
esac'
|
||||
eval 'case $LNG in
|
||||
'"${LANGUAGES_NO_EXAMPLES// /|}"' ) EXAMPLES= ;;
|
||||
* ) EXAMPLES="%lang($LNG) %{_datadir}/gimp/2.0/help/*/*/examples/$LNG
|
||||
" ;;
|
||||
esac'
|
||||
cat <<EOF
|
||||
%files $LNG
|
||||
%defattr (-,root,root)
|
||||
%lang($LNG) %{_datadir}/gimp/2.0/help/$LNG
|
||||
$IMAGES$EXAMPLES
|
||||
EOF
|
||||
done
|
||||
;;
|
||||
* )
|
||||
echo "$REPLY"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
rm gimp-help.spec.in
|
@ -1,3 +1,49 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 9 11:18:15 CET 2011 - vuntz@opensuse.org
|
||||
|
||||
- Update to version 2.6.1:
|
||||
+ Bugfixes: bgo#599700, bgo#618143, bgo#611265, bgo#563659,
|
||||
bgo#602659
|
||||
+ Spelling fixes and new translations for: Italian, English,
|
||||
German, French, Japnese, Norwegian, Swedish, Russian, Korean
|
||||
+ XSLT Stylesheet improvements
|
||||
+ Build system improviements
|
||||
- Changes from version 2.6.0:
|
||||
+ Bugfixes: bgo#591510, bgo#562448, bgo#568420, bgo#569729,
|
||||
bgo#569731, bgo#569733, bgo#569739, bgo#574040, bgo#572673,
|
||||
bgo#557443, bgo#576230, bgo#577710, bgo#556314, bgo#573828,
|
||||
bgo#583840, bgo#573257, bgo#580532, bgo#585823, bgo#588318,
|
||||
bgo#588316, bgo#544965, bgo#569739, bgo#591510, bgo#591510
|
||||
+ Spelling fixes and new translations for: English, German,
|
||||
Italian, French, Japanese, Russian, Korean, Norwegian, Swedish
|
||||
+ Website typo fixes
|
||||
- Add Makefile.GNU and gimp-help-2.doap from git, since the default
|
||||
Makefile provided in the tarball doesn't work (see bgo#639057).
|
||||
This means we also have to manually install the files in
|
||||
%install.
|
||||
- Change gimp-2.0 Requires and Enhances to gimp, since it's the
|
||||
right name of the package now.
|
||||
- Update descriptions.
|
||||
- Remove old hacks to remove executable permission and rename the
|
||||
no locale to nb: they are not needed anymore.
|
||||
- Change the use of fdupes to only create links between files of
|
||||
the same language (since all languages are packaged separately).
|
||||
- Add subpackage for new locales (da, ja, nn, zh) and remove nb
|
||||
subpackage.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 7 11:32:30 CET 2011 - vuntz@opensuse.org
|
||||
|
||||
- Use xml2po BuildRequires instead of gnome-doc-utils.
|
||||
- Improve summaries and descriptions.
|
||||
- Drop gimp-help-no.patch: it's not used, and we accomplish what we
|
||||
want to fix the issue in %install. Also drop call to autoreconf
|
||||
that we were still using because of this unapplied patch.
|
||||
- Drop gimp-help-update-spec.sh: it's really too complex for
|
||||
nothing, and the update to 2.6 version of the help will break it.
|
||||
- Remove ownership of %{_datadir}/gimp and %{_datadir}/gimp/2.0
|
||||
since it's not needed anymore.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 30 19:35:03 UTC 2010 - aj@suse.de
|
||||
|
||||
|
1042
gimp-help.spec
1042
gimp-help.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user