diff options
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r-- | gnu/packages/web.scm | 158 |
1 files changed, 88 insertions, 70 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a56b313e2c..59bacf61be 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -134,11 +134,6 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) - #:use-module (gnu packages crates-crypto) - #:use-module (gnu packages crates-io) - #:use-module (gnu packages crates-gtk) - #:use-module (gnu packages crates-tls) - #:use-module (gnu packages crates-web) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -521,37 +516,18 @@ replacing them with data URIs.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "082xh0zmmy9abz7y3zjybbwffq7d0j1jl78ggzbwwanvam65v0dp")))) + (base32 "082xh0zmmy9abz7y3zjybbwffq7d0j1jl78ggzbwwanvam65v0dp")) + (modules '((guix build utils))) + ;; Don't default to vendored openssl. + (snippet '(substitute* "Cargo.toml" + ((".*\"vendored-openssl\".*") ""))))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-atty" ,rust-atty-0.2) - ("rust-base64" ,rust-base64-0.22) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-3) - ("rust-cssparser" ,rust-cssparser-0.34) - ("rust-encoding-rs" ,rust-encoding-rs-0.8) - ("rust-html5ever" ,rust-html5ever-0.27) - ("rust-markup5ever-rcdom" ,rust-markup5ever-rcdom-0.3) - ("rust-openssl" ,rust-openssl-0.10) - ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-regex" ,rust-regex-1) - ("rust-reqwest" ,rust-reqwest-0.12) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-2)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'dont-default-to-vendored-openssl - (lambda _ - (substitute* "Cargo.toml" - ((".*\"vendored-openssl\".*") ""))))))) + `(#:install-source? #f)) (native-inputs (list pkg-config)) (inputs - (list openssl)) + (cons openssl (cargo-inputs 'monolith))) (home-page "https://github.com/Y2Z/monolith") (synopsis "Command line tool for saving web pages as a single HTML file") (description @@ -1141,7 +1117,7 @@ similar to live activity monitoring provided with NGINX plus.") (define-public lighttpd (package (name "lighttpd") - (version "1.4.80") + (version "1.4.81") (source (origin (method url-fetch) (uri (string-append "https://download.lighttpd.net/lighttpd/" @@ -1149,7 +1125,7 @@ similar to live activity monitoring provided with NGINX plus.") "lighttpd-" version ".tar.xz")) (sha256 (base32 - "1wsvy92dsyhlq99b7rvlj5n72m7rqggr27jxajnnpvmjx1qhypyc")))) + "0h2q5a251kw1ky83x8yvgn9wbjm39n7x39ssj4ybd57xs8zjrm6p")))) (build-system gnu-build-system) (arguments (list #:configure-flags @@ -1342,6 +1318,42 @@ libraries for working with JNLP applets.") ;; or dual licenses. (license license:gpl2+))) +(define-public iocaine + (package + (name "iocaine") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "iocaine" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1pd42hn5lqm3xw6id652w7sswix3l6bslcld7svqyq47gscsm3vn")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'override-jemalloc + (lambda* (#:key inputs #:allow-other-keys) ;Copied from uv + (let ((jemalloc (assoc-ref inputs "jemalloc"))) + ;; This flag is needed when not using the bundled jemalloc. + ;; https://github.com/tikv/jemallocator/issues/19 + (setenv + "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1") + (setenv "JEMALLOC_OVERRIDE" + (string-append jemalloc "/lib/libjemalloc.so")))))))) + (inputs (cons* jemalloc (cargo-inputs 'iocaine))) + (home-page "https://iocaine.madhouse-project.org/") + (synopsis "Serves poisonous data to large language model scrapers") + (description + "Iocaine is an HTTP server that generates a stable endless maze of +Markov-babble-filled web pages. Placed behind a heavily rate-limited reverse +proxy, it becomes a ``tar pit'' for trapping aggressive web scrapers commonly +used to train large language models, and poisoning the collected data.") + (license license:expat))) + (define-public jansson (package (name "jansson") @@ -1711,25 +1723,41 @@ current version of any major web browser.") (delete-file-recursively "bin/jsonchecker"))))) (build-system cmake-build-system) (arguments - '(#:configure-flags (list "-DCMAKE_CXX_FLAGS=-Wno-free-nonheap-object") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-march=native - (lambda _ - (substitute* "CMakeLists.txt" - (("-m[^-]*=native") "")))) - (add-after 'fix-march=native 'skip-deleted-tests - (lambda _ - (substitute* "test/unittest/CMakeLists.txt" - (("jsoncheckertest.cpp") "")))) - (add-after 'fix-march=native 'fix-dependencies - (lambda _ - (substitute* "test/CMakeLists.txt" - (("^find_package\\(GTestSrc\\)") - "find_package(GTest REQUIRED)") - ((".*GTEST_SOURCE_DIR.*") "") - (("GTESTSRC_FOUND)") - "GTest_FOUND)"))))))) + (list + #:configure-flags + (if (target-x86-32?) + #~(list (string-append "-DCMAKE_CXX_FLAGS=-Wno-free-nonheap-object" + " -Wno-error=array-bounds" + " -Wno-error=stringop-overflow")) + #~(list "-DCMAKE_CXX_FLAGS=-Wno-free-nonheap-object")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-march=native + (lambda _ + (substitute* "CMakeLists.txt" + (("-m[^-]*=native") "")))) + #$@(if (target-x86-32?) + #~((add-after 'unpack 'skip-failing-tests + (lambda _ + (substitute* "test/unittest/schematest.cpp" + (("\"multipleOf\\.json\"," all) + (string-append "/*" all "*/"))) + ;; XXX: Re-enable once valgrind/pinned >= 3.25. + (substitute* "test/unittest/CMakeLists.txt" + (("COMMAND valgrind") "COMMAND true valgrind"))))) + #~()) + (add-after 'fix-march=native 'skip-deleted-tests + (lambda _ + (substitute* "test/unittest/CMakeLists.txt" + (("jsoncheckertest.cpp") "")))) + (add-after 'fix-march=native 'fix-dependencies + (lambda _ + (substitute* "test/CMakeLists.txt" + (("^find_package\\(GTestSrc\\)") + "find_package(GTest REQUIRED)") + ((".*GTEST_SOURCE_DIR.*") "") + (("GTESTSRC_FOUND)") + "GTest_FOUND)"))))))) (native-inputs (list valgrind/pinned)) (inputs (list googletest)) (home-page "https://github.com/Tencent/rapidjson") @@ -7602,27 +7630,17 @@ file links.") (invoke "make" (string-append "PREFIX=" #$output) "copy-data")))) #:parallel-tests? #f ; As per the Makefile - #:install-source? #f - #:cargo-inputs - `(("rust-ansi-parser" ,rust-ansi-parser-0.6) - ("rust-dirs" ,rust-dirs-3) - ("rust-gdk" ,rust-gdk-0.13) - ("rust-gtk" ,rust-gtk-0.8) - ("rust-linkify" ,rust-linkify-0.7) - ("rust-native-tls" ,rust-native-tls-0.2) - ("rust-open" ,rust-open-2) - ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-textwrap" ,rust-textwrap-0.14) - ("rust-url" ,rust-url-2)))) + #:install-source? #f)) (native-inputs (list pkg-config)) (inputs - (list at-spi2-core - cairo - gdk-pixbuf - gtk+ - openssl-3.0 - pango)) + (cons* at-spi2-core + cairo + gdk-pixbuf + gtk+ + openssl-3.0 + pango + (cargo-inputs 'castor))) (home-page "https://git.sr.ht/~julienxx/castor") (synopsis "Graphical client for plain-text protocols") (description |