summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/nanoc')
-rw-r--r--www-apps/nanoc/Manifest8
-rw-r--r--www-apps/nanoc/metadata.xml5
-rw-r--r--www-apps/nanoc/nanoc-4.12.16.ebuild (renamed from www-apps/nanoc/nanoc-4.11.12.ebuild)41
-rw-r--r--www-apps/nanoc/nanoc-4.12.17.ebuild (renamed from www-apps/nanoc/nanoc-4.11.10.ebuild)41
-rw-r--r--www-apps/nanoc/nanoc-4.12.19.ebuild (renamed from www-apps/nanoc/nanoc-4.11.11.ebuild)41
-rw-r--r--www-apps/nanoc/nanoc-4.12.20.ebuild105
-rw-r--r--www-apps/nanoc/nanoc-4.12.21.ebuild105
7 files changed, 288 insertions, 58 deletions
diff --git a/www-apps/nanoc/Manifest b/www-apps/nanoc/Manifest
index a9db2d369f44..d5de4ef82d17 100644
--- a/www-apps/nanoc/Manifest
+++ b/www-apps/nanoc/Manifest
@@ -1,3 +1,5 @@
-DIST nanoc-4.11.10.tar.gz 308049 BLAKE2B 8b587245d9935dad34bc0912ba65200cc6f3e8ebda00e21fc3c30e367264076d17d64fe9cc762c5ec11ab9624695f66132d5a69b29dcbf9f85fc7b0d57828592 SHA512 f4997b03834966fbda5aa28c392712ed53dda4f3d3b70b52d73e96c39612158c88f24543e0bcf74cea8ba24d108e2d64026ce3d4364f6eabbc9034ca5adf4814
-DIST nanoc-4.11.11.tar.gz 308375 BLAKE2B aed881153fb57561b62e5c5efb771777e3944232f5963dcf8bf5461802c7767b14776c161aa19bd0905b6ff5f91932d6b2ef2f0a90594e530beeac201e413568 SHA512 6db50ffb5b91e74e3d830fc8c154dcadec35376c18d8c8b909799b1d51031d307f70113f2319b1a5163ba746a2304a1aa3949e414a50e02e7396d5fd26e15a3f
-DIST nanoc-4.11.12.tar.gz 310160 BLAKE2B ef34bf6d28d5a9287053a939ef14bc59f99bde003d7bbcd7eee861ab882a6beaa48812137c8ad87fe464d27e371cfd40022467f8d10ac5f85ff16ef19215e340 SHA512 0503d0a6a0cf1ca9a9c57b831f320abb5102a3e7aa82c016d1f72c4d9f614ef53a0e4df30d50e05a98107fecacae4d70dfa5ee5c15910d575bc30df411430863
+DIST nanoc-4.12.16.tar.gz 350823 BLAKE2B 8196589290b5120b74bd2063e60f1fad14af98f7c8ffcef0a226d28ecb3f129ab04c913ad921e64c9551965c8fe1e26da1e0f41baa64a75caa372d6796c5084b SHA512 e04a562d87250286a9fbdc0381fdc64868f87f67d1ae9ce81f0e21c13496e168cfc4936c02b3cba87e8d647ab070670a208722fd53f4265eb3674b7ba20ccebd
+DIST nanoc-4.12.17.tar.gz 350964 BLAKE2B ca19c259eac8005f2612f61b902005d43196e3e01e8bb0c7a77f9f68bc27486ad6e6e9860420817a633b9a48973f7d98689046cbdb6fe4c185ae18583168d6d2 SHA512 d5a8d3711642f65078102be9317ac2b7db3635c5ff5616d2c05fd917e5cba76a8a21ceeb0a84565723d334f8d62cb55c8097eac07c9bc30f783916c8d312b8c1
+DIST nanoc-4.12.19.tar.gz 352620 BLAKE2B 1e6f7e4b49ffd52f985c8a8e4f33401b03abf64569c719a888c603cc8cf1cc2409cf5513dccaa3517bc2d4180e60bec4060db7672d999c486bc4e2138e272946 SHA512 0118eda03479bbdc75098e789ab1095942dfc8967dc6f628e07a93826241845df253eb5701803df2386cf56aaabf6670ed3e8589dcfdcdd331a13def3b05374c
+DIST nanoc-4.12.20.tar.gz 355843 BLAKE2B 44974de8d84af651f636f369206875a42aa349f78a98d6425cea5d65cc30a5bcbbc10975493b58b87605ae5efb7748712b69e652b94a146242df8fbc3ce8cc87 SHA512 b714ac4e743be390dc1484ed29b018da51751f704667cabd8c9c8c7f937eb32863da33f5e7b53838d641e1448e582b9aa729d38df9f25c6eb21358aafd3dbd8c
+DIST nanoc-4.12.21.tar.gz 356922 BLAKE2B 7395bfdba8d27c6f60b8df072bc862c3541beafc4aa36fa5e5e6cce1d558eed462e445fe8414ec952c65840b2eab6cd3457b49a537b8197642bf3bf79074bb71 SHA512 a68af1ef19affe2188a7b4813bda24dd75d6e1c9de4465dd68271c22efb1b7af302906a58465cd177e8dd4922bd3a2292dd3059458e77f8e3e637bf63b3330b7
diff --git a/www-apps/nanoc/metadata.xml b/www-apps/nanoc/metadata.xml
index 9abf9c6b8ec2..22405e20a48d 100644
--- a/www-apps/nanoc/metadata.xml
+++ b/www-apps/nanoc/metadata.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person"><email>graaff@gentoo.org</email></maintainer>
<maintainer type="project">
<email>ruby@gentoo.org</email>
<name>Gentoo Ruby Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">nanoc/nanoc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/www-apps/nanoc/nanoc-4.11.12.ebuild b/www-apps/nanoc/nanoc-4.12.16.ebuild
index de28a28b1206..96152932c2bc 100644
--- a/www-apps/nanoc/nanoc-4.11.12.ebuild
+++ b/www-apps/nanoc/nanoc-4.12.16.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-USE_RUBY="ruby24 ruby25 ruby26"
+EAPI=8
+USE_RUBY="ruby30 ruby31 ruby32"
RUBY_FAKEGEM_EXTRADOC="NEWS.md README.md"
@@ -11,7 +11,7 @@ RUBY_FAKEGEM_GEMSPEC="nanoc.gemspec"
inherit ruby-fakegem
DESCRIPTION="nanoc is a simple but very flexible static site generator written in Ruby"
-HOMEPAGE="https://nanoc.ws/"
+HOMEPAGE="https://nanoc.app/"
SRC_URI="https://github.com/nanoc/nanoc/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
@@ -30,13 +30,12 @@ ruby_add_rdepend "!minimal? (
)
>=dev-ruby/addressable-2.5
>=dev-ruby/colored-1.2:0
- >=dev-ruby/cri-2.15:0
+ >=www-apps/nanoc-checking-1.0.2:1
+ ~www-apps/nanoc-cli-${PV}
~www-apps/nanoc-core-${PV}
+ www-apps/nanoc-deploying:1
>=dev-ruby/parallel-1.12:1
- >=dev-ruby/tomlrb-1.2:1
>=dev-ruby/tty-command-0.8:0
- >=dev-ruby/tty-file-0.7:0
- >=dev-ruby/tty-platform-0.2:0
>=dev-ruby/tty-which-0.4:0
"
@@ -67,11 +66,11 @@ doc? (
all_ruby_prepare() {
# Avoid unneeded development dependencies
- sed -i -e '/simplecov/,/SimpleCov.formatter/ s:^:#:' test/helper.rb || die
sed -i -e '/simplecov/I s:^:#:' \
- -e '/codecov/I s:^:#:' ../common/spec/spec_helper_head_core.rb || die
+ -e '/codecov/I s:^:#:' test/helper.rb ../common/spec/spec_helper_head_core.rb || die
sed -i -e '/coverall/I s:^:#:' \
-e '/rubocop/ s:^:#:' Rakefile || die
+ sed -i -e '2igem "psych", "~> 4.0"' test/helper.rb || die
echo "-r ./spec/spec_helper.rb" > .rspec || die
@@ -82,17 +81,23 @@ all_ruby_prepare() {
# about the local network environment.
rm -f test/checking/checks/test_{css,html}.rb spec/nanoc/cli/commands/view_spec.rb || die
- # Avoid tests for unpackaged dependencies
- rm spec/nanoc/deploying/fog_spec.rb \
- spec/nanoc/filters/less_spec.rb \
- test/filters/test_{markaby,rainpress}.rb || die
+ # Avoid tests for unpackaged or obsolete dependencies
+ rm spec/nanoc/filters/less_spec.rb \
+ test/filters/test_{erubis,markaby,rainpress}.rb || die
+
+ # Avoid tests that are specific to haml 6.x which is currently not packaged
+ sed -i -e '/test_filter_\(with_proper_indentation\|error\)/askip "haml 6"' test/filters/test_haml.rb || die
# Avoid non-fatal failing tests due to specifics in the environment
- sed -i -e '145askip "gentoo"' spec/nanoc/cli/error_handler_spec.rb || die
- sed -i -e '/watches with --watch/askip "gentoo"' spec/nanoc/cli/commands/compile_spec.rb || die
- sed -i -e '124askip "ordering issues"' -e '168askip "ordering issues"' spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '124askip "ordering issues"' -e '168askip "ordering issues"' \
+ -i spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '/def test_default_encoding/,/^ end/ s:^:#:' \
+ -i test/orig_cli/commands/test_create_site.rb || die
+
+ # Fix deprecated minitest constant
+ sed -i -e 's/MiniTest/Minitest/' test/rule_dsl/test_rules_collection.rb || die
}
each_ruby_test() {
- RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
+ MT_NO_PLUGINS=true RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
}
diff --git a/www-apps/nanoc/nanoc-4.11.10.ebuild b/www-apps/nanoc/nanoc-4.12.17.ebuild
index de28a28b1206..a4a5b6c23b41 100644
--- a/www-apps/nanoc/nanoc-4.11.10.ebuild
+++ b/www-apps/nanoc/nanoc-4.12.17.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-USE_RUBY="ruby24 ruby25 ruby26"
+EAPI=8
+USE_RUBY="ruby31 ruby32"
RUBY_FAKEGEM_EXTRADOC="NEWS.md README.md"
@@ -11,7 +11,7 @@ RUBY_FAKEGEM_GEMSPEC="nanoc.gemspec"
inherit ruby-fakegem
DESCRIPTION="nanoc is a simple but very flexible static site generator written in Ruby"
-HOMEPAGE="https://nanoc.ws/"
+HOMEPAGE="https://nanoc.app/"
SRC_URI="https://github.com/nanoc/nanoc/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
@@ -30,13 +30,12 @@ ruby_add_rdepend "!minimal? (
)
>=dev-ruby/addressable-2.5
>=dev-ruby/colored-1.2:0
- >=dev-ruby/cri-2.15:0
+ >=www-apps/nanoc-checking-1.0.2:1
+ ~www-apps/nanoc-cli-${PV}
~www-apps/nanoc-core-${PV}
+ www-apps/nanoc-deploying:1
>=dev-ruby/parallel-1.12:1
- >=dev-ruby/tomlrb-1.2:1
>=dev-ruby/tty-command-0.8:0
- >=dev-ruby/tty-file-0.7:0
- >=dev-ruby/tty-platform-0.2:0
>=dev-ruby/tty-which-0.4:0
"
@@ -67,11 +66,11 @@ doc? (
all_ruby_prepare() {
# Avoid unneeded development dependencies
- sed -i -e '/simplecov/,/SimpleCov.formatter/ s:^:#:' test/helper.rb || die
sed -i -e '/simplecov/I s:^:#:' \
- -e '/codecov/I s:^:#:' ../common/spec/spec_helper_head_core.rb || die
+ -e '/codecov/I s:^:#:' test/helper.rb ../common/spec/spec_helper_head_core.rb || die
sed -i -e '/coverall/I s:^:#:' \
-e '/rubocop/ s:^:#:' Rakefile || die
+ sed -i -e '2igem "psych", "~> 4.0"' test/helper.rb || die
echo "-r ./spec/spec_helper.rb" > .rspec || die
@@ -82,17 +81,23 @@ all_ruby_prepare() {
# about the local network environment.
rm -f test/checking/checks/test_{css,html}.rb spec/nanoc/cli/commands/view_spec.rb || die
- # Avoid tests for unpackaged dependencies
- rm spec/nanoc/deploying/fog_spec.rb \
- spec/nanoc/filters/less_spec.rb \
- test/filters/test_{markaby,rainpress}.rb || die
+ # Avoid tests for unpackaged or obsolete dependencies
+ rm spec/nanoc/filters/less_spec.rb \
+ test/filters/test_{erubis,markaby,rainpress}.rb || die
+
+ # Avoid tests that are specific to haml 6.x which is currently not packaged
+ sed -i -e '/test_filter_\(with_proper_indentation\|error\)/askip "haml 6"' test/filters/test_haml.rb || die
# Avoid non-fatal failing tests due to specifics in the environment
- sed -i -e '145askip "gentoo"' spec/nanoc/cli/error_handler_spec.rb || die
- sed -i -e '/watches with --watch/askip "gentoo"' spec/nanoc/cli/commands/compile_spec.rb || die
- sed -i -e '124askip "ordering issues"' -e '168askip "ordering issues"' spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '124askip "ordering issues"' -e '168askip "ordering issues"' \
+ -i spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '/def test_default_encoding/,/^ end/ s:^:#:' \
+ -i test/orig_cli/commands/test_create_site.rb || die
+
+ # Fix deprecated minitest constant
+ sed -i -e 's/MiniTest/Minitest/' test/rule_dsl/test_rules_collection.rb || die
}
each_ruby_test() {
- RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
+ MT_NO_PLUGINS=true RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
}
diff --git a/www-apps/nanoc/nanoc-4.11.11.ebuild b/www-apps/nanoc/nanoc-4.12.19.ebuild
index de28a28b1206..a79a4d304195 100644
--- a/www-apps/nanoc/nanoc-4.11.11.ebuild
+++ b/www-apps/nanoc/nanoc-4.12.19.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-USE_RUBY="ruby24 ruby25 ruby26"
+EAPI=8
+USE_RUBY="ruby31 ruby32"
RUBY_FAKEGEM_EXTRADOC="NEWS.md README.md"
@@ -11,7 +11,7 @@ RUBY_FAKEGEM_GEMSPEC="nanoc.gemspec"
inherit ruby-fakegem
DESCRIPTION="nanoc is a simple but very flexible static site generator written in Ruby"
-HOMEPAGE="https://nanoc.ws/"
+HOMEPAGE="https://nanoc.app/"
SRC_URI="https://github.com/nanoc/nanoc/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
@@ -30,13 +30,12 @@ ruby_add_rdepend "!minimal? (
)
>=dev-ruby/addressable-2.5
>=dev-ruby/colored-1.2:0
- >=dev-ruby/cri-2.15:0
+ >=www-apps/nanoc-checking-1.0.2:1
+ ~www-apps/nanoc-cli-${PV}
~www-apps/nanoc-core-${PV}
+ www-apps/nanoc-deploying:1
>=dev-ruby/parallel-1.12:1
- >=dev-ruby/tomlrb-1.2:1
>=dev-ruby/tty-command-0.8:0
- >=dev-ruby/tty-file-0.7:0
- >=dev-ruby/tty-platform-0.2:0
>=dev-ruby/tty-which-0.4:0
"
@@ -67,11 +66,11 @@ doc? (
all_ruby_prepare() {
# Avoid unneeded development dependencies
- sed -i -e '/simplecov/,/SimpleCov.formatter/ s:^:#:' test/helper.rb || die
sed -i -e '/simplecov/I s:^:#:' \
- -e '/codecov/I s:^:#:' ../common/spec/spec_helper_head_core.rb || die
+ -e '/codecov/I s:^:#:' test/helper.rb ../common/spec/spec_helper_head_core.rb || die
sed -i -e '/coverall/I s:^:#:' \
-e '/rubocop/ s:^:#:' Rakefile || die
+ # sed -i -e '2igem "psych", "~> 4.0"' test/helper.rb || die
echo "-r ./spec/spec_helper.rb" > .rspec || die
@@ -82,17 +81,23 @@ all_ruby_prepare() {
# about the local network environment.
rm -f test/checking/checks/test_{css,html}.rb spec/nanoc/cli/commands/view_spec.rb || die
- # Avoid tests for unpackaged dependencies
- rm spec/nanoc/deploying/fog_spec.rb \
- spec/nanoc/filters/less_spec.rb \
- test/filters/test_{markaby,rainpress}.rb || die
+ # Avoid tests for unpackaged or obsolete dependencies
+ rm spec/nanoc/filters/less_spec.rb \
+ test/filters/test_{erubis,markaby,rainpress}.rb || die
+
+ # Avoid tests that are specific to haml 6.x which is currently not packaged
+ sed -i -e '/test_filter_\(with_proper_indentation\|error\)/askip "haml 6"' test/filters/test_haml.rb || die
# Avoid non-fatal failing tests due to specifics in the environment
- sed -i -e '145askip "gentoo"' spec/nanoc/cli/error_handler_spec.rb || die
- sed -i -e '/watches with --watch/askip "gentoo"' spec/nanoc/cli/commands/compile_spec.rb || die
- sed -i -e '124askip "ordering issues"' -e '168askip "ordering issues"' spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '124askip "ordering issues"' -e '168askip "ordering issues"' \
+ -i spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '/def test_default_encoding/,/^ end/ s:^:#:' \
+ -i test/orig_cli/commands/test_create_site.rb || die
+
+ # Fix deprecated minitest constant
+ sed -i -e 's/MiniTest/Minitest/' test/rule_dsl/test_rules_collection.rb || die
}
each_ruby_test() {
- RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
+ MT_NO_PLUGINS=true RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
}
diff --git a/www-apps/nanoc/nanoc-4.12.20.ebuild b/www-apps/nanoc/nanoc-4.12.20.ebuild
new file mode 100644
index 000000000000..0a76eadc44dc
--- /dev/null
+++ b/www-apps/nanoc/nanoc-4.12.20.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby31 ruby32"
+
+RUBY_FAKEGEM_EXTRADOC="NEWS.md README.md"
+
+RUBY_FAKEGEM_GEMSPEC="nanoc.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="nanoc is a simple but very flexible static site generator written in Ruby"
+HOMEPAGE="https://nanoc.app/"
+SRC_URI="https://github.com/nanoc/nanoc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="MIT"
+
+KEYWORDS="~amd64"
+SLOT="0"
+IUSE="${IUSE} minimal"
+
+DEPEND+="test? ( app-text/asciidoc app-text/highlight )"
+
+RUBY_S="${P}/nanoc"
+
+ruby_add_rdepend "!minimal? (
+ dev-ruby/mime-types:*
+ dev-ruby/rack:*
+ www-servers/adsf
+)
+ >=dev-ruby/addressable-2.5
+ >=dev-ruby/colored-1.2:0
+ >=www-apps/nanoc-checking-1.0.3:1
+ ~www-apps/nanoc-cli-${PV}
+ ~www-apps/nanoc-core-${PV}
+ www-apps/nanoc-deploying:1
+ >=dev-ruby/parallel-1.12:1
+ >=dev-ruby/tty-command-0.8:0
+ >=dev-ruby/tty-which-0.4:0
+"
+
+ruby_add_bdepend "test? (
+ dev-ruby/rspec:3
+ dev-ruby/asciidoctor
+ dev-ruby/fuubar
+ dev-ruby/haml
+ dev-ruby/maruku
+ >=dev-ruby/mocha-0.13
+ dev-ruby/minitest
+ dev-ruby/mustache
+ dev-ruby/pry
+ dev-ruby/rdoc
+ >=dev-ruby/rouge-3.5.1:2
+ dev-ruby/rspec-its
+ dev-ruby/rubypants
+ dev-ruby/systemu
+ dev-ruby/timecop
+ dev-ruby/vcr
+ dev-ruby/webmock
+ dev-ruby/yard
+ www-apps/nanoc-spec
+)
+doc? (
+ dev-ruby/kramdown
+ dev-ruby/rdiscount
+ dev-ruby/yard
+)"
+
+all_ruby_prepare() {
+ # Avoid unneeded development dependencies
+ sed -i -e '/simplecov/I s:^:#:' \
+ -e '/codecov/I s:^:#:' test/helper.rb ../common/spec/spec_helper_head_core.rb || die
+ sed -i -e '/coverall/I s:^:#:' \
+ -e '/rubocop/ s:^:#:' Rakefile || die
+ # sed -i -e '2igem "psych", "~> 4.0"' test/helper.rb || die
+
+ echo "-r ./spec/spec_helper.rb" > .rspec || die
+
+ # Avoid basepath issues when generating gemspec
+ sed -i -e "s:require_relative ':require './:" ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Avoid tests requiring a network connection or make assumptions
+ # about the local network environment.
+ rm -f test/checking/checks/test_{css,html}.rb spec/nanoc/cli/commands/view_spec.rb || die
+
+ # Avoid tests for unpackaged or obsolete dependencies
+ rm spec/nanoc/filters/less_spec.rb \
+ test/filters/test_{erubis,markaby,rainpress}.rb || die
+
+ # Avoid tests that are specific to haml 6.x which is currently not packaged
+ sed -i -e '/test_filter_\(with_proper_indentation\|error\)/askip "haml 6"' test/filters/test_haml.rb || die
+
+ # Avoid non-fatal failing tests due to specifics in the environment
+ sed -e '124askip "ordering issues"' -e '168askip "ordering issues"' \
+ -i spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '/def test_default_encoding/,/^ end/ s:^:#:' \
+ -i test/orig_cli/commands/test_create_site.rb || die
+
+ # Fix deprecated minitest constant
+ sed -i -e 's/MiniTest/Minitest/' test/rule_dsl/test_rules_collection.rb || die
+}
+
+each_ruby_test() {
+ MT_NO_PLUGINS=true RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
+}
diff --git a/www-apps/nanoc/nanoc-4.12.21.ebuild b/www-apps/nanoc/nanoc-4.12.21.ebuild
new file mode 100644
index 000000000000..b095445b3524
--- /dev/null
+++ b/www-apps/nanoc/nanoc-4.12.21.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_EXTRADOC="NEWS.md README.md"
+
+RUBY_FAKEGEM_GEMSPEC="nanoc.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="nanoc is a simple but very flexible static site generator written in Ruby"
+HOMEPAGE="https://nanoc.app/"
+SRC_URI="https://github.com/nanoc/nanoc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="MIT"
+
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="${IUSE} minimal"
+
+DEPEND+="test? ( app-text/asciidoc app-text/highlight )"
+
+RUBY_S="${P}/nanoc"
+
+ruby_add_rdepend "!minimal? (
+ dev-ruby/mime-types:*
+ dev-ruby/rack:*
+ www-servers/adsf
+)
+ >=dev-ruby/addressable-2.5
+ >=dev-ruby/colored-1.2:0
+ >=www-apps/nanoc-checking-1.0.5:1
+ ~www-apps/nanoc-cli-${PV}
+ ~www-apps/nanoc-core-${PV}
+ www-apps/nanoc-deploying:1
+ >=dev-ruby/parallel-1.12:1
+ >=dev-ruby/tty-command-0.8:0
+ >=dev-ruby/tty-which-0.4:0
+"
+
+ruby_add_bdepend "test? (
+ dev-ruby/rspec:3
+ dev-ruby/asciidoctor
+ dev-ruby/fuubar
+ dev-ruby/haml
+ dev-ruby/maruku
+ >=dev-ruby/mocha-0.13
+ dev-ruby/minitest
+ dev-ruby/mustache
+ dev-ruby/pry
+ dev-ruby/rdoc
+ >=dev-ruby/rouge-3.5.1:2
+ dev-ruby/rspec-its
+ dev-ruby/rubypants
+ dev-ruby/systemu
+ dev-ruby/timecop
+ dev-ruby/vcr
+ dev-ruby/webmock
+ dev-ruby/yard
+ www-apps/nanoc-spec
+)
+doc? (
+ dev-ruby/kramdown
+ dev-ruby/rdiscount
+ dev-ruby/yard
+)"
+
+all_ruby_prepare() {
+ # Avoid unneeded development dependencies
+ sed -i -e '/simplecov/I s:^:#:' \
+ -e '/codecov/I s:^:#:' test/helper.rb ../common/spec/spec_helper_head_core.rb || die
+ sed -i -e '/coverall/I s:^:#:' \
+ -e '/rubocop/ s:^:#:' Rakefile || die
+ # sed -i -e '2igem "psych", "~> 4.0"' test/helper.rb || die
+
+ echo "-r ./spec/spec_helper.rb" > .rspec || die
+
+ # Avoid basepath issues when generating gemspec
+ sed -i -e "s:require_relative ':require './:" ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Avoid tests requiring a network connection or make assumptions
+ # about the local network environment.
+ rm -f test/checking/checks/test_{css,html}.rb spec/nanoc/cli/commands/view_spec.rb || die
+
+ # Avoid tests for unpackaged or obsolete dependencies
+ rm spec/nanoc/filters/less_spec.rb \
+ test/filters/test_{erubis,markaby,rainpress}.rb || die
+
+ # Avoid tests that are specific to haml 6.x which is currently not packaged
+ sed -i -e '/test_filter_\(with_proper_indentation\|error\)/askip "haml 6"' test/filters/test_haml.rb || die
+
+ # Avoid non-fatal failing tests due to specifics in the environment
+ sed -e '124askip "ordering issues"' -e '168askip "ordering issues"' \
+ -i spec/nanoc/data_sources/filesystem_spec.rb || die
+ sed -e '/def test_default_encoding/,/^ end/ s:^:#:' \
+ -i test/orig_cli/commands/test_create_site.rb || die
+
+ # Fix deprecated minitest constant
+ sed -i -e 's/MiniTest/Minitest/' test/rule_dsl/test_rules_collection.rb || die
+}
+
+each_ruby_test() {
+ MT_NO_PLUGINS=true RUBYLIB="${S}/lib" ${RUBY} -S rake spec test_all || die
+}