summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Pelz <pelzflorian@pelzflorian.de>2017-11-03 14:37:31 +0100
committerFlorian Pelz <pelzflorian@pelzflorian.de>2017-11-03 14:37:31 +0100
commitbf8bce9f7448fa454e479f8c8b6c06944cebf0f8 (patch)
tree82765fced7894b599c9216ec7c9cfdef3ca5034b
parenta2f051865a54ed26657fe367942bebed16bcce04 (diff)
Dump the final 2017 files all at once. 😈
-rw-r--r--bin/copyshop/ABOUT-NLS1379
-rw-r--r--bin/copyshop/AUTHORS1
-rw-r--r--bin/copyshop/ChangeLog0
-rw-r--r--bin/copyshop/Makefile.am23
-rw-r--r--bin/copyshop/README11
-rwxr-xr-xbin/copyshop/autogen.sh3
-rwxr-xr-xbin/copyshop/config.rpath684
-rw-r--r--bin/copyshop/configure.ac29
-rw-r--r--bin/copyshop/m4/ChangeLog11
-rw-r--r--bin/copyshop/m4/gettext.m4405
-rw-r--r--bin/copyshop/m4/iconv.m4271
-rw-r--r--bin/copyshop/m4/lib-ld.m4119
-rw-r--r--bin/copyshop/m4/lib-link.m4777
-rw-r--r--bin/copyshop/m4/lib-prefix.m4224
-rw-r--r--bin/copyshop/m4/nls.m432
-rw-r--r--bin/copyshop/m4/po.m4453
-rw-r--r--bin/copyshop/m4/progtest.m491
-rw-r--r--bin/copyshop/meson.build38
-rw-r--r--bin/copyshop/po/ChangeLog12
-rw-r--r--bin/copyshop/po/Makefile.in.in483
-rw-r--r--bin/copyshop/po/Makevars78
-rw-r--r--bin/copyshop/po/POTFILES (renamed from bin/copyshop/po/POTFILES.in)0
-rw-r--r--bin/copyshop/po/Rules-quot58
-rw-r--r--bin/copyshop/po/boldquot.sed10
-rw-r--r--bin/copyshop/po/de.po25
-rw-r--r--bin/copyshop/po/en.po27
-rw-r--r--bin/copyshop/po/en@boldquot.header25
-rw-r--r--bin/copyshop/po/en@quot.header22
-rw-r--r--bin/copyshop/po/insert-header.sin23
-rw-r--r--bin/copyshop/po/meson.build2
-rw-r--r--bin/copyshop/po/mycopyshop.pot62
-rw-r--r--bin/copyshop/po/quot.sed6
-rw-r--r--bin/copyshop/po/remove-potcdate.sin19
-rw-r--r--bin/copyshop/src/cshopapplication.c3
-rw-r--r--bin/copyshop/src/cshopraw.c3
-rw-r--r--bin/copyshop/src/main.c1
-rw-r--r--bin/copyshop/src/meson.build16
-rw-r--r--bin/copyshop/src/ui/meson.build11
-rw-r--r--bin/text/text.c2
-rw-r--r--tex/dchandir-dchandir-work.pngbin0 -> 21100 bytes
-rw-r--r--tex/handout-01-install-en.tex34
-rw-r--r--tex/handout-01-install.tex34
-rw-r--r--tex/handout-02-hello-gtk-en.tex7
-rw-r--r--tex/handout-02-hello-gtk.tex7
-rw-r--r--tex/handout-03-glade-en.tex20
-rw-r--r--tex/handout-03-glade.tex25
-rw-r--r--tex/handout-04-text-editor-en.tex8
-rw-r--r--tex/handout-04-text-editor.tex6
-rw-r--r--tex/handout-05-meson-en.tex129
-rw-r--r--tex/handout-05-meson.tex120
-rw-r--r--tex/handout-06-autotools-en.tex152
-rw-r--r--tex/handout-06-autotools.tex139
-rw-r--r--tex/handout-06-translations-en.tex (renamed from tex/handout-07-translations-en.tex)89
-rw-r--r--tex/handout-06-translations.tex132
-rw-r--r--tex/handout-07-translations.tex125
-rw-r--r--tex/handout-xx-hangman-en.tex (renamed from tex/handout-05-hangman-en.tex)4
-rw-r--r--tex/handout-xx-hangman.tex (renamed from tex/handout-05-hangman.tex)4
-rw-r--r--tex/slides-01-en.tex39
-rw-r--r--tex/slides-01.tex38
-rw-r--r--tex/slides-02-en.tex99
-rw-r--r--tex/slides-02.tex119
-rw-r--r--web/handout-01-install-en.pdfbin23601 -> 20936 bytes
-rw-r--r--web/handout-01-install.pdfbin23942 -> 21217 bytes
-rw-r--r--web/handout-02-hello-gtk-en.pdfbin22681 -> 23655 bytes
-rw-r--r--web/handout-02-hello-gtk.pdfbin23051 -> 24046 bytes
-rw-r--r--web/handout-03-glade-en.pdfbin18698 -> 21139 bytes
-rw-r--r--web/handout-03-glade.pdfbin19128 -> 22439 bytes
-rw-r--r--web/handout-04-text-editor-en.pdfbin26209 -> 27352 bytes
-rw-r--r--web/handout-04-text-editor.pdfbin26872 -> 28782 bytes
-rw-r--r--web/handout-05-hangman-en.pdfbin34679 -> 0 bytes
-rw-r--r--web/handout-05-hangman.pdfbin35175 -> 0 bytes
-rw-r--r--web/handout-05-meson-en.pdfbin0 -> 36769 bytes
-rw-r--r--web/handout-05-meson.pdfbin0 -> 38434 bytes
-rw-r--r--web/handout-06-autotools-en.pdfbin35978 -> 0 bytes
-rw-r--r--web/handout-06-autotools.pdfbin36322 -> 0 bytes
-rw-r--r--web/handout-06-translations-en.pdfbin0 -> 45115 bytes
-rw-r--r--web/handout-06-translations.pdfbin0 -> 47140 bytes
-rw-r--r--web/handout-07-translations-en.pdfbin45938 -> 0 bytes
-rw-r--r--web/handout-07-translations.pdfbin46248 -> 0 bytes
-rw-r--r--web/index.css34
-rw-r--r--web/index.htm89
-rw-r--r--web/slides-01-en.pdfbin486283 -> 457292 bytes
-rw-r--r--web/slides-01.pdfbin487764 -> 458570 bytes
-rw-r--r--web/slides-02-en.pdfbin47348 -> 87830 bytes
-rw-r--r--web/slides-02.pdfbin49078 -> 90509 bytes
85 files changed, 912 insertions, 5980 deletions
diff --git a/bin/copyshop/ABOUT-NLS b/bin/copyshop/ABOUT-NLS
deleted file mode 100644
index 1551426..0000000
--- a/bin/copyshop/ABOUT-NLS
+++ /dev/null
@@ -1,1379 +0,0 @@
-1 Notes on the Free Translation Project
-***************************************
-
-Free software is going international! The Free Translation Project is a
-way to get maintainers of free software, translators, and users all
-together, so that free software will gradually become able to speak many
-languages. A few packages already provide translations for their
-messages.
-
- If you found this 'ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU 'gettext' internally,
-itself available at your nearest GNU archive site. But you do _not_
-need to install GNU 'gettext' prior to configuring, installing or using
-this package with messages translated.
-
- Installers will find here some useful hints. These notes also
-explain how users should proceed for getting the programs to use the
-available translations. They tell how people wanting to contribute and
-work on translations can contact the appropriate team.
-
-1.1 INSTALL Matters
-===================
-
-Some packages are "localizable" when properly installed; the programs
-they contain can be made to speak your own native language. Most such
-packages use GNU 'gettext'. Other packages have their own ways to
-internationalization, predating GNU 'gettext'.
-
- By default, this package will be installed to allow translation of
-messages. It will automatically detect whether the system already
-provides the GNU 'gettext' functions. Installers may use special
-options at configuration time for changing the default behaviour. The
-command:
-
- ./configure --disable-nls
-
-will _totally_ disable translation of messages.
-
- When you already have GNU 'gettext' installed on your system and run
-configure without an option for your new package, 'configure' will
-probably detect the previously built and installed 'libintl' library and
-will decide to use it. If not, you may have to to use the
-'--with-libintl-prefix' option to tell 'configure' where to look for it.
-
- Internationalized packages usually have many 'po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at 'configure' time by using the
-'--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable 'LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-'LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-1.2 Using This Package
-======================
-
-As a user, if your language has been installed for this package, you
-only have to set the 'LANG' environment variable to the appropriate
-'LL_CC' combination. If you happen to have the 'LC_ALL' or some other
-'LC_xxx' environment variables set, you should unset them before setting
-'LANG', otherwise the setting of 'LANG' will not have the desired
-effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
-an ISO 3166 two-letter country code. For example, let's suppose that
-you speak German and live in Germany. At the shell prompt, merely
-execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
-'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your
-'.login' or '.profile' file, once and for all.
-
- You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries. For
-example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The
-country code serves to distinguish the dialects.
-
- The locale naming convention of 'LL_CC', with 'LL' denoting the
-language and 'CC' denoting the country, is the one use on systems based
-on GNU libc. On other systems, some variations of this scheme are used,
-such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales
-supported by your system for your language by running the command
-'locale -a | grep '^LL''.
-
- Not all programs have translations for all languages. By default, an
-English message is shown in place of a nonexistent translation. If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
-for the purpose of message handling, but you still need to have 'LANG'
-set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather read
-translations in German than English for when Swedish is not available,
-set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
-
- Special advice for Norwegian users: The language code for Norwegian
-bokma*l changed from 'no' to 'nb' recently (in 2003). During the
-transition period, while some message catalogs for this language are
-installed under 'nb' and some older ones under 'no', it's recommended
-for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
-older translations are used.
-
- In the 'LANGUAGE' environment variable, but not in the 'LANG'
-environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
-denote the language's main dialect. For example, 'de' is equivalent to
-'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
-as spoken in Portugal) in this context.
-
-1.3 Translating Teams
-=====================
-
-For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list. The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-'http://translationproject.org/', in the "Teams" area.
-
- If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-'-request' appended. For example, speakers of Swedish can send a
-message to 'sv-request@li.org', having this message body:
-
- subscribe
-
- Keep in mind that team members are expected to participate _actively_
-in translations, or at solving translational difficulties, rather than
-merely lurking around. If your team does not exist yet and you want to
-start one, or if you are unsure about what to do or how to get started,
-please write to 'coordinator@translationproject.org' to reach the
-coordinator for all translator teams.
-
- The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skills are praised more than
-programming skills, here.
-
-1.4 Available Packages
-======================
-
-Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of Jun 2014.
-The matrix shows, in regard of each package, for which languages PO
-files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
- Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs
- +---------------------------------------------------+
- a2ps | [] [] [] |
- aegis | |
- anubis | |
- aspell | [] [] [] |
- bash | [] [] [] |
- bfd | |
- binutils | [] |
- bison | |
- bison-runtime | [] |
- buzztrax | [] |
- ccd2cue | |
- ccide | |
- cflow | |
- clisp | |
- coreutils | [] [] |
- cpio | |
- cppi | |
- cpplib | [] |
- cryptsetup | [] |
- datamash | |
- denemo | [] [] |
- dfarc | [] |
- dialog | [] [] [] |
- dico | |
- diffutils | [] |
- dink | [] |
- direvent | |
- doodle | [] |
- dos2unix | |
- dos2unix-man | |
- e2fsprogs | [] [] |
- enscript | [] |
- exif | [] |
- fetchmail | [] [] |
- findutils | [] |
- flex | [] |
- freedink | [] [] |
- fusionforge | |
- gas | |
- gawk | [] |
- gcal | [] |
- gcc | |
- gdbm | |
- gettext-examples | [] [] [] [] [] |
- gettext-runtime | [] [] [] |
- gettext-tools | [] [] |
- gjay | |
- glunarclock | [] [] [] |
- gnubiff | [] |
- gnubik | [] |
- gnucash | () () [] |
- gnuchess | |
- gnulib | [] |
- gnunet | |
- gnunet-gtk | |
- gold | |
- gphoto2 | [] |
- gprof | [] |
- gramadoir | |
- grep | [] [] [] |
- grub | [] |
- gsasl | |
- gss | |
- gst-plugins-bad | [] |
- gst-plugins-base | [] [] [] |
- gst-plugins-good | [] [] [] |
- gst-plugins-ugly | [] [] [] |
- gstreamer | [] [] [] [] |
- gtick | [] |
- gtkam | [] [] |
- gtkspell | [] [] [] [] [] |
- guix | |
- guix-packages | |
- gutenprint | [] |
- hello | [] |
- help2man | |
- help2man-texi | |
- hylafax | |
- idutils | |
- iso_15924 | [] |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | [] |
- iso_639 | [] [] [] [] [] [] [] [] [] |
- iso_639_3 | [] [] |
- iso_639_5 | |
- jwhois | |
- kbd | [] |
- klavaro | [] [] [] [] [] |
- latrine | |
- ld | [] |
- leafpad | [] [] [] [] |
- libc | [] [] [] |
- libexif | () |
- libextractor | |
- libgnutls | [] |
- libgphoto2 | [] |
- libgphoto2_port | [] |
- libgsasl | |
- libiconv | [] [] |
- libidn | [] |
- liferea | [] [] [] [] |
- lilypond | [] [] |
- lordsawar | [] |
- lprng | |
- lynx | [] [] |
- m4 | [] |
- mailfromd | |
- mailutils | |
- make | [] |
- man-db | [] [] |
- man-db-manpages | |
- midi-instruments | [] [] [] |
- minicom | [] |
- mkisofs | [] |
- myserver | [] |
- nano | [] [] [] |
- opcodes | |
- parted | [] |
- pies | |
- popt | [] |
- procps-ng | |
- procps-ng-man | |
- psmisc | [] |
- pspp | [] |
- pushover | [] |
- pwdutils | |
- pyspread | |
- radius | [] |
- recode | [] [] [] |
- recutils | |
- rpm | |
- rush | |
- sarg | |
- sed | [] [] [] |
- sharutils | [] |
- shishi | |
- skribilo | |
- solfege | [] |
- solfege-manual | |
- spotmachine | |
- sudo | [] [] |
- sudoers | [] [] |
- sysstat | [] |
- tar | [] [] [] |
- texinfo | [] [] |
- texinfo_document | [] |
- tigervnc | [] |
- tin | |
- tin-man | |
- tracgoogleappsa... | |
- trader | |
- util-linux | [] |
- ve | |
- vice | |
- vmm | |
- vorbis-tools | [] |
- wastesedge | |
- wcd | |
- wcd-man | |
- wdiff | [] [] |
- wget | [] |
- wyslij-po | |
- xboard | |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
- +---------------------------------------------------+
- af am an ar as ast az be bg bn bn_IN bs ca crh cs
- 4 0 2 5 3 11 0 8 23 3 3 1 54 4 73
-
- da de el en en_GB en_ZA eo es et eu fa fi fr
- +--------------------------------------------------+
- a2ps | [] [] [] [] [] [] [] [] [] |
- aegis | [] [] [] [] |
- anubis | [] [] [] [] [] |
- aspell | [] [] [] [] [] [] [] |
- bash | [] [] [] |
- bfd | [] [] [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] [] [] [] [] |
- bison-runtime | [] [] [] [] [] [] [] [] |
- buzztrax | [] [] [] [] |
- ccd2cue | [] [] [] |
- ccide | [] [] [] [] [] [] |
- cflow | [] [] [] [] [] |
- clisp | [] [] [] [] [] |
- coreutils | [] [] [] [] [] |
- cpio | [] [] [] [] [] |
- cppi | [] [] [] [] [] |
- cpplib | [] [] [] [] [] [] |
- cryptsetup | [] [] [] [] [] |
- datamash | [] [] [] [] |
- denemo | [] |
- dfarc | [] [] [] [] [] [] |
- dialog | [] [] [] [] [] [] [] [] [] |
- dico | [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- dink | [] [] [] [] [] [] |
- direvent | [] [] [] [] |
- doodle | [] [] [] [] |
- dos2unix | [] [] [] [] [] |
- dos2unix-man | [] [] [] |
- e2fsprogs | [] [] [] [] [] |
- enscript | [] [] [] [] [] [] |
- exif | [] [] [] [] [] [] |
- fetchmail | [] () [] [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] |
- flex | [] [] [] [] [] [] |
- freedink | [] [] [] [] [] [] [] [] |
- fusionforge | [] [] [] |
- gas | [] [] [] |
- gawk | [] [] [] [] [] |
- gcal | [] [] [] [] |
- gcc | [] [] |
- gdbm | [] [] [] [] [] |
- gettext-examples | [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] |
- gjay | [] [] [] [] |
- glunarclock | [] [] [] [] [] |
- gnubiff | () [] [] () |
- gnubik | [] [] [] [] [] |
- gnucash | [] () () () () () () |
- gnuchess | [] [] [] [] |
- gnulib | [] [] [] [] [] [] [] |
- gnunet | [] |
- gnunet-gtk | [] |
- gold | [] [] [] |
- gphoto2 | [] () [] [] |
- gprof | [] [] [] [] [] [] |
- gramadoir | [] [] [] [] [] |
- grep | [] [] [] [] [] [] [] |
- grub | [] [] [] [] [] |
- gsasl | [] [] [] [] [] |
- gss | [] [] [] [] [] |
- gst-plugins-bad | [] [] |
- gst-plugins-base | [] [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] [] [] |
- gtick | [] () [] [] [] |
- gtkam | [] () [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] |
- guix | [] [] |
- guix-packages | |
- gutenprint | [] [] [] [] |
- hello | [] [] [] [] [] [] [] [] |
- help2man | [] [] [] [] [] [] [] |
- help2man-texi | [] [] [] |
- hylafax | [] [] |
- idutils | [] [] [] [] [] |
- iso_15924 | [] () [] [] () [] () |
- iso_3166 | [] () [] [] [] [] () [] () |
- iso_3166_2 | [] () () () |
- iso_4217 | [] () [] [] [] () [] () |
- iso_639 | [] () [] [] () [] () |
- iso_639_3 | () () () |
- iso_639_5 | () () () |
- jwhois | [] [] [] [] [] |
- kbd | [] [] [] [] [] [] |
- klavaro | [] [] [] [] [] [] [] |
- latrine | [] () [] [] |
- ld | [] [] [] [] |
- leafpad | [] [] [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] [] () [] [] |
- libextractor | [] |
- libgnutls | [] [] [] [] |
- libgphoto2 | [] () [] |
- libgphoto2_port | [] () [] [] [] [] |
- libgsasl | [] [] [] [] [] |
- libiconv | [] [] [] [] [] [] [] |
- libidn | [] [] [] [] [] |
- liferea | [] () [] [] [] [] [] |
- lilypond | [] [] [] [] [] [] |
- lordsawar | [] [] |
- lprng | |
- lynx | [] [] [] [] [] [] |
- m4 | [] [] [] [] [] [] |
- mailfromd | [] |
- mailutils | [] [] [] [] |
- make | [] [] [] [] [] |
- man-db | [] [] [] [] |
- man-db-manpages | [] [] |
- midi-instruments | [] [] [] [] [] [] [] [] [] |
- minicom | [] [] [] [] [] |
- mkisofs | [] [] [] |
- myserver | [] [] [] [] |
- nano | [] [] [] [] [] [] [] |
- opcodes | [] [] [] [] [] |
- parted | [] [] [] |
- pies | [] |
- popt | [] [] [] [] [] [] |
- procps-ng | [] [] |
- procps-ng-man | [] [] |
- psmisc | [] [] [] [] [] [] [] |
- pspp | [] [] [] |
- pushover | () [] [] [] |
- pwdutils | [] [] [] |
- pyspread | [] [] [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] |
- recutils | [] [] [] [] |
- rpm | [] [] [] [] [] |
- rush | [] [] [] |
- sarg | [] [] |
- sed | [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] [] |
- shishi | [] [] [] |
- skribilo | [] [] |
- solfege | [] [] [] [] [] [] [] [] |
- solfege-manual | [] [] [] [] [] |
- spotmachine | [] [] [] [] |
- sudo | [] [] [] [] [] [] |
- sudoers | [] [] [] [] [] [] |
- sysstat | [] [] [] [] [] [] |
- tar | [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] [] |
- texinfo_document | [] [] [] [] |
- tigervnc | [] [] [] [] [] [] |
- tin | [] [] [] [] |
- tin-man | [] |
- tracgoogleappsa... | [] [] [] [] [] |
- trader | [] [] [] [] [] [] |
- util-linux | [] [] [] [] |
- ve | [] [] [] [] [] |
- vice | () () () |
- vmm | [] [] |
- vorbis-tools | [] [] [] [] |
- wastesedge | [] () |
- wcd | [] [] [] [] |
- wcd-man | [] |
- wdiff | [] [] [] [] [] [] [] |
- wget | [] [] [] [] [] [] |
- wyslij-po | [] [] [] [] |
- xboard | [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] [] [] [] |
- +--------------------------------------------------+
- da de el en en_GB en_ZA eo es et eu fa fi fr
- 120 130 32 1 6 0 94 95 22 13 4 103 136
-
- ga gd gl gu he hi hr hu hy ia id is it ja ka kk
- +-------------------------------------------------+
- a2ps | [] [] [] [] |
- aegis | [] |
- anubis | [] [] [] [] |
- aspell | [] [] [] [] [] |
- bash | [] [] [] |
- bfd | [] [] |
- binutils | [] [] [] |
- bison | [] |
- bison-runtime | [] [] [] [] [] [] [] [] |
- buzztrax | |
- ccd2cue | [] |
- ccide | [] [] |
- cflow | [] [] [] |
- clisp | |
- coreutils | [] [] [] |
- cpio | [] [] [] [] [] [] |
- cppi | [] [] [] [] [] |
- cpplib | [] [] |
- cryptsetup | [] |
- datamash | |
- denemo | [] |
- dfarc | [] [] [] |
- dialog | [] [] [] [] [] [] [] [] [] [] |
- dico | |
- diffutils | [] [] [] [] |
- dink | [] |
- direvent | [] |
- doodle | [] [] |
- dos2unix | [] [] |
- dos2unix-man | |
- e2fsprogs | [] |
- enscript | [] [] [] |
- exif | [] [] [] [] [] [] |
- fetchmail | [] [] [] |
- findutils | [] [] [] [] [] [] [] |
- flex | [] |
- freedink | [] [] [] [] |
- fusionforge | |
- gas | [] |
- gawk | [] () [] |
- gcal | |
- gcc | |
- gdbm | |
- gettext-examples | [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gjay | [] |
- glunarclock | [] [] [] [] [] [] |
- gnubiff | [] [] () |
- gnubik | [] [] [] |
- gnucash | () () () () () [] |
- gnuchess | |
- gnulib | [] [] [] [] [] |
- gnunet | |
- gnunet-gtk | |
- gold | [] [] |
- gphoto2 | [] [] [] [] |
- gprof | [] [] [] [] |
- gramadoir | [] [] [] |
- grep | [] [] [] [] [] [] [] |
- grub | [] [] [] |
- gsasl | [] [] [] [] [] |
- gss | [] [] [] [] [] |
- gst-plugins-bad | [] |
- gst-plugins-base | [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] |
- gtick | [] [] [] [] [] |
- gtkam | [] [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] [] [] |
- guix | |
- guix-packages | |
- gutenprint | [] [] [] |
- hello | [] [] [] [] [] |
- help2man | [] [] [] |
- help2man-texi | |
- hylafax | [] |
- idutils | [] [] |
- iso_15924 | [] [] [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] [] |
- iso_4217 | [] [] [] [] [] [] |
- iso_639 | [] [] [] [] [] [] [] [] [] |
- iso_639_3 | [] [] |
- iso_639_5 | |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- klavaro | [] [] [] [] [] |
- latrine | [] |
- ld | [] [] [] [] |
- leafpad | [] [] [] [] [] [] [] () |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | |
- libgnutls | [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] [] [] [] [] [] |
- libidn | [] [] [] [] |
- liferea | [] [] [] [] [] |
- lilypond | [] |
- lordsawar | |
- lprng | [] |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] [] |
- mailfromd | |
- mailutils | |
- make | [] [] [] [] |
- man-db | [] [] |
- man-db-manpages | [] [] |
- midi-instruments | [] [] [] [] [] [] [] [] [] |
- minicom | [] [] [] |
- mkisofs | [] [] |
- myserver | [] |
- nano | [] [] [] [] [] |
- opcodes | [] [] [] |
- parted | [] [] [] [] |
- pies | |
- popt | [] [] [] [] [] [] [] [] [] [] |
- procps-ng | |
- procps-ng-man | |
- psmisc | [] [] [] [] |
- pspp | [] [] |
- pushover | [] |
- pwdutils | [] |
- pyspread | |
- radius | [] |
- recode | [] [] [] [] [] [] [] |
- recutils | |
- rpm | [] |
- rush | [] |
- sarg | |
- sed | [] [] [] [] [] [] [] |
- sharutils | |
- shishi | |
- skribilo | [] |
- solfege | [] [] |
- solfege-manual | |
- spotmachine | |
- sudo | [] [] [] [] |
- sudoers | [] [] [] |
- sysstat | [] [] [] |
- tar | [] [] [] [] [] [] |
- texinfo | [] [] [] |
- texinfo_document | [] [] |
- tigervnc | |
- tin | |
- tin-man | |
- tracgoogleappsa... | [] [] [] [] |
- trader | [] [] |
- util-linux | [] |
- ve | [] |
- vice | () () |
- vmm | |
- vorbis-tools | [] [] |
- wastesedge | () |
- wcd | |
- wcd-man | |
- wdiff | [] [] [] |
- wget | [] [] [] |
- wyslij-po | [] [] [] |
- xboard | |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] [] |
- +-------------------------------------------------+
- ga gd gl gu he hi hr hu hy ia id is it ja ka kk
- 35 2 47 4 8 2 53 69 2 6 80 11 86 58 0 3
-
- kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
- +--------------------------------------------------+
- a2ps | [] [] |
- aegis | [] |
- anubis | [] [] [] |
- aspell | [] [] |
- bash | [] [] |
- bfd | |
- binutils | |
- bison | [] |
- bison-runtime | [] [] [] [] [] [] |
- buzztrax | |
- ccd2cue | |
- ccide | [] [] |
- cflow | [] |
- clisp | [] |
- coreutils | [] [] |
- cpio | [] |
- cppi | |
- cpplib | [] |
- cryptsetup | [] |
- datamash | [] [] |
- denemo | |
- dfarc | [] [] |
- dialog | [] [] [] [] [] [] |
- dico | |
- diffutils | [] [] [] |
- dink | [] |
- direvent | [] |
- doodle | [] |
- dos2unix | [] [] |
- dos2unix-man | [] |
- e2fsprogs | [] |
- enscript | [] |
- exif | [] [] |
- fetchmail | [] |
- findutils | [] [] |
- flex | [] |
- freedink | [] [] |
- fusionforge | |
- gas | |
- gawk | [] |
- gcal | |
- gcc | |
- gdbm | |
- gettext-examples | [] [] [] [] [] [] |
- gettext-runtime | [] [] |
- gettext-tools | [] |
- gjay | |
- glunarclock | [] [] |
- gnubiff | [] |
- gnubik | [] [] |
- gnucash | () () () () () () () [] |
- gnuchess | [] [] |
- gnulib | [] |
- gnunet | |
- gnunet-gtk | |
- gold | |
- gphoto2 | [] |
- gprof | [] [] |
- gramadoir | [] |
- grep | [] [] |
- grub | [] [] [] |
- gsasl | [] |
- gss | |
- gst-plugins-bad | [] [] |
- gst-plugins-base | [] [] [] |
- gst-plugins-good | [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] |
- gstreamer | [] [] |
- gtick | [] |
- gtkam | [] [] |
- gtkspell | [] [] [] [] [] [] [] |
- guix | |
- guix-packages | |
- gutenprint | [] |
- hello | [] [] [] |
- help2man | [] |
- help2man-texi | |
- hylafax | [] |
- idutils | [] |
- iso_15924 | () [] [] |
- iso_3166 | [] [] [] () [] [] [] [] [] [] |
- iso_3166_2 | () [] |
- iso_4217 | () [] [] [] |
- iso_639 | [] [] () [] [] [] [] |
- iso_639_3 | [] () [] |
- iso_639_5 | () |
- jwhois | [] [] |
- kbd | [] |
- klavaro | [] [] |
- latrine | |
- ld | |
- leafpad | [] [] [] [] [] |
- libc | [] [] |
- libexif | [] |
- libextractor | [] |
- libgnutls | [] [] |
- libgphoto2 | [] |
- libgphoto2_port | [] |
- libgsasl | [] |
- libiconv | [] [] |
- libidn | [] |
- liferea | [] [] [] |
- lilypond | [] |
- lordsawar | |
- lprng | |
- lynx | [] |
- m4 | [] |
- mailfromd | |
- mailutils | |
- make | [] [] |
- man-db | [] |
- man-db-manpages | [] |
- midi-instruments | [] [] [] [] [] [] [] |
- minicom | [] |
- mkisofs | [] |
- myserver | |
- nano | [] [] [] |
- opcodes | [] |
- parted | [] |
- pies | |
- popt | [] [] [] [] [] |
- procps-ng | |
- procps-ng-man | |
- psmisc | [] |
- pspp | [] [] |
- pushover | |
- pwdutils | [] |
- pyspread | |
- radius | [] |
- recode | [] [] |
- recutils | [] |
- rpm | [] |
- rush | [] |
- sarg | |
- sed | [] [] |
- sharutils | [] |
- shishi | |
- skribilo | |
- solfege | [] [] |
- solfege-manual | [] |
- spotmachine | [] |
- sudo | [] [] |
- sudoers | [] [] |
- sysstat | [] [] |
- tar | [] [] [] |
- texinfo | [] |
- texinfo_document | [] |
- tigervnc | [] |
- tin | |
- tin-man | |
- tracgoogleappsa... | [] [] [] |
- trader | [] |
- util-linux | [] |
- ve | [] |
- vice | [] |
- vmm | [] |
- vorbis-tools | [] |
- wastesedge | [] |
- wcd | [] |
- wcd-man | [] |
- wdiff | [] |
- wget | [] [] |
- wyslij-po | [] |
- xboard | [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
- +--------------------------------------------------+
- kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
- 5 11 4 6 0 13 22 3 3 3 4 11 2 40 1 124
-
- nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr
- +--------------------------------------------------+
- a2ps | [] [] [] [] [] [] [] |
- aegis | [] [] |
- anubis | [] [] [] |
- aspell | [] [] [] [] [] [] [] |
- bash | [] [] [] [] [] |
- bfd | [] |
- binutils | [] [] |
- bison | [] [] [] |
- bison-runtime | [] [] [] [] [] [] [] [] |
- buzztrax | |
- ccd2cue | [] |
- ccide | [] [] [] |
- cflow | [] [] |
- clisp | [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- cppi | [] [] [] |
- cpplib | [] [] [] |
- cryptsetup | [] [] |
- datamash | [] [] |
- denemo | |
- dfarc | [] [] [] |
- dialog | [] [] [] [] [] [] [] |
- dico | [] |
- diffutils | [] [] |
- dink | |
- direvent | [] [] |
- doodle | [] [] |
- dos2unix | [] [] [] [] |
- dos2unix-man | [] [] |
- e2fsprogs | [] |
- enscript | [] [] [] [] [] [] |
- exif | [] [] [] [] [] [] |
- fetchmail | [] [] [] |
- findutils | [] [] [] [] [] |
- flex | [] [] [] [] [] |
- freedink | [] [] [] [] [] |
- fusionforge | |
- gas | |
- gawk | [] |
- gcal | |
- gcc | |
- gdbm | [] [] [] |
- gettext-examples | [] [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] [] [] |
- gjay | [] |
- glunarclock | [] [] [] [] [] [] |
- gnubiff | [] |
- gnubik | [] [] [] [] |
- gnucash | () () () () [] |
- gnuchess | [] [] |
- gnulib | [] [] [] [] [] |
- gnunet | |
- gnunet-gtk | |
- gold | |
- gphoto2 | [] [] [] [] [] |
- gprof | [] [] [] [] |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] |
- grub | [] [] [] [] [] |
- gsasl | [] [] [] |
- gss | [] [] [] [] |
- gst-plugins-bad | [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] [] [] |
- gtick | [] [] [] [] [] |
- gtkam | [] [] [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] [] |
- guix | |
- guix-packages | |
- gutenprint | [] [] |
- hello | [] [] [] [] [] [] |
- help2man | [] [] [] [] |
- help2man-texi | [] |
- hylafax | |
- idutils | [] [] [] |
- iso_15924 | [] () [] [] [] [] |
- iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] () [] |
- iso_4217 | [] [] () [] [] [] [] [] |
- iso_639 | [] [] [] () [] [] [] [] [] [] |
- iso_639_3 | [] () |
- iso_639_5 | () [] |
- jwhois | [] [] [] [] |
- kbd | [] [] |
- klavaro | [] [] [] [] [] |
- latrine | [] |
- ld | |
- leafpad | [] [] [] [] [] [] [] [] [] |
- libc | [] [] [] |
- libexif | [] () [] |
- libextractor | [] |
- libgnutls | [] |
- libgphoto2 | [] |
- libgphoto2_port | [] [] [] [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] [] [] [] |
- libidn | [] [] [] |
- liferea | [] [] [] [] () [] [] |
- lilypond | |
- lordsawar | |
- lprng | [] |
- lynx | [] [] |
- m4 | [] [] [] [] [] |
- mailfromd | [] |
- mailutils | [] |
- make | [] [] [] |
- man-db | [] [] [] |
- man-db-manpages | [] [] [] |
- midi-instruments | [] [] [] [] [] [] [] [] |
- minicom | [] [] [] [] |
- mkisofs | [] [] [] |
- myserver | [] [] |
- nano | [] [] [] [] [] [] |
- opcodes | |
- parted | [] [] [] [] [] [] |
- pies | [] |
- popt | [] [] [] [] [] [] |
- procps-ng | [] |
- procps-ng-man | [] |
- psmisc | [] [] [] [] |
- pspp | [] [] |
- pushover | |
- pwdutils | [] |
- pyspread | [] [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] [] |
- recutils | [] |
- rpm | [] |
- rush | [] [] [] |
- sarg | [] [] |
- sed | [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] |
- shishi | [] [] |
- skribilo | |
- solfege | [] [] [] |
- solfege-manual | [] [] |
- spotmachine | [] [] |
- sudo | [] [] [] [] [] [] |
- sudoers | [] [] [] [] |
- sysstat | [] [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] |
- texinfo_document | [] [] |
- tigervnc | [] |
- tin | [] |
- tin-man | |
- tracgoogleappsa... | [] [] [] [] |
- trader | [] |
- util-linux | [] [] |
- ve | [] [] [] |
- vice | |
- vmm | |
- vorbis-tools | [] [] [] |
- wastesedge | |
- wcd | |
- wcd-man | |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] [] |
- wyslij-po | [] [] [] [] |
- xboard | [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] |
- +--------------------------------------------------+
- nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr
- 7 3 1 6 114 1 12 83 32 80 3 38 45 7 94
-
- sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK
- +---------------------------------------------------+
- a2ps | [] [] [] [] [] |
- aegis | [] |
- anubis | [] [] [] [] |
- aspell | [] [] [] [] |
- bash | [] [] [] [] |
- bfd | [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] |
- bison-runtime | [] [] [] [] [] [] |
- buzztrax | [] [] [] |
- ccd2cue | [] [] [] |
- ccide | [] [] [] [] |
- cflow | [] [] [] [] |
- clisp | |
- coreutils | [] [] [] [] |
- cpio | [] [] [] [] [] |
- cppi | [] [] [] [] |
- cpplib | [] [] [] [] [] |
- cryptsetup | [] [] [] |
- datamash | [] [] [] |
- denemo | |
- dfarc | [] |
- dialog | [] [] [] [] [] [] |
- dico | [] |
- diffutils | [] [] [] [] [] |
- dink | |
- direvent | [] [] |
- doodle | [] [] |
- dos2unix | [] [] [] [] |
- dos2unix-man | [] [] [] |
- e2fsprogs | [] [] [] [] |
- enscript | [] [] [] [] |
- exif | [] [] [] [] [] |
- fetchmail | [] [] [] [] |
- findutils | [] [] [] [] [] |
- flex | [] [] [] [] |
- freedink | [] [] |
- fusionforge | |
- gas | [] |
- gawk | [] [] |
- gcal | [] [] |
- gcc | [] [] |
- gdbm | [] [] |
- gettext-examples | [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] |
- gjay | [] [] |
- glunarclock | [] [] [] [] |
- gnubiff | [] [] |
- gnubik | [] [] [] [] |
- gnucash | () () () () [] |
- gnuchess | [] [] |
- gnulib | [] [] [] [] |
- gnunet | |
- gnunet-gtk | |
- gold | [] [] |
- gphoto2 | [] [] [] [] |
- gprof | [] [] [] [] |
- gramadoir | [] [] [] |
- grep | [] [] [] [] [] |
- grub | [] [] [] [] |
- gsasl | [] [] [] [] |
- gss | [] [] [] |
- gst-plugins-bad | [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] |
- gstreamer | [] [] [] [] [] |
- gtick | [] [] [] |
- gtkam | [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] |
- guix | [] |
- guix-packages | |
- gutenprint | [] [] [] [] |
- hello | [] [] [] [] [] [] |
- help2man | [] [] [] |
- help2man-texi | [] |
- hylafax | [] |
- idutils | [] [] [] |
- iso_15924 | [] () [] [] () [] |
- iso_3166 | [] [] () [] [] () [] [] [] |
- iso_3166_2 | () [] [] () [] |
- iso_4217 | [] () [] [] () [] [] |
- iso_639 | [] [] [] () [] [] () [] [] [] |
- iso_639_3 | [] () [] [] () |
- iso_639_5 | () [] () |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- klavaro | [] [] [] [] [] [] |
- latrine | [] [] |
- ld | [] [] [] [] [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] () |
- libextractor | [] [] |
- libgnutls | [] [] [] [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] [] [] [] |
- libidn | () [] [] [] |
- liferea | [] [] [] [] [] |
- lilypond | [] |
- lordsawar | |
- lprng | [] |
- lynx | [] [] [] [] |
- m4 | [] [] [] |
- mailfromd | [] [] |
- mailutils | [] |
- make | [] [] [] [] |
- man-db | [] [] |
- man-db-manpages | [] |
- midi-instruments | [] [] [] [] [] [] |
- minicom | [] [] |
- mkisofs | [] [] [] |
- myserver | [] |
- nano | [] [] [] [] |
- opcodes | [] [] [] |
- parted | [] [] [] [] [] |
- pies | [] [] |
- popt | [] [] [] [] [] [] [] |
- procps-ng | [] [] |
- procps-ng-man | [] |
- psmisc | [] [] [] [] |
- pspp | [] [] [] |
- pushover | [] |
- pwdutils | [] [] |
- pyspread | [] |
- radius | [] [] |
- recode | [] [] [] [] |
- recutils | [] [] [] |
- rpm | [] [] [] [] |
- rush | [] [] |
- sarg | |
- sed | [] [] [] [] [] |
- sharutils | [] [] [] |
- shishi | [] [] |
- skribilo | [] |
- solfege | [] [] [] |
- solfege-manual | [] |
- spotmachine | [] [] [] |
- sudo | [] [] [] [] |
- sudoers | [] [] [] |
- sysstat | [] [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] |
- texinfo_document | [] |
- tigervnc | [] [] |
- tin | [] |
- tin-man | |
- tracgoogleappsa... | [] [] [] [] [] |
- trader | [] |
- util-linux | [] [] [] |
- ve | [] [] [] [] |
- vice | () () |
- vmm | |
- vorbis-tools | [] [] |
- wastesedge | |
- wcd | [] [] [] |
- wcd-man | [] |
- wdiff | [] [] [] [] |
- wget | [] [] [] |
- wyslij-po | [] [] |
- xboard | [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] |
- +---------------------------------------------------+
- sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK
- 91 1 4 3 0 13 50 113 1 126 7 1 95 7
-
- zh_TW
- +-------+
- a2ps | | 30
- aegis | | 9
- anubis | | 19
- aspell | | 28
- bash | [] | 21
- bfd | | 9
- binutils | | 12
- bison | [] | 18
- bison-runtime | [] | 38
- buzztrax | | 8
- ccd2cue | | 8
- ccide | | 17
- cflow | | 15
- clisp | | 10
- coreutils | | 20
- cpio | | 20
- cppi | | 17
- cpplib | [] | 19
- cryptsetup | | 13
- datamash | | 11
- denemo | | 4
- dfarc | | 16
- dialog | [] | 42
- dico | | 6
- diffutils | | 21
- dink | | 9
- direvent | | 10
- doodle | | 12
- dos2unix | [] | 18
- dos2unix-man | | 9
- e2fsprogs | | 14
- enscript | | 21
- exif | | 26
- fetchmail | | 19
- findutils | | 28
- flex | [] | 19
- freedink | | 23
- fusionforge | | 3
- gas | | 5
- gawk | | 12
- gcal | | 7
- gcc | | 4
- gdbm | | 10
- gettext-examples | [] | 40
- gettext-runtime | [] | 34
- gettext-tools | [] | 24
- gjay | | 8
- glunarclock | [] | 27
- gnubiff | | 9
- gnubik | | 19
- gnucash | () | 7
- gnuchess | | 10
- gnulib | | 23
- gnunet | | 1
- gnunet-gtk | | 1
- gold | | 7
- gphoto2 | [] | 19
- gprof | | 21
- gramadoir | | 14
- grep | [] | 31
- grub | | 21
- gsasl | [] | 19
- gss | | 17
- gst-plugins-bad | | 14
- gst-plugins-base | | 27
- gst-plugins-good | | 32
- gst-plugins-ugly | | 34
- gstreamer | [] | 31
- gtick | | 19
- gtkam | | 24
- gtkspell | [] | 48
- guix | | 3
- guix-packages | | 0
- gutenprint | | 15
- hello | [] | 30
- help2man | | 18
- help2man-texi | | 5
- hylafax | | 5
- idutils | | 14
- iso_15924 | [] | 23
- iso_3166 | [] | 58
- iso_3166_2 | | 9
- iso_4217 | [] | 28
- iso_639 | [] | 46
- iso_639_3 | | 10
- iso_639_5 | | 2
- jwhois | [] | 20
- kbd | | 16
- klavaro | | 30
- latrine | | 7
- ld | [] | 15
- leafpad | [] | 40
- libc | [] | 24
- libexif | | 9
- libextractor | | 5
- libgnutls | | 13
- libgphoto2 | | 9
- libgphoto2_port | [] | 19
- libgsasl | | 18
- libiconv | [] | 29
- libidn | | 17
- liferea | | 29
- lilypond | | 11
- lordsawar | | 3
- lprng | | 3
- lynx | | 19
- m4 | [] | 22
- mailfromd | | 4
- mailutils | | 6
- make | | 19
- man-db | | 14
- man-db-manpages | | 9
- midi-instruments | [] | 43
- minicom | [] | 17
- mkisofs | | 13
- myserver | | 9
- nano | [] | 29
- opcodes | | 12
- parted | [] | 21
- pies | | 4
- popt | [] | 36
- procps-ng | | 5
- procps-ng-man | | 4
- psmisc | [] | 22
- pspp | | 13
- pushover | | 6
- pwdutils | | 8
- pyspread | | 6
- radius | | 9
- recode | | 31
- recutils | | 9
- rpm | [] | 13
- rush | | 10
- sarg | | 4
- sed | [] | 34
- sharutils | | 12
- shishi | | 7
- skribilo | | 4
- solfege | | 19
- solfege-manual | | 9
- spotmachine | | 10
- sudo | | 24
- sudoers | | 20
- sysstat | | 22
- tar | [] | 30
- texinfo | | 17
- texinfo_document | | 11
- tigervnc | | 11
- tin | [] | 7
- tin-man | | 1
- tracgoogleappsa... | [] | 22
- trader | | 11
- util-linux | | 12
- ve | | 14
- vice | | 1
- vmm | | 3
- vorbis-tools | | 13
- wastesedge | | 2
- wcd | | 8
- wcd-man | | 3
- wdiff | [] | 23
- wget | | 19
- wyslij-po | | 14
- xboard | | 9
- xdg-user-dirs | [] | 68
- xkeyboard-config | [] | 27
- +-------+
- 90 teams zh_TW
- 166 domains 42 2748
-
- Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect. This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
- For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and distributed
-as such by its maintainer. There might be an observable lag between the
-mere existence a PO file and its wide availability in a distribution.
-
- If Jun 2014 seems to be old, you may fetch a more recent copy of this
-'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix
-with full percentage details can be found at
-'http://translationproject.org/extra/matrix.html'.
-
-1.5 Using 'gettext' in new packages
-===================================
-
-If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU 'gettext' in your
-package. Of course you have to respect the GNU Lesser General Public
-License which covers the use of the GNU 'gettext' library. This means
-in particular that even non-free programs can use 'libintl' as a shared
-library, whereas only free software can use 'libintl' as a static
-library or use modified versions of 'libintl'.
-
- Once the sources are changed appropriately and the setup can handle
-the use of 'gettext' the only thing missing are the translations. The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project. Therefore the information given above
-applies also for every other Free Software Project. Contact
-'coordinator@translationproject.org' to make the '.pot' files available
-to the translation teams.
diff --git a/bin/copyshop/AUTHORS b/bin/copyshop/AUTHORS
index e69de29..507f794 100644
--- a/bin/copyshop/AUTHORS
+++ b/bin/copyshop/AUTHORS
@@ -0,0 +1 @@
+Florian Pelz
diff --git a/bin/copyshop/ChangeLog b/bin/copyshop/ChangeLog
deleted file mode 100644
index e69de29..0000000
--- a/bin/copyshop/ChangeLog
+++ /dev/null
diff --git a/bin/copyshop/Makefile.am b/bin/copyshop/Makefile.am
deleted file mode 100644
index b481501..0000000
--- a/bin/copyshop/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-AM_CPPFLAGS = -DDATADIR=\"$(datadir)\"
-bin_PROGRAMS = src/copyshop
-src_copyshop_SOURCES = \
- src/main.c \
- src/cshopapplication.c \
- src/cshopapplication.h \
- src/cshopwindow.c \
- src/cshopwindow.h \
- src/cshopraw.c \
- src/cshopraw.h
-src_copyshop_LDADD = $(GTK_LIBS)
-src_copyshop_CFLAGS = \
- -I$(top_srcdir)/ \
- $(GTK_CFLAGS)
-dist_data_DATA = \
- src/ui/menu.ui \
- src/ui/toolbar.ui
-
-SUBDIRS = po
-
-ACLOCAL_AMFLAGS = -I m4
-
-EXTRA_DIST = config.rpath m4/ChangeLog
diff --git a/bin/copyshop/README b/bin/copyshop/README
index e69de29..270d871 100644
--- a/bin/copyshop/README
+++ b/bin/copyshop/README
@@ -0,0 +1,11 @@
+MyCopyshop
+==========
+
+This is my very own copyshop software. Woohoo!
+
+To install, run
+cd /path/to/mycopyshop
+mkdir builddir
+cd builddir
+meson .. --prefix=$HOME/.local
+ninja install
diff --git a/bin/copyshop/autogen.sh b/bin/copyshop/autogen.sh
deleted file mode 100755
index 69bf90d..0000000
--- a/bin/copyshop/autogen.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cd $(dirname $0)
-autoreconf --force --install --verbose -Wall
diff --git a/bin/copyshop/config.rpath b/bin/copyshop/config.rpath
deleted file mode 100755
index a3e25c8..0000000
--- a/bin/copyshop/config.rpath
+++ /dev/null
@@ -1,684 +0,0 @@
-#! /bin/sh
-# Output a system dependent set of variables, describing how to set the
-# run time search path of shared libraries in an executable.
-#
-# Copyright 1996-2015 Free Software Foundation, Inc.
-# Taken from GNU libtool, 2001
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# The first argument passed to this file is the canonical host specification,
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
-# should be set by the caller.
-#
-# The set of defined variables is at the end of this script.
-
-# Known limitations:
-# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
-# than 256 bytes, otherwise the compiler driver will dump core. The only
-# known workaround is to choose shorter directory names for the build
-# directory and/or the installation directory.
-
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-shrext=.so
-
-host="$1"
-host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-# Code taken from libtool.m4's _LT_CC_BASENAME.
-
-for cc_temp in $CC""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
-
-# Code taken from libtool.m4's _LT_COMPILER_PIC.
-
-wl=
-if test "$GCC" = yes; then
- wl='-Wl,'
-else
- case "$host_os" in
- aix*)
- wl='-Wl,'
- ;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- ;;
- hpux9* | hpux10* | hpux11*)
- wl='-Wl,'
- ;;
- irix5* | irix6* | nonstopux*)
- wl='-Wl,'
- ;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- ecc*)
- wl='-Wl,'
- ;;
- icc* | ifort*)
- wl='-Wl,'
- ;;
- lf95*)
- wl='-Wl,'
- ;;
- nagfor*)
- wl='-Wl,-Wl,,'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- wl='-Wl,'
- ;;
- ccc*)
- wl='-Wl,'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- wl='-Wl,'
- ;;
- como)
- wl='-lopt='
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- wl=
- ;;
- *Sun\ C*)
- wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
- newsos6)
- ;;
- *nto* | *qnx*)
- ;;
- osf3* | osf4* | osf5*)
- wl='-Wl,'
- ;;
- rdos*)
- ;;
- solaris*)
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- wl='-Qoption ld '
- ;;
- *)
- wl='-Wl,'
- ;;
- esac
- ;;
- sunos4*)
- wl='-Qoption ld '
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- wl='-Wl,'
- ;;
- sysv4*MP*)
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- wl='-Wl,'
- ;;
- unicos*)
- wl='-Wl,'
- ;;
- uts4*)
- ;;
- esac
-fi
-
-# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
-
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-
-case "$host_os" in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- # Unlike libtool, we use -rpath here, not --rpath, since the documented
- # option of GNU ld is called -rpath, not --rpath.
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- case "$host_os" in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- fi
- ;;
- amigaos*)
- case "$host_cpu" in
- powerpc)
- ;;
- m68k)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- haiku*)
- ;;
- interix[3-9]*)
- hardcode_direct=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- netbsd*)
- ;;
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
- sunos4*)
- hardcode_direct=yes
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- esac
- if test "$ld_shlibs" = no; then
- hardcode_libdir_flag_spec=
- fi
-else
- case "$host_os" in
- aix3*)
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- else
- aix_use_runtimelinking=no
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
- fi
- hardcode_direct=yes
- hardcode_libdir_separator=':'
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- fi
- # Begin _LT_AC_SYS_LIBPATH_AIX.
- echo 'int main () { return 0; }' > conftest.c
- ${CC} ${LDFLAGS} conftest.c -o conftest
- aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
- if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
- fi
- if test -z "$aix_libpath"; then
- aix_libpath="/usr/lib:/lib"
- fi
- rm -f conftest.c conftest
- # End _LT_AC_SYS_LIBPATH_AIX.
- if test "$aix_use_runtimelinking" = yes; then
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- else
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- fi
- fi
- ;;
- amigaos*)
- case "$host_cpu" in
- powerpc)
- ;;
- m68k)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
- bsdi[45]*)
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- libext=lib
- ;;
- darwin* | rhapsody*)
- hardcode_direct=no
- if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- dgux*)
- hardcode_libdir_flag_spec='-L$libdir'
- ;;
- freebsd2.[01]*)
- hardcode_direct=yes
- hardcode_minus_L=yes
- ;;
- freebsd* | dragonfly*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- hpux9*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- hpux10*)
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
- hpux11*)
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- ;;
- *)
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
- irix5* | irix6* | nonstopux*)
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- netbsd*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- newsos6)
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- *nto* | *qnx*)
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- else
- case "$host_os" in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- osf3*)
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- osf4* | osf5*)
- if test "$GCC" = yes; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- # Both cc and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- hardcode_libdir_separator=:
- ;;
- solaris*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- sunos4*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- ;;
- sysv4)
- case $host_vendor in
- sni)
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- hardcode_direct=no
- ;;
- motorola)
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- ;;
- sysv4.3*)
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- ld_shlibs=yes
- fi
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator=':'
- ;;
- uts4*)
- hardcode_libdir_flag_spec='-L$libdir'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
-fi
-
-# Check dynamic linker characteristics
-# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
-# Unlike libtool.m4, here we don't care about _all_ names of the library, but
-# only about the one the linker finds when passed -lNAME. This is the last
-# element of library_names_spec in libtool.m4, or possibly two of them if the
-# linker has special search rules.
-library_names_spec= # the last element of library_names_spec in libtool.m4
-libname_spec='lib$name'
-case "$host_os" in
- aix3*)
- library_names_spec='$libname.a'
- ;;
- aix[4-9]*)
- library_names_spec='$libname$shrext'
- ;;
- amigaos*)
- case "$host_cpu" in
- powerpc*)
- library_names_spec='$libname$shrext' ;;
- m68k)
- library_names_spec='$libname.a' ;;
- esac
- ;;
- beos*)
- library_names_spec='$libname$shrext'
- ;;
- bsdi[45]*)
- library_names_spec='$libname$shrext'
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- shrext=.dll
- library_names_spec='$libname.dll.a $libname.lib'
- ;;
- darwin* | rhapsody*)
- shrext=.dylib
- library_names_spec='$libname$shrext'
- ;;
- dgux*)
- library_names_spec='$libname$shrext'
- ;;
- freebsd[23].*)
- library_names_spec='$libname$shrext$versuffix'
- ;;
- freebsd* | dragonfly*)
- library_names_spec='$libname$shrext'
- ;;
- gnu*)
- library_names_spec='$libname$shrext'
- ;;
- haiku*)
- library_names_spec='$libname$shrext'
- ;;
- hpux9* | hpux10* | hpux11*)
- case $host_cpu in
- ia64*)
- shrext=.so
- ;;
- hppa*64*)
- shrext=.sl
- ;;
- *)
- shrext=.sl
- ;;
- esac
- library_names_spec='$libname$shrext'
- ;;
- interix[3-9]*)
- library_names_spec='$libname$shrext'
- ;;
- irix5* | irix6* | nonstopux*)
- library_names_spec='$libname$shrext'
- case "$host_os" in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
- *) libsuff= shlibsuff= ;;
- esac
- ;;
- esac
- ;;
- linux*oldld* | linux*aout* | linux*coff*)
- ;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- library_names_spec='$libname$shrext'
- ;;
- knetbsd*-gnu)
- library_names_spec='$libname$shrext'
- ;;
- netbsd*)
- library_names_spec='$libname$shrext'
- ;;
- newsos6)
- library_names_spec='$libname$shrext'
- ;;
- *nto* | *qnx*)
- library_names_spec='$libname$shrext'
- ;;
- openbsd*)
- library_names_spec='$libname$shrext$versuffix'
- ;;
- os2*)
- libname_spec='$name'
- shrext=.dll
- library_names_spec='$libname.a'
- ;;
- osf3* | osf4* | osf5*)
- library_names_spec='$libname$shrext'
- ;;
- rdos*)
- ;;
- solaris*)
- library_names_spec='$libname$shrext'
- ;;
- sunos4*)
- library_names_spec='$libname$shrext$versuffix'
- ;;
- sysv4 | sysv4.3*)
- library_names_spec='$libname$shrext'
- ;;
- sysv4*MP*)
- library_names_spec='$libname$shrext'
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- library_names_spec='$libname$shrext'
- ;;
- tpf*)
- library_names_spec='$libname$shrext'
- ;;
- uts4*)
- library_names_spec='$libname$shrext'
- ;;
-esac
-
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
-shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
-escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-
-LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
-
-# How to pass a linker flag through the compiler.
-wl="$escaped_wl"
-
-# Static library suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally "so").
-shlibext="$shlibext"
-
-# Format of library name prefix.
-libname_spec="$escaped_libname_spec"
-
-# Library names that the linker finds when passed -lNAME.
-library_names_spec="$escaped_library_names_spec"
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator="$hardcode_libdir_separator"
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct="$hardcode_direct"
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L="$hardcode_minus_L"
-
-EOF
diff --git a/bin/copyshop/configure.ac b/bin/copyshop/configure.ac
deleted file mode 100644
index 02fad7f..0000000
--- a/bin/copyshop/configure.ac
+++ /dev/null
@@ -1,29 +0,0 @@
-# -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.69])
-AC_INIT([MyCopyshop], [0.1], [pelzflorian@pelzflorian.de])
-AC_CONFIG_SRCDIR([src/main.c])
-AC_CONFIG_HEADERS([config.h])
-
-AC_CONFIG_FILES([Makefile po/Makefile.in])
-AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects])
-AM_GNU_GETTEXT([external])
-
-AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME])
-AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Package name for gettext])
-
-# Checks for programs.
-AC_PROG_CC
-AC_PROG_INSTALL
-
-# Checks for libraries.
-PKG_CHECK_MODULES([GTK],[gtk+-3.0 >= 3.16])
-
-# Checks for header files.
-
-# Checks for typedefs, structures, and compiler characteristics.
-
-# Checks for library functions.
-
-AC_OUTPUT
diff --git a/bin/copyshop/m4/ChangeLog b/bin/copyshop/m4/ChangeLog
deleted file mode 100644
index bc903d5..0000000
--- a/bin/copyshop/m4/ChangeLog
+++ /dev/null
@@ -1,11 +0,0 @@
-2016-06-01 gettextize <bug-gnu-gettext@gnu.org>
-
- * gettext.m4: New file, from gettext-0.19.7.
- * iconv.m4: New file, from gettext-0.19.7.
- * lib-ld.m4: New file, from gettext-0.19.7.
- * lib-link.m4: New file, from gettext-0.19.7.
- * lib-prefix.m4: New file, from gettext-0.19.7.
- * nls.m4: New file, from gettext-0.19.7.
- * po.m4: New file, from gettext-0.19.7.
- * progtest.m4: New file, from gettext-0.19.7.
-
diff --git a/bin/copyshop/m4/gettext.m4 b/bin/copyshop/m4/gettext.m4
deleted file mode 100644
index da31efe..0000000
--- a/bin/copyshop/m4/gettext.m4
+++ /dev/null
@@ -1,405 +0,0 @@
-# gettext.m4 serial 67 (gettext-0.19.6)
-dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl default (if it is not specified or empty) is 'no-libtool'.
-dnl INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl depending on --{enable,disable}-{shared,static} and on the presence of
-dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl implementations (in libc or libintl) without the ngettext() function
-dnl will be ignored. If NEEDSYMBOL is specified and is
-dnl 'need-formatstring-macros', then GNU gettext implementations that don't
-dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries. If empty,
-dnl the value '$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl and used.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl Catalog format: none
-dnl Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
- dnl Argument checking.
- ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
- [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
- ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
- [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
- ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
- [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
- define([gt_included_intl],
- ifelse([$1], [external],
- ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
- [yes]))
- define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
- gt_NEEDS_INIT
- AM_GNU_GETTEXT_NEED([$2])
-
- AC_REQUIRE([AM_PO_SUBDIRS])dnl
- ifelse(gt_included_intl, yes, [
- AC_REQUIRE([AM_INTL_SUBDIR])dnl
- ])
-
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- dnl Ideally we would do this search only after the
- dnl if test "$USE_NLS" = "yes"; then
- dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
- dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
- dnl the configure script would need to contain the same shell code
- dnl again, outside any 'if'. There are two solutions:
- dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
- dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
- dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
- dnl documented, we avoid it.
- ifelse(gt_included_intl, yes, , [
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
- ])
-
- dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
- gt_INTL_MACOSX
-
- dnl Set USE_NLS.
- AC_REQUIRE([AM_NLS])
-
- ifelse(gt_included_intl, yes, [
- BUILD_INCLUDED_LIBINTL=no
- USE_INCLUDED_LIBINTL=no
- ])
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- dnl Add a version number to the cache macros.
- case " $gt_needs " in
- *" need-formatstring-macros "*) gt_api_version=3 ;;
- *" need-ngettext "*) gt_api_version=2 ;;
- *) gt_api_version=1 ;;
- esac
- gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
- gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
- dnl If we use NLS figure out what method
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
- ifelse(gt_included_intl, yes, [
- AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH([included-gettext],
- [ --with-included-gettext use the GNU gettext library included here],
- nls_cv_force_use_gnu_gettext=$withval,
- nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- ])
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If GNU gettext is available we use this. Else we have
- dnl to fall back to GNU NLS library.
-
- if test $gt_api_version -ge 3; then
- gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-'
- else
- gt_revision_test_code=
- fi
- if test $gt_api_version -ge 2; then
- gt_expression_test_code=' + * ngettext ("", "", 0)'
- else
- gt_expression_test_code=
- fi
-
- AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
- ]],
- [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
- ]])],
- [eval "$gt_func_gnugettext_libc=yes"],
- [eval "$gt_func_gnugettext_libc=no"])])
-
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- ifelse(gt_included_intl, yes, , [
- AM_ICONV_LINK
- ])
- dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
- dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
- dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
- dnl even if libiconv doesn't exist.
- AC_LIB_LINKFLAGS_BODY([intl])
- AC_CACHE_CHECK([for GNU gettext in libintl],
- [$gt_func_gnugettext_libintl],
- [gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- dnl Now see whether libintl exists and does not depend on libiconv.
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
- ]],
- [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
- ]])],
- [eval "$gt_func_gnugettext_libintl=yes"],
- [eval "$gt_func_gnugettext_libintl=no"])
- dnl Now see whether libintl exists and depends on libiconv.
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
- ]],
- [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
- ]])],
- [LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
- ])
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"])
- fi
-
- dnl If an already present or preinstalled GNU gettext() is found,
- dnl use it. But if this macro is used in GNU gettext, and GNU
- dnl gettext is already preinstalled in libintl, we update this
- dnl libintl. (Cf. the install rule in intl/Makefile.in.)
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
- || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- dnl Reset the values set by searching for libintl.
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
- ifelse(gt_included_intl, yes, [
- if test "$gt_use_preinstalled_gnugettext" != "yes"; then
- dnl GNU gettext is not found in the C library.
- dnl Fall back on included GNU gettext library.
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions used to generate GNU NLS library.
- BUILD_INCLUDED_LIBINTL=yes
- USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
- fi
-
- CATOBJEXT=
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions to use GNU gettext tools.
- CATOBJEXT=.gmo
- fi
- ])
-
- if test -n "$INTL_MACOSX_LIBS"; then
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Some extra flags are needed during linking.
- LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
- LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
- fi
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE([ENABLE_NLS], [1],
- [Define to 1 if translation of program messages to the user's native language
- is requested.])
- else
- USE_NLS=no
- fi
- fi
-
- AC_MSG_CHECKING([whether to use NLS])
- AC_MSG_RESULT([$USE_NLS])
- if test "$USE_NLS" = "yes"; then
- AC_MSG_CHECKING([where the gettext function comes from])
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- AC_MSG_RESULT([$gt_source])
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- AC_MSG_CHECKING([how to link with libintl])
- AC_MSG_RESULT([$LIBINTL])
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
- fi
-
- dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE([HAVE_GETTEXT], [1],
- [Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE([HAVE_DCGETTEXT], [1],
- [Define if the GNU dcgettext() function is already present or preinstalled.])
- fi
-
- dnl We need to process the po/ directory.
- POSUB=po
- fi
-
- ifelse(gt_included_intl, yes, [
- dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
- dnl to 'yes' because some of the testsuite requires it.
- if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
- BUILD_INCLUDED_LIBINTL=yes
- fi
-
- dnl Make all variables we use known to autoconf.
- AC_SUBST([BUILD_INCLUDED_LIBINTL])
- AC_SUBST([USE_INCLUDED_LIBINTL])
- AC_SUBST([CATOBJEXT])
-
- dnl For backward compatibility. Some configure.ins may be using this.
- nls_cv_header_intl=
- nls_cv_header_libgt=
-
- dnl For backward compatibility. Some Makefiles may be using this.
- DATADIRNAME=share
- AC_SUBST([DATADIRNAME])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INSTOBJEXT=.mo
- AC_SUBST([INSTOBJEXT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- GENCAT=gencat
- AC_SUBST([GENCAT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLOBJS=
- if test "$USE_INCLUDED_LIBINTL" = yes; then
- INTLOBJS="\$(GETTOBJS)"
- fi
- AC_SUBST([INTLOBJS])
-
- dnl Enable libtool support if the surrounding package wishes it.
- INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
- ])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLLIBS="$LIBINTL"
- AC_SUBST([INTLLIBS])
-
- dnl Make all documented variables known to autoconf.
- AC_SUBST([LIBINTL])
- AC_SUBST([LTLIBINTL])
- AC_SUBST([POSUB])
-])
-
-
-dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
-m4_define([gt_NEEDS_INIT],
-[
- m4_divert_text([DEFAULTS], [gt_needs=])
- m4_define([gt_NEEDS_INIT], [])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
-AC_DEFUN([AM_GNU_GETTEXT_NEED],
-[
- m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-
-
-dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
diff --git a/bin/copyshop/m4/iconv.m4 b/bin/copyshop/m4/iconv.m4
deleted file mode 100644
index 4e37363..0000000
--- a/bin/copyshop/m4/iconv.m4
+++ /dev/null
@@ -1,271 +0,0 @@
-# iconv.m4 serial 19 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
- dnl Add $INCICONV to CPPFLAGS before performing the following checks,
- dnl because if the user has installed libiconv and not disabled its use
- dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
- am_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
- AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <stdlib.h>
-#include <iconv.h>
- ]],
- [[iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);]])],
- [am_cv_func_iconv=yes])
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <stdlib.h>
-#include <iconv.h>
- ]],
- [[iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);]])],
- [am_cv_lib_iconv=yes]
- [am_cv_func_iconv=yes])
- LIBS="$am_save_LIBS"
- fi
- ])
- if test "$am_cv_func_iconv" = yes; then
- AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
- dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
- dnl Solaris 10.
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- am_cv_func_iconv_works=no
- for ac_iconv_const in '' 'const'; do
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <iconv.h>
-#include <string.h>
-
-#ifndef ICONV_CONST
-# define ICONV_CONST $ac_iconv_const
-#endif
- ]],
- [[int result = 0;
- /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
- returns. */
- {
- iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
- if (cd_utf8_to_88591 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_utf8_to_88591,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- result |= 1;
- iconv_close (cd_utf8_to_88591);
- }
- }
- /* Test against Solaris 10 bug: Failures are not distinguishable from
- successful returns. */
- {
- iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
- if (cd_ascii_to_88591 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\263";
- char buf[10];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_ascii_to_88591,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- result |= 2;
- iconv_close (cd_ascii_to_88591);
- }
- }
- /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\304";
- static char buf[2] = { (char)0xDE, (char)0xAD };
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = 1;
- char *outptr = buf;
- size_t outbytesleft = 1;
- size_t res = iconv (cd_88591_to_utf8,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
- result |= 4;
- iconv_close (cd_88591_to_utf8);
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_88591_to_utf8,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- result |= 8;
- iconv_close (cd_88591_to_utf8);
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- result |= 16;
- return result;
-]])],
- [am_cv_func_iconv_works=yes], ,
- [case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac])
- test "$am_cv_func_iconv_works" = no || break
- done
- LIBS="$am_save_LIBS"
- ])
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
- fi
- if test "$am_func_iconv" = yes; then
- AC_DEFINE([HAVE_ICONV], [1],
- [Define if you have the iconv() function and it works.])
- fi
- if test "$am_cv_lib_iconv" = yes; then
- AC_MSG_CHECKING([how to link with libiconv])
- AC_MSG_RESULT([$LIBICONV])
- else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
- AC_SUBST([LIBICONV])
- AC_SUBST([LTLIBICONV])
-])
-
-dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
-dnl avoid warnings like
-dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
-dnl This is tricky because of the way 'aclocal' is implemented:
-dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
-dnl Otherwise aclocal's initial scan pass would miss the macro definition.
-dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
-dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
-dnl warnings.
-m4_define([gl_iconv_AC_DEFUN],
- m4_version_prereq([2.64],
- [[AC_DEFUN_ONCE(
- [$1], [$2])]],
- [m4_ifdef([gl_00GNULIB],
- [[AC_DEFUN_ONCE(
- [$1], [$2])]],
- [[AC_DEFUN(
- [$1], [$2])]])]))
-gl_iconv_AC_DEFUN([AM_ICONV],
-[
- AM_ICONV_LINK
- if test "$am_cv_func_iconv" = yes; then
- AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL([am_cv_proto_iconv], [
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
- ]],
- [[]])],
- [am_cv_proto_iconv_arg1=""],
- [am_cv_proto_iconv_arg1="const"])
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
- am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([
- $am_cv_proto_iconv])
- AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
- [Define as const if the declaration of iconv() needs const.])
- dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
- m4_ifdef([gl_ICONV_H_DEFAULTS],
- [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
- if test -n "$am_cv_proto_iconv_arg1"; then
- ICONV_CONST="const"
- fi
- ])
- fi
-])
diff --git a/bin/copyshop/m4/lib-ld.m4 b/bin/copyshop/m4/lib-ld.m4
deleted file mode 100644
index 91ca911..0000000
--- a/bin/copyshop/m4/lib-ld.m4
+++ /dev/null
@@ -1,119 +0,0 @@
-# lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2015 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
-dnl collision with libtool.m4.
-
-dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes
- ;;
-*)
- acl_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-2.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
-AC_ARG_WITH([gnu-ld],
- [AS_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld [default=no]])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])dnl
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
- while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL([acl_cv_path_LD],
-[if test -z "$LD"; then
- acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$acl_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- acl_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$acl_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT([$LD])
-else
- AC_MSG_RESULT([no])
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
diff --git a/bin/copyshop/m4/lib-link.m4 b/bin/copyshop/m4/lib-link.m4
deleted file mode 100644
index d8d5d1f..0000000
--- a/bin/copyshop/m4/lib-link.m4
+++ /dev/null
@@ -1,777 +0,0 @@
-# lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2015 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.54])
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[m4_translit([$1],[./+-], [____])])
- pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
- ac_cv_lib[]Name[]_libs="$LIB[]NAME"
- ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
- ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
- ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
- ])
- LIB[]NAME="$ac_cv_lib[]Name[]_libs"
- LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
- INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
- LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
- dnl results of this search when this library appears as a dependency.
- HAVE_LIB[]NAME=yes
- popdef([NAME])
- popdef([Name])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. The missing-message
-dnl defaults to 'no' and may contain additional hints for the user.
-dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
-dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[m4_translit([$1],[./+-], [____])])
- pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-
- dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
- dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
- dnl because if the user has installed lib[]Name and not disabled its use
- dnl via --without-lib[]Name-prefix, he wants to use it.
- ac_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
- AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
- ac_save_LIBS="$LIBS"
- dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
- dnl because these -l options might require -L options that are present in
- dnl LIBS. -l options benefit only from the -L options listed before it.
- dnl Otherwise, add it to the front of LIBS, because it may be a static
- dnl library that depends on another static library that is present in LIBS.
- dnl Static libraries benefit only from the static libraries listed after
- dnl it.
- case " $LIB[]NAME" in
- *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
- *) LIBS="$LIB[]NAME $LIBS" ;;
- esac
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([[$3]], [[$4]])],
- [ac_cv_lib[]Name=yes],
- [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
- LIBS="$ac_save_LIBS"
- ])
- if test "$ac_cv_lib[]Name" = yes; then
- HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
- AC_MSG_CHECKING([how to link with lib[]$1])
- AC_MSG_RESULT([$LIB[]NAME])
- else
- HAVE_LIB[]NAME=no
- dnl If $LIB[]NAME didn't lead to a usable library, we don't need
- dnl $INC[]NAME either.
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIB[]NAME=
- LTLIB[]NAME=
- LIB[]NAME[]_PREFIX=
- fi
- AC_SUBST([HAVE_LIB]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- popdef([NAME])
- popdef([Name])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl acl_libext,
-dnl acl_shlibext,
-dnl acl_libname_spec,
-dnl acl_library_names_spec,
-dnl acl_hardcode_libdir_flag_spec,
-dnl acl_hardcode_libdir_separator,
-dnl acl_hardcode_direct,
-dnl acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
- dnl Tell automake >= 1.10 to complain if config.rpath is missing.
- m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
- AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
- AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
- AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
- ])
- wl="$acl_cv_wl"
- acl_libext="$acl_cv_libext"
- acl_shlibext="$acl_cv_shlibext"
- acl_libname_spec="$acl_cv_libname_spec"
- acl_library_names_spec="$acl_cv_library_names_spec"
- acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- acl_hardcode_direct="$acl_cv_hardcode_direct"
- acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
- dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE([rpath],
- [ --disable-rpath do not hardcode runtime library paths],
- :, enable_rpath=yes)
-])
-
-dnl AC_LIB_FROMPACKAGE(name, package)
-dnl declares that libname comes from the given package. The configure file
-dnl will then not have a --with-libname-prefix option but a
-dnl --with-package-prefix option. Several libraries can come from the same
-dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
-dnl macro call that searches for libname.
-AC_DEFUN([AC_LIB_FROMPACKAGE],
-[
- pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- define([acl_frompackage_]NAME, [$2])
- popdef([NAME])
- pushdef([PACK],[$2])
- pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- define([acl_libsinpackage_]PACKUP,
- m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
- popdef([PACKUP])
- popdef([PACK])
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
- pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
- dnl Autoconf >= 2.61 supports dots in --with options.
- pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_ARG_WITH(P_A_C_K[-prefix],
-[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
- --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
- fi
- fi
-])
- dnl Search the library and its dependencies in $additional_libdir and
- dnl $LDFLAGS. Using breadth-first-seach.
- LIB[]NAME=
- LTLIB[]NAME=
- INC[]NAME=
- LIB[]NAME[]_PREFIX=
- dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
- dnl computed. So it has to be reset here.
- HAVE_LIB[]NAME=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='$1 $2'
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
- dnl or AC_LIB_HAVE_LINKFLAGS call.
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
- else
- dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
- dnl that this library doesn't exist. So just drop it.
- :
- fi
- else
- dnl Search the library lib$name in $additional_libdir and $LDFLAGS
- dnl and the already constructed $LIBNAME/$LTLIBNAME.
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- dnl The same code as in the loop below:
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- dnl Found the library.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- dnl Linking with a shared library. We attempt to hardcode its
- dnl directory into the executable's runpath, unless it's the
- dnl standard /usr/lib.
- if test "$enable_rpath" = no \
- || test "X$found_dir" = "X/usr/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
- dnl No hardcoding is needed.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- dnl The hardcoding into $LIBNAME is system dependent.
- if test "$acl_hardcode_direct" = yes; then
- dnl Using DIR/libNAME.so during linking hardcodes DIR into the
- dnl resulting binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- dnl Rely on "-L$found_dir".
- dnl But don't add it if it's already contained in the LDFLAGS
- dnl or the already constructed $LIBNAME
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
- dnl here, because this doesn't fit in flags passed to the
- dnl compiler. So give up. No hardcoding. This affects only
- dnl very old systems.
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- dnl Linking with a static library.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
- else
- dnl We shouldn't come here, but anyway it's good to have a
- dnl fallback.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
- fi
- fi
- dnl Assume the include files are nearby.
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- dnl Potentially add $additional_includedir to $INCNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
- dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INC[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- dnl Look for dependencies.
- if test -n "$found_la"; then
- dnl Read the .la file. It defines the variables
- dnl dlname, library_names, old_library, dependency_libs, current,
- dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- dnl We use only dependency_libs.
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 3. if it's already present in $LDFLAGS or the already
- dnl constructed $LIBNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LIBNAME.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LTLIBNAME.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- dnl Handle this in the next round.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- dnl Handle this in the next round. Throw away the .la's
- dnl directory; it is already contained in a preceding -L
- dnl option.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- dnl Most likely an immediate library name.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
- ;;
- esac
- done
- fi
- else
- dnl Didn't find the library; assume it is in the system directories
- dnl known to the linker and runtime loader. (All the system
- dnl directories known to the linker should also be known to the
- dnl runtime loader, otherwise the system is severely misconfigured.)
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user must
- dnl pass all path elements in one option. We can arrange that for a
- dnl single library, but not when more than one $LIBNAMEs are used.
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- else
- dnl The -rpath options are cumulative.
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- dnl When using libtool, the option that works for both libraries and
- dnl executables is -R. The -R options are cumulative.
- for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
- done
- fi
- popdef([P_A_C_K])
- popdef([PACKLIBS])
- popdef([PACKUP])
- popdef([PACK])
- popdef([NAME])
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
- for element in [$2]; do
- haveit=
- for x in $[$1]; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- [$1]="${[$1]}${[$1]:+ }$element"
- fi
- done
-])
-
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
- AC_REQUIRE([AC_LIB_RPATH])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- $1=
- if test "$enable_rpath" != no; then
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode directories into the resulting
- dnl binary.
- rpathdirs=
- next=
- for opt in $2; do
- if test -n "$next"; then
- dir="$next"
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next=
- else
- case $opt in
- -L) next=yes ;;
- -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next= ;;
- *) next= ;;
- esac
- fi
- done
- if test "X$rpathdirs" != "X"; then
- if test -n ""$3""; then
- dnl libtool is used for linking. Use -R options.
- for dir in $rpathdirs; do
- $1="${$1}${$1:+ }-R$dir"
- done
- else
- dnl The linker is used for linking directly.
- if test -n "$acl_hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user
- dnl must pass all path elements in one option.
- alldirs=
- for dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="$flag"
- else
- dnl The -rpath options are cumulative.
- for dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="${$1}${$1:+ }$flag"
- done
- fi
- fi
- fi
- fi
- fi
- AC_SUBST([$1])
-])
diff --git a/bin/copyshop/m4/lib-prefix.m4 b/bin/copyshop/m4/lib-prefix.m4
deleted file mode 100644
index 0465f47..0000000
--- a/bin/copyshop/m4/lib-prefix.m4
+++ /dev/null
@@ -1,224 +0,0 @@
-# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2015 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
- AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib-prefix],
-[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
- --without-lib-prefix don't search for libraries in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- fi
- fi
-])
- if test $use_additional = yes; then
- dnl Potentially add $additional_includedir to $CPPFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's already present in $CPPFLAGS,
- dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- for x in $CPPFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- dnl Potentially add $additional_libdir to $LDFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's already present in $LDFLAGS,
- dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
- haveit=
- for x in $LDFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LDFLAGS.
- LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
- dnl Unfortunately, prefix and exec_prefix get only finally determined
- dnl at the end of configure.
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- $1
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_PREPARE_MULTILIB creates
-dnl - a variable acl_libdirstem, containing the basename of the libdir, either
-dnl "lib" or "lib64" or "lib/64",
-dnl - a variable acl_libdirstem2, as a secondary possible value for
-dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
-dnl "lib/amd64".
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
- dnl There is no formal standard regarding lib and lib64.
- dnl On glibc systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
- dnl the compiler's default mode by looking at the compiler's library search
- dnl path. If at least one of its elements ends in /lib64 or points to a
- dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
- dnl Otherwise we use the default, namely "lib".
- dnl On Solaris systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
- dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
- AC_REQUIRE([AC_CANONICAL_HOST])
- acl_libdirstem=lib
- acl_libdirstem2=
- case "$host_os" in
- solaris*)
- dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
- dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
- dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
- dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
- dnl symlink is missing, so we set acl_libdirstem2 too.
- AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
- [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
- ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
- ])
- if test $gl_cv_solaris_64bit = yes; then
- acl_libdirstem=lib/64
- case "$host_cpu" in
- sparc*) acl_libdirstem2=lib/sparcv9 ;;
- i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
- esac
- fi
- ;;
- *)
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- */../ | */.. )
- # Better ignore directories of this form. They are misleading.
- ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
- esac
- fi
- done
- IFS="$acl_save_IFS"
- fi
- ;;
- esac
- test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-])
diff --git a/bin/copyshop/m4/nls.m4 b/bin/copyshop/m4/nls.m4
deleted file mode 100644
index 93df8d3..0000000
--- a/bin/copyshop/m4/nls.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_NLS],
-[
- AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE([nls],
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT([$USE_NLS])
- AC_SUBST([USE_NLS])
-])
diff --git a/bin/copyshop/m4/po.m4 b/bin/copyshop/m4/po.m4
deleted file mode 100644
index d4bc262..0000000
--- a/bin/copyshop/m4/po.m4
+++ /dev/null
@@ -1,453 +0,0 @@
-# po.m4 serial 24 (gettext-0.19)
-dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.60])
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
- AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AC_PROG_MKDIR_P])dnl
- AC_REQUIRE([AC_PROG_SED])dnl
- AC_REQUIRE([AM_NLS])dnl
-
- dnl Release version of the gettext macros. This is used to ensure that
- dnl the gettext macros and po/Makefile.in.in are in sync.
- AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
-
- dnl Perform the following tests also if --disable-nls has been given,
- dnl because they are needed for "make dist" to work.
-
- dnl Search for GNU msgfmt in the PATH.
- dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
- dnl The second test excludes FreeBSD msgfmt.
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
-
- dnl Test whether it is GNU msgfmt >= 0.15.
-changequote(,)dnl
- case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
- *) MSGFMT_015=$MSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([MSGFMT_015])
-changequote(,)dnl
- case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
- *) GMSGFMT_015=$GMSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([GMSGFMT_015])
-
- dnl Search for GNU xgettext 0.12 or newer in the PATH.
- dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
- dnl The second test excludes FreeBSD xgettext.
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
-
- dnl Test whether it is GNU xgettext >= 0.15.
-changequote(,)dnl
- case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
- *) XGETTEXT_015=$XGETTEXT ;;
- esac
-changequote([,])dnl
- AC_SUBST([XGETTEXT_015])
-
- dnl Search for GNU msgmerge 0.11 or newer in the PATH.
- AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
- dnl Installation directories.
- dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
- dnl have to define it here, so that it can be used in po/Makefile.
- test -n "$localedir" || localedir='${datadir}/locale'
- AC_SUBST([localedir])
-
- dnl Support for AM_XGETTEXT_OPTION.
- test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
- AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
-
- AC_CONFIG_COMMANDS([po-directories], [[
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- case "$ac_file" in */Makefile.in)
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- # Treat a directory as a PO directory if and only if it has a
- # POTFILES.in file. This allows packages to have multiple PO
- # directories under different names or in different locations.
- if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
- rm -f "$ac_dir/POTFILES"
- test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- gt_tab=`printf '\t'`
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
- POMAKEFILEDEPS="POTFILES.in"
- # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
- # on $ac_dir but don't depend on user-specified configuration
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done]],
- [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake < 1.5.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
- ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
- # When this code is run, in config.status, two variables have already been
- # set:
- # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
- # - LINGUAS is the value of the environment variable LINGUAS at configure
- # time.
-
-changequote(,)dnl
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- # Find a way to echo strings without interpreting backslash.
- if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='echo'
- else
- if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='printf %s\n'
- else
- echo_func () {
- cat <<EOT
-$*
-EOT
- }
- gt_echo='echo_func'
- fi
- fi
-
- # A sed script that extracts the value of VARIABLE from a Makefile.
- tab=`printf '\t'`
- sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
- # Seen the first line of the variable definition.
- s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
- ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
- # Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
- POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
- # Compute POTFILES_DEPS as
- # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
- POTFILES_DEPS=
- for file in $POTFILES; do
- POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
- done
- POMAKEFILEDEPS=""
-
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
- sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
- ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
- fi
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- # Compute PROPERTIESFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
- # Compute CLASSFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
- # Compute QMFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
- # Compute MSGFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
- # Compute RESOURCESDLLFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- PROPERTIESFILES=
- CLASSFILES=
- QMFILES=
- MSGFILES=
- RESOURCESDLLFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
- CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
- QMFILES="$QMFILES $srcdirpre$lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- JAVACATALOGS=
- QTCATALOGS=
- TCLCATALOGS=
- CSHARPCATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
- QTCATALOGS="$QTCATALOGS $lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
- done
- fi
-
- sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
- tab=`printf '\t'`
- if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
- # Add dependencies that cannot be formulated as a simple suffix rule.
- for lang in $ALL_LINGUAS; do
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
-${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
- # Add dependencies that cannot be formulated as a simple suffix rule.
- for lang in $ALL_LINGUAS; do
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if test -n "$POMAKEFILEDEPS"; then
- cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
- fi
- mv "$ac_file.tmp" "$ac_file"
-])
-
-dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
-AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
-[
- XGETTEXT_EXTRA_OPTIONS=
-])
-
-dnl Registers an option to be passed to xgettext in the po subdirectory.
-AC_DEFUN([AM_XGETTEXT_OPTION],
-[
- AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
- XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
-])
diff --git a/bin/copyshop/m4/progtest.m4 b/bin/copyshop/m4/progtest.m4
deleted file mode 100644
index 0921e1e..0000000
--- a/bin/copyshop/m4/progtest.m4
+++ /dev/null
@@ -1,91 +0,0 @@
-# progtest.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1996-2003, 2005, 2008-2015 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ([2.50])
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL([ac_cv_path_$1],
-[case "[$]$1" in
- [[\\/]]* | ?:[[\\/]]*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$][$1])
-else
- AC_MSG_RESULT([no])
-fi
-AC_SUBST([$1])dnl
-])
diff --git a/bin/copyshop/meson.build b/bin/copyshop/meson.build
new file mode 100644
index 0000000..458edb7
--- /dev/null
+++ b/bin/copyshop/meson.build
@@ -0,0 +1,38 @@
+project('mycopyshop', 'c',
+ license : 'CC0',
+ version : '0.1')
+
+gtkdep = dependency('gtk+-3.0', version : '>= 3.22')
+
+# =====
+# config.h definitions
+# =====
+
+incdir = include_directories('.')
+
+cdata = configuration_data()
+
+datadir_fullpath = join_paths(
+ get_option('prefix'),
+ get_option('datadir'))
+cdata.set_quoted('DATADIR',
+ datadir_fullpath)
+
+mycopyshop_datadir_fullpath = join_paths(
+ datadir_fullpath,
+ 'mycopyshop')
+cdata.set_quoted('MYCOPYSHOP_DATADIR',
+ mycopyshop_datadir_fullpath)
+
+cdata.set('GETTEXT_PACKAGE', '"mycopyshop"')
+
+configure_file(
+ output : 'config.h',
+ configuration : cdata)
+
+# =====
+# descend into subdirs
+# =====
+
+subdir('po')
+subdir('src')
diff --git a/bin/copyshop/po/ChangeLog b/bin/copyshop/po/ChangeLog
deleted file mode 100644
index 3a9515d..0000000
--- a/bin/copyshop/po/ChangeLog
+++ /dev/null
@@ -1,12 +0,0 @@
-2016-06-01 gettextize <bug-gnu-gettext@gnu.org>
-
- * Makefile.in.in: New file, from gettext-0.19.7.
- * Rules-quot: New file, from gettext-0.19.7.
- * boldquot.sed: New file, from gettext-0.19.7.
- * en@boldquot.header: New file, from gettext-0.19.7.
- * en@quot.header: New file, from gettext-0.19.7.
- * insert-header.sin: New file, from gettext-0.19.7.
- * quot.sed: New file, from gettext-0.19.7.
- * remove-potcdate.sin: New file, from gettext-0.19.7.
- * POTFILES.in: New file.
-
diff --git a/bin/copyshop/po/Makefile.in.in b/bin/copyshop/po/Makefile.in.in
deleted file mode 100644
index 8f34f00..0000000
--- a/bin/copyshop/po/Makefile.in.in
+++ /dev/null
@@ -1,483 +0,0 @@
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# Copying and distribution of this file, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved. This file is offered as-is,
-# without any warranty.
-#
-# Origin: gettext-0.19.7
-GETTEXT_MACRO_VERSION = 0.19
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-
-SED = @SED@
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datarootdir = @datarootdir@
-datadir = @datadir@
-localedir = @localedir@
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-# We use $(mkdir_p).
-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
-# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
-# @install_sh@ does not start with $(SHELL), so we add it.
-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
-# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
-# versions, $(mkinstalldirs) and $(install_sh) are unused.
-mkinstalldirs = $(SHELL) @install_sh@ -d
-install_sh = $(SHELL) @install_sh@
-MKDIR_P = @MKDIR_P@
-mkdir_p = @mkdir_p@
-
-# When building gettext-tools, we prefer to use the built programs
-# rather than installed programs. However, we can't do that when we
-# are cross compiling.
-CROSS_COMPILING = @CROSS_COMPILING@
-
-GMSGFMT_ = @GMSGFMT@
-GMSGFMT_no = @GMSGFMT@
-GMSGFMT_yes = @GMSGFMT_015@
-GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
-MSGFMT_ = @MSGFMT@
-MSGFMT_no = @MSGFMT@
-MSGFMT_yes = @MSGFMT_015@
-MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
-XGETTEXT_ = @XGETTEXT@
-XGETTEXT_no = @XGETTEXT@
-XGETTEXT_yes = @XGETTEXT_015@
-XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
-POFILESDEPS_yes = $(POFILESDEPS_)
-POFILESDEPS_no =
-POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
-
-DISTFILESDEPS_ = update-po
-DISTFILESDEPS_yes = $(DISTFILESDEPS_)
-DISTFILESDEPS_no =
-DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
-
-.po.mo:
- @echo "$(MSGFMT) -c -o $@ $<"; \
- $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
- @lang=`echo $* | sed -e 's,.*/,,'`; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
-
-.sin.sed:
- sed -e '/^#/d' $< > t-$@
- mv t-$@ $@
-
-
-all: all-@USE_NLS@
-
-all-yes: stamp-po
-all-no:
-
-# Ensure that the gettext macros and this Makefile.in.in are in sync.
-CHECK_MACRO_VERSION = \
- test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
- || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
- exit 1; \
- }
-
-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
-# we don't want to bother translators with empty POT files). We assume that
-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
-# In this case, stamp-po is a nop (i.e. a phony target).
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
- @$(CHECK_MACRO_VERSION)
- test ! -f $(srcdir)/$(DOMAIN).pot || \
- test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
- @test ! -f $(srcdir)/$(DOMAIN).pot || { \
- echo "touch stamp-po" && \
- echo timestamp > stamp-poT && \
- mv stamp-poT stamp-po; \
- }
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-# The determination of whether the package xyz is a GNU one is based on the
-# heuristic whether some file in the top level directory mentions "GNU xyz".
-# If GNU 'find' is available, we avoid grepping through monster files.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
- package_gnu="$(PACKAGE_GNU)"; \
- test -n "$$package_gnu" || { \
- if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
- LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
- -size -10000000c -exec grep 'GNU @PACKAGE@' \
- /dev/null '{}' ';' 2>/dev/null; \
- else \
- LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
- fi; \
- } | grep -v 'libtool:' >/dev/null; then \
- package_gnu=yes; \
- else \
- package_gnu=no; \
- fi; \
- }; \
- if test "$$package_gnu" = "yes"; then \
- package_prefix='GNU '; \
- else \
- package_prefix=''; \
- fi; \
- if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
- msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
- else \
- msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
- fi; \
- case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address="$$msgid_bugs_address" \
- ;; \
- *) \
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --package-name="$${package_prefix}@PACKAGE@" \
- --package-version='@VERSION@' \
- --msgid-bugs-address="$$msgid_bugs_address" \
- ;; \
- esac
- test ! -f $(DOMAIN).po || { \
- if test -f $(srcdir)/$(DOMAIN).pot-header; then \
- sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
- cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
- rm -f $(DOMAIN).1po; \
- fi; \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
- sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
- if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
- else \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- else \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- }
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
- $(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(POFILESDEPS)
- @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
- if test -f "$(srcdir)/$${lang}.po"; then \
- test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) \
- && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
- $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
- *) \
- $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
- esac; \
- }; \
- else \
- $(MAKE) $${lang}.po-create; \
- fi
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
- for file in $(DISTFILES.common) Makevars.template; do \
- $(INSTALL_DATA) $(srcdir)/$$file \
- $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- for file in Makevars; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-install-data-no: all
-install-data-yes: all
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkdir_p) $(DESTDIR)$$dir; \
- if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
- $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
- echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
- fi; \
- done; \
- done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
- else \
- : ; \
- fi
-installdirs-data-no:
-installdirs-data-yes:
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkdir_p) $(DESTDIR)$$dir; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- fi; \
- done; \
- done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- for file in $(DISTFILES.common) Makevars.template; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-uninstall-data-no:
-uninstall-data-yes:
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- done; \
- done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-mostlyclean:
- rm -f remove-potcdate.sed
- rm -f stamp-poT
- rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
- rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
- rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
- test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
- @$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: stamp-po $(DISTFILES)
- dists="$(DISTFILES)"; \
- if test "$(PACKAGE)" = "gettext-tools"; then \
- dists="$$dists Makevars.template"; \
- fi; \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- dists="$$dists $(DOMAIN).pot stamp-po"; \
- fi; \
- if test -f $(srcdir)/ChangeLog; then \
- dists="$$dists ChangeLog"; \
- fi; \
- for i in 0 1 2 3 4 5 6 7 8 9; do \
- if test -f $(srcdir)/ChangeLog.$$i; then \
- dists="$$dists ChangeLog.$$i"; \
- fi; \
- done; \
- if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
- for file in $$dists; do \
- if test -f $$file; then \
- cp -p $$file $(distdir) || exit 1; \
- else \
- cp -p $(srcdir)/$$file $(distdir) || exit 1; \
- fi; \
- done
-
-update-po: Makefile
- $(MAKE) $(DOMAIN).pot-update
- test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
- $(MAKE) update-gmo
-
-# General rule for creating PO files.
-
-.nop.po-create:
- @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
- echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
- exit 1
-
-# General rule for updating PO files.
-
-.nop.po-update:
- @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
- cd $(srcdir); \
- if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
- $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
- *) \
- $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
- esac; \
- }; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "msgmerge for $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
- @:
-
-# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
-# because execution permission bits may not work on the current file system.
-# Use @SHELL@, which is the shell determined by autoconf for the use by its
-# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
- cd $(top_builddir) \
- && @SHELL@ ./config.status $(subdir)/$@.in po-directories
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/bin/copyshop/po/Makevars b/bin/copyshop/po/Makevars
deleted file mode 100644
index 893068f..0000000
--- a/bin/copyshop/po/Makevars
+++ /dev/null
@@ -1,78 +0,0 @@
-# Makefile variables for PO directory in any package using GNU gettext.
-
-# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = ..
-
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8
-
-# This is the copyright holder that gets inserted into the header of the
-# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
-# package. (Note that the msgstr strings, extracted from the package's
-# sources, belong to the copyright holder of the package.) Translators are
-# expected to transfer the copyright for their translations to this person
-# or entity, or to disclaim their copyright. The empty string stands for
-# the public domain; in this case the translators are expected to disclaim
-# their copyright.
-COPYRIGHT_HOLDER =
-
-# This tells whether or not to prepend "GNU " prefix to the package
-# name that gets inserted into the header of the $(DOMAIN).pot file.
-# Possible values are "yes", "no", or empty. If it is empty, try to
-# detect it automatically by scanning the files in $(top_srcdir) for
-# "GNU packagename" string.
-PACKAGE_GNU =
-
-# This is the email address or URL to which the translators shall report
-# bugs in the untranslated strings:
-# - Strings which are not entire sentences, see the maintainer guidelines
-# in the GNU gettext documentation, section 'Preparing Strings'.
-# - Strings which use unclear terms or require additional context to be
-# understood.
-# - Strings which make invalid assumptions about notation of date, time or
-# money.
-# - Pluralisation problems.
-# - Incorrect English spelling.
-# - Incorrect formatting.
-# It can be your email address, or a mailing list address where translators
-# can write to without being subscribed, or the URL of a web page through
-# which the translators can contact you.
-MSGID_BUGS_ADDRESS =
-
-# This is the list of locale categories, beyond LC_MESSAGES, for which the
-# message catalogs shall be used. It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
-
-# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
-# context. Possible values are "yes" and "no". Set this to yes if the
-# package uses functions taking also a message context, like pgettext(), or
-# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
-USE_MSGCTXT = no
-
-# These options get passed to msgmerge.
-# Useful options are in particular:
-# --previous to keep previous msgids of translated messages,
-# --quiet to reduce the verbosity.
-MSGMERGE_OPTIONS =
-
-# These options get passed to msginit.
-# If you want to disable line wrapping when writing PO files, add
-# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
-# MSGINIT_OPTIONS.
-MSGINIT_OPTIONS =
-
-# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
-# has changed. Possible values are "yes" and "no". Set this to no if
-# the POT file is checked in the repository and the version control
-# program ignores timestamps.
-PO_DEPENDS_ON_POT = yes
-
-# This tells whether or not to forcibly update $(DOMAIN).pot and
-# regenerate PO files on "make dist". Possible values are "yes" and
-# "no". Set this to no if the POT file and PO files are maintained
-# externally.
-DIST_DEPENDS_ON_UPDATE_PO = yes
diff --git a/bin/copyshop/po/POTFILES.in b/bin/copyshop/po/POTFILES
index 24578f0..24578f0 100644
--- a/bin/copyshop/po/POTFILES.in
+++ b/bin/copyshop/po/POTFILES
diff --git a/bin/copyshop/po/Rules-quot b/bin/copyshop/po/Rules-quot
deleted file mode 100644
index baf6528..0000000
--- a/bin/copyshop/po/Rules-quot
+++ /dev/null
@@ -1,58 +0,0 @@
-# This file, Rules-quot, can be copied and used freely without restrictions.
-# Special Makefile rules for English message catalogs with quotation marks.
-
-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
-
-.SUFFIXES: .insert-header .po-update-en
-
-en@quot.po-create:
- $(MAKE) en@quot.po-update
-en@boldquot.po-create:
- $(MAKE) en@boldquot.po-update
-
-en@quot.po-update: en@quot.po-update-en
-en@boldquot.po-update: en@boldquot.po-update-en
-
-.insert-header.po-update-en:
- @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- ll=`echo $$lang | sed -e 's/@.*//'`; \
- LC_ALL=C; export LC_ALL; \
- cd $(srcdir); \
- if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
- | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
- { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
- $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
- ;; \
- *) \
- $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
- ;; \
- esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
- ; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "creation of $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-en@quot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
-
-en@boldquot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
-
-mostlyclean: mostlyclean-quot
-mostlyclean-quot:
- rm -f *.insert-header
diff --git a/bin/copyshop/po/boldquot.sed b/bin/copyshop/po/boldquot.sed
deleted file mode 100644
index 4b937aa..0000000
--- a/bin/copyshop/po/boldquot.sed
+++ /dev/null
@@ -1,10 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
-s/“/“/g
-s/”/”/g
-s/‘/‘/g
-s/’/’/g
diff --git a/bin/copyshop/po/de.po b/bin/copyshop/po/de.po
index 018aa4c..c6a84ea 100644
--- a/bin/copyshop/po/de.po
+++ b/bin/copyshop/po/de.po
@@ -1,16 +1,17 @@
# German translations for mycopyshop package.
-# This file is put in the public domain.
-# <pelzflorian@pelzflorian.de>, 2016.
-# Florian Pelz <pelzflorian@pelzflorian.de>, 2016.
+# Copyright (C) 2016-2017 Florian Pelz
+# This file is distributed under the same license as the mycopyshop package.
+# Automatically generated, 2017.
+# Florian Pelz <pelzflorian@pelzflorian.de>, 2017.
#
msgid ""
msgstr ""
-"Project-Id-Version: mycopyshop 0.1\n"
+"Project-Id-Version: mycopyshop\n"
"Report-Msgid-Bugs-To: pelzflorian@pelzflorian.de\n"
-"POT-Creation-Date: 2016-06-02 18:45+0200\n"
-"PO-Revision-Date: 2016-06-01 22:00+0200\n"
+"POT-Creation-Date: 2017-11-01 20:41+0100\n"
+"PO-Revision-Date: 2017-11-01 21:04+0100\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
-"Language-Team: German <>\n"
+"Language-Team: German <pelzflorian@pelzflorian.de>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,19 +19,19 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
-#: src/cshopraw.c:59
+#: src/cshopraw.c:60
msgid "Name"
msgstr "Name"
-#: src/cshopraw.c:68
+#: src/cshopraw.c:69
msgid "Quantity"
msgstr "Menge"
-#: src/cshopraw.c:76
+#: src/cshopraw.c:77
msgid "Cost Price"
msgstr "Einkaufspreis"
-#: src/cshopraw.c:100
+#: src/cshopraw.c:101
msgid "Error: We´ve got no money."
msgstr "Fehler: Kein Geld da."
@@ -46,7 +47,7 @@ msgstr "In Arbeit"
msgid "Finished Goods"
msgstr "Fertige Produkte"
-#: src/main.c:33
+#: src/main.c:34
msgid "MyCopyshop"
msgstr "MyCopyshop"
diff --git a/bin/copyshop/po/en.po b/bin/copyshop/po/en.po
index 272671f..859341a 100644
--- a/bin/copyshop/po/en.po
+++ b/bin/copyshop/po/en.po
@@ -1,16 +1,17 @@
# English translations for mycopyshop package.
-# This file is put in the public domain.
-# <pelzflorian@pelzflorian.de>, 2016.
-# Florian Pelz <pelzflorian@pelzflorian.de>, 2016.
+# Copyright (C) 2016-2017 Florian Pelz
+# This file is distributed under the same license as the mycopyshop package.
+# Automatically generated, 2017.
+# Florian Pelz <pelzflorian@pelzflorian.de>, 2017.
#
msgid ""
msgstr ""
-"Project-Id-Version: mycopyshop 0.1\n"
+"Project-Id-Version: mycopyshop\n"
"Report-Msgid-Bugs-To: pelzflorian@pelzflorian.de\n"
-"POT-Creation-Date: 2016-06-02 18:45+0200\n"
-"PO-Revision-Date: 2016-06-01 22:01+0200\n"
+"POT-Creation-Date: 2017-11-01 20:41+0100\n"
+"PO-Revision-Date: 2017-11-01 21:11+0100\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
-"Language-Team: German <>\n"
+"Language-Team: English <pelzflorian@pelzflorian.de>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,21 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
-#: src/cshopraw.c:59
+#: src/cshopraw.c:60
msgid "Name"
msgstr "Name"
-#: src/cshopraw.c:68
+#: src/cshopraw.c:69
msgid "Quantity"
msgstr "Quantity"
-#: src/cshopraw.c:76
+#: src/cshopraw.c:77
msgid "Cost Price"
msgstr "Cost Price"
-#: src/cshopraw.c:100
+#: src/cshopraw.c:101
msgid "Error: We´ve got no money."
-msgstr "Error: We´ve got no money."
+msgstr "Error: We’ve got no money."
#: src/cshopwindow.c:52
msgid "Raw Materials"
@@ -46,7 +47,7 @@ msgstr "Work in Progress"
msgid "Finished Goods"
msgstr "Finished Goods"
-#: src/main.c:33
+#: src/main.c:34
msgid "MyCopyshop"
msgstr "MyCopyshop"
diff --git a/bin/copyshop/po/en@boldquot.header b/bin/copyshop/po/en@boldquot.header
deleted file mode 100644
index fedb6a0..0000000
--- a/bin/copyshop/po/en@boldquot.header
+++ /dev/null
@@ -1,25 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-# This catalog furthermore displays the text between the quotation marks in
-# bold face, assuming the VT100/XTerm escape sequences.
-#
diff --git a/bin/copyshop/po/en@quot.header b/bin/copyshop/po/en@quot.header
deleted file mode 100644
index a9647fc..0000000
--- a/bin/copyshop/po/en@quot.header
+++ /dev/null
@@ -1,22 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
diff --git a/bin/copyshop/po/insert-header.sin b/bin/copyshop/po/insert-header.sin
deleted file mode 100644
index b26de01..0000000
--- a/bin/copyshop/po/insert-header.sin
+++ /dev/null
@@ -1,23 +0,0 @@
-# Sed script that inserts the file called HEADER before the header entry.
-#
-# At each occurrence of a line starting with "msgid ", we execute the following
-# commands. At the first occurrence, insert the file. At the following
-# occurrences, do nothing. The distinction between the first and the following
-# occurrences is achieved by looking at the hold space.
-/^msgid /{
-x
-# Test if the hold space is empty.
-s/m/m/
-ta
-# Yes it was empty. First occurrence. Read the file.
-r HEADER
-# Output the file's contents by reading the next line. But don't lose the
-# current line while doing this.
-g
-N
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/bin/copyshop/po/meson.build b/bin/copyshop/po/meson.build
new file mode 100644
index 0000000..8b659eb
--- /dev/null
+++ b/bin/copyshop/po/meson.build
@@ -0,0 +1,2 @@
+i18n = import('i18n')
+i18n.gettext('mycopyshop', preset : 'glib') \ No newline at end of file
diff --git a/bin/copyshop/po/mycopyshop.pot b/bin/copyshop/po/mycopyshop.pot
new file mode 100644
index 0000000..254b5db
--- /dev/null
+++ b/bin/copyshop/po/mycopyshop.pot
@@ -0,0 +1,62 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2016-2017 Florian Pelz
+# This file is distributed under the same license as the mycopyshop package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: mycopyshop\n"
+"Report-Msgid-Bugs-To: pelzflorian@pelzflorian.de\n"
+"POT-Creation-Date: 2017-11-01 20:41+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/cshopraw.c:60
+msgid "Name"
+msgstr ""
+
+#: src/cshopraw.c:69
+msgid "Quantity"
+msgstr ""
+
+#: src/cshopraw.c:77
+msgid "Cost Price"
+msgstr ""
+
+#: src/cshopraw.c:101
+msgid "Error: We´ve got no money."
+msgstr ""
+
+#: src/cshopwindow.c:52
+msgid "Raw Materials"
+msgstr ""
+
+#: src/cshopwindow.c:56
+msgid "Work in Progress"
+msgstr ""
+
+#: src/cshopwindow.c:60
+msgid "Finished Goods"
+msgstr ""
+
+#: src/main.c:34
+msgid "MyCopyshop"
+msgstr ""
+
+#: src/ui/menu.ui:7 src/ui/menu.ui:17
+msgid "_Quit"
+msgstr ""
+
+#: src/ui/menu.ui:14
+msgid "_File"
+msgstr ""
+
+#: src/ui/toolbar.ui:18
+msgid "_Place Order"
+msgstr ""
diff --git a/bin/copyshop/po/quot.sed b/bin/copyshop/po/quot.sed
deleted file mode 100644
index 0122c46..0000000
--- a/bin/copyshop/po/quot.sed
+++ /dev/null
@@ -1,6 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
diff --git a/bin/copyshop/po/remove-potcdate.sin b/bin/copyshop/po/remove-potcdate.sin
deleted file mode 100644
index 2436c49..0000000
--- a/bin/copyshop/po/remove-potcdate.sin
+++ /dev/null
@@ -1,19 +0,0 @@
-# Sed script that remove the POT-Creation-Date line in the header entry
-# from a POT file.
-#
-# The distinction between the first and the following occurrences of the
-# pattern is achieved by looking at the hold space.
-/^"POT-Creation-Date: .*"$/{
-x
-# Test if the hold space is empty.
-s/P/P/
-ta
-# Yes it was empty. First occurrence. Remove the line.
-g
-d
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/bin/copyshop/src/cshopapplication.c b/bin/copyshop/src/cshopapplication.c
index aa996c0..2cdeb93 100644
--- a/bin/copyshop/src/cshopapplication.c
+++ b/bin/copyshop/src/cshopapplication.c
@@ -15,6 +15,7 @@
*/
#include <glib/gi18n.h>
+#include <config.h>
#include "cshopapplication.h"
struct _CshopApplication
@@ -82,7 +83,7 @@ cshop_application_startup (GApplication *app)
gtk_widget_show_all (self->window);
- filename = g_build_filename (DATADIR, "menu.ui", NULL);
+ filename = g_build_filename (MYCOPYSHOP_DATADIR, "menu.ui", NULL);
builder = gtk_builder_new_from_file (filename);
g_free (filename);
diff --git a/bin/copyshop/src/cshopraw.c b/bin/copyshop/src/cshopraw.c
index e02efcf..4ff1fce 100644
--- a/bin/copyshop/src/cshopraw.c
+++ b/bin/copyshop/src/cshopraw.c
@@ -15,6 +15,7 @@
*/
#include <glib/gi18n.h>
+#include <config.h>
#include "cshopraw.h"
enum {
@@ -148,7 +149,7 @@ cshop_raw_init (CshopRaw *self)
GtkWidget *bottom_toolbar;
GtkWidget *treeview;
- filename = g_build_filename (DATADIR, "toolbar.ui", NULL);
+ filename = g_build_filename (MYCOPYSHOP_DATADIR, "toolbar.ui", NULL);
builder = gtk_builder_new_from_file (filename);
g_free (filename);
diff --git a/bin/copyshop/src/main.c b/bin/copyshop/src/main.c
index 927540f..24fc41e 100644
--- a/bin/copyshop/src/main.c
+++ b/bin/copyshop/src/main.c
@@ -16,6 +16,7 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
+#include <locale.h>
#include <config.h>
#include "cshopapplication.h"
diff --git a/bin/copyshop/src/meson.build b/bin/copyshop/src/meson.build
new file mode 100644
index 0000000..d56eb63
--- /dev/null
+++ b/bin/copyshop/src/meson.build
@@ -0,0 +1,16 @@
+subdir('ui')
+
+src = [
+ 'main.c',
+ 'cshopapplication.c',
+ 'cshopapplication.h',
+ 'cshopwindow.c',
+ 'cshopwindow.h',
+ 'cshopraw.c',
+ 'cshopraw.h']
+
+executable('copyshop', src,
+ dependencies : gtkdep,
+ include_directories : incdir,
+ install : true,
+ gui_app : true)
diff --git a/bin/copyshop/src/ui/meson.build b/bin/copyshop/src/ui/meson.build
new file mode 100644
index 0000000..bef24d7
--- /dev/null
+++ b/bin/copyshop/src/ui/meson.build
@@ -0,0 +1,11 @@
+datadir = get_option('datadir')
+
+ui = [
+ 'menu.ui',
+ 'toolbar.ui']
+
+ui_path = join_paths(datadir, 'mycopyshop')
+
+install_data(
+ ui,
+ install_dir : ui_path)
diff --git a/bin/text/text.c b/bin/text/text.c
index 2727c31..be9fa4e 100644
--- a/bin/text/text.c
+++ b/bin/text/text.c
@@ -86,7 +86,7 @@ save_file (GtkWidget *widget,
}
int
-main ()
+main (void)
{
GtkBuilder *builder;
GObject *window, *open_button, *save_button, *text_view;
diff --git a/tex/dchandir-dchandir-work.png b/tex/dchandir-dchandir-work.png
new file mode 100644
index 0000000..9d26f99
--- /dev/null
+++ b/tex/dchandir-dchandir-work.png
Binary files differ
diff --git a/tex/handout-01-install-en.tex b/tex/handout-01-install-en.tex
index ebc1237..9540252 100644
--- a/tex/handout-01-install-en.tex
+++ b/tex/handout-01-install-en.tex
@@ -43,16 +43,16 @@ We first need to in"|stall the tools ne"|cessary for pro"|gram de"|velop"|ment.
\item A com"|piler for the C pro"|gramming language such as \texttt{gcc} or \texttt{clang},
\item a proper text editor like \texttt{gedit} or \texttt{gnome-builder},
\item the GTK+ library and its de"|pendencies as well as
-\item a few other use"|ful tools (de"|bugger, Auto"|tools, \dots).
+\item a few other use"|ful tools (de"|bugger, UI de"|sign pro"|grams, Meson, \dots).
\end{itemize}
\section{Arch GNU/Linux}
The following terminal com"|mand in"|stalls the tools:
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-# pacman -Syu --needed base-devel gtk3 gnome-builder
- git gdb valgrind
+\begin{lstlisting}[basicstyle=\ttfamily,language=sh,escapechar=@]
+@\#@ pacman -Syu --needed base-devel gtk3 gnome-builder
+ git gdb valgrind glade meson gtranslator
\end{lstlisting}
\section{Fedora}
@@ -64,7 +64,8 @@ $ sudo dnf upgrade
$ sudo dnf groups install "Development Tools"
$ sudo dnf groups install
"C Development Tools and Libraries"
-$ sudo dnf install gtk3-devel gnome-builder
+$ sudo dnf install gtk3-devel gnome-builder devhelp
+ gtranslator glade meson
\end{lstlisting}
\section{Debian and Ubuntu}
@@ -74,13 +75,21 @@ The following terminal com"|mands in"|stall the tools:
\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
$ sudo apt-get update
$ sudo apt-get upgrade
-$ sudo apt-get install build-essential autoconf git
- valgrind libgtk-3-dev gtk-3-examples gnome-builder
+$ sudo apt-get install build-essential git valgrind
+ libgtk-3-dev gtk-3-examples gnome-builder glade meson
+ gtranslator devhelp
+\end{lstlisting}
+
+\section{Guix}
+
+\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
+$ guix package -i devhelp gcc-toolchain gtk+ pkg-config
+ valgrind gettext-minimal meson ninja glade --fallback
\end{lstlisting}
\section{OS X}
-You need to in"|stall XCode from the Mac App Store and launch it. Then enter the following com"|mands in Terminal.app:
+Use Virtual"|Box! Other"|wise: You need to in"|stall XCode from the Mac App Store and launch it. Then enter the following com"|mands in Terminal.app:
\begin{lstlisting}
$ curl https://git.gnome.org/browse/gtk-osx/plain/
@@ -98,9 +107,7 @@ $ jhbuild build meta-gtk-osx-bootstrap
$ jhbuild shell
\end{lstlisting}
-De"|tails see:
-
-\url{https://wiki.gnome.org/Projects/GTK+/OSX}
+De"|tails see: \url{https://wiki.gnome.org/Projects/GTK+/OSX}
\section{Windows}
@@ -114,9 +121,10 @@ After in"|stalling MSYS2 as de"|scribed on the Web site the following com"|mand
$ pacman -Syu --needed base-devel git
mingw-w64-x86_64-binutils mingw-w64-x86_64-gcc
mingw-w64-x86_64-pkg-config mingw-w64-x86_64-gtk3
- mingw-w64-x86_64-gedit
+ mingw-w64-x86_64-gedit mingw-w64-x86_64-meson
+ mingw-w64-x86_64-glade
\end{lstlisting}
-GNOME Builder does not yet exist on Windows, but the gedit text editor can be used. Val"|grind is not a"|vail"|able either.
+GNOME Builder does not exist on Windows, but the gedit text editor can be used. Val"|grind is not a"|vail"|able either.
\end{document}
diff --git a/tex/handout-01-install.tex b/tex/handout-01-install.tex
index fb94c32..f2cdc41 100644
--- a/tex/handout-01-install.tex
+++ b/tex/handout-01-install.tex
@@ -34,16 +34,16 @@ Zu"|nächst müssen für die Pro"|gramm"|ent"|wicklung nötige Werk"|zeuge in"|s
\item Ein Compiler für die C-Pro"|grammier"|sprache wie \texttt{gcc} oder \texttt{clang},
\item ein brauch"|barer Text"|editor wie \texttt{gedit} oder \texttt{gnome-builder},
\item die GTK+-Biblio"|thek und was da"|zu ge"|hört und
-\item noch ein paar hilf"|reiche Werk"|zeuge (De"|bugger, Auto"|tools, \dots).
+\item noch ein paar hilf"|reiche Werk"|zeuge (De"|bugger, UI-De"|sign"|pro"|gramm, Meson, \dots).
\end{itemize}
\section{Arch GNU/Linux}
Folgender Terminal-Be"|fehl in"|stalliert die Werk"|zeuge:
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-# pacman -Syu --needed base-devel gtk3 gnome-builder
- git gdb valgrind
+\begin{lstlisting}[basicstyle=\ttfamily,language=sh,escapechar=@]
+@\#@ pacman -Syu --needed base-devel gtk3 gnome-builder
+ git gdb valgrind glade meson gtranslator
\end{lstlisting}
\section{Fedora}
@@ -55,7 +55,8 @@ $ sudo dnf upgrade
$ sudo dnf groups install "Development Tools"
$ sudo dnf groups install
"C Development Tools and Libraries"
-$ sudo dnf install gtk3-devel gnome-builder
+$ sudo dnf install gtk3-devel gnome-builder devhelp
+ gtranslator glade meson
\end{lstlisting}
\section{Debian und Ubuntu}
@@ -65,13 +66,21 @@ Folgende Terminal-Be"|fehle in"|stallieren die Werk"|zeuge:
\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
$ sudo apt-get update
$ sudo apt-get upgrade
-$ sudo apt-get install build-essential autoconf git
- valgrind libgtk-3-dev gtk-3-examples gnome-builder
+$ sudo apt-get install build-essential git valgrind
+ libgtk-3-dev gtk-3-examples gnome-builder glade meson
+ gtranslator devhelp
+\end{lstlisting}
+
+\section{Guix}
+
+\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
+$ guix package -i devhelp gcc-toolchain gtk+ pkg-config
+ valgrind gettext-minimal meson ninja glade --fallback
\end{lstlisting}
\section{OS X}
-Im Mac App Store muss XCode in"|stalliert und dann ge"|startet werden. In Terminal.app sind dann folgende Be"|fehle ein"|zu"|geben:
+Virtual"|Box be"|nutzen! Sonst: Im Mac App Store muss XCode in"|stalliert und ge"|startet werden. In Terminal.app sind dann folgende Be"|fehle ein"|zu"|geben:
\begin{lstlisting}
$ curl https://git.gnome.org/browse/gtk-osx/plain/
@@ -89,9 +98,7 @@ $ jhbuild build meta-gtk-osx-bootstrap
$ jhbuild shell
\end{lstlisting}
-De"|tails sind on"|line zu finden:
-
-\url{https://wiki.gnome.org/Projects/GTK+/OSX}
+De"|tails sind on"|line: \url{https://wiki.gnome.org/Projects/GTK+/OSX}
\section{Windows}
@@ -105,9 +112,10 @@ Nach"|dem MSYS2 wie dort be"|schrieben in"|stalliert wurde, kann in der MSYS2-Sh
$ pacman -Syu --needed base-devel git
mingw-w64-x86_64-binutils mingw-w64-x86_64-gcc
mingw-w64-x86_64-pkg-config mingw-w64-x86_64-gtk3
- mingw-w64-x86_64-gedit
+ mingw-w64-x86_64-gedit mingw-w64-x86_64-meson
+ mingw-w64-x86_64-glade
\end{lstlisting}
-GNOME Builder existiert noch nicht auf Windows, aber gedit kann be"|nutzt werden. Val"|grind gibt es auch nicht.
+GNOME Builder existiert nicht auf Windows, aber gedit kann be"|nutzt werden. Val"|grind gibt es auch nicht.
\end{document}
diff --git a/tex/handout-02-hello-gtk-en.tex b/tex/handout-02-hello-gtk-en.tex
index 909d671..532bcfa 100644
--- a/tex/handout-02-hello-gtk-en.tex
+++ b/tex/handout-02-hello-gtk-en.tex
@@ -48,7 +48,7 @@ close_window (GtkWidget *widget)
}
int
-main ()
+main (void)
{
GtkWidget *window;
gtk_init (0, NULL);
@@ -78,7 +78,8 @@ $ gdb ./hello # start debugger
# Find out where warnings come from:
$ G_DEBUG="fatal-warnings" gdb ./hello
# Find memory errors:
-$ valgrind --leak-check=full > out 2>&1
+$ G_SLICE="debug-blocks" gdb ./hello
+$ G_SLICE="always-malloc" valgrind --leak-check=full > out 2>&1
# Re"|cord pro"|gram flow:
$ rr record ./hello
$ rr replay
@@ -98,7 +99,7 @@ close_window (GtkWidget *widget)
}
int
-main ()
+main (void)
{
GtkWidget *window, *grid, *hello_label, *button;
gtk_init (0, NULL);
diff --git a/tex/handout-02-hello-gtk.tex b/tex/handout-02-hello-gtk.tex
index 7f377c3..1a957dc 100644
--- a/tex/handout-02-hello-gtk.tex
+++ b/tex/handout-02-hello-gtk.tex
@@ -39,7 +39,7 @@ close_window (GtkWidget *widget)
}
int
-main ()
+main (void)
{
GtkWidget *window;
gtk_init (0, NULL);
@@ -69,7 +69,8 @@ $ gdb ./hello # Debugger starten
# Ursprung von Warnungen finden:
$ G_DEBUG="fatal-warnings" gdb ./hello
# Speicherfehler finden:
-$ valgrind --leak-check=full > out 2>&1
+$ G_SLICE="debug-blocks" gdb ./hello
+$ G_SLICE="always-malloc" valgrind --leak-check=full ./hello > out 2>&1
# Programmablauf protokollieren:
$ rr record ./hello
$ rr replay
@@ -89,7 +90,7 @@ close_window (GtkWidget *widget)
}
int
-main ()
+main (void)
{
GtkWidget *window, *grid, *hello_label, *button;
gtk_init (0, NULL);
diff --git a/tex/handout-03-glade-en.tex b/tex/handout-03-glade-en.tex
index 8ea600e..269fc5c 100644
--- a/tex/handout-03-glade-en.tex
+++ b/tex/handout-03-glade-en.tex
@@ -33,16 +33,26 @@
\cfoot{}
\pagestyle{fancy}
+\usepackage{framed}
+
+\usepackage{hyperref}
+
\begin{document}
+\begin{framed}
+Note: These in"|structions are based on the much im"|proved \texttt{modern-ui} branch of Glade's current de"|velop"|ment version. In"|structions for the stable version can be found on the \href{https://pelzflorian.de/gui-prog-gtk-2016/}{web"|site of this work"|shop form 2016}.
+\end{framed}
+
An ex"|ample of building a GUI with the Glade e"|ditor:
\begin{enumerate}
-\item Under \emph{Top"|levels}, add a \emph{Window}.
-\item Then under \emph{Containers} add a \emph{Grid} with two cells to the window.
-\item Place a \emph{Label} and a \emph{Button} in"|side it.
+\item From \emph{Top"|levels}, add a \emph{Gtk"|Window}.
+\item Then from \emph{Containers} add a \emph{Gtk"|Grid} with two cells to the window.
+\item Place a \emph{Gtk"|Label} and a \emph{Gtk"|Button} in"|side it.
\item In the lower right corner, the label text can be changed.
\item Assign identi"|fiers \texttt{window} und \texttt{button}.
+\item In the ``Common'' tab on the right side, en"|able horizontal and vertical ex"|pansion.
+\item The lower left corner shows a cog"|wheel button for pre"|viewing the user inter"|face.
\item The finished UI can be saved as \texttt{hello.ui}.
\end{enumerate}
@@ -56,7 +66,7 @@ close_window (GtkWidget *widget)
}
int
-main ()
+main (void)
{
GtkBuilder *builder;
GObject *window, *button;
@@ -80,6 +90,8 @@ main ()
}
\end{lstlisting}
+(Note: It is easier to assign signals pro"|grammatically and not with Glade.)
+
Com"|pile using:
\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
diff --git a/tex/handout-03-glade.tex b/tex/handout-03-glade.tex
index e7f51e5..d497926 100644
--- a/tex/handout-03-glade.tex
+++ b/tex/handout-03-glade.tex
@@ -25,18 +25,27 @@
\cfoot{}
\pagestyle{fancy}
+\usepackage{framed}
+
+\usepackage{hyperref}
+
\begin{document}
+\begin{framed}
+Hin"|weis: Diese An"|leitung basiert auf dem (auf den Terminals ver"|füg"|baren) stark über"|arbeiteten \texttt{modern-ui}-Branch der aktuellen Ent"|wickler"|version von Glade. Eine An"|leitung für die der"|zeit letzte stabile Version ist auf der \href{https://pelzflorian.de/gui-prog-gtk-2016/}{Web"|seite dieses Work"|shops von 2016} zu finden.
+\end{framed}
+
So baut man eine GUI mit dem Glade-Editor:
\begin{enumerate}
-\item Unter \emph{Top"|levels} ein \emph{Window} hin"|zu"|fügen.
-\item Dann z.B. unter \emph{Containers} ein \emph{Grid} mit zwei Plätzen ins Fenster setzen.
-\item Und dort hin"|ein kann wieder ein \emph{Label} und ein \emph{Button} platziert werden.
-\item Unten rechts kann die Be"|schriftung an"|ge"|passt werden.
-\item IDs \texttt{window} und \texttt{button} müssen zu"|ge"|wiesen werden.
+\item Unter \emph{Oberste Ebenen} ein \emph{Gtk"|Window} hin"|zu"|fügen.
+\item Dann unter \emph{Container} ein \emph{Gtk"|Grid} mit zwei Plätzen ins Fenster setzen.
+\item Und dort hin"|ein kann wieder ein \emph{Gtk"|Label} und ein \emph{Gtk"|Button} platziert werden.
+\item Rechts kann die Be"|schriftung an"|ge"|passt werden.
+\item IDs \texttt{window} und \texttt{button} müssen als Kennung zu"|ge"|wiesen werden.
+\item Im Kartei"|reiter "`Gemein"|sam"' auf der rechten Seite kann horizontale und vertikale Aus"|dehnung an"|ge"|schaltet werden.
+\item Unten links in Glade kann mit dem Zahn"|räder zeigenden Knopf die Ober"|fläche ge"|testet werden.
\item Die fertige Ober"|fläche kann dann als \texttt{hello.ui} ge"|speichert werden.
-% MAN KANN HIER AUCH SIGNALE EINFÜGEN, ABER DAS IST UMSTÄNDLICHER ZU LADEN
\end{enumerate}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
@@ -49,7 +58,7 @@ close_window (GtkWidget *widget)
}
int
-main ()
+main (void)
{
GtkBuilder *builder;
GObject *window, *button;
@@ -73,6 +82,8 @@ main ()
}
\end{lstlisting}
+(Hin"|weis: Es ist leichter, Signale pro"|grammatisch zu"|zu"|weisen als mit Glade.)
+
Kom"|pilieren mit:
\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
diff --git a/tex/handout-04-text-editor-en.tex b/tex/handout-04-text-editor-en.tex
index cf9cc59..0dc631e 100644
--- a/tex/handout-04-text-editor-en.tex
+++ b/tex/handout-04-text-editor-en.tex
@@ -26,6 +26,8 @@
\tolerance=362
\hyphenpenalty=10
+\usepackage{graphicx}
+
\usepackage[parfill]{parskip}
\usepackage{listings}
\usepackage{hyperref}
@@ -58,9 +60,9 @@ The following widgets may be used for ex"|ample:
\emph{Hint}:
-\url{https://pelzflorian.de/gui-prog-gtk-2016/text-view-utils.tar.gz}
+\url{https://pelzflorian.de/gui-prog-gtk-2017/text-view-utils.tar.gz}
-This code reads in a file in one piece. Pro"|gram ex"|ecution is blocked while the file is read, so this is not acceptable for large files.
+This code reads in a file in one piece. Pro"|gram ex"|ecution is blocked while the file is read, so this is not acceptable for large files. Real text editors would use a library such as “Tepl”.
\pagebreak
@@ -76,7 +78,7 @@ In"|stead of a plain \texttt{gtk\_main()} an \emph{Application} may be used for
Examples for in"|cluding these in the e"|ditor from be"|fore:
\begin{itemize}
-\item \url{https://pelzflorian.de/git/gui-prog-gtk-2016/tree/bin/text2/text.c}
+\item \url{https://pelzflorian.de/git/gui-prog-gtk-2017/tree/bin/text2/text.c}
\item \url{https://developer.gnome.org/gtk3/stable/ch01s04.html}
\item Documentation for \emph{Gtk"|Application}, \emph{Gtk"|Application"|Window}.
\end{itemize}
diff --git a/tex/handout-04-text-editor.tex b/tex/handout-04-text-editor.tex
index 01a1e85..77c8971 100644
--- a/tex/handout-04-text-editor.tex
+++ b/tex/handout-04-text-editor.tex
@@ -17,6 +17,8 @@
\tolerance=362
\hyphenpenalty=10
+\usepackage{graphicx}
+
\usepackage[parfill]{parskip}
\usepackage{listings}
\usepackage{hyperref}
@@ -49,9 +51,9 @@ Wor"|aus zu"|sammen"|setzen? Zum Bei"|spiel:
\emph{Hin"|weis}:
-\url{https://pelzflorian.de/gui-prog-gtk-2016/text-view-utils.tar.gz}
+\url{https://pelzflorian.de/gui-prog-gtk-2017/text-view-utils.tar.gz}
-Dieser Code liest eine Datei an einem Stück ein. So"|lange die Datei ge"|laden wird, wird das Pro"|gramm blockiert. Für große Dateien wäre das also nicht akzeptabel.
+Dieser Code liest eine Datei an einem Stück ein. So"|lange die Datei ge"|laden wird, wird das Pro"|gramm blockiert. Für große Dateien wäre das also nicht akzeptabel. Echte Pro"|gramme zur Text"|ver"|arbeitung würden Biblio"|theken wie "`Tepl"' be"|nutzen.
\pagebreak
diff --git a/tex/handout-05-meson-en.tex b/tex/handout-05-meson-en.tex
new file mode 100644
index 0000000..8db8ec5
--- /dev/null
+++ b/tex/handout-05-meson-en.tex
@@ -0,0 +1,129 @@
+% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
+% International License. To view a copy of this license, visit
+% http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
+% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+
+\documentclass[a4paper, 11pt]{article}
+
+\usepackage{fontspec}
+
+\setmainfont{Cantarell}
+
+\usepackage[USenglish]{babel}
+% from https://tex.stackexchange.com/questions/27198/babel-adding-ngerman-s-language-shorthands-to-english-as-the-main-document-lan
+\makeatletter
+\initiate@active@char{"}
+\addto\extrasUSenglish{\languageshorthands{USenglish}\bbl@activate{"}}
+\addto\noextrasUSenglish{\bbl@deactivate{"}}
+\declare@shorthand{USenglish}{"|}{%
+ \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
+ \allowhyphens}{}}
+\makeatother
+
+% No uppercase hyphenation.
+\uchyph=0
+
+\tolerance=808
+\hyphenpenalty=10
+
+\usepackage{graphicx}
+
+\usepackage[parfill]{parskip}
+\usepackage{listings}
+\usepackage{hyperref}
+\let\oldurl\url
+\renewcommand\url[1]{{\footnotesize\oldurl{#1}}}
+
+\usepackage{fancyhdr}
+\setlength{\headheight}{14.5pt}
+\setlength{\footskip}{0pt}
+\lhead{Handout 5: Meson}
+\rhead{\thepage}
+\cfoot{}
+\pagestyle{fancy}
+
+\usepackage{multicol}
+
+\begin{document}
+
+\begin{center}
+\includegraphics[scale=0.5]{copyshop.png}
+\end{center}
+\vspace{1em}
+
+We want to use Meson so that we can easily build, test and distribute bigger pro"|jects.
+
+This means our pro"|ject should have a clear folder structure. We create for ex"|ample as a foundation
+\begin{itemize}
+\item in a newly created empty pro"|ject directory
+\begin{itemize}
+\item a text file called \texttt{README} which is meant to con"|tain basic ex"|planations what the soft"|ware does and how to in"|stall it,
+\item a file \texttt{AUTHORS} which is meant to con"|tain the names of all de"|velopers later on,
+\item a \texttt{NEWS} file which is meant to briefly list changes be"|tween soft"|ware versions that are important to users,
+\item a file called \texttt{COPYING} or \texttt{LICENSE} con"|taining the soft"|ware license (soft"|ware under multiple licenses stores them in one file each in a \texttt{LICENSES} directory in"|stead, cf.\ \url{https://reuse.software}),
+\item a currently still empty text file called \texttt{meson.build},
+\item a sub"|directory called \texttt{src} or \texttt{my"|copy"|shop} or similar
+\begin{itemize}
+\item with a file \texttt{main.c} inside which will later con"|tain the \texttt{main()} function
+\item as well as an"|other \texttt{meson.build} file.
+\end{itemize}
+\end{itemize}
+\end{itemize}
+
+Text files written in \emph{Mark"|down} may additionally use the \texttt{.md} file ex"|tension. The \texttt{src} directory will con"|tain all the program's C source files later on.
+
+This should be added to the main pro"|ject folder's \texttt{meson.build} file:
+\begin{lstlisting}[basicstyle=\ttfamily,language=python]
+project('mycopyshop', 'c')
+gtkdep = dependency('gtk+-3.0', version : '>= 3.22')
+subdir('src')
+\end{lstlisting}
+
+In real pro"|jects \texttt{pro"|ject()} should also state the program's license and version, see \url{http://mesonbuild.com}. The GTK+ version needed has been specified as \texttt{3.22} in this ex"|ample.
+
+\texttt{src/meson.build} should con"|tain the following:
+\begin{lstlisting}[basicstyle=\ttfamily,language=python]
+executable('copyshop', 'main.c',
+ dependencies : gtkdep,
+ install : true,
+ gui_app : true)
+\end{lstlisting}
+
+Done! We now want to store our pro"|gress in a Git re"|pository to make sure we won't lose it. To do so we open a terminal in the main pro"|ject directory and run these commands:
+
+\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
+$ git init
+$ git add README AUTHORS NEWS COPYING meson.build
+ src/main.c src/meson.build
+\end{lstlisting}
+
+Using \texttt{git} we can easily manage which files are part of the pro"|ject. All foreign files can be quickly re"|moved using \texttt{git clean -df}. \texttt{git status} shows the status of the files in the pro"|ject directory. Most people use Git for saving and managing changes to the pro"|ject in one version (``commit'') each. This way -- among other advantages -- multiple de"|velopers can co"|operate efficiently.
+
+\begin{multicols}{2}
+Now that changes are no longer easily lost, we build and in"|stall the pro"|ject for a single user:
+
+\begin{lstlisting}[basicstyle=\ttfamily\footnotesize,language=sh]
+$ mkdir builddir
+$ cd builddir
+$ meson .. --prefix=$HOME/.local
+$ ninja install
+\end{lstlisting}
+
+\columnbreak
+
+Ad"|ministrators can in"|stall the pro"|ject for all users as well:
+
+\begin{lstlisting}[basicstyle=\ttfamily\footnotesize,language=sh]
+$ mkdir builddir
+$ cd builddir
+$ meson ..
+$ ninja
+$ sudo ninja install
+\end{lstlisting}
+\end{multicols}
+
+If the pro"|ject re"|quires Glade files or similar to be loaded, we need to either in"|clude them as a re"|source with"|in the pro"|gram or supply their file path to the C code in a con"|figuration file. For the latter we need a \texttt{config.h} file; for an ex"|ample on how to create one, see the next hand"|out or the ex"|ample here:
+
+{\footnotesize\url{https://pelzflorian.de/git/gui-prog-gtk/tree/bin/copyshop/meson.build}}
+
+\end{document}
diff --git a/tex/handout-05-meson.tex b/tex/handout-05-meson.tex
new file mode 100644
index 0000000..5e1253f
--- /dev/null
+++ b/tex/handout-05-meson.tex
@@ -0,0 +1,120 @@
+% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
+% International License. To view a copy of this license, visit
+% http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
+% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+
+\documentclass[a4paper, 11pt]{article}
+
+\usepackage{fontspec}
+
+\setmainfont{Cantarell}
+
+\usepackage[ngerman]{babel}
+
+% No uppercase hyphenation.
+\uchyph=0
+
+\tolerance=808
+\hyphenpenalty=10
+
+\usepackage{graphicx}
+
+\usepackage[parfill]{parskip}
+\usepackage{listings}
+\usepackage{hyperref}
+\let\oldurl\url
+\renewcommand\url[1]{{\footnotesize\oldurl{#1}}}
+
+\usepackage{fancyhdr}
+\setlength{\headheight}{14.5pt}
+\setlength{\footskip}{0pt}
+\lhead{Handout 5: Meson}
+\rhead{\thepage}
+\cfoot{}
+\pagestyle{fancy}
+
+\usepackage{multicol}
+
+\begin{document}
+
+\begin{center}
+\includegraphics[scale=0.5]{copyshop.png}
+\end{center}
+\vspace{1em}
+
+Wir wollen Meson ver"|wenden, um auch größere Pro"|jekte leicht bauen, testen, ver"|breiten, etc.\ zu können.
+
+Da"|zu sollte unserer Pro"|jekt eine über"|sicht"|liche Ordner"|struktur haben. Wir er"|stellen zum Bei"|spiel
+\begin{itemize}
+\item in einem neuen, leeren Pro"|jekt"|ordner
+\begin{itemize}
+\item eine Text"|datei \texttt{README}, die später grund"|legende Er"|klärungen, wo"|für die Soft"|ware da ist, so"|wie In"|stallations"|an"|weisungen ent"|halten soll,
+\item eine Datei \texttt{AUTHORS}, die später die Namen aller Ent"|wickler auf"|listen soll,
+\item eine Datei \texttt{NEWS}, welche später nur die für Nutzer wichtigen Änderungen zwischen den Pro"|gramm"|versionen knapp auf"|listen soll,
+\item eine Datei \texttt{COPYING} oder \texttt{LICENSE}, die die Soft"|ware-Lizenz ent"|halten soll (bei mehreren Lizenzen sollte statt"|dessen ein Ordner \texttt{LICENSES} die Lizenzen in je einer Datei ent"|halten, vgl.\ \url{https://reuse.software}),
+\item eine noch leere Text"|datei namens \texttt{meson.build},
+\item ein Unter"|ver"|zeich"|nis \texttt{src} oder \texttt{my"|copy"|shop} oder Ähn"|liches
+\begin{itemize}
+\item mit einer Datei namens \texttt{main.c}, die später die \texttt{main()}-Funktion ent"|halten wird,
+\item und einer weiteren \texttt{meson.build}-Datei,
+\end{itemize}
+\end{itemize}
+\end{itemize} als Grund"|ge"|rüst. In \emph{Mark"|down} ge"|schriebene Text"|dateien können auch zu"|sätz"|lich die Datei"|endung \texttt{.md} be"|kommen. Im \texttt{src}-Ordner werden später alle C-Quell"|dateien des Pro"|gramms stehen.
+
+Wir füllen nun die \texttt{meson.build}-Dateien mit den In"|formationen, wor"|aus sich unser Soft"|ware-Pro"|jekt zu"|sammen"|setzt.
+
+Im Haupt"|pro"|jekt"|ordner sollte in \texttt{meson.build} stehen:
+\begin{lstlisting}[basicstyle=\ttfamily,language=python]
+project('mycopyshop', 'c')
+gtkdep = dependency('gtk+-3.0', version : '>= 3.22')
+subdir('src')
+\end{lstlisting}
+
+In \texttt{project()} sollte in echten Pro"|jekten auch die Pro"|gramm"|lizenz und -version an"|ge"|geben werden, siehe \url{http://mesonbuild.com}. Die nötige GTK+-Version wurde in diesem Bei"|spiel als mindestens \texttt{3.22} an"|ge"|geben.
+
+In \texttt{src/meson.build} sollte stehen:
+\begin{lstlisting}[basicstyle=\ttfamily,language=python]
+executable('copyshop', 'main.c',
+ dependencies : gtkdep,
+ install : true,
+ gui_app : true)
+\end{lstlisting}
+
+Fertig! Wir wollen den nun er"|reichten Zu"|stand unseres Pro"|jekts in einem Git-Re"|pository sichern. Wir öffnen da"|zu im ur"|sprüng"|lichen Pro"|jekt"|ordner ein Terminal und führen folgende Be"|fehle aus:
+
+\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
+$ git init
+$ git add README AUTHORS NEWS COPYING meson.build
+ src/main.c src/meson.build
+\end{lstlisting}
+
+Mit \texttt{git} kann leicht ver"|waltet werden, welche Dateien zum Pro"|jekt da"|zu"|ge"|hören. Alle fremden Dateien können mit \texttt{git clean -df} ge"|löscht werden. Mit \texttt{git status} wird der Zu"|stand der Dateien im Pro"|jekt"|ordner an"|ge"|zeigt. Haupt"|säch"|lich wird Git aber meistens be"|nutzt, um Änderungen am Pro"|jekt in je einer eigenen Version ("`Commit"') zu speichern und zu ver"|walten, wo"|durch u.A.\ mehrere Ent"|wickler effizient zu"|sammen"|arbeiten können.
+
+\begin{multicols}{2}
+Nach"|dem die Änderungen nun nicht mehr leicht ver"|loren gehen, bauen und in"|stallieren wir das Pro"|jekt wie folgt für einen einzelnen Nutzer:
+
+\begin{lstlisting}[basicstyle=\ttfamily\footnotesize,language=sh]
+$ mkdir builddir
+$ cd builddir
+$ meson .. --prefix=$HOME/.local
+$ ninja install
+\end{lstlisting}
+
+\columnbreak
+
+Ad"|ministratoren können das Pro"|jekt auch für alle Nutzer in"|stallieren:
+
+\begin{lstlisting}[basicstyle=\ttfamily\footnotesize,language=sh]
+$ mkdir builddir
+$ cd builddir
+$ meson ..
+$ ninja
+$ sudo ninja install
+\end{lstlisting}
+\end{multicols}
+
+Wenn nun aber noch Glade-Dateien oder Ähn"|liches ge"|laden werden sollen, müssen sie als Ressource ins Pro"|gramm ein"|ge"|bunden oder deren Pfad in einer Kon"|figurations"|datei an den C-Code über"|mittelt werden. Wir brauchen für letzteres eine \texttt{config.h}-Datei; siehe für deren Er"|stellung das nächste Hand"|out oder das Bei"|spiel:
+
+{\footnotesize\url{https://pelzflorian.de/git/gui-prog-gtk/tree/bin/copyshop/meson.build}}
+
+\end{document}
diff --git a/tex/handout-06-autotools-en.tex b/tex/handout-06-autotools-en.tex
deleted file mode 100644
index 10d7f14..0000000
--- a/tex/handout-06-autotools-en.tex
+++ /dev/null
@@ -1,152 +0,0 @@
-% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
-% International License. To view a copy of this license, visit
-% http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
-% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
-
-\documentclass[a4paper, 11pt]{article}
-
-\usepackage{fontspec}
-
-\setmainfont{Cantarell}
-
-\usepackage[USenglish]{babel}
-% from https://tex.stackexchange.com/questions/27198/babel-adding-ngerman-s-language-shorthands-to-english-as-the-main-document-lan
-\makeatletter
-\initiate@active@char{"}
-\addto\extrasUSenglish{\languageshorthands{USenglish}\bbl@activate{"}}
-\addto\noextrasUSenglish{\bbl@deactivate{"}}
-\declare@shorthand{USenglish}{"|}{%
- \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
- \allowhyphens}{}}
-\makeatother
-
-% No uppercase hyphenation.
-\uchyph=0
-
-\tolerance=808
-\hyphenpenalty=10
-
-\usepackage[parfill]{parskip}
-\usepackage{listings}
-\usepackage{hyperref}
-\let\oldurl\url
-\renewcommand\url[1]{{\footnotesize\oldurl{#1}}}
-
-\usepackage{fancyhdr}
-\setlength{\headheight}{14.5pt}
-\setlength{\footskip}{0pt}
-\lhead{Handout 6: Autotools}
-\rhead{\thepage}
-\cfoot{}
-\pagestyle{fancy}
-
-\begin{document}
-
-\begin{center}
-\includegraphics[scale=0.5]{copyshop.png}
-\end{center}
-\vspace{1em}
-
-We want to use GNU Auto"|tools so that we can easily build, test and distribute bigger pro"|jects.
-
-For now, you create a new, empty pro"|ject directory with one sub"|directory called \texttt{src} or \texttt{my"|copy"|shop} or another appropriate name. It should con"|tain for example an empty file \texttt{main.c}. Later, you will create all source files for your project in this directory.
-
-Now you should open a terminal in the main pro"|ject directory and run the following com"|mands:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ git init
-$ git add src/main.c
-$ autoscan
-\end{lstlisting}
-
-Using \texttt{git}, you can easily manage which files are part of the pro"|ject. All foreign files can be quickly re"|moved using \texttt{git clean -df}. \texttt{git status} shows the status of the files in the pro"|ject directory.
-
-\texttt{auto"|scan} generates a GNU Auto"|conf file \texttt{con"|figure.scan}. You should fill in the pro"|ject name etc. in the file. After"|wards you should re"|name the finished file to \texttt{con"|figure.ac}. \texttt{auto"|scan} can also be ex"|ecuted later on to show possible im"|prove"|ments for \texttt{con"|figure.ac}.
-
-Typically, a file called \texttt{auto"|gen.sh} for en"|abling the pro"|ject to be con"|figured. It should con"|tain some"|thing similar to this:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-#!/bin/sh
-cd $(dirname $0)
-autoreconf --force --install --verbose -Wall
-\end{lstlisting}
-
-The following com"|mands can be used to mark the file as ex"|ecut"|able and then to ex"|ecute it:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ chmod +x autogen.sh
-$ ./autogen.sh
-\end{lstlisting}
-
-Now the pro"|ject can be con"|figured auto"|matically, i.e. it can easily adapt to the user's operating system and their de"|sired con"|figuration of e.g. the C com"|piler. How"|ever it can"|not be auto"|matically built yet. This is where GNU Auto"|make can help:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ automake --add-missing
-\end{lstlisting}
-
-The following should be added to \texttt{con"|figure.ac} to make Auto"|make usable and to allow Auto"|make to build in sub"|directories:
-
-\begin{lstlisting}[basicstyle=\ttfamily]
-AC_CONFIG_FILES([Makefile])
-AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability
- subdir-objects])
-\end{lstlisting}
-
-To"|gether with \texttt{auto"|gen.sh}, these are all in"|structions needed to run the \texttt{Make"|file.am} which you will need to create now.
-
-To specify that a pro"|gram called \texttt{copy"|shop} should be built from \texttt{src/main.c} and \texttt{src/cshopapp.c}, the following code should be in"|serted in"|to a new file \texttt{Make"|file.am}. Note that in"|dentation should be done using tabs, not spaces.
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=make]
-AM_CPPFLAGS = -DDATADIR=\"$(datadir)\"
-bin_PROGRAMS = src/copyshop
-src_copyshop_SOURCES = \
- src/main.c \
- src/cshopapplication.c \
- src/cshopapplication.h \
- src/cshopwindow.c \
- src/cshopwindow.h
-src_copyshop_LDADD = $(GTK_LIBS)
-src_copyshop_CFLAGS = \
- -I$(top_srcdir)/ \
- $(GTK_CFLAGS)
-dist_data_DATA = \
- src/ui/menu.ui
-\end{lstlisting}
-
-The following code in \texttt{con"|figure.ac} de"|fines the variables \texttt{GTK\_LIBS} and \texttt{GTK\_CFLAGS} needed by the \texttt{Make"|file.am}:
-
-\begin{lstlisting}[basicstyle=\ttfamily]
-# Checks for libraries.
-PKG_CHECK_MODULES([GTK],[gtk+-3.0 >= 3.16])
-\end{lstlisting}
-
-The con"|figuration can be accessed from C using:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=c]
-#include <config.h>
-\end{lstlisting}
-
-Now you can con"|figure, com"|pile and in"|stall as well as un"|in"|stall the pro"|gram with the de"|fault options plus warnings:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ ./autogen.sh
-$ CFLAGS="-Wall" CPPFLAGS="-Wall" ./configure
-$ make
-# make install
-# make uninstall
-\end{lstlisting}
-
-The following com"|mand generates a file con"|taining all source code (``tar"|ball'') for dis"|tribution:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ make dist
-\end{lstlisting}
-
-For serious pro"|jects, the manuals of the GNU Auto"|tools should be searched for further re"|commendations:
-
-\begin{itemize}
-\item \url{https://www.gnu.org/software/autoconf/manual/autoconf.html}
-\item \url{https://www.gnu.org/software/automake/manual/automake.html}
-\end{itemize}
-
-\end{document}
diff --git a/tex/handout-06-autotools.tex b/tex/handout-06-autotools.tex
deleted file mode 100644
index a3f1b43..0000000
--- a/tex/handout-06-autotools.tex
+++ /dev/null
@@ -1,139 +0,0 @@
-% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
-% International License. To view a copy of this license, visit
-% http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
-% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
-
-\documentclass[a4paper, 11pt]{article}
-
-\usepackage{fontspec}
-
-\setmainfont{Cantarell}
-
-\usepackage[ngerman]{babel}
-
-% No uppercase hyphenation.
-\uchyph=0
-
-\tolerance=808
-\hyphenpenalty=10
-
-\usepackage[parfill]{parskip}
-\usepackage{listings}
-\usepackage{hyperref}
-\let\oldurl\url
-\renewcommand\url[1]{{\footnotesize\oldurl{#1}}}
-
-\usepackage{fancyhdr}
-\setlength{\headheight}{14.5pt}
-\setlength{\footskip}{0pt}
-\lhead{Handout 6: Autotools}
-\rhead{\thepage}
-\cfoot{}
-\pagestyle{fancy}
-
-\begin{document}
-
-\begin{center}
-\includegraphics[scale=0.5]{copyshop.png}
-\end{center}
-\vspace{1em}
-
-Wir wollen GNU Auto"|tools ver"|wenden, um auch größere Pro"|jekte leicht bauen, testen, ver"|breiten, etc. zu können.
-
-Da"|zu sollte in einem neuen, leeren Pro"|jekt"|ordner ein Unter"|ver"|zeich"|nis \texttt{src} oder \texttt{my"|copy"|shop} oder Ähn"|liches mit z.B. einer noch leeren Datei namens \texttt{main.c} als Grund"|ge"|rüst er"|zeugt werden. In diesem Ordner werden später alle Quell"|dateien des Pro"|gramms stehen.
-
-Nun wird im ur"|sprüng"|lichen Pro"|jekt"|ordner ein Terminal ge"|öffnet und dort folgende Be"|fehle aus"|ge"|führt:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ git init
-$ git add src/main.c
-$ autoscan
-\end{lstlisting}
-
-Mit \texttt{git} kann leicht ver"|waltet werden, welche Dateien zum Pro"|jekt da"|zu"|ge"|hören. Alle fremden Dateien können mit \texttt{git clean -df} ge"|löscht werden. Mit \texttt{git status} wird der Zu"|stand der Dateien im Pro"|jekt"|ordner an"|ge"|zeigt.
-
-\texttt{auto"|scan} er"|zeugt eine GNU-Auto"|conf-Datei \texttt{con"|figure.scan}, in welcher Pro"|jekt"|name etc. ein"|zu"|tragen sind. An"|schließend muss die fertige Datei in \texttt{con"|figure.ac} um"|be"|nannt werden. Auch später kann \texttt{auto"|scan} noch aus"|ge"|führt werden, um Ver"|besserungs"|vor"|schläge für den In"|halt von \texttt{con"|figure.ac} aus"|zu"|geben.
-
-Um da"|mit nun ein Pro"|jekt zu kon"|figurieren wird üblicher"|weise eine Datei \texttt{auto"|gen.sh} be"|reit"|ge"|stellt, z.B. mit folgendem In"|halt:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-#!/bin/sh
-cd $(dirname $0)
-autoreconf --force --install --verbose -Wall
-\end{lstlisting}
-
-Folgende Be"|fehle machen die Datei aus"|führ"|bar und führen sie da"|nach aus:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ chmod +x autogen.sh
-$ ./autogen.sh
-\end{lstlisting}
-
-Nun kann das Pro"|jekt zwar auto"|matisch kon"|figuriert werden, d.h. leicht an das Be"|triebs"|system und vom Nutzer ge"|wünschte Kon"|figuration z.B. des C-Com"|pilers an"|ge"|passt werden, aber noch nicht leicht auto"|matisch ge"|baut werden. Da"|bei hilft GNU Auto"|make:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ automake --add-missing
-\end{lstlisting}
-
-Zudem sollte folgendes in \texttt{con"|figure.ac} ein"|ge"|fügt werden, um Auto"|make zu nutzen und dar"|in Unter"|ver"|zeich"|nisse be"|nutzen zu können:
-
-\begin{lstlisting}[basicstyle=\ttfamily]
-AC_CONFIG_FILES([Makefile])
-AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability
- subdir-objects])
-\end{lstlisting}
-
-Dies liefert zu"|sammen mit \texttt{auto"|gen.sh} die weiteren In"|struktionen, um das nötige \texttt{Make"|file.am} lauf"|fähig zu machen.
-
-Um dar"|in an"|zu"|geben, dass ein Pro"|gramm namens \texttt{copy"|shop} aus \texttt{src/main.c} und \texttt{src/cshopapp.c} er"|zeugt werden soll, sollte folgender Code ins \texttt{Make"|file.am} ein"|ge"|fügt werden. Achtung, das Einrücken muss mit Tabulatoren geschehen.
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=make]
-AM_CPPFLAGS = -DDATADIR=\"$(datadir)\"
-bin_PROGRAMS = src/copyshop
-src_copyshop_SOURCES = \
- src/main.c \
- src/cshopapplication.c \
- src/cshopapplication.h \
- src/cshopwindow.c \
- src/cshopwindow.h
-src_copyshop_LDADD = $(GTK_LIBS)
-src_copyshop_CFLAGS = \
- -I$(top_srcdir)/ \
- $(GTK_CFLAGS)
-dist_data_DATA = \
- src/ui/menu.ui
-\end{lstlisting}
-
-Folgender Code in \texttt{con"|figure.ac} de"|finiert die nötigen Variablen \texttt{GTK\_LIBS} und \texttt{GTK\_CFLAGS}:
-
-\begin{lstlisting}[basicstyle=\ttfamily]
-# Checks for libraries.
-PKG_CHECK_MODULES([GTK],[gtk+-3.0 >= 3.16])
-\end{lstlisting}
-
-Auf die Kon"|figuration kann zu"|ge"|griffen werden mit \\\texttt{\#include <config.h>}.
-
-Nun kann das Pro"|gramm wie folgt mit den Standard"|optionen kon"|figuriert und kom"|piliert, in"|stalliert und wieder de"|in"|stalliert werden:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ ./autogen.sh
-$ CFLAGS="-Wall" CPPFLAGS="-Wall" ./configure
-$ make
-# make install
-# make uninstall
-\end{lstlisting}
-
-Folgender Be"|fehl er"|zeugt eine Datei mit allem Quell"|code („Tarball“) zur Dis"|tribution:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ make dist
-\end{lstlisting}
-
-Bei ernst"|haften Pro"|jekten bietet es sich an, die Hand"|bücher der GNU Auto"|tools nach weiteren Empfehlungen zu durch"|suchen:
-
-\begin{itemize}
-\item \url{https://www.gnu.org/software/autoconf/manual/autoconf.html}
-\item \url{https://www.gnu.org/software/automake/manual/automake.html}
-\end{itemize}
-
-\end{document}
diff --git a/tex/handout-07-translations-en.tex b/tex/handout-06-translations-en.tex
index 197aef0..1b09ea2 100644
--- a/tex/handout-07-translations-en.tex
+++ b/tex/handout-06-translations-en.tex
@@ -26,6 +26,8 @@
\tolerance=808
\hyphenpenalty=10
+\usepackage{graphicx}
+
\usepackage[parfill]{parskip}
\usepackage{listings}
\usepackage{hyperref}
@@ -35,7 +37,7 @@
\usepackage{fancyhdr}
\setlength{\headheight}{14.5pt}
\setlength{\footskip}{0pt}
-\lhead{Handout 7: Übersetzungen}
+\lhead{Handout 6: Translations}
\rhead{\thepage}
\cfoot{}
\pagestyle{fancy}
@@ -48,7 +50,7 @@
\end{center}
\vspace{1em}
-First, add use \texttt{git add} to add all im"|portant files. Then re"|move every"|thing that is not a source file:
+First, use \texttt{git add} to add all im"|portant files. Then re"|move every"|thing that is not a source file:
\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
$ git clean -df
@@ -60,22 +62,48 @@ Now you will have to mark all strings that should be trans"|lated. C source file
#include <glib/gi18n.h>
\end{lstlisting}
-For marking, re"|place for example the string \texttt{"My Text"} with \texttt{\_("My Text")}. If you want to make additional con"|textual in"|formation a"|vail"|able to the trans"|lators, you need to use other markings; see the ex"|planations in the GLib Re"|ference. Additionally, the \texttt{main()} function needs code to initialize Get"|text so it uses the trans"|lations. This code can be found in the GLib Re"|ference as well.
+For marking, re"|place for example the string \texttt{"My Text"} with \texttt{\_("My Text")}. If you want to make additional con"|textual in"|formation a"|vail"|able to the trans"|lators, you need to use other markings; see the ex"|planations in the GLib Re"|ference.
\texttt{.ui} files are marked like this:
\begin{lstlisting}[basicstyle=\footnotesize\ttfamily,language=xml]
<property name="…" translatable="yes">My Text</property>
\end{lstlisting}
-Once every"|thing is marked, you should go back to the main pro"|ject directory using \texttt{cd} and then ex"|ecute the following com"|mand there:
+Additionally, the \texttt{main()} function needs code to initialize Get"|text so it uses the trans"|lations. There"|fore we need to de"|clare a con"|figuration file in \texttt{meson.build}. The con"|figuration file shall set a \texttt{GETTEXT\_PACKAGE} con"|stant.
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ gettextize
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=python]
+cdata = configuration_data()
+cdata.set_quoted('DATADIR',
+ join_paths(get_option('prefix'), get_option('datadir')))
+cdata.set('GETTEXT_PACKAGE', '"mycopyshop"')
+configure_file(output : 'config.h', configuration : cdata)
+\end{lstlisting}
+
+In \texttt{main.c} the following must be in"|cluded:
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=c]
+#include <locale.h>
+#include <config.h>
+\end{lstlisting}
+
+Then the following function calls must be made. This code can be found in the GLib Re"|ference as well.
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=c]
+setlocale (LC_ALL, "");
+bindtextdomain (GETTEXT_PACKAGE, DATADIR "/locale");
+bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+textdomain (GETTEXT_PACKAGE);
\end{lstlisting}
-This com"|mand ad"|apts \texttt{con"|figure.ac} and \texttt{Make"|file.am} to generate and use trans"|lations. It also prints what changes one may want to make manually. Down"|loading files with \texttt{w"|get} via HTTP is not ne"|cessary and generally not a good idea. Adding \texttt{get"|text.h} is not ne"|cessary be"|cause we are using GLib. \texttt{ac"|local} and \texttt{auto"|conf} is al"|ready being ex"|ecuted by \texttt{./auto"|gen.sh} and there"|fore need not be used.
+Now Meson needs to trans"|form the markings in"|to files with the not yet trans"|lated texts. For these we create a \texttt{po} directory in the main pro"|ject directory and in"|clude it in \texttt{meson.build} by calling \texttt{subdir('po')}.
+
+We create a file \texttt{po/meson.build} in it:
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=python]
+i18n = import('i18n')
+i18n.gettext('mycopyshop', preset : 'glib')
+\end{lstlisting}
-In \texttt{po/POTFILES.in} all files con"|taining strings to be trans"|lated should be listed like:
+In \texttt{po/POTFILES} all files con"|taining strings to be trans"|lated should be listed like this:
\begin{lstlisting}[basicstyle=\ttfamily]
# List of source files which contain
# translatable strings.
@@ -87,34 +115,6 @@ src/ui/menu.ui
src/ui/toolbar.ui
\end{lstlisting}
-In \texttt{Make"|vars} this option may need to be set if the source files may con"|tain non-ASCII characters:
-\begin{lstlisting}[basicstyle=\footnotesize\ttfamily]
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8
-\end{lstlisting}
-
-Some com"|pilers have problems inter"|preting source code with these characters though, so one may want to a"|void them.
-
-\texttt{con"|figure.ac} should also con"|tain the following:
-\begin{lstlisting}
-AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME])
-AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
- ["$GETTEXT_PACKAGE"], [Package name for gettext])
-\end{lstlisting}
-
-\texttt{main.c} will need to in"|clude this:
-\begin{lstlisting}[basicstyle=\ttfamily,language=c]
-#include <config.h>
-\end{lstlisting}
-
-Once all im"|portant files have been added to the pro"|ject with \texttt{git add}, the usual com"|mands can be ex"|ecuted:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ ./autogen.sh # instead of aclocal and autoconf
-$ ./configure
-$ make
-\end{lstlisting}
-
This con"|cludes the pro"|ject's inter"|nationalization. For the German localization, a line \texttt{de} needs to be added to the file \texttt{po/LINGUAS}. English needs a line \texttt{en}, U.S.\ English needs \texttt{en\_US} etc.
The final \texttt{po/LINGUAS} looks like this:
@@ -123,12 +123,19 @@ de
en
\end{lstlisting}
-Its lines should be sorted alpha"|betically. Now the pro"|jekt can be re"|built. \texttt{msg"|init} generates the re"|spective files in the \texttt{po} directory which may be e"|dited e.g. using \texttt{g"|trans"|lator} to specify the trans"|lations.
-
-Re"|building the pro"|ject will now create the trans"|lated version as well. It can be ex"|ecuted by entering:
+Its lines should be sorted alpha"|betically. Now a foundation for the trans"|lation can be built.
-\begin{lstlisting}
-$ LANG=en_US.UTF-8 copyshop
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=sh]
+$ mkdir builddir
+$ cd builddir
+$ meson ..
+$ ninja mycopyshop-pot
\end{lstlisting}
+Copy"|right in"|formation and ``Re"|port-Msgid-Bugs-To:'' should be added with a text editor in the header of the just created \texttt{po/mycopyshop.pot} file.
+
+\texttt{msg"|init -l en --no-trans"|lator} or \texttt{msg"|init -l de --no-trans"|lator} then creates the corresponding files in the \texttt{po} directory in which the trans"|lations can be added with e.g.\ \texttt{g"|trans"|lator} (both German and English have ``\texttt{nplurals=2; plural=(n != 1);}'' according to the Get"|text manual). All new files other than \texttt{build"|dir} should be added to the Git re"|pository with \texttt{git add}.
+
+Re"|building the pro"|ject now creates the trans"|lated version as well. It can be run with e.g.\ \texttt{LANGUAGE=en\_US.UTF-8 LC\_ALL=en\_US.UTF-8 copyshop}.
+
\end{document}
diff --git a/tex/handout-06-translations.tex b/tex/handout-06-translations.tex
new file mode 100644
index 0000000..52c124f
--- /dev/null
+++ b/tex/handout-06-translations.tex
@@ -0,0 +1,132 @@
+% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
+% International License. To view a copy of this license, visit
+% http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
+% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+
+\documentclass[a4paper, 11pt]{article}
+
+\usepackage{fontspec}
+
+\setmainfont{Cantarell}
+
+\usepackage[ngerman]{babel}
+
+% No uppercase hyphenation.
+\uchyph=0
+
+\tolerance=808
+\hyphenpenalty=10
+
+\usepackage{graphicx}
+
+\usepackage[parfill]{parskip}
+\usepackage{listings}
+\usepackage{hyperref}
+\let\oldurl\url
+\renewcommand\url[1]{{\footnotesize\oldurl{#1}}}
+
+\usepackage{fancyhdr}
+\setlength{\headheight}{14.5pt}
+\setlength{\footskip}{0pt}
+\lhead{Handout 6: Übersetzungen}
+\rhead{\thepage}
+\cfoot{}
+\pagestyle{fancy}
+
+\begin{document}
+
+\begin{center}
+\includegraphics[scale=0.3]{copyshop.png}
+\includegraphics[scale=0.3]{copyshop-de.png}
+\end{center}
+\vspace{1em}
+
+Zu"|nächst sollten alle wichtigen Dateien mit \texttt{git add} auf"|ge"|nommen werden und an"|schließend alles ge"|löscht werden, was keine Quell"|datei ist:
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=sh]
+$ git clean -df
+\end{lstlisting}
+
+Nun müssen zu über"|setzende Zeichen"|ketten markiert werden. C-Code-Quell"|dateien, die Zeichen"|ketten ent"|halten, welche über"|setzt werden müssen, müssen da"|zu diesen Header ein"|binden:
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=c]
+#include <glib/gi18n.h>
+\end{lstlisting}
+
+Zum Markieren wird z.B.\ \texttt{"My Text"} er"|setzt durch \texttt{\_("My Text")}. Wenn zu"|dem Kon"|text"|in"|formationen für die Über"|setzer mit"|ge"|geben werden sollen, dann können andere Markierungen ver"|wendet werden; diese sind in der GLib-Re"|ferenz er"|klärt.
+
+\texttt{.ui}-Dateien werden so markiert:
+\begin{lstlisting}[basicstyle=\footnotesize\ttfamily,language=xml]
+<property name="…" translatable="yes">My Text</property>
+\end{lstlisting}
+
+Eben"|so muss die \texttt{main()}-Funktion nun Code auf"|rufen, um die Über"|setzungen zu be"|nutzen. Da"|zu muss in \texttt{meson.build} eine Kon"|figurations"|datei de"|klariert werden, in der eine Kon"|stante \texttt{GETTEXT\_PACKAGE} ge"|setzt wird:
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=python]
+cdata = configuration_data()
+cdata.set_quoted('DATADIR',
+ join_paths(get_option('prefix'), get_option('datadir')))
+cdata.set('GETTEXT_PACKAGE', '"mycopyshop"')
+configure_file(output : 'config.h', configuration : cdata)
+\end{lstlisting}
+
+In \texttt{main.c} muss folgendes ein"|ge"|bunden werden:
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=c]
+#include <locale.h>
+#include <config.h>
+\end{lstlisting}
+
+und dann passende Auf"|rufe ge"|macht werden; diese sind auch in der GLib-Re"|ferenz zu finden:
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=c]
+setlocale (LC_ALL, "");
+bindtextdomain (GETTEXT_PACKAGE, DATADIR "/locale");
+bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+textdomain (GETTEXT_PACKAGE);
+\end{lstlisting}
+
+Nun soll Meson aus den Markierungen Dateien mit den noch nicht über"|setzten Texten er"|zeugen. Für diese wird ein Ordner \texttt{po} im Haupt"|pro"|jekt"|ordner an"|ge"|legt und in \texttt{meson.build} mit \texttt{subdir('po')} ein"|ge"|bunden.
+
+Dar"|in wird eine Datei \texttt{po/meson.build} er"|stellt:
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=python]
+i18n = import('i18n')
+i18n.gettext('mycopyshop', preset : 'glib')
+\end{lstlisting}
+
+In der Datei \texttt{po/POTFILES} sollten alle Dateien mit zu über"|setzenden Zeichen"|ketten auf"|ge"|listet werden, zum Bei"|spiel so:
+\begin{lstlisting}[basicstyle=\ttfamily\footnotesize]
+# List of source files which contain
+# translatable strings.
+src/cshopapplication.c
+src/cshopraw.c
+src/cshopwindow.c
+src/main.c
+src/ui/menu.ui
+src/ui/toolbar.ui
+\end{lstlisting}
+
+Da"|mit ist die Inter"|nationalisierung des Pro"|jekts ab"|ge"|schlossen. Zum Lokalisieren ins Deutsche muss in die Datei \texttt{po/LINGUAS} eine Zeile \texttt{de} ein"|ge"|fügt werden, für Englisch eine Zeile \texttt{en}, U.S.-Englisch \texttt{en\_US} u.s.w.
+
+Am Ende sieht \texttt{po/LINGUAS} so aus:
+\begin{lstlisting}[basicstyle=\ttfamily\small]
+de
+en
+\end{lstlisting}
+
+Die Zeilen sollten alpha"|betisch sortiert sein. Nun kann eine Grund"|lage für die Über"|setzung ge"|baut werden:
+
+\begin{lstlisting}[basicstyle=\ttfamily\small,language=sh]
+$ mkdir builddir
+$ cd builddir
+$ meson ..
+$ ninja mycopyshop-pot
+\end{lstlisting}
+
+Copy"|right-In"|formationen und "`Report-Msgid-Bugs-To:"' sollte im Kopf der so"|eben er"|zeugten Datei \texttt{po/mycopyshop.pot} mit einem Text"|editor ein"|ge"|tragen werden.
+
+\texttt{msg"|init -l en --no-trans"|lator} bzw.\ \texttt{msg"|init -l de --no-trans"|lator} er"|zeugt dann ent"|sprechende Dateien im \texttt{po}-Ordner, wo z.B.\ mit \texttt{g"|trans"|lator} die Über"|setzung ein"|ge"|tragen werden kann (Deutsch und Englisch haben beide "`\texttt{nplurals=2; plural=(n != 1);}"' laut Get"|text-Hand"|buch). Alle neuen Dateien außer \texttt{build"|dir} sollten mit \texttt{git add} im Git-Re"|pository ge"|sichert werden.
+
+Neu"|bauen des Pro"|jekts er"|zeugt nun auch die über"|setzte Fassung. Diese kann aus"|ge"|führt werden mit \texttt{LANGUAGE=en\_US.UTF-8 LC\_ALL=en\_US.UTF-8 copyshop}.
+
+\end{document}
diff --git a/tex/handout-07-translations.tex b/tex/handout-07-translations.tex
deleted file mode 100644
index a5d7b63..0000000
--- a/tex/handout-07-translations.tex
+++ /dev/null
@@ -1,125 +0,0 @@
-% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
-% International License. To view a copy of this license, visit
-% http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
-% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
-
-\documentclass[a4paper, 11pt]{article}
-
-\usepackage{fontspec}
-
-\setmainfont{Cantarell}
-
-\usepackage[ngerman]{babel}
-
-% No uppercase hyphenation.
-\uchyph=0
-
-\tolerance=808
-\hyphenpenalty=10
-
-\usepackage[parfill]{parskip}
-\usepackage{listings}
-\usepackage{hyperref}
-\let\oldurl\url
-\renewcommand\url[1]{{\footnotesize\oldurl{#1}}}
-
-\usepackage{fancyhdr}
-\setlength{\headheight}{14.5pt}
-\setlength{\footskip}{0pt}
-\lhead{Handout 7: Übersetzungen}
-\rhead{\thepage}
-\cfoot{}
-\pagestyle{fancy}
-
-\begin{document}
-
-\begin{center}
-\includegraphics[scale=0.3]{copyshop.png}
-\includegraphics[scale=0.3]{copyshop-de.png}
-\end{center}
-\vspace{1em}
-
-Zu"|nächst sollten alle wichtigen Dateien mit \texttt{git add} auf"|ge"|nommen werden und an"|schließend alles ge"|löscht werden, was keine Quell"|datei ist:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ git clean -df
-\end{lstlisting}
-
-Nun müssen zu über"|setzende Zeichen"|ketten markiert werden. C-Code-Quell"|dateien, die Zeichen"|ketten ent"|halten, welche über"|setzt werden müssen, müssen da"|zu diesen Header ein"|binden:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=c]
-#include <glib/gi18n.h>
-\end{lstlisting}
-
-Zum Markieren wird z.B. \texttt{"My Text"} er"|setzt durch \texttt{\_("My Text")}. Wenn zu"|dem Kon"|text"|in"|formationen für die Über"|setzer mit"|ge"|geben werden sollen, dann können andere Markierungen ver"|wendet werden; diese sind in der GLib-Re"|ferenz er"|klärt. Eben"|so muss die \texttt{main()}-Funktion nun Code auf"|rufen, um die Über"|setzungen zu be"|nutzen; dieser ist auch in der GLib-Re"|ferenz zu finden.
-
-\texttt{.ui}-Dateien werden so markiert:
-\begin{lstlisting}[basicstyle=\footnotesize\ttfamily,language=xml]
-<property name="…" translatable="yes">My Text</property>
-\end{lstlisting}
-
-Wenn alles markiert ist, sollte man sich mit \texttt{cd} in das Grund"|ver"|zeich"|nis des Pro"|jekts be"|geben und dort folgenden Be"|fehl aus"|führen:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ gettextize
-\end{lstlisting}
-
-Dieser passt \texttt{con"|figure.ac} und \texttt{Make"|file.am} so an, dass eine Über"|setzung generiert und ge"|nutzt wird. Er gibt auch aus, was man manuell ändern wollen könnte. Das Herunter"|laden von Dateien mit \texttt{w"|get} über HTTP ist aller"|dings nicht not"|wendig und auch nicht zu empfehlen. Das Hin"|zu"|fügen von \texttt{get"|text.h} ist nicht nötig mit GLib und auch nicht zu empfehlen. \texttt{ac"|local} und \texttt{auto"|conf} wird schon von \texttt{./auto"|gen.sh} aus"|ge"|führt, muss also nicht be"|nutzt werden.
-
-In der Datei \texttt{po/POTFILES.in} sollten alle Dateien mit zu über"|setzenden Zeichen"|ketten auf"|ge"|listet werden, zum Bei"|spiel so:
-\begin{lstlisting}[basicstyle=\ttfamily]
-# List of source files which contain
-# translatable strings.
-src/cshopapplication.c
-src/cshopraw.c
-src/cshopwindow.c
-src/main.c
-src/ui/menu.ui
-src/ui/toolbar.ui
-\end{lstlisting}
-
-In \texttt{Make"|vars} muss u.U. folgende Option ge"|setzt werden, wenn die Quell"|dateien Nicht-ASCII-Zeichen be"|in"|halten können:
-\begin{lstlisting}[basicstyle=\footnotesize\ttfamily]
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8
-\end{lstlisting}
-
-Manche Compiler haben aber ohne"|hin Probleme mit Quell"|dateien mit solchen Zeichen, des"|wegen will man sie viel"|leicht ohne"|hin ver"|meiden.
-
-In \texttt{con"|figure.ac} sollte außer"|dem folgendes stehen:
-\begin{lstlisting}
-AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME])
-AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
- ["$GETTEXT_PACKAGE"], [Package name for gettext])
-\end{lstlisting}
-
-In \texttt{main.c} muss folgendes ein"|ge"|bunden werden:
-\begin{lstlisting}[basicstyle=\ttfamily,language=c]
-#include <config.h>
-\end{lstlisting}
-
-Wenn alle wichtigen Dateien mit \texttt{git add} ein"|ge"|bunden sind, kann wie üb"|lich folgendes aus"|ge"|führt werden:
-
-\begin{lstlisting}[basicstyle=\ttfamily,language=sh]
-$ ./autogen.sh # statt aclocal und autoconf
-$ ./configure
-$ make
-\end{lstlisting}
-
-Da"|mit ist die Inter"|nationalisierung des Pro"|jekts ab"|ge"|schlossen. Zum Lokalisieren ins Deutsche muss in die Datei \texttt{po/LINGUAS} eine Zeile \texttt{de} ein"|ge"|fügt werden, für Englisch eine Zeile \texttt{en}, U.S.-Englisch \texttt{en\_US} u.s.w.
-
-Am Ende sieht \texttt{po/LINGUAS} so aus:
-\begin{lstlisting}[basicstyle=\ttfamily]
-de
-en
-\end{lstlisting}
-
-Die Zeilen sollten alpha"|betisch sortiert sein. Nun kann das Pro"|jekt neu ge"|baut werden. \texttt{msg"|init} er"|zeugt dann ent"|sprechende Dateien im \texttt{po}-Ordner, wo z.B. mit \texttt{g"|trans"|lator} die Über"|setzung ein"|ge"|tragen werden kann.
-
-Neu"|bauen des Pro"|jekts er"|zeugt nun auch die über"|setzte Fassung. Diese kann aus"|ge"|führt werden z.B. wie:
-
-\begin{lstlisting}
-$ LANG=en_US.UTF-8 copyshop
-\end{lstlisting}
-
-\end{document}
diff --git a/tex/handout-05-hangman-en.tex b/tex/handout-xx-hangman-en.tex
index 50f0316..7fd7beb 100644
--- a/tex/handout-05-hangman-en.tex
+++ b/tex/handout-xx-hangman-en.tex
@@ -26,6 +26,8 @@
\tolerance=362
\hyphenpenalty=10
+\usepackage{graphicx}
+
\usepackage[parfill]{parskip}
\usepackage{listings}
\usepackage{hyperref}
@@ -35,7 +37,7 @@
\usepackage{fancyhdr}
\setlength{\headheight}{14.5pt}
\setlength{\footskip}{0pt}
-\lhead{Handout 5: Hangman}
+\lhead{Handout X: Hangman}
\rhead{\thepage}
\cfoot{}
\pagestyle{fancy}
diff --git a/tex/handout-05-hangman.tex b/tex/handout-xx-hangman.tex
index d88b642..79f72c2 100644
--- a/tex/handout-05-hangman.tex
+++ b/tex/handout-xx-hangman.tex
@@ -17,6 +17,8 @@
\tolerance=362
\hyphenpenalty=10
+\usepackage{graphicx}
+
\usepackage[parfill]{parskip}
\usepackage{listings}
\usepackage{hyperref}
@@ -26,7 +28,7 @@
\usepackage{fancyhdr}
\setlength{\headheight}{14.5pt}
\setlength{\footskip}{0pt}
-\lhead{Handout 5: Galgenmännchen}
+\lhead{Handout X: Galgenmännchen}
\rhead{\thepage}
\cfoot{}
\pagestyle{fancy}
diff --git a/tex/slides-01-en.tex b/tex/slides-01-en.tex
index 9c6c637..4de7547 100644
--- a/tex/slides-01-en.tex
+++ b/tex/slides-01-en.tex
@@ -46,8 +46,7 @@
\begin{frame}
\titlepage
\begin{center}
-E-Mail: \texttt{pelzflorian@pelzflorian.de} \\
-XMPP: \texttt{pelzflorian@chat.pelzflorian.de}
+E-Mail: \texttt{pelzflorian@pelzflorian.de}
\end{center}
\end{frame}
@@ -65,6 +64,7 @@ XMPP: \texttt{pelzflorian@chat.pelzflorian.de}
\end{flushright}
\begin{itemize}
\item GUI tool"|kit.
+\item For windowed applications, not Web apps.
\item Part of the GNOME pro"|ject.
\end{itemize}
\end{frame}
@@ -85,7 +85,7 @@ Con"|tains:
\begin{frame}
\frametitle{GNU}
\begin{flushright}
-\includegraphics[scale=0.25]{heckert_gnu.transparent.png}
+\includegraphics[width=0.4\textwidth,natwidth=535,natheight=523]{heckert_gnu.transparent.png}
\end{flushright}
\begin{itemize}
\item Free operating system.
@@ -134,7 +134,7 @@ Con"|tains:
\frametitle{Simple C pro"|gram}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
return 5;
}
@@ -155,7 +155,7 @@ $ echo $?
\frametitle{Store data}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a; /* Declare variable a. */
a = 5; /* Store 5 in a. */
@@ -170,7 +170,7 @@ main ()
\begin{column}{.39\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a;
int i;
@@ -188,7 +188,7 @@ main ()
\begin{column}{.39\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a, i;
a = i = 1;
@@ -210,7 +210,7 @@ main ()
\begin{column}{.49\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a, i;
a = 1;
@@ -225,7 +225,7 @@ main ()
\begin{column}{.49\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a, i;
a = 1;
@@ -251,7 +251,7 @@ factorial (int n)
}
int
-main ()
+main (void)
{
return factorial (4);
}
@@ -277,7 +277,7 @@ factorial (int n)
int factorial (int n);
int
-main ()
+main (void)
{
return factorial (4);
}
@@ -298,7 +298,7 @@ int factorial (int n);
#include "factorial.h"
int
-main ()
+main (void)
{
return factorial (4);
}
@@ -313,7 +313,7 @@ main ()
#include "factorial.h"
int
-main ()
+main (void)
{
printf ("Hello world!\n");
printf ("4! = %d.\n", factorial (4));
@@ -352,7 +352,7 @@ typedef struct _Vector Vector;
\end{itemize}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c,escapechar=@]
int
-main ()
+main (void)
{
GtkWidget *window;
GtkWidget *hello_label;
@@ -385,6 +385,7 @@ main ()
\item \texttt{gtk3-widget-factory}
\item \texttt{gtk3-demo}
\item \texttt{gtk3-icon-browser}, \texttt{gnome-characters}, …
+\item \url{https://openclipart.org} etc.
\item \url{https://git.gnome.org}, mailing lists, IRC, …
\end{itemize}
\end{frame}
@@ -424,7 +425,7 @@ Break.
\item Make your own text e"|ditor
\item or image viewer
\item or calculator
-\item or hang"|man
+\item or dice
\item or …
\item and then a small In"|ventory Manage"|ment System.
\end{itemize}
@@ -441,12 +442,18 @@ Break.
\item GNU head from \url{https://www.gnu.org/graphics/heckert_gnu.html} CC-BY-SA Etienne Suvasa, Peter Gerwinski among others. Trade"|marked.
\item More images from Wikimedia Commons: \url{https://en.wikipedia.org/wiki/File:GTK\%2B_logo.svg}, \url{https://en.wikipedia.org/wiki/File:Copyleft.svg}, \url{https://en.wikipedia.org/wiki/File:The_C_Programming_Language_logo.svg}
\item Ideas for practice partially from ``Foundations of GTK+ Development'' by Andrew Krause.
-\item Every"|thing else by me CC-BY-SA, code additionally CC0. See \url{https://pelzflorian.de/git/gui-prog-gtk-2016/}.
+\item Every"|thing else by me CC-BY-SA, code additionally CC0. See \url{https://pelzflorian.de/git/gui-prog-gtk-2017/}.
\end{itemize}
}
\end{frame}
\begin{frame}
+\begin{itemize}
+\item Thank you to Kathrin, Nicole, Michele, Jan, Yasmina and other helpers of the Fach"|schaft In"|formatik.
+\end{itemize}
+\end{frame}
+
+\begin{frame}
\end{frame}
\end{document}
diff --git a/tex/slides-01.tex b/tex/slides-01.tex
index 59d9d41..396097f 100644
--- a/tex/slides-01.tex
+++ b/tex/slides-01.tex
@@ -37,8 +37,7 @@
\begin{frame}
\titlepage
\begin{center}
-E-Mail: \texttt{pelzflorian@pelzflorian.de} \\
-XMPP: \texttt{pelzflorian@chat.pelzflorian.de}
+E-Mail: \texttt{pelzflorian@pelzflorian.de}
\end{center}
\end{frame}
@@ -56,6 +55,7 @@ XMPP: \texttt{pelzflorian@chat.pelzflorian.de}
\end{flushright}
\begin{itemize}
\item GUI-Tool"|kit.
+\item Für Fenster"|an"|wendungen, nicht für Web-Apps.
\item Teil des GNOME-Pro"|jekts.
\end{itemize}
\end{frame}
@@ -76,7 +76,7 @@ Be"|in"|haltet:
\begin{frame}
\frametitle{GNU}
\begin{flushright}
-\includegraphics[scale=0.25]{heckert_gnu.transparent.png}
+\includegraphics[width=0.4\textwidth,natwidth=535,natheight=523]{heckert_gnu.transparent.png}
\end{flushright}
\begin{itemize}
\item Freies Be"|triebs"|system.
@@ -125,7 +125,7 @@ Be"|in"|haltet:
\frametitle{Ein"|faches C-Pro"|gramm}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
return 5;
}
@@ -146,7 +146,7 @@ $ echo $?
\frametitle{Daten speichern}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a; /* Variable a deklarieren. */
a = 5; /* 5 in a speichern. */
@@ -161,7 +161,7 @@ main ()
\begin{column}{.39\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a;
int i;
@@ -179,7 +179,7 @@ main ()
\begin{column}{.39\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a, i;
a = i = 1;
@@ -201,7 +201,7 @@ main ()
\begin{column}{.49\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a, i;
a = 1;
@@ -216,7 +216,7 @@ main ()
\begin{column}{.49\textwidth}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c]
int
-main ()
+main (void)
{
int a, i;
a = 1;
@@ -242,7 +242,7 @@ fakultaet (int n)
}
int
-main ()
+main (void)
{
return fakultaet (4);
}
@@ -268,7 +268,7 @@ fakultaet (int n)
int fakultaet (int n);
int
-main ()
+main (void)
{
return fakultaet (4);
}
@@ -289,7 +289,7 @@ int fakultaet (int n);
#include "fakultaet.h"
int
-main ()
+main (void)
{
return fakultaet (4);
}
@@ -304,7 +304,7 @@ main ()
#include "fakultaet.h"
int
-main ()
+main (void)
{
printf ("Hallo Welt!\n");
printf ("4! = %d.\n", fakultaet (4));
@@ -343,7 +343,7 @@ typedef struct _Vector Vector;
\end{itemize}
\begin{lstlisting}[numbers=left,basicstyle=\small\ttfamily,language=c,escapechar=@]
int
-main ()
+main (void)
{
GtkWidget *window;
GtkWidget *hello_label;
@@ -376,6 +376,7 @@ main ()
\item \texttt{gtk3-widget-factory}
\item \texttt{gtk3-demo}
\item \texttt{gtk3-icon-browser}, \texttt{gnome-characters}, …
+\item \url{https://openclipart.org} etc.
\item \url{https://git.gnome.org}, Mailing-Listen, IRC, …
\end{itemize}
\end{frame}
@@ -415,7 +416,7 @@ Pause.
\item Ein eigener Text"|editor
\item oder ein Bild"|be"|trachter
\item oder ein Taschen"|rechner
-\item oder Galgen"|männ"|chen
+\item oder ein Würfel
\item oder …
\item und dann ein Mini-In"|ventar"|ver"|waltungs"|system.
\end{itemize}
@@ -429,15 +430,18 @@ Pause.
\begin{itemize}
\item Folien-De"|sign basiert auf \url{https://git.gnome.org/browse/presentation-templates/}.
\item GNOME-Screen"|shot von \url{https://people.gnome.org/~engagement/screenshots/} CC-BY-SA GNOME Pro"|ject.
-\item GNU-Kopf von \url{https://www.gnu.org/graphics/heckert_gnu.html} u.A. CC-BY-SA Etienne Suvasa, Peter Gerwinski. Marken"|recht"|lich ge"|schützt.
+\item GNU-Kopf von \url{https://www.gnu.org/graphics/heckert_gnu.html} u.A.\ CC-BY-SA Etienne Suvasa, Peter Gerwinski. Marken"|recht"|lich ge"|schützt.
\item Weitere Bilder aus Wikimedia Commons: \url{https://en.wikipedia.org/wiki/File:GTK\%2B_logo.svg}, \url{https://en.wikipedia.org/wiki/File:Copyleft.svg}, \url{https://en.wikipedia.org/wiki/File:The_C_Programming_Language_logo.svg}
\item Ideen zum Üben teils aus "`Foundations of GTK+ Development"' von Andrew Krause.
-\item Übriges von mir CC-BY-SA, Code auch CC0. Siehe \url{https://pelzflorian.de/git/gui-prog-gtk-2016/}.
+\item Übriges von mir CC-BY-SA, Code auch CC0. Siehe \url{https://pelzflorian.de/git/gui-prog-gtk-2017/}.
\end{itemize}
}
\end{frame}
\begin{frame}
+\begin{itemize}
+\item Danke an Kathrin, Nicole, Michele, Jan, Yasmina und andere Helfer der Fachschaft Informatik.
+\end{itemize}
\end{frame}
\end{document}
diff --git a/tex/slides-02-en.tex b/tex/slides-02-en.tex
index 3802084..5bfe3fd 100644
--- a/tex/slides-02-en.tex
+++ b/tex/slides-02-en.tex
@@ -38,6 +38,12 @@
\usepackage{listings}
\usepackage{array}
+\usepackage{tikz}
+\usetikzlibrary{shapes}
+\pgfdeclarelayer{foreground}
+\pgfsetlayers{main,foreground}
+\newcommand{\cover}[2]{\tikz[baseline=(thenode.base),anchor=west]{\only<2>{\begin{pgfonlayer}{foreground}\node[overlay,draw,ellipse,fill=white]{#2};\end{pgfonlayer}}\node[inner sep=0,outer sep=0](thenode){#1};}}
+
\title{GUI Programming with GTK+}
\subtitle{Second Part}
\author{Florian Pelz}
@@ -48,8 +54,7 @@
\begin{frame}
\titlepage
\begin{center}
-E-Mail: \texttt{pelzflorian@pelzflorian.de} \\
-XMPP: \texttt{pelzflorian@chat.pelzflorian.de}
+E-Mail: \texttt{pelzflorian@pelzflorian.de}
\end{center}
\end{frame}
@@ -100,23 +105,54 @@ How"|ever,
\end{frame}
\begin{frame}
-\frametitle{GNU Auto"|tools}
+\frametitle{Build Systems}
+\begin{itemize}
+\item A \emph{build system} com"|piles the soft"|ware auto"|matically.
+\item In"|dependent of the Integrated De"|velop"|ment En"|viron"|ment.
+\item Necessary for lagge pro"|jects.
+\item Well-known build systems are:
+\begin{itemize}
+\item GNU Auto"|tools
+\item CMake
+\item Waf, Scons
+\item Ant, Gradle, Maven
+\item \emph{Meson}
+\end{itemize}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{\cover{GNU Auto"|tools}{Meson}}
\begin{itemize}
-\item \texttt{auto"|conf} auto"|matizes
+\item \cover{\texttt{auto"|conf}}{\texttt{meson}} auto"|matizes
\begin{itemize}
\item finding operating system tools,
\item de"|termining operating system features,
\item com"|pile time con"|figuration (such as com"|piler selection).
\end{itemize}
-\item \texttt{auto"|make} auto"|matizes
+\item \cover{\texttt{auto"|make}}{\texttt{meson}} auto"|matizes
\begin{itemize}
\item com"|piliing the soft"|ware,
\item testing (proving?) the soft"|ware,
\item in"|stalling the soft"|ware and
\item re"|leasing a version of com"|pilable source code.
\end{itemize}
-\item We want to use this for our pro"|gram!
-\item See hand"|outs.
+\item Traditional and common.
+\item For the actual building of the soft"|ware, \cover{\texttt{make} is used.}{\texttt{ninja}}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Meson}
+\begin{itemize}
+\item \texttt{meson} is an \emph{easy-to-use} build system.
+\item Meson is de"|clarative and \emph{not} Turing-complete.
+\item Many GNOME pro"|jects are switching from Auto"|tools to Meson.
+\end{itemize}
+\vfill
+\begin{itemize}
+\item Intro"|duction $\longrightarrow$ Hand"|out.
+\item More in"|formation on \url{http://mesonbuild.com}
\end{itemize}
\end{frame}
@@ -137,13 +173,13 @@ How"|ever,
\begin{frame}
\frametitle{For end users: Package managers}
\begin{itemize}
-\item On GNU/Linux and similar systems, soft"|ware is typically dis"|tributed with a package manager.
+\item On GNU systems, soft"|ware is typically dis"|tributed with a package manager.
\item Packages main"|ly con"|sist of
\begin{itemize}
-\item either a tested, auto"|mated scripts for com"|piling and in"|stalling soft"|ware
+\item either tested, auto"|mated scripts for com"|piling and in"|stalling soft"|ware
\item or the finished files created by such a script, placed at locations appropriate for the operating system.
\end{itemize}
-\item Generally packages are created by running \texttt{./con"|figure}, \texttt{make} and \texttt{make in"|stall}.
+\item Generally packages are created by running a build system.
\item De"|tails de"|pend on the package manager.
\end{itemize}
\end{frame}
@@ -154,9 +190,9 @@ How"|ever,
\item For most systems there are also self-con"|taining application bundles (which may need to be in"|stalled be"|fore use).
\item A bundle is a directory con"|taining both the soft"|ware \emph{and all its de"|pendencies}.
\item Meta"|data and con"|figuration files may be located out"|side the bundle.
-\item Such a bundle can be offered e.g. for down"|load on the Web, in an app store, or on physical media.
-\item Security risk?
-\item Re"|member to either dis"|tribute source code with the bundle or to keep it a"|vail"|able!
+\item Such a bundle can be offered e.g.\ for down"|load on the Web, in an app store, or on physical media.
+\item Security risk? ($\longrightarrow$ Flat"|pak)
+\item Ship to"|gether with an offer of making available the “com"|plete and corresponding” GTK+ source code for an appropriate"|ly low fee (changed source code must be usable).
\end{itemize}
\end{frame}
@@ -230,11 +266,13 @@ label = gtk_label_new (_("Hello World"));
\item com"|patibility with screen readers,
\item com"|patibility with large text sizes,
\item color choice and con"|trast,
+\item con"|figurable time limit for double clicks,
+\item flashing the screen on error,
\item …
\end{itemize}
\item For short: a11y.
\item Most"|ly auto"|matic in GTK+.
-\item Still, ATK should be used e.g. for speci"|fying the re"|lation"|ship be"|tween widgets.
+\item Still, ATK should be used e.g.\ for speci"|fying the re"|lation"|ship be"|tween widgets.
\end{itemize}
\end{frame}
@@ -243,8 +281,8 @@ label = gtk_label_new (_("Hello World"));
\begin{itemize}
\item De"|tect pro"|gram errors through auto"|mated testing.
\item GLib offers a frame"|work for unit testing.
-\item Auto"|tools can be used to ex"|ecute tests written with it.
-\item See for ex"|ample the source code of lib"|soup.
+\item Meson can be used to ex"|ecute tests written with it.
+\item See for ex"|ample the source code of GTK+ for an example test"|suite.
\item ref"|tests com"|pare the user inter"|face pixel by pixel \\
$\rightarrow$ used in GTK+.
\end{itemize}
@@ -273,7 +311,8 @@ $\rightarrow$ used in GTK+.
\item A pro"|filer measures which parts of the pro"|gram
\begin{itemize}
\item are ex"|ecuted frequently and
-\item how long they take.
+\item how long they take
+\item and/or other re"|source con"|sumption like memory usage.
\end{itemize}
\item This tells you which code to spend time on to optimize per"|formance.
\end{itemize}
@@ -284,7 +323,10 @@ $\rightarrow$ used in GTK+.
\begin{itemize}
\item Code can be documented in"|side the source files.
\item gtk-doc generates HTML documentation from the source.
-\item The documentation can be read e.g. using Dev"|help.
+\item The documentation can be read e.g.\ using Dev"|help.
+\item But
+\includegraphics[width=0.1\textwidth]{dchandir-dchandir-work.png}
+-- GNOME Builder is using re"|Structured"|Text/Sphinx, Builder's main author Christian Hergert still is not entirely happy.
\end{itemize}
\end{frame}
@@ -318,8 +360,12 @@ $\rightarrow$ used in GTK+.
\begin{frame}
\frametitle{CSS}
\begin{itemize}
-\item CSS allows for changing the style of GTK+ widgets.
-\item Work in pro"|gress.
+\item CSS allows for changing
+\begin{itemize}
+\item the style of GTK+ widgets and also
+\item con"|figurable key"|board short"|cuts
+\end{itemize}
+in GTK+.
\end{itemize}
\end{frame}
@@ -336,7 +382,7 @@ $\rightarrow$ used in GTK+.
\end{frame}
\begin{frame}
-\frametitle{Re"|sources}
+\frametitle{Further reading}
\begin{itemize}
\item Book on GLib and GTK+:\\\url{https://people.gnome.org/~swilmet/glib-gtk-dev-platform.pdf}
\item For C++ pro"|grammers:\\\url{https://developer.gnome.org/gtkmm-tutorial/stable/}
@@ -345,6 +391,17 @@ $\rightarrow$ used in GTK+.
\end{frame}
\begin{frame}
+\frametitle{Image sources etc.}
+{
+\footnotesize
+\begin{itemize}
+\item Slide de"|sign based on \url{https://git.gnome.org/browse/presentation-templates/}.
+\item Con"|struction site caution sign taken from \url{https://openclipart.org/detail/3850/work} effectively public domain (CC0) by dchandir.
+\end{itemize}
+}
+\end{frame}
+
+\begin{frame}
\end{frame}
\end{document}
diff --git a/tex/slides-02.tex b/tex/slides-02.tex
index a34d256..d8b5647 100644
--- a/tex/slides-02.tex
+++ b/tex/slides-02.tex
@@ -28,6 +28,12 @@
\usepackage{listings}
\usepackage{array}
+\usepackage{tikz}
+\usetikzlibrary{shapes}
+\pgfdeclarelayer{foreground}
+\pgfsetlayers{main,foreground}
+\newcommand{\cover}[2]{\tikz[baseline=(thenode.base),anchor=west]{\only<2>{\begin{pgfonlayer}{foreground}\node[overlay,draw,ellipse,fill=white]{#2};\end{pgfonlayer}}\node[inner sep=0,outer sep=0](thenode){#1};}}
+
\title{GUI-Programmierung mit GTK+}
\subtitle{Zweiter Teil}
\author{Florian Pelz}
@@ -38,8 +44,7 @@
\begin{frame}
\titlepage
\begin{center}
-E-Mail: \texttt{pelzflorian@pelzflorian.de} \\
-XMPP: \texttt{pelzflorian@chat.pelzflorian.de}
+E-Mail: \texttt{pelzflorian@pelzflorian.de}
\end{center}
\end{frame}
@@ -76,12 +81,12 @@ Aller"|dings
\item Main"|tainer über"|nehmen eine wichtige Rolle für die Soft"|ware-Infra"|struktur.
\item In einem Soft"|ware-Pro"|jekt sorgen Main"|tainer da"|für, dass die Soft"|ware
\begin{itemize}
-\item leicht kon"|figuriert, kom"|piliert, ge"|testet etc. werden kann,
+\item leicht kon"|figuriert, kom"|piliert, ge"|testet etc.\ werden kann,
\item auf allen Systemen läuft, wo sie laufen soll,
\item leicht an End"|nutzer aus"|ge"|liefert werden kann und
\item die übrige Infra"|struktur (Web"|seite, Wiki, Bug-Tracker, …) funktioniert,
\item gute und nur gute Patches akzeptiert werden,
-\item der Change Log bzw. die News sauber ge"|führt werden,
+\item der Change Log bzw.\ die News sauber ge"|führt werden,
\item alle Autoren und Copy"|rights ge"|nannt werden,
\item …
\end{itemize}
@@ -90,23 +95,54 @@ Aller"|dings
\end{frame}
\begin{frame}
-\frametitle{GNU Auto"|tools}
+\frametitle{Build Systems}
+\begin{itemize}
+\item Ein \emph{Build System} auto"|matisiert das Kom"|pilieren.
+\item Un"|ab"|hängig von der Integrierten Ent"|wicklungs"|um"|gebung.
+\item Not"|wendig für große Pro"|jekte.
+\item Be"|kannte Build Systems sind:
+\begin{itemize}
+\item GNU Auto"|tools
+\item CMake
+\item Waf, SCons
+\item Ant, Gradle, Maven
+\item \emph{Meson}
+\end{itemize}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{\cover{GNU Auto"|tools}{Meson}}
\begin{itemize}
-\item \texttt{auto"|conf} auto"|matisiert
+\item \cover{\texttt{auto"|conf} auto"|matisiert}{\texttt{meson}}
\begin{itemize}
\item das Finden von Be"|triebs"|system"|werk"|zeugen,
\item das Fest"|stellen von Be"|triebs"|system"|fähig"|keiten,
-\item Compile-Time-Kon"|figurationen (z.B. Compiler-Aus"|wahl).
+\item Compile-Time-Kon"|figurationen (z.B.\ Compiler-Aus"|wahl).
\end{itemize}
-\item \texttt{auto"|make} auto"|matisiert
+\item \cover{\texttt{auto"|make} auto"|matisiert}{\texttt{meson}}
\begin{itemize}
\item das Kom"|pilieren der Soft"|ware,
\item das Testen (Be"|weisen?) der Soft"|ware,
\item das In"|stallieren der Soft"|ware und
\item den Re"|lease einer Version kom"|pilier"|fähigen Quell"|codes.
\end{itemize}
-\item Wir wollen das für unser Pro"|gramm nutzen!
-\item Siehe Hand"|outs.
+\item Traditionell und üb"|lich.
+\item Zum eigent"|lichen Bauen wird \cover{\texttt{make} ver"|wendet.}{\texttt{ninja}}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Meson}
+\begin{itemize}
+\item \texttt{meson} ist ein \emph{ein"|fach be"|nutz"|bares} Build System.
+\item Meson ist de"|klarativ und \emph{nicht} Turing-voll"|ständig.
+\item Viele GNOME-Pro"|jekte steigen von Auto"|tools auf Meson um.
+\end{itemize}
+\vfill
+\begin{itemize}
+\item Ein"|führung $\longrightarrow$ Hand"|out.
+\item Ge"|nauere An"|leitungen auf \url{http://mesonbuild.com}.
\end{itemize}
\end{frame}
@@ -127,13 +163,13 @@ Aller"|dings
\begin{frame}
\frametitle{Für die End"|nutzer: Pakete}
\begin{itemize}
-\item Auf GNU/Linux u.Ä. wird Soft"|ware oft mit Paket"|managern aus"|ge"|liefert.
-\item Sie be"|stehen meist haupt"|säch"|lich aus
+\item Auf GNU-Systemen wird Soft"|ware oft mit Paket"|managern aus"|ge"|liefert.
+\item Pakete be"|stehen meist haupt"|säch"|lich aus
\begin{itemize}
-\item ent"|weder einem ge"|testeten auto"|matischen Skript zum Kom"|pilieren und In"|stallieren
-\item oder durch einen Skript werden die fertigen Dateien der Soft"|ware an ihren be"|triebs"|system"|spezifischen Platz.
+\item ent"|weder ge"|testeten auto"|matischen Skripts zum Kom"|pilieren und In"|stallieren
+\item oder fertigen Dateien der Soft"|ware, die durch ein Skript an ihren be"|triebs"|system"|spezifischen Platz ge"|bracht wurden.
\end{itemize}
-\item In der Regel heißt das, Pakete werden mit \texttt{./con"|figure}, \texttt{make} und \texttt{make in"|stall} er"|stellt.
+\item In der Regel heißt das, Pakete werden durch Auf"|ruf eines Build Systems er"|stellt.
\item De"|tails hängen vom Paket"|manager ab.
\end{itemize}
\end{frame}
@@ -141,12 +177,12 @@ Aller"|dings
\begin{frame}
\frametitle{Für die End"|nutzer: Bundles}
\begin{itemize}
-\item Auf den meisten Be"|triebs"|systemen sind auch (evtl. erst nach In"|stallation) selbst"|ständig lauf"|fähige Bundles üb"|lich.
+\item Auf den meisten Be"|triebs"|systemen sind auch (evtl.\ erst nach In"|stallation) selbst"|ständig lauf"|fähige Bundles üb"|lich.
\item Ein Bundle ist ein Ver"|zeichnis mit der Soft"|ware \emph{und allen Ab"|hängig"|keiten}.
\item Meta"|daten und Kon"|figurations"|dateien be"|finden sich unter Um"|ständen außer"|halb des Bundles.
-\item Ein solches Bundle kann dann z.B. zum Down"|load im Web, in einem App"|store oder auf physischen Daten"|trägern ver"|trieben werden.
-\item Sicher"|heits"|risiko?
-\item Quell"|code mit"|liefern oder ver"|füg"|bar haben!
+\item Ein solches Bundle kann dann z.B.\ zum Down"|load im Web, in einem App"|store oder auf physischen Daten"|trägern ver"|trieben werden.
+\item Sicher"|heits"|risiko? ($\longrightarrow$ Flat"|pak)
+\item Bei"|zu"|fügen ist ein An"|ge"|bot, den GTK+-Quell"|code gegen an"|ge"|messen niedrige Ge"|bühr zu liefern, "`com"|plete and corresponding"' (ge"|änderter Quell"|code muss nutz"|bar sein).
\end{itemize}
\end{frame}
@@ -204,7 +240,7 @@ label = gtk_label_new (_("Hello World"));
\item Die Funktion \texttt{\_()} von GNU Get"|text
liefert die passende Über"|setzung.
\item Das \texttt{\_()} kann auch als "`Markierung"' der Zeichen"|kette ver"|standen werden.
-\item Ähn"|liche Markierungen geben noch Kon"|text für Über"|setzer mit, z.B. wo im Pro"|gramm die Zeichen"|kette auf"|taucht.
+\item Ähn"|liche Markierungen geben noch Kon"|text für Über"|setzer mit, z.B.\ wo im Pro"|gramm die Zeichen"|kette auf"|taucht.
\item Siehe Hand"|outs.
\end{itemize}
\end{frame}
@@ -215,28 +251,30 @@ liefert die passende Über"|setzung.
\begin{frame}
\frametitle{Accessibility}
\begin{itemize}
-\item D.h. Soft"|ware Unter"|stützungs"|pro"|grammen
+\item D.h.\ Soft"|ware Unter"|stützungs"|pro"|grammen
zu"|gäng"|lich machen und "`be"|hinderten"|ge"|recht"' ge"|stalten.
\item Accessibility um"|fasst:
\begin{itemize}
\item Kom"|patibilität mit Screen"|readern,
\item Kom"|patibilität mit großer Schrift,
\item Farb"|wahl und Kon"|trast,
+\item ein"|stell"|bare Doppel"|klick"|dauer,
+\item Auf"|leuchten des Bild"|schirms bei Fehlern,
\item …
\end{itemize}
\item Kurz: a11y.
\item In GTK+ größten"|teils auto"|matisch.
-\item Aber ATK sollte z.B. zum An"|geben von Be"|ziehungen zwischen Widgets be"|nutzt werden.
+\item Aber ATK sollte z.B.\ zum An"|geben von Be"|ziehungen zwischen Widgets be"|nutzt werden.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Unit-Tests}
\begin{itemize}
-\item Fehler im Pro"|gramm findet man u.A. durch Testen.
+\item Fehler im Pro"|gramm findet man u.A.\ durch Testen.
\item GLib ent"|hält ein Frame"|work für Unit-Tests.
-\item Auto"|tools kann dar"|in ge"|schriebene Tests aus"|führen.
-\item Siehe z.B. den Quell"|code von lib"|soup für ein Bei"|spiel.
+\item Meson kann dar"|in ge"|schriebene Tests aus"|führen.
+\item Siehe z.B.\ den Quell"|code von GTK+ für eine Bei"|spiel-Test"|suite.
\item ref"|tests ver"|gleichen das Aus"|sehen Pixel für Pixel \\
$\rightarrow$ wird in GTK+ be"|nutzt.
\end{itemize}
@@ -265,7 +303,8 @@ $\rightarrow$ wird in GTK+ be"|nutzt.
\item Ein Pro"|filer misst, welche Teile des Pro"|gramms
\begin{itemize}
\item wie oft laufen und
-\item wie lange brauchen.
+\item wie lange brauchen
+\item und/oder sonstige Ressourcen"|nutzung (z.B.\ Speicher).
\end{itemize}
\item So weiß man, welcher Code optimiert werden sollte.
\end{itemize}
@@ -274,9 +313,12 @@ $\rightarrow$ wird in GTK+ be"|nutzt.
\begin{frame}
\frametitle{gtk-doc}
\begin{itemize}
-\item Code kann in den Quell"|dateien dokumentiert
+\item Code kann in den Quell"|dateien dokumentiert werden.
\item gtk-doc er"|zeugt dar"|aus eine HTML-Dokumentation.
-\item Diese kann z.B. mit Dev"|help ge"|lesen werden.
+\item Diese kann z.B.\ mit Dev"|help ge"|lesen werden.
+\item Aber
+\includegraphics[width=0.1\textwidth]{dchandir-dchandir-work.png}
+-- GNOME Builder be"|nutzt re"|Structured"|Text/Sphinx, Builders größter autor Christian Hergert ist aber auch damit nicht völlig glück"|lich.
\end{itemize}
\end{frame}
@@ -310,8 +352,12 @@ $\rightarrow$ wird in GTK+ be"|nutzt.
\begin{frame}
\frametitle{CSS}
\begin{itemize}
-\item CSS er"|mög"|licht es, das Aus"|sehen von Widgets in GTK+ zu ver"|ändern.
-\item Noch in Arbeit.
+\item CSS er"|mög"|licht es,
+\begin{itemize}
+\item das Aus"|sehen von Widgets und auch
+\item kon"|figurier"|bare Tastatur"|be"|legungen
+\end{itemize}
+in GTK+ zu ver"|ändern.
\end{itemize}
\end{frame}
@@ -328,7 +374,7 @@ $\rightarrow$ wird in GTK+ be"|nutzt.
\end{frame}
\begin{frame}
-\frametitle{Ressourcen}
+\frametitle{Weiter"|führend}
\begin{itemize}
\item GLib- und GTK+-Lehr"|buch:\\\url{https://people.gnome.org/~swilmet/glib-gtk-dev-platform.pdf}
\item Für C++-Pro"|grammierer:\\\url{https://developer.gnome.org/gtkmm-tutorial/stable/}
@@ -337,6 +383,17 @@ $\rightarrow$ wird in GTK+ be"|nutzt.
\end{frame}
\begin{frame}
+\frametitle{Bild"|quellen etc.}
+{
+\footnotesize
+\begin{itemize}
+\item Folien-De"|sign basiert auf \url{https://git.gnome.org/browse/presentation-templates/}.
+\item Bau"|stellen-Warn"|schild von \url{https://openclipart.org/detail/3850/work} quasi ge"|mein"|frei (CC0) von dchandir.
+\end{itemize}
+}
+\end{frame}
+
+\begin{frame}
\end{frame}
\end{document}
diff --git a/web/handout-01-install-en.pdf b/web/handout-01-install-en.pdf
index 21171f3..20f652b 100644
--- a/web/handout-01-install-en.pdf
+++ b/web/handout-01-install-en.pdf
Binary files differ
diff --git a/web/handout-01-install.pdf b/web/handout-01-install.pdf
index c95ea19..5630854 100644
--- a/web/handout-01-install.pdf
+++ b/web/handout-01-install.pdf
Binary files differ
diff --git a/web/handout-02-hello-gtk-en.pdf b/web/handout-02-hello-gtk-en.pdf
index 0eec5a2..214e7aa 100644
--- a/web/handout-02-hello-gtk-en.pdf
+++ b/web/handout-02-hello-gtk-en.pdf
Binary files differ
diff --git a/web/handout-02-hello-gtk.pdf b/web/handout-02-hello-gtk.pdf
index c74a529..b462ed7 100644
--- a/web/handout-02-hello-gtk.pdf
+++ b/web/handout-02-hello-gtk.pdf
Binary files differ
diff --git a/web/handout-03-glade-en.pdf b/web/handout-03-glade-en.pdf
index b3b02aa..0109706 100644
--- a/web/handout-03-glade-en.pdf
+++ b/web/handout-03-glade-en.pdf
Binary files differ
diff --git a/web/handout-03-glade.pdf b/web/handout-03-glade.pdf
index 08bb5bf..35f48e1 100644
--- a/web/handout-03-glade.pdf
+++ b/web/handout-03-glade.pdf
Binary files differ
diff --git a/web/handout-04-text-editor-en.pdf b/web/handout-04-text-editor-en.pdf
index fc3d7d9..bc9d17f 100644
--- a/web/handout-04-text-editor-en.pdf
+++ b/web/handout-04-text-editor-en.pdf
Binary files differ
diff --git a/web/handout-04-text-editor.pdf b/web/handout-04-text-editor.pdf
index 2109491..a7c9704 100644
--- a/web/handout-04-text-editor.pdf
+++ b/web/handout-04-text-editor.pdf
Binary files differ
diff --git a/web/handout-05-hangman-en.pdf b/web/handout-05-hangman-en.pdf
deleted file mode 100644
index 3be7cfd..0000000
--- a/web/handout-05-hangman-en.pdf
+++ /dev/null
Binary files differ
diff --git a/web/handout-05-hangman.pdf b/web/handout-05-hangman.pdf
deleted file mode 100644
index af02327..0000000
--- a/web/handout-05-hangman.pdf
+++ /dev/null
Binary files differ
diff --git a/web/handout-05-meson-en.pdf b/web/handout-05-meson-en.pdf
new file mode 100644
index 0000000..ac3a421
--- /dev/null
+++ b/web/handout-05-meson-en.pdf
Binary files differ
diff --git a/web/handout-05-meson.pdf b/web/handout-05-meson.pdf
new file mode 100644
index 0000000..bd0a07e
--- /dev/null
+++ b/web/handout-05-meson.pdf
Binary files differ
diff --git a/web/handout-06-autotools-en.pdf b/web/handout-06-autotools-en.pdf
deleted file mode 100644
index a5f4793..0000000
--- a/web/handout-06-autotools-en.pdf
+++ /dev/null
Binary files differ
diff --git a/web/handout-06-autotools.pdf b/web/handout-06-autotools.pdf
deleted file mode 100644
index ed95ef0..0000000
--- a/web/handout-06-autotools.pdf
+++ /dev/null
Binary files differ
diff --git a/web/handout-06-translations-en.pdf b/web/handout-06-translations-en.pdf
new file mode 100644
index 0000000..5f0197e
--- /dev/null
+++ b/web/handout-06-translations-en.pdf
Binary files differ
diff --git a/web/handout-06-translations.pdf b/web/handout-06-translations.pdf
new file mode 100644
index 0000000..4cce21d
--- /dev/null
+++ b/web/handout-06-translations.pdf
Binary files differ
diff --git a/web/handout-07-translations-en.pdf b/web/handout-07-translations-en.pdf
deleted file mode 100644
index a87e732..0000000
--- a/web/handout-07-translations-en.pdf
+++ /dev/null
Binary files differ
diff --git a/web/handout-07-translations.pdf b/web/handout-07-translations.pdf
deleted file mode 100644
index 7a8122e..0000000
--- a/web/handout-07-translations.pdf
+++ /dev/null
Binary files differ
diff --git a/web/index.css b/web/index.css
deleted file mode 100644
index 22cad74..0000000
--- a/web/index.css
+++ /dev/null
@@ -1,34 +0,0 @@
-@charset "UTF-8";
-
-@viewport {
- width: device-width;
-}
-
-body {
- padding : 0;
- margin : 0;
-}
-
-#top {
- position : absolute;
- width : 100%;
- height : 100px;
- background : linear-gradient(to bottom, #CCF, #FFF);
-}
-
-#main {
- max-width : 690px;
- padding-top : 80px;
- margin : 0 auto;
- font-family : serif;
- text-align : left;
- overflow-wrap : break-word;
-}
-
-#main div {
- margin : 8pt;
-}
-
-li {
- line-height : 180%;
-}
diff --git a/web/index.htm b/web/index.htm
deleted file mode 100644
index 8354c55..0000000
--- a/web/index.htm
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-
-<head>
-<meta charset="UTF-8">
-<!--REMOVE ASAP WHEN CSS VIEWPORT BECOMES NORMATIVE:--><meta name=viewport content="width=device-width, initial-scale=1">
-<title>GUI-Programmierung mit GTK+</title>
-<link rel="stylesheet" type="text/css" href="index.css">
-<link rel="icon" type="image/png" href="/favicon.png">
-</head>
-
-<body>
-
-<div id="top"/>
-
-<div id="main">
- <p>
- Vielen Dank für Ihr Interesse an meinem Workshop
- „GUI-Programmierung mit GTK+”. Zur Anmeldung geht es
- <a href="/gui-prog-anmelden/">hier</a>. Weitere Informationen
- siehe <a href="/gui-prog-poster.pdf">hier</a>.
- </p>
-
- <p>
- <ul>
- <li><a href="slides-01.pdf">Foliensatz 1</a></li>
- <li><a href="slides-02.pdf">Foliensatz 2</a></li>
- <li><a href="handout-01-install.pdf">
- Handout 1: Installieren
- </a></li>
- <li><a href="handout-02-hello-gtk.pdf">
- Handout 2: Hallo GTK+
- </a></li>
- <li><a href="handout-03-glade.pdf">
- Handout 3: Glade
- </a></li>
- <li><a href="handout-04-text-editor.pdf">
- Handout 4: Texteditor
- </a></li>
- <li><a href="handout-05-hangman.pdf">
- Handout 5: Galgenmännchen
- </a></li>
- <li><a href="handout-06-autotools.pdf">
- Handout 6: Autotools
- </a></li>
- <li><a href="handout-07-translations.pdf">
- Handout 7: Übersetzungen
- </a></li>
- </ul>
- </p>
-
- <p> English:
- <ul>
- <li><a href="slides-01-en.pdf">Slides 1</a></li>
- <li><a href="slides-02-en.pdf">Slides 2</a></li>
- <li><a href="handout-01-install-en.pdf">
- Handout 1: Installing
- </a></li>
- <li><a href="handout-02-hello-gtk-en.pdf">
- Handout 2: Hello GTK+
- </a></li>
- <li><a href="handout-03-glade-en.pdf">
- Handout 3: Glade
- </a></li>
- <li><a href="handout-04-text-editor-en.pdf">
- Handout 4: Text Editor
- </a></li>
- <li><a href="handout-05-hangman-en.pdf">
- Handout 5: Hangman
- </a></li>
- <li><a href="handout-06-autotools-en.pdf">
- Handout 6: Autotools
- </a></li>
- <li><a href="handout-07-translations-en.pdf">
- Handout 7: Translations
- </a></li>
- </ul>
- </p>
-
- <p>
- <a href="/git/gui-prog-gtk-2016/">
- Aller Quellcode zum Workshop.
- </a>
- </p>
-</div>
-
-</body>
-</html>
diff --git a/web/slides-01-en.pdf b/web/slides-01-en.pdf
index 5abe836..aaf8d86 100644
--- a/web/slides-01-en.pdf
+++ b/web/slides-01-en.pdf
Binary files differ
diff --git a/web/slides-01.pdf b/web/slides-01.pdf
index e97305e..5d9df2e 100644
--- a/web/slides-01.pdf
+++ b/web/slides-01.pdf
Binary files differ
diff --git a/web/slides-02-en.pdf b/web/slides-02-en.pdf
index eeb11ee..a9d6176 100644
--- a/web/slides-02-en.pdf
+++ b/web/slides-02-en.pdf
Binary files differ
diff --git a/web/slides-02.pdf b/web/slides-02.pdf
index c218782..ce29066 100644
--- a/web/slides-02.pdf
+++ b/web/slides-02.pdf
Binary files differ