From unknown Sat Aug 09 18:40:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#37239] [PATCH] gnu: mariadb: Split into out, lib and dev. Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 30 Aug 2019 21:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37239 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 37239@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.156719959030050 (code B ref -1); Fri, 30 Aug 2019 21:14:02 +0000 Received: (at submit) by debbugs.gnu.org; 30 Aug 2019 21:13:10 +0000 Received: from localhost ([127.0.0.1]:54867 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i3oCj-0007ob-Kk for submit@debbugs.gnu.org; Fri, 30 Aug 2019 17:13:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:44370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i3oCg-0007oR-La for submit@debbugs.gnu.org; Fri, 30 Aug 2019 17:13:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45862) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i3oCc-00006o-QP for guix-patches@gnu.org; Fri, 30 Aug 2019 17:13:04 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i3oCT-0007dp-Vw for guix-patches@gnu.org; Fri, 30 Aug 2019 17:12:57 -0400 Received: from lepiller.eu ([89.234.186.109]:44572) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i3oCT-0007ZI-7r for guix-patches@gnu.org; Fri, 30 Aug 2019 17:12:53 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 8755d790 for ; Fri, 30 Aug 2019 21:12:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type; s=dkim; bh=QNF ze061M9kyLetPXoq+pV8x/HA=; b=XmeHSnYA6WLXRoC0DDbOGbKjm32ObQ6X+3z ZQFHsTisBeiHCz+/rvqdaW3H1+Tz9NKHseW3vdCsrSG8UcOAf4/6G1qVzjeIa+Wg RRnW7xvZbEcHrMLHn3RjpTvfgo92/EwBoF/grgeKqiv5A7/dTViS4RRKCJryQ9EV YU3EMLotkKMTE09Wm8j+G96ozd0gSsn1WJfNOAHmu9xNMNhi07qfPeCkRczmrG1I 49M5YOEdfE3Tvfi1H+qjU8DBL/6pRxpaqI5+zen3/0dpi/+T87TpPYNJ7FJHRIsI xqhy7XmqaGrckTfahXooNTqGdSE257Ni7fIrqtlXDB391fqAaBg== DomainKey-Signature: a=rsa-sha1; c=nofws; d=lepiller.eu; h=date:from:to :subject:message-id:mime-version:content-type; q=dns; s=dkim; b= B3SOaQ+0pljoTxg7nRMPrifZvAnhSdAqOFhKwSpCPq9dfgOcnHOGG8NnynSylQtW rpslbcusaJjcBHcFmzODyVFvP4D+QQA0ETALkSFVuwAMSK+1bb0IvCAOqKpUWJfa en+Ie1+JE+rY+Udug9GNrCwO8ig2hUUE0Vt0aKoJVfC1bWAOQiFGexYnv/MWMxck B6Ckd4xp4BYiI0lYBzq3yEeVeftSKrcetwTs4BqNGb1nid+qRl9JtRhbvQMrrrED OCKxSXK92TyWn7eFlwGGvpNA9sMJWgjMAtBX4YtzZECXbjKHUHU1mwgZ8S34BNgv i+RYfxjNyJIl7H8lBWouig== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id c9b40185 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Fri, 30 Aug 2019 21:12:46 +0000 (UTC) Date: Fri, 30 Aug 2019 23:12:39 +0200 From: Julien Lepiller Message-ID: <20190830231239.25c5f754@sybil.lepiller.eu> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/K7eI8Mkn6J20.QI6BqB5wmk" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 89.234.186.109 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --MP_/K7eI8Mkn6J20.QI6BqB5wmk Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi guix! This patch splits mariadb into three parts: out (150 MB), lib (38 MB) and dev (5 MB). This means that dependents now have a lighter closure. For instance, python-mysqlclient lost its references to gcc, perl, jemalloc and one zlib reference. It went from 537.2 MiB to only 230.4 MiB. qtbase went from ~1.3 GB to ~1.0 GB. I've rebuilt most of these direct dependents without issues, so I don't expect any issue with this patch. However, since qtbase is in the dependency graph, there are ~500 packages that need to be rebuilt, so this patch qualifies for staging. --MP_/K7eI8Mkn6J20.QI6BqB5wmk Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-gnu-mariadb-Split-into-out-lib-and-dev.patch >From 6e8caab7729e3e0fc207d7f713237895e855a638 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 30 Aug 2019 22:52:06 +0200 Subject: [PATCH] gnu: mariadb: Split into out, lib and dev. * gnu/packages/databases.scm (mariadb): Split into out, lib and dev. (perl-dbd-mysql, python-mysqlclient): Adjust dependencies. * gnu/packages/bioinformatics.scm (kentutils): Adjust dependencies. * gnu/packages/cran.scm (r-rmysql): Adjust dependencies. * gnu/packages/emacs-xyz.scm (emacs-emacsql): Adjust dependencies. * gnu/packages/kodi.scm (kodi): Adjust dependencies. * gnu/packages/qt.scm (qt, qtbase): Adjust dependencies. * gnu/packages/ruby.scm (ruby-mysql2): Adjust dependencies. --- gnu/packages/bioinformatics.scm | 3 +- gnu/packages/cran.scm | 3 +- gnu/packages/databases.scm | 57 ++++++++++++++++++++++++--------- gnu/packages/emacs-xyz.scm | 3 +- gnu/packages/kodi.scm | 3 +- gnu/packages/qt.scm | 6 ++-- gnu/packages/ruby.scm | 3 +- 7 files changed, 55 insertions(+), 23 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 62f368c139..e8859eb144 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11269,7 +11269,8 @@ models. TADbit is complemented by TADkit for visualizing 3D models.") ("tcsh" ,tcsh) ("perl" ,perl) ("libpng" ,libpng) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl))) (home-page "http://genome.cse.ucsc.edu/index.html") (synopsis "Assorted bioinformatics utilities") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 458b141f91..b4c7d4dc56 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2601,7 +2601,8 @@ dimensioned arrays.") (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (inputs - `(("mariadb" ,mariadb) + `(("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (propagated-inputs `(("r-dbi" ,r-dbi))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 066bcb6962..697df81966 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -642,9 +642,11 @@ Language.") (find-files "pcre") (find-files "zlib"))) #t)))) (build-system cmake-build-system) + (outputs '("out" "lib" "dev")) (arguments `(#:configure-flags - '("-DBUILD_CONFIG=mysql_release" + (list + "-DBUILD_CONFIG=mysql_release" ;; Linking with libarchive fails, like this: ;; ld: /gnu/store/...-libarchive-3.2.2/lib/libarchive.a(archive_entry.o): @@ -668,15 +670,26 @@ Language.") "-DDEFAULT_COLLATION=utf8_general_ci" "-DMYSQL_DATADIR=/var/lib/mysql" "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" - "-DINSTALL_INFODIR=share/mysql/docs" - "-DINSTALL_MANDIR=share/man" + (string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "lib")) + (string-append "-DCMAKE_INSTALL_RPATH=" (assoc-ref %outputs "lib") + "/lib") + (string-append "-DINSTALL_INFODIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_MANDIR=" (assoc-ref %outputs "out") + "/share/man") + (string-append "-DINSTALL_SCRIPTDIR=" (assoc-ref %outputs "out") "/bin") + (string-append "-DINSTALL_BINDIR=" (assoc-ref %outputs "out") "/bin") + "-DCMAKE_INSTALL_LIBDIR=lib" "-DINSTALL_PLUGINDIR=lib/mysql/plugin" - "-DINSTALL_SCRIPTDIR=bin" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_DOCREADMEDIR=share/mysql/docs" - "-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files" + (string-append "-DINSTALL_INCLUDEDIR=" (assoc-ref %outputs "dev") + "/include/mysql") + (string-append "-DINSTALL_DOCREADMEDIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_DOCDIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_SUPPORTFILESDIR=" (assoc-ref %outputs "out") + "/share/mysql/support-files") "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_DOCDIR=share/mysql/docs" "-DINSTALL_SHAREDIR=share") #:phases (modify-phases %standard-phases @@ -759,19 +772,29 @@ Language.") 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (test (assoc-ref outputs "test"))) + (dev (assoc-ref outputs "dev")) + (lib (assoc-ref outputs "lib"))) (substitute* (string-append out "/bin/mysql_install_db") (("basedir=\"\"") (string-append "basedir=\"" out "\""))) ;; Remove unneeded files for testing. - (with-directory-excursion out + (with-directory-excursion lib (for-each delete-file-recursively - '("data" "mysql-test" "sql-bench" - "share/man/man1/mysql-test-run.pl.1")) - ;; Delete huge and unnecessary executables. - (for-each delete-file (find-files "bin" "(test|embedded)")) + '("data" "mysql-test" "sql-bench")) ;; And static libraries. (for-each delete-file (find-files "lib" "\\.a$"))) + (with-directory-excursion out + (delete-file "share/man/man1/mysql-test-run.pl.1") + ;; Delete huge and unnecessary executables. + (for-each delete-file (find-files "bin" "(test|embedded)"))) + (mkdir-p (string-append dev "/share")) + (mkdir-p (string-append dev "/bin")) + (rename-file (string-append lib "/bin/mysqld") + (string-append out "/bin/mysqld")) + (rename-file (string-append lib "/share/pkgconfig") + (string-append dev "/share/pkgconfig")) + (rename-file (string-append out "/bin/mysql_config") + (string-append dev "/bin/mysql_config")) #t)))))) (native-inputs `(("bison" ,bison) @@ -1535,7 +1558,8 @@ columns, primary keys, unique constraints and relationships.") #:tests? #f)) (propagated-inputs `(("perl-dbi" ,perl-dbi) - ("mysql" ,mariadb))) + ("mysql" ,mariadb "lib") + ("mysql-dev" ,mariadb "dev"))) (home-page "https://metacpan.org/release/DBD-mysql") (synopsis "DBI MySQL interface") (description "This package provides a MySQL driver for the Perl5 @@ -2653,7 +2677,8 @@ database).") ("mock" ,python-mock) ("py.test" ,python-pytest))) (inputs - `(("mysql" ,mariadb) + `(("mysql" ,mariadb "lib") + ("mysql-dev" ,mariadb "dev") ("libz" ,zlib) ("openssl" ,openssl))) (home-page "https://github.com/PyMySQL/mysqlclient-python") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9e94d3fc8e..2ef85c5cfe 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10787,7 +10787,8 @@ object has been freed.") #t))))) (inputs `(("emacs-minimal" ,emacs-minimal) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("postgresql" ,postgresql))) (propagated-inputs `(("emacs-finalize" ,emacs-finalize) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index a9b5b85a47..fbb153b1f2 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -436,7 +436,8 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("lzo" ,lzo) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl) ("pcre" ,pcre) ("pulseaudio" ,pulseaudio) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 52eb46cce0..957cbd151b 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -218,7 +218,8 @@ system, and the core design of Django is reused in Grantlee.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("openssl" ,openssl) ("postgresql" ,postgresql) @@ -569,7 +570,8 @@ system, and the core design of Django is reused in Grantlee.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("openssl" ,openssl) ("pcre2" ,pcre2) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ef9792bc0f..132f254a36 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2615,7 +2615,8 @@ specs for Ruby implementations in ruby/spec.") (invoke "rspec")) #t))))) (inputs - `(("mariadb" ,mariadb) + `(("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (native-inputs `(("ruby-rspec" ,ruby-rspec) -- 2.22.0 --MP_/K7eI8Mkn6J20.QI6BqB5wmk-- From unknown Sat Aug 09 18:40:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#37239] [PATCH] gnu: mariadb: Split into out, lib and dev. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 04 Sep 2019 12:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37239 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller Cc: 37239@debbugs.gnu.org Received: via spool by 37239-submit@debbugs.gnu.org id=B37239.156759967417391 (code B ref 37239); Wed, 04 Sep 2019 12:22:01 +0000 Received: (at 37239) by debbugs.gnu.org; 4 Sep 2019 12:21:14 +0000 Received: from localhost ([127.0.0.1]:60948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i5UHi-0004WR-Ep for submit@debbugs.gnu.org; Wed, 04 Sep 2019 08:21:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38013) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i5UHg-0004WE-Vc for 37239@debbugs.gnu.org; Wed, 04 Sep 2019 08:21:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44472) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1i5UHb-0007Uw-TF; Wed, 04 Sep 2019 08:21:07 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42452 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1i5UHb-0005LP-EC; Wed, 04 Sep 2019 08:21:07 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20190830231239.25c5f754@sybil.lepiller.eu> Date: Wed, 04 Sep 2019 14:21:06 +0200 In-Reply-To: <20190830231239.25c5f754@sybil.lepiller.eu> (Julien Lepiller's message of "Fri, 30 Aug 2019 23:12:39 +0200") Message-ID: <87h85s5k25.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi! Julien Lepiller skribis: > This patch splits mariadb into three parts: out (150 MB), lib (38 MB) > and dev (5 MB). This means that dependents now have a lighter closure. > > For instance, python-mysqlclient lost its references to gcc, perl, > jemalloc and one zlib reference. It went from 537.2 MiB to only 230.4 > MiB. qtbase went from ~1.3 GB to ~1.0 GB. Nice. > I've rebuilt most of these direct dependents without issues, so I don't > expect any issue with this patch. However, since qtbase is in the > dependency graph, there are ~500 packages that need to be rebuilt, so > this patch qualifies for staging. Agreed. >>>From 6e8caab7729e3e0fc207d7f713237895e855a638 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Fri, 30 Aug 2019 22:52:06 +0200 > Subject: [PATCH] gnu: mariadb: Split into out, lib and dev. > > * gnu/packages/databases.scm (mariadb): Split into out, lib and dev. > (perl-dbd-mysql, python-mysqlclient): Adjust dependencies. > * gnu/packages/bioinformatics.scm (kentutils): Adjust dependencies. > * gnu/packages/cran.scm (r-rmysql): Adjust dependencies. > * gnu/packages/emacs-xyz.scm (emacs-emacsql): Adjust dependencies. > * gnu/packages/kodi.scm (kodi): Adjust dependencies. > * gnu/packages/qt.scm (qt, qtbase): Adjust dependencies. > * gnu/packages/ruby.scm (ruby-mysql2): Adjust dependencies. LGTM, thanks for tackling this issue! Ludo=E2=80=99. From unknown Sat Aug 09 18:40:37 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Julien Lepiller Subject: bug#37239: closed (Re: [bug#37239] [PATCH] gnu: mariadb: Split into out, lib and dev.) Message-ID: References: <20191012130855.744b8639@sybil.lepiller.eu> <20190830231239.25c5f754@sybil.lepiller.eu> X-Gnu-PR-Message: they-closed 37239 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 37239@debbugs.gnu.org Date: Sat, 12 Oct 2019 11:10:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1570878602-25059-1" This is a multi-part message in MIME format... ------------=_1570878602-25059-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #37239: [PATCH] gnu: mariadb: Split into out, lib and dev. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 37239@debbugs.gnu.org. --=20 37239: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D37239 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1570878602-25059-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 37239-done) by debbugs.gnu.org; 12 Oct 2019 11:09:07 +0000 Received: from localhost ([127.0.0.1]:60779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iJFGl-0006Uz-1O for submit@debbugs.gnu.org; Sat, 12 Oct 2019 07:09:07 -0400 Received: from lepiller.eu ([89.234.186.109]:37708) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iJFGi-0006Uo-Bz for 37239-done@debbugs.gnu.org; Sat, 12 Oct 2019 07:09:05 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 686bfb26 for <37239-done@debbugs.gnu.org>; Sat, 12 Oct 2019 11:09:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=EbqcUWzY6rL1 MulItro1lJk0Hqw=; b=YAn9fna+uUYVVRoslpw7KDexJyKO7AN3rrG4bC4C6SbP /Ky/25+1yckHO+q+QwtpmjYbPXOTMCylvrId4ikjhlYwUehB1bZnHQNGjeB6yKsO ND1oeeRXPN4KgnLxFFX7rHPj157svX/BnTLKtfUpEDMAoAkh5bC9pYARXGfho5E8 SLpcgIURfYi1P3iimDpumlKwNL7GzltNY72/OobOEWdBrvX27y4csv4GfqbFsySS u2lrJTgLZzY/a1DOw42kRjMl587rN9yMcaKokc6ruRnr9EsMfavq0bIezfUxT/D6 +5kPUQpe7ff2COQT6aj5becuWn00BNrgI859j34umw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 0e86f687 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <37239-done@debbugs.gnu.org>; Sat, 12 Oct 2019 11:09:00 +0000 (UTC) Date: Sat, 12 Oct 2019 13:08:55 +0200 From: Julien Lepiller To: 37239-done@debbugs.gnu.org Subject: Re: [bug#37239] [PATCH] gnu: mariadb: Split into out, lib and dev. Message-ID: <20191012130855.744b8639@sybil.lepiller.eu> In-Reply-To: <87h85s5k25.fsf@gnu.org> References: <20190830231239.25c5f754@sybil.lepiller.eu> <87h85s5k25.fsf@gnu.org> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37239-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Pushed as 2b8491fbbe818944baf454faf1326034022ac320 on staging. Thank you! ------------=_1570878602-25059-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 30 Aug 2019 21:13:10 +0000 Received: from localhost ([127.0.0.1]:54867 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i3oCj-0007ob-Kk for submit@debbugs.gnu.org; Fri, 30 Aug 2019 17:13:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:44370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i3oCg-0007oR-La for submit@debbugs.gnu.org; Fri, 30 Aug 2019 17:13:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45862) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i3oCc-00006o-QP for guix-patches@gnu.org; Fri, 30 Aug 2019 17:13:04 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i3oCT-0007dp-Vw for guix-patches@gnu.org; Fri, 30 Aug 2019 17:12:57 -0400 Received: from lepiller.eu ([89.234.186.109]:44572) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i3oCT-0007ZI-7r for guix-patches@gnu.org; Fri, 30 Aug 2019 17:12:53 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 8755d790 for ; Fri, 30 Aug 2019 21:12:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type; s=dkim; bh=QNF ze061M9kyLetPXoq+pV8x/HA=; b=XmeHSnYA6WLXRoC0DDbOGbKjm32ObQ6X+3z ZQFHsTisBeiHCz+/rvqdaW3H1+Tz9NKHseW3vdCsrSG8UcOAf4/6G1qVzjeIa+Wg RRnW7xvZbEcHrMLHn3RjpTvfgo92/EwBoF/grgeKqiv5A7/dTViS4RRKCJryQ9EV YU3EMLotkKMTE09Wm8j+G96ozd0gSsn1WJfNOAHmu9xNMNhi07qfPeCkRczmrG1I 49M5YOEdfE3Tvfi1H+qjU8DBL/6pRxpaqI5+zen3/0dpi/+T87TpPYNJ7FJHRIsI xqhy7XmqaGrckTfahXooNTqGdSE257Ni7fIrqtlXDB391fqAaBg== DomainKey-Signature: a=rsa-sha1; c=nofws; d=lepiller.eu; h=date:from:to :subject:message-id:mime-version:content-type; q=dns; s=dkim; b= B3SOaQ+0pljoTxg7nRMPrifZvAnhSdAqOFhKwSpCPq9dfgOcnHOGG8NnynSylQtW rpslbcusaJjcBHcFmzODyVFvP4D+QQA0ETALkSFVuwAMSK+1bb0IvCAOqKpUWJfa en+Ie1+JE+rY+Udug9GNrCwO8ig2hUUE0Vt0aKoJVfC1bWAOQiFGexYnv/MWMxck B6Ckd4xp4BYiI0lYBzq3yEeVeftSKrcetwTs4BqNGb1nid+qRl9JtRhbvQMrrrED OCKxSXK92TyWn7eFlwGGvpNA9sMJWgjMAtBX4YtzZECXbjKHUHU1mwgZ8S34BNgv i+RYfxjNyJIl7H8lBWouig== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id c9b40185 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Fri, 30 Aug 2019 21:12:46 +0000 (UTC) Date: Fri, 30 Aug 2019 23:12:39 +0200 From: Julien Lepiller To: guix-patches@gnu.org Subject: [PATCH] gnu: mariadb: Split into out, lib and dev. Message-ID: <20190830231239.25c5f754@sybil.lepiller.eu> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/K7eI8Mkn6J20.QI6BqB5wmk" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 89.234.186.109 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --MP_/K7eI8Mkn6J20.QI6BqB5wmk Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi guix! This patch splits mariadb into three parts: out (150 MB), lib (38 MB) and dev (5 MB). This means that dependents now have a lighter closure. For instance, python-mysqlclient lost its references to gcc, perl, jemalloc and one zlib reference. It went from 537.2 MiB to only 230.4 MiB. qtbase went from ~1.3 GB to ~1.0 GB. I've rebuilt most of these direct dependents without issues, so I don't expect any issue with this patch. However, since qtbase is in the dependency graph, there are ~500 packages that need to be rebuilt, so this patch qualifies for staging. --MP_/K7eI8Mkn6J20.QI6BqB5wmk Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-gnu-mariadb-Split-into-out-lib-and-dev.patch >From 6e8caab7729e3e0fc207d7f713237895e855a638 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 30 Aug 2019 22:52:06 +0200 Subject: [PATCH] gnu: mariadb: Split into out, lib and dev. * gnu/packages/databases.scm (mariadb): Split into out, lib and dev. (perl-dbd-mysql, python-mysqlclient): Adjust dependencies. * gnu/packages/bioinformatics.scm (kentutils): Adjust dependencies. * gnu/packages/cran.scm (r-rmysql): Adjust dependencies. * gnu/packages/emacs-xyz.scm (emacs-emacsql): Adjust dependencies. * gnu/packages/kodi.scm (kodi): Adjust dependencies. * gnu/packages/qt.scm (qt, qtbase): Adjust dependencies. * gnu/packages/ruby.scm (ruby-mysql2): Adjust dependencies. --- gnu/packages/bioinformatics.scm | 3 +- gnu/packages/cran.scm | 3 +- gnu/packages/databases.scm | 57 ++++++++++++++++++++++++--------- gnu/packages/emacs-xyz.scm | 3 +- gnu/packages/kodi.scm | 3 +- gnu/packages/qt.scm | 6 ++-- gnu/packages/ruby.scm | 3 +- 7 files changed, 55 insertions(+), 23 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 62f368c139..e8859eb144 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11269,7 +11269,8 @@ models. TADbit is complemented by TADkit for visualizing 3D models.") ("tcsh" ,tcsh) ("perl" ,perl) ("libpng" ,libpng) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl))) (home-page "http://genome.cse.ucsc.edu/index.html") (synopsis "Assorted bioinformatics utilities") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 458b141f91..b4c7d4dc56 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2601,7 +2601,8 @@ dimensioned arrays.") (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (inputs - `(("mariadb" ,mariadb) + `(("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (propagated-inputs `(("r-dbi" ,r-dbi))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 066bcb6962..697df81966 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -642,9 +642,11 @@ Language.") (find-files "pcre") (find-files "zlib"))) #t)))) (build-system cmake-build-system) + (outputs '("out" "lib" "dev")) (arguments `(#:configure-flags - '("-DBUILD_CONFIG=mysql_release" + (list + "-DBUILD_CONFIG=mysql_release" ;; Linking with libarchive fails, like this: ;; ld: /gnu/store/...-libarchive-3.2.2/lib/libarchive.a(archive_entry.o): @@ -668,15 +670,26 @@ Language.") "-DDEFAULT_COLLATION=utf8_general_ci" "-DMYSQL_DATADIR=/var/lib/mysql" "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" - "-DINSTALL_INFODIR=share/mysql/docs" - "-DINSTALL_MANDIR=share/man" + (string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "lib")) + (string-append "-DCMAKE_INSTALL_RPATH=" (assoc-ref %outputs "lib") + "/lib") + (string-append "-DINSTALL_INFODIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_MANDIR=" (assoc-ref %outputs "out") + "/share/man") + (string-append "-DINSTALL_SCRIPTDIR=" (assoc-ref %outputs "out") "/bin") + (string-append "-DINSTALL_BINDIR=" (assoc-ref %outputs "out") "/bin") + "-DCMAKE_INSTALL_LIBDIR=lib" "-DINSTALL_PLUGINDIR=lib/mysql/plugin" - "-DINSTALL_SCRIPTDIR=bin" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_DOCREADMEDIR=share/mysql/docs" - "-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files" + (string-append "-DINSTALL_INCLUDEDIR=" (assoc-ref %outputs "dev") + "/include/mysql") + (string-append "-DINSTALL_DOCREADMEDIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_DOCDIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_SUPPORTFILESDIR=" (assoc-ref %outputs "out") + "/share/mysql/support-files") "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_DOCDIR=share/mysql/docs" "-DINSTALL_SHAREDIR=share") #:phases (modify-phases %standard-phases @@ -759,19 +772,29 @@ Language.") 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (test (assoc-ref outputs "test"))) + (dev (assoc-ref outputs "dev")) + (lib (assoc-ref outputs "lib"))) (substitute* (string-append out "/bin/mysql_install_db") (("basedir=\"\"") (string-append "basedir=\"" out "\""))) ;; Remove unneeded files for testing. - (with-directory-excursion out + (with-directory-excursion lib (for-each delete-file-recursively - '("data" "mysql-test" "sql-bench" - "share/man/man1/mysql-test-run.pl.1")) - ;; Delete huge and unnecessary executables. - (for-each delete-file (find-files "bin" "(test|embedded)")) + '("data" "mysql-test" "sql-bench")) ;; And static libraries. (for-each delete-file (find-files "lib" "\\.a$"))) + (with-directory-excursion out + (delete-file "share/man/man1/mysql-test-run.pl.1") + ;; Delete huge and unnecessary executables. + (for-each delete-file (find-files "bin" "(test|embedded)"))) + (mkdir-p (string-append dev "/share")) + (mkdir-p (string-append dev "/bin")) + (rename-file (string-append lib "/bin/mysqld") + (string-append out "/bin/mysqld")) + (rename-file (string-append lib "/share/pkgconfig") + (string-append dev "/share/pkgconfig")) + (rename-file (string-append out "/bin/mysql_config") + (string-append dev "/bin/mysql_config")) #t)))))) (native-inputs `(("bison" ,bison) @@ -1535,7 +1558,8 @@ columns, primary keys, unique constraints and relationships.") #:tests? #f)) (propagated-inputs `(("perl-dbi" ,perl-dbi) - ("mysql" ,mariadb))) + ("mysql" ,mariadb "lib") + ("mysql-dev" ,mariadb "dev"))) (home-page "https://metacpan.org/release/DBD-mysql") (synopsis "DBI MySQL interface") (description "This package provides a MySQL driver for the Perl5 @@ -2653,7 +2677,8 @@ database).") ("mock" ,python-mock) ("py.test" ,python-pytest))) (inputs - `(("mysql" ,mariadb) + `(("mysql" ,mariadb "lib") + ("mysql-dev" ,mariadb "dev") ("libz" ,zlib) ("openssl" ,openssl))) (home-page "https://github.com/PyMySQL/mysqlclient-python") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9e94d3fc8e..2ef85c5cfe 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10787,7 +10787,8 @@ object has been freed.") #t))))) (inputs `(("emacs-minimal" ,emacs-minimal) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("postgresql" ,postgresql))) (propagated-inputs `(("emacs-finalize" ,emacs-finalize) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index a9b5b85a47..fbb153b1f2 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -436,7 +436,8 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("lzo" ,lzo) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl) ("pcre" ,pcre) ("pulseaudio" ,pulseaudio) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 52eb46cce0..957cbd151b 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -218,7 +218,8 @@ system, and the core design of Django is reused in Grantlee.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("openssl" ,openssl) ("postgresql" ,postgresql) @@ -569,7 +570,8 @@ system, and the core design of Django is reused in Grantlee.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb) + ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("openssl" ,openssl) ("pcre2" ,pcre2) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ef9792bc0f..132f254a36 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2615,7 +2615,8 @@ specs for Ruby implementations in ruby/spec.") (invoke "rspec")) #t))))) (inputs - `(("mariadb" ,mariadb) + `(("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (native-inputs `(("ruby-rspec" ,ruby-rspec) -- 2.22.0 --MP_/K7eI8Mkn6J20.QI6BqB5wmk-- ------------=_1570878602-25059-1--