From 9d00707e3eb36da9c1ef6b33f475745f485ea2a7 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Mon, 24 Oct 2022 17:10:36 +0200 Subject: Initial version. --- .gitignore | 1 + darkfish.spec | 75 ++++++++++ fedora_darkfish.rb | 47 ++++++ rdoc-6.4.0-Drop-the-font-URLs-from-css.patch | 212 +++++++++++++++++++++++++++ sources | 1 + 5 files changed, 336 insertions(+) create mode 100644 darkfish.spec create mode 100644 fedora_darkfish.rb create mode 100644 rdoc-6.4.0-Drop-the-font-URLs-from-css.patch diff --git a/.gitignore b/.gitignore index e69de29..7df3a52 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/rdoc-6.4.0.gem diff --git a/darkfish.spec b/darkfish.spec new file mode 100644 index 0000000..bb749ba --- /dev/null +++ b/darkfish.spec @@ -0,0 +1,75 @@ +Name: darkfish-rdoc +Version: 6.4.0 +Release: 1%{?dist} +Summary: Darkfish RDoc Generator +# BSD-3-Clause: lib/rdoc/generator/darkfish.rb +# CC-BY-2.5: lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif +License: GPL-2.0 AND Ruby AND BSD-3-Clause AND CC-BY-2.5 +URL: https://ruby.github.io/rdoc +Source0: https://rubygems.org/gems/rdoc-%{version}.gem +Source1: fedora_darkfish.rb +# Because the fonts are not embedded, do not refer to them in the font.css +# file. +Patch0: rdoc-6.4.0-Drop-the-font-URLs-from-css.patch +Requires: %{name}-assets +BuildRequires: %{_bindir}/gem +BuildArch: noarch + +%description +Darkfish RDoc generator extracted from RDoc usedfor the purpose of generating +documentation of rubygem- packages during their build. Any other use case is +not supported. + + +%package assets +Summary: Darkfish template shared assets +# Originally shipped in lib/rdoc/generator/template/darkfish/fonts +# and specified via lib/rdoc/generator/template/darkfish/css/fonts.css +Requires: font(lato) +Requires: font(sourcecodepro) +BuildArch: noarch + +%description assets +This package provides Darkfish template shared assets for documentaion +generated for rubygem- packages on Fedora. + +%prep +%setup -q -n rdoc-%{version} + +%patch0 -p1 + +%build + +%install +pushd lib/rdoc/generator/template/ +find . -mindepth 2 -type d \ + -exec install -d %{buildroot}%{_datadir}/darkfish-rdoc/{} \; +find . -type f \ + -exec install -p -m 644 {} %{buildroot}%{_datadir}/darkfish-rdoc/{} \; +popd + +rm %{buildroot}%{_datadir}/darkfish-rdoc/{darkfish,json_index}/.document + +# Drop fonts. System fonts are going to be pulled in instead. +rm -rf %{buildroot}%{_datadir}/darkfish-rdoc/darkfish/fonts + +install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/darkfish-rdoc/ + +%check +# Not test ATM. Not clear if there is actually something to test. + +%files +%{_datadir}/darkfish-rdoc/darkfish/*.rhtml +%{_datadir}/darkfish-rdoc/fedora_darkfish.rb + +%files assets +%dir %{_datadir}/darkfish-rdoc/ +%dir %{_datadir}/darkfish-rdoc/darkfish/ +%{_datadir}/darkfish-rdoc/darkfish/css +%{_datadir}/darkfish-rdoc/darkfish/images +%{_datadir}/darkfish-rdoc/darkfish/js +%{_datadir}/darkfish-rdoc/json_index + +%changelog +* Thu Oct 20 2022 Vít Ondruch - 6.4.0-1 +- Initial version of Darfish RDoc Generator as extracted from RDoc 6.4.0. diff --git a/fedora_darkfish.rb b/fedora_darkfish.rb new file mode 100644 index 0000000..28c3946 --- /dev/null +++ b/fedora_darkfish.rb @@ -0,0 +1,47 @@ +require 'rdoc' +require 'rdoc/generator/darkfish' +require 'rdoc/generator/json_index' + +class RDoc::Generator::Darkfish + alias initialize_orig initialize + + def initialize store, options + options.template_dir = File.join __dir__, 'darkfish' + initialize_orig store, options + end + + def install_rdoc_static_file source, destination, options # :nodoc: + return unless source.exist? + + begin + FileUtils.mkdir_p File.dirname(destination), **options + FileUtils.ln_sf source, destination, **options + rescue + end + end +end + +class RDoc::Generator::JsonIndex + alias generate_orig generate + + def generate + generate_orig + + out_dir = @base_dir + @options.op_dir + + template_dir = File.join __dir__, 'json_index' + + Dir.chdir template_dir do + Dir['**/*.js'].each do |source| + dest = File.join out_dir, source + source = File.realpath source + FileUtils.ln_sf source, dest, :verbose => $DEBUG_RDOC + end + end + end + + # Don't generate gzipped content. Because we have always shipped also the + # original, it just increases the size. + def generate_gzipped + end +end diff --git a/rdoc-6.4.0-Drop-the-font-URLs-from-css.patch b/rdoc-6.4.0-Drop-the-font-URLs-from-css.patch new file mode 100644 index 0000000..fb8f180 --- /dev/null +++ b/rdoc-6.4.0-Drop-the-font-URLs-from-css.patch @@ -0,0 +1,212 @@ +From c3f8c0973f5dde8e077417de92fde4a81fb5e4b1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Mon, 24 Oct 2022 15:51:44 +0200 +Subject: [PATCH 1/2] Drop the font URLs. + +The Fedora packaged fonts are going to be used insetad. +--- + lib/rdoc/generator/template/darkfish/css/fonts.css | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/lib/rdoc/generator/template/darkfish/css/fonts.css b/lib/rdoc/generator/template/darkfish/css/fonts.css +index 57302b5183..9d004af279 100644 +--- a/lib/rdoc/generator/template/darkfish/css/fonts.css ++++ b/lib/rdoc/generator/template/darkfish/css/fonts.css +@@ -17,7 +17,6 @@ + font-weight: 400; + src: local("Source Code Pro"), + local("SourceCodePro-Regular"), +- url("../fonts/SourceCodePro-Regular.ttf") format("truetype"); + } + + @font-face { +@@ -26,7 +25,6 @@ + font-weight: 700; + src: local("Source Code Pro Bold"), + local("SourceCodePro-Bold"), +- url("../fonts/SourceCodePro-Bold.ttf") format("truetype"); + } + + /* +@@ -46,7 +44,6 @@ + font-weight: 300; + src: local("Lato Light"), + local("Lato-Light"), +- url("../fonts/Lato-Light.ttf") format("truetype"); + } + + @font-face { +@@ -55,7 +52,6 @@ + font-weight: 300; + src: local("Lato Light Italic"), + local("Lato-LightItalic"), +- url("../fonts/Lato-LightItalic.ttf") format("truetype"); + } + + @font-face { +@@ -64,7 +60,6 @@ + font-weight: 700; + src: local("Lato Regular"), + local("Lato-Regular"), +- url("../fonts/Lato-Regular.ttf") format("truetype"); + } + + @font-face { +@@ -73,7 +68,6 @@ + font-weight: 700; + src: local("Lato Italic"), + local("Lato-Italic"), +- url("../fonts/Lato-RegularItalic.ttf") format("truetype"); + } + + /* +-- +2.37.3 + + +From b16dfc88bb689e91b9e942b403cd15a014472978 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Mon, 24 Oct 2022 15:52:58 +0200 +Subject: [PATCH 2/2] Drop the license notes, because we are not shipping any + fonts. + +--- + .../generator/template/darkfish/css/fonts.css | 114 ------------------ + 1 file changed, 114 deletions(-) + +diff --git a/lib/rdoc/generator/template/darkfish/css/fonts.css b/lib/rdoc/generator/template/darkfish/css/fonts.css +index 9d004af279..f3e94b4cf2 100644 +--- a/lib/rdoc/generator/template/darkfish/css/fonts.css ++++ b/lib/rdoc/generator/template/darkfish/css/fonts.css +@@ -1,16 +1,3 @@ +-/* +- * Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), +- * with Reserved Font Name "Source". All Rights Reserved. Source is a +- * trademark of Adobe Systems Incorporated in the United States and/or other +- * countries. +- * +- * This Font Software is licensed under the SIL Open Font License, Version +- * 1.1. +- * +- * This license is copied below, and is also available with a FAQ at: +- * http://scripts.sil.org/OFL +- */ +- + @font-face { + font-family: "Source Code Pro"; + font-style: normal; +@@ -27,17 +14,6 @@ + local("SourceCodePro-Bold"), + } + +-/* +- * Copyright (c) 2010, Łukasz Dziedzic (dziedzic@typoland.com), +- * with Reserved Font Name Lato. +- * +- * This Font Software is licensed under the SIL Open Font License, Version +- * 1.1. +- * +- * This license is copied below, and is also available with a FAQ at: +- * http://scripts.sil.org/OFL +- */ +- + @font-face { + font-family: "Lato"; + font-style: normal; +@@ -69,93 +45,3 @@ + src: local("Lato Italic"), + local("Lato-Italic"), + } +- +-/* +- * ----------------------------------------------------------- +- * SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +- * ----------------------------------------------------------- +- * +- * PREAMBLE +- * The goals of the Open Font License (OFL) are to stimulate worldwide +- * development of collaborative font projects, to support the font creation +- * efforts of academic and linguistic communities, and to provide a free and +- * open framework in which fonts may be shared and improved in partnership +- * with others. +- * +- * The OFL allows the licensed fonts to be used, studied, modified and +- * redistributed freely as long as they are not sold by themselves. The +- * fonts, including any derivative works, can be bundled, embedded, +- * redistributed and/or sold with any software provided that any reserved +- * names are not used by derivative works. The fonts and derivatives, +- * however, cannot be released under any other type of license. The +- * requirement for fonts to remain under this license does not apply +- * to any document created using the fonts or their derivatives. +- * +- * DEFINITIONS +- * "Font Software" refers to the set of files released by the Copyright +- * Holder(s) under this license and clearly marked as such. This may +- * include source files, build scripts and documentation. +- * +- * "Reserved Font Name" refers to any names specified as such after the +- * copyright statement(s). +- * +- * "Original Version" refers to the collection of Font Software components as +- * distributed by the Copyright Holder(s). +- * +- * "Modified Version" refers to any derivative made by adding to, deleting, +- * or substituting -- in part or in whole -- any of the components of the +- * Original Version, by changing formats or by porting the Font Software to a +- * new environment. +- * +- * "Author" refers to any designer, engineer, programmer, technical +- * writer or other person who contributed to the Font Software. +- * +- * PERMISSION & CONDITIONS +- * Permission is hereby granted, free of charge, to any person obtaining +- * a copy of the Font Software, to use, study, copy, merge, embed, modify, +- * redistribute, and sell modified and unmodified copies of the Font +- * Software, subject to the following conditions: +- * +- * 1) Neither the Font Software nor any of its individual components, +- * in Original or Modified Versions, may be sold by itself. +- * +- * 2) Original or Modified Versions of the Font Software may be bundled, +- * redistributed and/or sold with any software, provided that each copy +- * contains the above copyright notice and this license. These can be +- * included either as stand-alone text files, human-readable headers or +- * in the appropriate machine-readable metadata fields within text or +- * binary files as long as those fields can be easily viewed by the user. +- * +- * 3) No Modified Version of the Font Software may use the Reserved Font +- * Name(s) unless explicit written permission is granted by the corresponding +- * Copyright Holder. This restriction only applies to the primary font name as +- * presented to the users. +- * +- * 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +- * Software shall not be used to promote, endorse or advertise any +- * Modified Version, except to acknowledge the contribution(s) of the +- * Copyright Holder(s) and the Author(s) or with their explicit written +- * permission. +- * +- * 5) The Font Software, modified or unmodified, in part or in whole, +- * must be distributed entirely under this license, and must not be +- * distributed under any other license. The requirement for fonts to +- * remain under this license does not apply to any document created +- * using the Font Software. +- * +- * TERMINATION +- * This license becomes null and void if any of the above conditions are +- * not met. +- * +- * DISCLAIMER +- * THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +- * OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +- * COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +- * INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +- * DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +- * FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +- * OTHER DEALINGS IN THE FONT SOFTWARE. +- */ +- +-- +2.37.3 + diff --git a/sources b/sources index e69de29..c5746b2 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (rdoc-6.4.0.gem) = 8fdd170e86af886eebc2f98765f74a2eb2238bb8551debdafc29dc1d93db1f5c6d9ad3cc08355eca568922b9f30d8ff2630a219b4e50fa12478a99221c6c348f -- cgit