gnucash-on-flatpak master: Implement Finance::Quote support
Geert Janssens
gjanssens at code.gnucash.org
Sun Feb 16 08:04:15 EST 2020
Updated via https://github.com/Gnucash/gnucash-on-flatpak/commit/d21b04cd (commit)
from https://github.com/Gnucash/gnucash-on-flatpak/commit/dfdc5589 (commit)
commit d21b04cd56177f962571bc62b88a3050e18137c8
Author: Geert Janssens <geert at kobaltwit.be>
Date: Sun Feb 16 14:04:09 2020 +0100
Implement Finance::Quote support
diff --git a/README.md b/README.md
index 81f85cc..88d9bc4 100644
--- a/README.md
+++ b/README.md
@@ -225,9 +225,53 @@ similar housekeeping for all the flatpakref files, buildlogs and manifests.
* The script will only build the packages if there are changes in the source
repositories since the last build.
+## Finance::Quote ##
+
+Flatpaks don't ship perl, nor cpan. So enabling Finance::Quote support requires
+adding build rules for all of these in the flatpak manifest. This is a short
+summary of how this was done.
+
+1. Use https://github.com/flathub/io.github.Hexchat.Plugin.Perl/blob/master/io.github.Hexchat.Plugin.Perl.json
+as an example project to get perl built in flatpak. Note this cleans way
+too much of the perl installation (including the perl executable which we still need).
+
+2. Use https://github.com/flatpak/flatpak-builder-tools/tree/master/cpan to generate
+a manifest snippet with build for all the cpan modules required for Finance::Quote
+
+3. Add perl and finance-quote modules to our manifest. The snippet generated in
+the previous step will be inluded as source list of the finance-quote module.
+Keeping this separate allows us to easily update cpan dependencies in the future
+without interfering with other parts of the manifest.
+
+Step 2 was not without issues and it took me a while to successfully create
+the snippet. In short: the current flatpak-builder-tools cpan generator is
+fairly fragile.
+- It will fail to include certain modules (those that don't write
+an insallation line to perllocal.pod during installation). This happens for example
+with the `HTML::Tree` module
+- the entry found in perllocal.pod can't be mapped back to the module's distribution
+name in some cases, like with the `Date::Parse` module. It's distribution name is
+TimeDate, and the current script errors out on this.
+
+Long story short, my github fork https://github.com/gjanssens/flatpak-builder-tools
+has patches that allowed me to proceed. I have offered them upstream for inclusion.
+
+From there I:
+
+- installed the required perl modules on my (Fedora) system using
+`sudo dnf install 'perl(App::cpanminus)' 'perl(Getopt::Long::Descriptive)' 'perl(JSON::MaybeXS)' 'perl(LWP::UserAgent)' 'perl(MetaCPAN::Client)' 'perl(Pod::Simple::SimpleTree)'`
+as mentioned on the flatpak-builder-tools page
+- ran `./flatpak-cpan-generator.pl Date::Manip Finance::Quote`
+- copied the resulting `generated-sources.json` to `modules/finance-quote-sources.json`
+
+Note I have found the script to be not very version control friendly:
+`generated-sources.json` will change a lot between runs. It will have the exact same
+sources and dependencies, but they are shuffled around. Experiments indicate this is
+already due to the way cpanminus handles dependency resolution. The order in which
+same-level dependencies are processed is not stable. A minor annoyance I can live with
+for now.
+
## TODO ##
-- add finance::quote support
-- properly handle release builds (should be run from release tarball)
- try to build gnucash-docs as an extension instead of directly in the main flatpak
# Further Readings #
diff --git a/modules/finance-quote-sources.json b/modules/finance-quote-sources.json
new file mode 100644
index 0000000..0e8073e
--- /dev/null
+++ b/modules/finance-quote-sources.json
@@ -0,0 +1,497 @@
+[
+ {
+ "url": "https://cpan.metacpan.org/authors/id/S/SB/SBECK/Date-Manip-6.79.tar.gz",
+ "sha256": "71a8c42ce4edbd46a3ca2a17a7218ceed958cd7ad0dfeb79389f23d0f466943a",
+ "dest": "perl-libs/Date-Manip",
+ "type": "archive"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/C/CJ/CJM/IO-HTML-1.001.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/IO-HTML",
+ "sha256": "ea78d2d743794adc028bc9589538eb867174b4e165d7d8b5f63486e6b828e7e0"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/URI",
+ "sha256": "b2c98e1d50d6f572483ee538a6f4ccc8d9185f91f0073fd8af7390898254413e",
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/URI-1.76.tar.gz"
+ },
+ {
+ "dest": "perl-libs/LWP-MediaTypes",
+ "type": "archive",
+ "sha256": "8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9",
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz"
+ },
+ {
+ "sha256": "5c720fedb245122d073ea9c030aca24b06a615c71d40c46f832a8a1809354d81",
+ "dest": "perl-libs/TimeDate",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/TimeDate-2.31.tar.gz"
+ },
+ {
+ "sha256": "365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b",
+ "type": "archive",
+ "dest": "perl-libs/HTTP-Date",
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz"
+ },
+ {
+ "sha256": "176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1",
+ "type": "archive",
+ "dest": "perl-libs/Encode-Locale",
+ "url": "https://cpan.metacpan.org/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz"
+ },
+ {
+ "sha256": "d060d170d388b694c58c14f4d13ed908a2807f0e581146cef45726641d809112",
+ "dest": "perl-libs/HTTP-Message",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Message-6.18.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-0.4231.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/Module-Build",
+ "sha256": "7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Try-Tiny-0.30.tar.gz",
+ "dest": "perl-libs/Try-Tiny",
+ "type": "archive",
+ "sha256": "da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Fatal-0.014.tar.gz",
+ "sha256": "bcdcef5c7b2790a187ebca810b0a08221a63256062cfab3c3b98685d91d1cbb0",
+ "dest": "perl-libs/Test-Fatal",
+ "type": "archive"
+ },
+ {
+ "sha256": "adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2",
+ "type": "archive",
+ "dest": "perl-libs/HTML-Tagset",
+ "url": "https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTML-Parser-3.72.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/HTML-Parser",
+ "sha256": "ec28c7e1d9e67c45eca197077f7cdc41ead1bb4c538c7f02a3296a4bb92f608b"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/K/KE/KENTNL/HTML-Tree-5.07.tar.gz",
+ "dest": "perl-libs/HTML-Tree",
+ "type": "archive",
+ "sha256": "f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/B/BK/BKB/JSON-Parse-0.55.tar.gz",
+ "sha256": "dc9856dbc355114bcb0dc036bb632976b19b88d3a7ad59726f1fa917e7f5d256",
+ "dest": "perl-libs/JSON-Parse",
+ "type": "archive"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/Mozilla-CA",
+ "sha256": "f2cc9fbe119f756313f321e0d9f1fac0859f8f154ac9d75b1a264c1afdf4e406",
+ "url": "https://cpan.metacpan.org/authors/id/A/AB/ABH/Mozilla-CA-20180117.tar.gz"
+ },
+ {
+ "sha256": "f3ef1af108f27fef15ebec66479f251ce08aa49bd00b0462c9c80c86b4b6b32b",
+ "type": "archive",
+ "dest": "perl-libs/HTML-Element-Extended",
+ "url": "https://cpan.metacpan.org/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/M/MS/MSISK/HTML-TableExtract-2.15.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/HTML-TableExtract",
+ "sha256": "86c59c9d58da3ca174da5e62f5a0fb02f4da02b1b1e01df9e5d14bb65e4c3ecf"
+ },
+ {
+ "sha256": "2000da483c8471a0b61e06959e92a6fca7b9e40586d5c828de977d3d2081cfdd",
+ "dest": "perl-libs/Net-SSLeay",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.067.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/IO-Socket-SSL",
+ "sha256": "ef8842806d047cf56e2af64add4ed30b24547bcbb50e8df33cee0c54609af1c1"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz",
+ "sha256": "1e0050fcd6789a2179ec0db282bf1e90fb92be35d1171588bd9c47d52d959cf5",
+ "dest": "perl-libs/File-Listing",
+ "type": "archive"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-6.19.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/Net-HTTP",
+ "sha256": "52b76ec13959522cae64d965f15da3d99dcb445eddd85d2ce4e4f4df385b2fc4"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/WWW-RobotRules",
+ "sha256": "46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz",
+ "dest": "perl-libs/ExtUtils-Helpers",
+ "type": "archive",
+ "sha256": "de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz",
+ "sha256": "ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c",
+ "dest": "perl-libs/ExtUtils-Config",
+ "type": "archive"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/ExtUtils-InstallPaths",
+ "sha256": "84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz",
+ "dest": "perl-libs/Module-Build-Tiny",
+ "type": "archive",
+ "sha256": "7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Daemon-6.06.tar.gz",
+ "sha256": "fc03a161b54553f766457a4267e7066767f54ad01cacfe9a91d7caa2a0319bad",
+ "type": "archive",
+ "dest": "perl-libs/HTTP-Daemon"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/HTTP-Negotiate",
+ "sha256": "1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016",
+ "url": "https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Cookies-6.08.tar.gz",
+ "dest": "perl-libs/HTTP-Cookies",
+ "type": "archive",
+ "sha256": "49ebb73576eb41063c04bc079477df094496deec805ae033f3be338c23c3af59"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/libwww-perl-6.43.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/libwww-perl",
+ "sha256": "e9849d7ee6fd0e89cc999e63d7612c951afd6aeea6bc721b767870d9df4ac40d"
+ },
+ {
+ "dest": "perl-libs/LWP-Protocol-https",
+ "type": "archive",
+ "sha256": "522cc946cf84a1776304a5737a54b8822ec9e79b264d0ba0722a70473dbfb9e7",
+ "url": "https://cpan.metacpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.07.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/L/LE/LEEJO/CGI-4.46.tar.gz",
+ "sha256": "788998ddc33ca382e5d7ce72c6c0ea1d8366c93067371fe2f14239ddea2e4298",
+ "dest": "perl-libs/CGI",
+ "type": "archive"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/Module-Runtime",
+ "sha256": "68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024",
+ "url": "https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz",
+ "dest": "perl-libs/Dist-CheckConflicts",
+ "type": "archive",
+ "sha256": "ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz",
+ "sha256": "92ba5712850a74102c93c942eb6e7f62f7a4f8f483734ed289d08b324c281687",
+ "dest": "perl-libs/Role-Tiny",
+ "type": "archive"
+ },
+ {
+ "sha256": "8a2c3b6ccc19328d5579d02a7d91285e2afd85d801f49d423a8eb16f323da4f8",
+ "dest": "perl-libs/MRO-Compat",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz",
+ "sha256": "ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad",
+ "type": "archive",
+ "dest": "perl-libs/Eval-Closure"
+ },
+ {
+ "sha256": "cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855",
+ "type": "archive",
+ "dest": "perl-libs/Devel-StackTrace",
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz"
+ },
+ {
+ "sha256": "260e252f7367228c9b4e43ef50c0becb04c4781de660577b3086cc106c0028c0",
+ "type": "archive",
+ "dest": "perl-libs/XString",
+ "url": "https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/XString-0.002.tar.gz"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/Sub-Quote",
+ "sha256": "6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d",
+ "url": "https://cpan.metacpan.org/authors/id/H/HA/HAARG/Sub-Quote-2.006006.tar.gz"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/Specio",
+ "sha256": "e4b988ce6383b076bf23e942313d1b8930779eb9954d87db994fe2baffd461f6",
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Specio-0.45.tar.gz"
+ },
+ {
+ "dest": "perl-libs/Class-Data-Inheritable",
+ "type": "archive",
+ "sha256": "9967feceea15227e442ec818723163eb6d73b8947e31f16ab806f6e2391af14a",
+ "url": "https://cpan.metacpan.org/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz"
+ },
+ {
+ "sha256": "33f3fbf8b138d3b04ea4ec0ba83fb0df6ba898806bcf4ef393d4cafc1a23ee0d",
+ "type": "archive",
+ "dest": "perl-libs/Exception-Class",
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Exception-Class-1.44.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.30.tar.gz",
+ "sha256": "dc5bee23383be42765073db284bed9fbd819d4705ad649c20b644452090d16cb",
+ "type": "archive",
+ "dest": "perl-libs/Params-ValidationCompiler"
+ },
+ {
+ "sha256": "45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9",
+ "dest": "perl-libs/File-ShareDir-Install",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/E/ET/ETHER/File-ShareDir-Install-0.13.tar.gz"
+ },
+ {
+ "sha256": "c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d",
+ "type": "archive",
+ "dest": "perl-libs/Module-Implementation",
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Package-Stash-XS-0.29.tar.gz",
+ "sha256": "d3676ba94641e03d6a30e951f09266c4c3ca3f5b58aa7b314a67f28e419878aa",
+ "dest": "perl-libs/Package-Stash-XS",
+ "type": "archive"
+ },
+ {
+ "sha256": "c58ee8844df2dda38e3bf66fdf443439aaefaef1a33940edf2055f0afd223a7f",
+ "dest": "perl-libs/Package-Stash",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Package-Stash-0.38.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/V/VP/VPIT/Variable-Magic-0.62.tar.gz",
+ "sha256": "3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c",
+ "dest": "perl-libs/Variable-Magic",
+ "type": "archive"
+ },
+ {
+ "sha256": "d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056",
+ "type": "archive",
+ "dest": "perl-libs/Sub-Exporter-Progressive",
+ "url": "https://cpan.metacpan.org/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.24.tar.gz",
+ "sha256": "03aa3dfe5d0aa6471a96f43fe8318179d19794d4a640708f0288f9216ec7acc6",
+ "dest": "perl-libs/B-Hooks-EndOfScope",
+ "type": "archive"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz",
+ "sha256": "8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d",
+ "dest": "perl-libs/namespace-clean",
+ "type": "archive"
+ },
+ {
+ "sha256": "068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f",
+ "dest": "perl-libs/Sub-Identify",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/namespace-autoclean",
+ "sha256": "45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804",
+ "url": "https://cpan.metacpan.org/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz",
+ "sha256": "cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e",
+ "dest": "perl-libs/Class-Inspector",
+ "type": "archive"
+ },
+ {
+ "dest": "perl-libs/File-ShareDir",
+ "type": "archive",
+ "sha256": "59d90bfdf98c4656ff4173e62954ea8cf0de66565e35d108ecd7050596cb8328",
+ "url": "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-ShareDir-1.116.tar.gz"
+ },
+ {
+ "sha256": "aa79746bd488b32aa4dbccccd05f1e5505642be013d8064a5d6f8a76a3c45d0b",
+ "dest": "perl-libs/DateTime-Locale",
+ "type": "archive",
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-1.25.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/S/SH/SHAY/Class-Singleton-1.5.tar.gz",
+ "sha256": "38220d04f02e3a803193c2575a1644cce0b95ad4b95c19eb932b94e2647ef678",
+ "dest": "perl-libs/Class-Singleton",
+ "type": "archive"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.38.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/DateTime-TimeZone",
+ "sha256": "0e5c99ef22471f4d262ac590ce5ce8177094d7a92f380d8eea6219f5a12dc0cd"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-1.51.tar.gz",
+ "sha256": "de22da0de57a43a976322636d3a7474de4b1d6f37e044337123086cf94c16ec5",
+ "type": "archive",
+ "dest": "perl-libs/DateTime"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT/Text-Template-1.58.tar.gz",
+ "sha256": "0c465757782c4bfb9b17335307a8286771fd36ea04d259bc454ac63355f2a287",
+ "type": "archive",
+ "dest": "perl-libs/Text-Template"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/JSON-4.02.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/JSON",
+ "sha256": "444a88755a89ffa2a5424ab4ed1d11dca61808ebef57e81243424619a9e8627c"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/DateTime-Format-Strptime",
+ "sha256": "593c26466ed7a3d2cefe9215f1619666c5116bd3a551e0aa74b64a6353fcb50d",
+ "url": "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.76.tar.gz"
+ },
+ {
+ "url": "https://cpan.metacpan.org/authors/id/M/MI/MIKO/Test-Toolbox-0.4.tar.gz",
+ "type": "archive",
+ "dest": "perl-libs/Test-Toolbox",
+ "sha256": "4020b5c7f3a15ac9b187d05dfd9816b8030ec0d4a47ff8373f7633bb614ebdc3"
+ },
+ {
+ "dest": "perl-libs/Number-Misc",
+ "type": "archive",
+ "sha256": "77b9b68c600a069cf16f4d8126ecb32151e6bcd34b0edb17b78adee689dc91d8",
+ "url": "https://cpan.metacpan.org/authors/id/M/MI/MIKO/Number-Misc-1.2.tar.gz"
+ },
+ {
+ "dest": "perl-libs/String-Util",
+ "type": "archive",
+ "sha256": "f49a94f37c146c55211e3f87f3271b74ae4eaee416a519144e923dc0b433fa2d",
+ "url": "https://cpan.metacpan.org/authors/id/M/MI/MIKO/String-Util-1.26.tar.gz"
+ },
+ {
+ "type": "archive",
+ "dest": "perl-libs/Finance-Quote",
+ "sha256": "95dbc4443ba656320b363c56625d04f379c943e202f60f40a2a35152b54bbf53",
+ "url": "https://cpan.metacpan.org/authors/id/E/EC/ECOCODE/Finance-Quote-1.49.tar.gz"
+ },
+ {
+ "dest-filename": "perl-libs/install.sh",
+ "commands": [
+ "set -e",
+ "function make_install {",
+ " mod_dir=$1",
+ " cd $mod_dir",
+ " if [ -f 'Makefile.PL' ]; then",
+ " perl Makefile.PL && make install",
+ " elif [ -f 'Build.PL' ]; then",
+ " perl Build.PL && ./Build && ./Build install",
+ " else",
+ " echo 'No Makefile.PL or Build.PL found. Do not know how to install this module'",
+ " exit 1",
+ " fi",
+ "}",
+ "(make_install perl-libs/Date-Manip)",
+ "(make_install perl-libs/IO-HTML)",
+ "(make_install perl-libs/URI)",
+ "(make_install perl-libs/LWP-MediaTypes)",
+ "(make_install perl-libs/TimeDate)",
+ "(make_install perl-libs/HTTP-Date)",
+ "(make_install perl-libs/Encode-Locale)",
+ "(make_install perl-libs/HTTP-Message)",
+ "(make_install perl-libs/Module-Build)",
+ "(make_install perl-libs/Try-Tiny)",
+ "(make_install perl-libs/Test-Fatal)",
+ "(make_install perl-libs/HTML-Tagset)",
+ "(make_install perl-libs/HTML-Parser)",
+ "(make_install perl-libs/HTML-Tree)",
+ "(make_install perl-libs/JSON-Parse)",
+ "(make_install perl-libs/Mozilla-CA)",
+ "(make_install perl-libs/HTML-Element-Extended)",
+ "(make_install perl-libs/HTML-TableExtract)",
+ "(make_install perl-libs/Net-SSLeay)",
+ "(make_install perl-libs/IO-Socket-SSL)",
+ "(make_install perl-libs/File-Listing)",
+ "(make_install perl-libs/Net-HTTP)",
+ "(make_install perl-libs/WWW-RobotRules)",
+ "(make_install perl-libs/ExtUtils-Helpers)",
+ "(make_install perl-libs/ExtUtils-Config)",
+ "(make_install perl-libs/ExtUtils-InstallPaths)",
+ "(make_install perl-libs/Module-Build-Tiny)",
+ "(make_install perl-libs/HTTP-Daemon)",
+ "(make_install perl-libs/HTTP-Negotiate)",
+ "(make_install perl-libs/HTTP-Cookies)",
+ "(make_install perl-libs/libwww-perl)",
+ "(make_install perl-libs/LWP-Protocol-https)",
+ "(make_install perl-libs/CGI)",
+ "(make_install perl-libs/Module-Runtime)",
+ "(make_install perl-libs/Dist-CheckConflicts)",
+ "(make_install perl-libs/Role-Tiny)",
+ "(make_install perl-libs/MRO-Compat)",
+ "(make_install perl-libs/Eval-Closure)",
+ "(make_install perl-libs/Devel-StackTrace)",
+ "(make_install perl-libs/XString)",
+ "(make_install perl-libs/Sub-Quote)",
+ "(make_install perl-libs/Specio)",
+ "(make_install perl-libs/Class-Data-Inheritable)",
+ "(make_install perl-libs/Exception-Class)",
+ "(make_install perl-libs/Params-ValidationCompiler)",
+ "(make_install perl-libs/File-ShareDir-Install)",
+ "(make_install perl-libs/Module-Implementation)",
+ "(make_install perl-libs/Package-Stash-XS)",
+ "(make_install perl-libs/Package-Stash)",
+ "(make_install perl-libs/Variable-Magic)",
+ "(make_install perl-libs/Sub-Exporter-Progressive)",
+ "(make_install perl-libs/B-Hooks-EndOfScope)",
+ "(make_install perl-libs/namespace-clean)",
+ "(make_install perl-libs/Sub-Identify)",
+ "(make_install perl-libs/namespace-autoclean)",
+ "(make_install perl-libs/Class-Inspector)",
+ "(make_install perl-libs/File-ShareDir)",
+ "(make_install perl-libs/DateTime-Locale)",
+ "(make_install perl-libs/Class-Singleton)",
+ "(make_install perl-libs/DateTime-TimeZone)",
+ "(make_install perl-libs/DateTime)",
+ "(make_install perl-libs/Text-Template)",
+ "(make_install perl-libs/JSON)",
+ "(make_install perl-libs/DateTime-Format-Strptime)",
+ "(make_install perl-libs/Test-Toolbox)",
+ "(make_install perl-libs/Number-Misc)",
+ "(make_install perl-libs/String-Util)",
+ "(make_install perl-libs/Finance-Quote)"
+ ],
+ "type": "script"
+ }
+]
diff --git a/modules/perl.json b/modules/perl.json
new file mode 100644
index 0000000..e3b1214
--- /dev/null
+++ b/modules/perl.json
@@ -0,0 +1,47 @@
+{
+ "name": "perl-with-finance-quote",
+ "modules": [
+ {
+ "name": "perl",
+ "no-autogen": true,
+ "config-opts": [
+ "-des",
+ "-Duseshrplib"
+ ],
+ "build-options": {
+ "cflags": "-fPIC",
+ "ldflags": "-fpic"
+ },
+ "sources": [
+ {
+ "type": "archive",
+ "url": "https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz",
+ "sha256": "7e929f64d4cb0e9d1159d4a59fc89394e27fa1f7004d0836ca0d514685406ea8"
+ },
+ {
+ "type": "script",
+ "dest-filename": "configure",
+ "commands": [
+ "exec ./configure.gnu $@"
+ ]
+ }
+ ],
+ "post-install": [
+ "chmod -R u+w /app/lib/perl5"
+ ]
+ },
+ {
+ "name": "finance-quote",
+ "buildsystem": "simple",
+ "build-commands": [
+ "perl-libs/install.sh"
+ ],
+ "sources": [
+ "./finance-quote-sources.json"
+ ],
+ "post-install": [
+ "chmod -Rf u+w /app/lib/perl5/site_perl"
+ ]
+ }
+ ]
+}
diff --git a/org.gnucash.GnuCash.json b/org.gnucash.GnuCash.json
index b237958..94f3219 100644
--- a/org.gnucash.GnuCash.json
+++ b/org.gnucash.GnuCash.json
@@ -32,6 +32,7 @@
"modules/aqbanking.json",
"modules/boost.json",
"modules/googletest.json",
+ "modules/perl.json",
"./gnucash.json"
]
}
Summary of changes:
README.md | 48 +++-
modules/finance-quote-sources.json | 497 +++++++++++++++++++++++++++++++++++++
modules/perl.json | 47 ++++
org.gnucash.GnuCash.json | 1 +
4 files changed, 591 insertions(+), 2 deletions(-)
create mode 100644 modules/finance-quote-sources.json
create mode 100644 modules/perl.json
More information about the gnucash-changes
mailing list