Commit graph

81 commits

Author SHA1 Message Date
John MacFarlane
8ddc2fc79a Integrate server into main pandoc.
- Remove server flag.
- Remove pandoc-server executable.
- Add Text.Pandoc.Server as exposed module. [API change]
- Re-use Opt (and our existing FromJSON instance) for Params.
- Document.
2022-08-17 12:28:14 -07:00
John MacFarlane
cd90bffa8c More make_artifacts fixes. 2022-08-16 10:55:36 -07:00
John MacFarlane
9bf6c4918e make_artifacts.sh: use --installdir not --bindir. 2022-08-15 23:18:10 -07:00
John MacFarlane
ce3cd28a6a More make_artifacts fixes. 2022-08-15 18:59:13 -07:00
John MacFarlane
b157abedb7 Fix make_artifacts.sh. 2022-08-15 17:38:28 -07:00
John MacFarlane
2b4b565040 Split linux/control.in into two parts...
for pandoc and pandoc-server.
2022-08-15 16:10:21 -07:00
John MacFarlane
386705f818 linux/make_artifacts.sh: fix paths. 2022-08-15 14:37:06 -07:00
John MacFarlane
f094381378 make_artifacts.sh: create doc directory. 2022-08-15 13:07:32 -07:00
John MacFarlane
7c34908493 Improve linux/make_artifacts.
Structure code more cleanly.
Make separate deb, tarball for pandoc-server.
2022-08-15 10:09:32 -07:00
John MacFarlane
3a5168af90 Fix pandoc-server on linux make_artifacts.sh. 2022-08-07 23:02:35 -07:00
John MacFarlane
5635ef9c57 Replace old trypandoc code with new pandoc-cgi.
This is based on servant. It is less hacky and more extensible.
2022-08-06 14:42:38 -07:00
Tony
bff49852a5
add armhf support (#7944) 2022-02-28 09:03:25 -08:00
John MacFarlane
87eb8dfda4 Revert the -j related changes in make_artifacts.sh.
This led to very slow build times.
2021-03-18 14:59:50 -07:00
John MacFarlane
89a89a8cf3 make_artifacts.sh: try using -j for cabal rather than -j4 ghc-options. 2021-03-18 09:14:12 -07:00
John MacFarlane
94c917c13f Use -j4 for linux release build. 2021-03-16 13:16:29 -07:00
John MacFarlane
0515c44859 linux/make_artifacts.sh: Use -f when removing artifacts/DONE. 2021-03-08 15:02:26 -08:00
John MacFarlane
cac796e1ab ARM build script: more reliable detection of completion.
Previously we downloaded the tar.gz before it was complete.
2021-03-08 14:51:03 -08:00
John MacFarlane
31ca011e4a Use correct architecture in .tar.gz for linux. 2021-03-08 11:58:14 -08:00
John MacFarlane
1eb882fcdb linux build script: set architecture to 'unknown' when no match. 2021-03-06 13:45:16 -08:00
John MacFarlane
086406cadf linux build script: handle architecture for aarch64. 2021-03-06 13:44:14 -08:00
John MacFarlane
26c496d936 Use -split-sections in creating release binary.
This is supposed to reduce executable size.
2021-03-01 10:06:10 -08:00
John MacFarlane
7fa4d367bb Re-add -optc-Os to static linux build, because it makes binary smaller. 2020-11-18 19:02:04 -08:00
John MacFarlane
2002481aee Simplify options for building static linux binary. 2020-11-18 17:49:41 -08:00
John MacFarlane
d464757132 Remove obsolete bibutils flag setting on linux/make_artifacts.sh. 2020-11-17 09:07:08 -08:00
John MacFarlane
e0984a43a9 Add built-in citation support using new citeproc library.
This deprecates the use of the external pandoc-citeproc
filter; citation processing is now built in to pandoc.

* Add dependency on citeproc library.
* Add Text.Pandoc.Citeproc module (and some associated unexported
  modules under Text.Pandoc.Citeproc).  Exports `processCitations`.
  [API change]
* Add data files needed for Text.Pandoc.Citeproc:  default.csl
  in the data directory, and a citeproc directory that is just
  used at compile-time.  Note that we've added file-embed as a mandatory
  rather than a conditional depedency, because of the biblatex
  localization files. We might eventually want to use readDataFile
  for this, but it would take some code reorganization.
* Text.Pandoc.Loging: Add `CiteprocWarning` to `LogMessage` and use it
  in `processCitations`. [API change]
* Add tests from the pandoc-citeproc package as command tests (including
  some tests pandoc-citeproc did not pass).
* Remove instructions for building pandoc-citeproc from CI and
  release binary build instructions.  We will no longer distribute
  pandoc-citeproc.
* Markdown reader: tweak abbreviation support.  Don't insert a
  nonbreaking space after a potential abbreviation if it comes right before
  a note or citation.  This messes up several things, including citeproc's
  moving of note citations.
* Add `csljson` as and input and output format. This allows pandoc
  to convert between `csljson` and other bibliography formats,
  and to generate formatted versions of CSL JSON bibliographies.
* Add module Text.Pandoc.Writers.CslJson, exporting `writeCslJson`. [API
  change]
* Add module Text.Pandoc.Readers.CslJson, exporting `readCslJson`. [API
  change]
* Added `bibtex`, `biblatex` as input formats.  This allows pandoc
  to convert between BibLaTeX and BibTeX and other bibliography formats,
  and to generated formatted versions of BibTeX/BibLaTeX bibliographies.
* Add module Text.Pandoc.Readers.BibTeX, exporting `readBibTeX` and
  `readBibLaTeX`. [API change]
* Make "standalone" implicit if output format is a bibliography format.
  This is needed because pandoc readers for bibliography formats put
  the bibliographic information in the `references` field of metadata;
  and unless standalone is specified, metadata gets ignored.
  (TODO: This needs improvement. We should trigger standalone for the
  reader when the input format is bibliographic, and for the writer
  when the output format is markdown.)
* Carry over `citationNoteNum` to `citationNoteNumber`.  This was just
  ignored in pandoc-citeproc.
* Text.Pandoc.Filter: Add `CiteprocFilter` constructor to Filter.
  [API change] This runs the processCitations transformation.
  We need to treat it like a filter so it can be placed
  in the sequence of filter runs (after some, before others).
  In FromYAML, this is parsed from `citeproc` or `{type: citeproc}`,
  so this special filter may be specified either way in a defaults file
  (or by `citeproc: true`, though this gives no control of positioning
  relative to other filters).  TODO: we need to add something to the
  manual section on defaults files for this.
* Add deprecation warning if `upandoc-citeproc` filter is used.
* Add `--citeproc/-C` option to trigger citation processing.
  This behaves like a filter and will be positioned
  relative to filters as they appear on the command line.
* Rewrote the manual on citatations, adding a dedicated Citations
  section which also includes some information formerly found in
  the pandoc-citeproc man page.
* Look for CSL styles in the `csl` subdirectory of the pandoc user data
  directory.  This changes the old pandoc-citeproc behavior, which looked
  in `~/.csl`.  Users can simply symlink `~/.csl` to the `csl`
  subdirectory of their pandoc user data directory if they want
  the old behavior.
* Add support for CSL bibliography entry formatting to LaTeX, HTML,
  Ms writers.  Added CSL-related CSS to styles.html.
2020-09-21 10:15:50 -07:00
John MacFarlane
c990027832 Linux rc build: use ghc-musl container.
This simplifies our build process a bit (over using
a customized alpine container).

Use new `--enable-executable-static` flag in build.

make_artifacts.sh: Fix deprecated find -perm syntax.
2020-08-11 21:33:21 -07:00
Albert Krewinkel
91f2bcfe73
linux/Dockerfile: upgrade to alpine 3.11
Closes: #6180
2020-03-10 15:18:30 +01:00
John MacFarlane
8d64cb6954 Use alpine 3.10 in building linux binary.
For some reason the bulid fails with alpine 3.11,
with a linker error finding -lz.  See #6003.
It would be good to figure out how to make it work
with alpine 3.11.
2019-12-22 09:26:29 -08:00
John MacFarlane
dd503df20a linux tarball: add architecture -amd64 to filename.
Now it will be: pandoc-VERSION-linux-ARCH.tar.gz
2019-10-04 22:00:17 -07:00
John MacFarlane
fe39bb009f Use -split-sections to reduce linux executable size. 2019-07-12 09:51:24 -07:00
John MacFarlane
16bf907252 Remove clone of pandoc-citeproc.
It wasn't being used; cabal.project specifies the version to use.
Closes #5366.
2019-03-14 10:11:11 -07:00
John MacFarlane
d7a13b4a58 linux/Dockerfile : use default -O1 instead of -O2. 2019-01-30 22:54:08 -08:00
John MacFarlane
473b4ad62d Update linux Dockerfile to use cabal new-build. 2018-11-26 23:15:06 -08:00
John MacFarlane
3af988a671 linux/Dockerfile - use resolver lts-12.12. 2018-11-03 21:08:12 -07:00
John MacFarlane
bf17af65a7 Fix bug in linux/Dockerfile. 2018-11-03 20:56:39 -07:00
John MacFarlane
23cd1c77a6 Fix bug in linux/Dockerfile. 2018-11-03 20:55:17 -07:00
John MacFarlane
3fbbdd92fb linux Dockerfile - use released static build of stack. 2018-10-18 10:31:16 -07:00
John MacFarlane
1cd03e30df linux/Dockerfile: Use more recent (unofficial) stack. 2018-09-16 19:42:08 -07:00
John MacFarlane
f9665d0f4a Linux Dockerfile: try upgrading stack. 2018-09-16 13:55:13 -07:00
John MacFarlane
5776e62edf Remove upx stuff from Dockerfile. 2018-09-16 13:53:43 -07:00
Josh
bf56181204 Remove duplicate instruction (#4796) 2018-07-30 10:28:39 -07:00
John MacFarlane
cccaf33e2d linux/Dockerfile: simplify and use new ghc 8.4.3. 2018-07-15 20:25:54 -07:00
John MacFarlane
9b92993a0a Dockerfile fixes.
Note that stack no longer provides a static binary, so we
use an older one from their GitHub releases.
2018-05-11 11:46:39 -07:00
John MacFarlane
317840ab0d Use latest haddock-library even for stack.lts9 build. 2018-04-24 12:35:03 -07:00
John MacFarlane
58534cc74e Revised Dockerfile for static linux build. 2018-04-23 22:43:10 -07:00
John MacFarlane
26fee8bfee dockerfile: upgrade stack. 2018-04-20 23:37:12 -07:00
John MacFarlane
999dd2a239 linux package build: use stack lts-9.
Also break up the build into three chunks for better
cacheability.
2017-12-28 09:25:01 -08:00
John MacFarlane
40a55728bb Docker build: upgrade stack first. 2017-12-27 20:55:15 -08:00
John MacFarlane
ffa3d7160e Removed stack.pkg.yaml.
We only really need stack.yaml; we can put flag settings
for pandoc-citeproc there.

Also use ghc-8.0.2 in dockerized linux build.  This is
the only version available for alpine so far.
2017-12-27 20:21:37 -08:00
John MacFarlane
3eaa6ff329 Add -linux suffix to linux tarball. 2017-10-30 23:02:45 -07:00