From: Jean Pierre De Jesus DIAZ via Guix-patches via <guix-patches@gnu.org>
To: 57043@debbugs.gnu.org
Subject: [bug#57043] [PATCH] gnu: rust-freetype-sys-0.13: Unbundle freetype2.
Date: Sun, 07 Aug 2022 18:39:55 +0000 [thread overview]
Message-ID: <HGgZmDLEAonfFN-y6zfOKMo8NKy1RXvOfRvKz_NhjsFPW6NMdGToBoJpBnJ5Rh8b6eRsJjw7UpVAxlhZeJww-6VXMmYswdYS2QXvB1fdEBE=@jeandudey.tech> (raw)
[-- Attachment #1: Type: text/plain, Size: 228 bytes --]
Hello,
This patch removes the bundled freetype2 library on `rust-freetype-sys-0.13'.
Also removes unneeded build dependencies (`pkg-config' and `cmake').
One less bundled dependency ;).
—
Jean-Pierre De Jesus DIAZ
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-rust-freetype-sys-0.13-Unbundle-freetype2.patch --]
[-- Type: text/x-patch; name=0001-gnu-rust-freetype-sys-0.13-Unbundle-freetype2.patch, Size: 4349 bytes --]
From f6dec2567dc997a32ef308bd42d259ac60dbbab5 Mon Sep 17 00:00:00 2001
From: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
Date: Sun, 7 Aug 2022 20:36:14 +0200
Subject: [PATCH] gnu: rust-freetype-sys-0.13: Unbundle freetype2.
* gnu/packages/crates-io.scm (rust-freetype-sys-0.13)
[source]: Remove bundled `freetype2' source code and add patch to use
system library.
---
gnu/packages/crates-io.scm | 16 +++---
...ust-freetype-sys-0.13-simplify-build.patch | 53 +++++++++++++++++++
2 files changed, 63 insertions(+), 6 deletions(-)
create mode 100644 gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cfafce9aa3..cddd8ebaf0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Evgenii Lepikhin <e.lepikhin@corp.mail.ru>
+;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22904,14 +22905,17 @@ (define-public rust-freetype-sys-0.13
(uri (crate-uri "freetype-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "06kkds31s6b1i39dyanwmzbnic7laia1kk3gfvx8sqncq08l0zd3"))))
+ (base32 "06kkds31s6b1i39dyanwmzbnic7laia1kk3gfvx8sqncq08l0zd3"))
+ (patches (search-patches "rust-freetype-sys-0.13-simplify-build.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "freetype2"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-cmake" ,rust-cmake-0.1)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-pkg-config" ,rust-pkg-config-0.3))))
+ `(#:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2))))
+ (inputs
+ (list freetype))
(home-page "https://github.com/PistonDevelopers/freetype-sys")
(synopsis "Low level binding for FreeType font library")
(description
diff --git a/gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch b/gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch
new file mode 100644
index 0000000000..bb16f3e065
--- /dev/null
+++ b/gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch
@@ -0,0 +1,53 @@
+Force freetype-sys to use system libraries, this removes the need for CMake.
+
+The bundled source is still present at the crate package, it should be removed
+through a package snippet.
+
+diff -Naur freetype-sys-0.13.1/Cargo.toml freetype-sys-0.13.1-patch/Cargo.toml > 1.patch
+--- freetype-sys-0.13.1/Cargo.toml 2020-07-05 11:15:43.000000000 +0200
++++ freetype-sys-0.13.1-patch/Cargo.toml 2022-08-07 19:53:57.649678214 +0200
+@@ -24,8 +24,3 @@
+ repository = "https://github.com/PistonDevelopers/freetype-sys.git"
+ [dependencies.libc]
+ version = "0.2.42"
+-[build-dependencies.cmake]
+-version = "0.1.42"
+-
+-[build-dependencies.pkg-config]
+-version = "0.3.11"
+diff -Naur freetype-sys-0.13.1/build.rs freetype-sys-0.13.1-patch/build.rs > 2.patch
+--- freetype-sys-0.13.1/build.rs 2020-05-30 05:59:09.000000000 +0200
++++ freetype-sys-0.13.1-patch/build.rs 2022-08-07 19:54:34.153503846 +0200
+@@ -1,30 +1,4 @@
+-extern crate cmake;
+-extern crate pkg_config;
+-
+-use cmake::Config;
+-use std::env;
+-
+ fn main() {
+- let target = env::var("TARGET").unwrap();
+- if !target.contains("android")
+- && pkg_config::Config::new().atleast_version("18.5.12").find("freetype2").is_ok()
+- {
+- return
+- }
+-
+- let mut config = Config::new("freetype2");
+- if let Ok(s) = env::var("FREETYPE_CMAKE_GENERATOR") {
+- config.generator(s);
+- }
+- let dst = config
+- .define("WITH_BZip2", "OFF")
+- .define("WITH_HarfBuzz", "OFF")
+- .define("WITH_PNG", "OFF")
+- .define("WITH_ZLIB", "OFF")
+- .profile("Release")
+- .build();
+- let out_dir = env::var("OUT_DIR").unwrap();
+- println!("cargo:rustc-link-search=native={}/lib", dst.display());
+- println!("cargo:rustc-link-lib=static=freetype");
++ println!("cargo:rustc-link-lib=freetype");
+- println!("cargo:outdir={}", out_dir);
+ }
++
--
2.36.1
next reply other threads:[~2022-08-07 18:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-07 18:39 Jean Pierre De Jesus DIAZ via Guix-patches via [this message]
2022-08-07 21:59 ` [bug#57043] [PATCH] gnu: rust-freetype-sys-0.13: Unbundle freetype2 Maxime Devos
2022-08-08 14:37 ` Jean Pierre De Jesus DIAZ via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='HGgZmDLEAonfFN-y6zfOKMo8NKy1RXvOfRvKz_NhjsFPW6NMdGToBoJpBnJ5Rh8b6eRsJjw7UpVAxlhZeJww-6VXMmYswdYS2QXvB1fdEBE=@jeandudey.tech' \
--to=guix-patches@gnu.org \
--cc=57043@debbugs.gnu.org \
--cc=me@jeandudey.tech \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.