diff mbox series

[bug#49538,CORE-UPDATES] gnu: openssl-1.0: Build with openssl sources.

Message ID 9d380d39f78149a6a6d78c484fab6ce6cb1059ba.1626112108.git.efraim@flashner.co.il
State Accepted
Headers show
Series [bug#49538,CORE-UPDATES] gnu: openssl-1.0: Build with openssl sources. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Efraim Flashner July 12, 2021, 5:50 p.m. UTC
* gnu/packages/tls.scm (openssl-1.0): Replace package with openssl built
with openssl-1.0 API.
---

I was poking around with openssl on master and I realized that
openssl-1.1 can be built targeting the API for 1.1, 1.0 or 0.9.8. I test
built dillo with openssl-1.1 with the API for 1.0 and it was working for
me. I figure this isn't a bad way to make things a bit better while we
try to get rid of openssl-1.0.

---

 gnu/packages/tls.scm | 92 ++------------------------------------------
 1 file changed, 3 insertions(+), 89 deletions(-)


base-commit: 12c2648f4e8e050d9374ca70efd1856dc8238979

Comments

Efraim Flashner July 12, 2021, 6:03 p.m. UTC | #1
Nevermind, this needs more work.
Leo Famulari July 12, 2021, 7:41 p.m. UTC | #2
On Mon, Jul 12, 2021 at 09:03:27PM +0300, Efraim Flashner wrote:
> Nevermind, this needs more work.

Oh, too bad. It's definitely an exciting option, if it can be made to
work. Otherwise we'll have to remove those packages that depend on
OpenSSL 1.0... sometime soon?
diff mbox series

Patch

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 297e16dd70..ed22518e02 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -447,97 +447,11 @@  required structures.")
    (home-page "https://www.openssl.org/")))
 
 (define-public openssl-1.0
-  (package
-    (inherit openssl)
+  (package/inherit openssl
     (name "openssl")
-    (version "1.0.2u")
-    (source (origin
-              (method url-fetch)
-              (uri (list (string-append "https://www.openssl.org/source/openssl-"
-                                        version ".tar.gz")
-                         (string-append "ftp://ftp.openssl.org/source/"
-                                        "openssl-" version ".tar.gz")
-                         (string-append "ftp://ftp.openssl.org/source/old/"
-                                        (string-trim-right version char-set:letter)
-                                        "/openssl-" version ".tar.gz")))
-              (sha256
-               (base32
-                "05lxcs4hzyfqd5jn0d9p0fvqna62v2s4pc9qgmq0dpcknkzwdl7c"))
-              (patches (search-patches "openssl-runpath.patch"
-                                       "openssl-c-rehash-in.patch"))))
-    (outputs '("out"
-               "doc"                    ;1.5MiB of man3 pages
-               "static"))               ;6MiB of .a files
     (arguments
-     (substitute-keyword-arguments (package-arguments openssl)
-       ;; Parallel build is not supported in 1.0.x.
-       ((#:parallel-build? _ #f) #f)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-before 'patch-source-shebangs 'patch-tests
-             (lambda* (#:key inputs native-inputs #:allow-other-keys)
-               (let ((bash (assoc-ref (or native-inputs inputs) "bash")))
-                 (substitute* (find-files "test" ".*")
-                   (("/bin/sh")
-                    (string-append bash "/bin/sh"))
-                   (("/bin/rm")
-                    "rm"))
-                 #t)))
-           (add-before 'configure 'patch-Makefile.org
-             (lambda* (#:key outputs #:allow-other-keys)
-               ;; The default MANDIR is some unusual place.  Fix that.
-               (let ((out (assoc-ref outputs "out")))
-                 (patch-makefile-SHELL "Makefile.org")
-                 (substitute* "Makefile.org"
-                   (("^MANDIR[[:blank:]]*=.*$")
-                    (string-append "MANDIR = " out "/share/man\n")))
-                 #t)))
-	   (replace 'configure
-	     ;; Override this phase because OpenSSL 1.0 does not understand -rpath.
-	     (lambda* (#:key outputs #:allow-other-keys)
-	       (let ((out (assoc-ref outputs "out")))
-		 (invoke ,@(if (%current-target-system)
-			       '("./Configure")
-			       '("./config"))
-			 "shared"                 ;build shared libraries
-			 "--libdir=lib"
-
-			 ;; The default for this catch-all directory is
-			 ;; PREFIX/ssl.  Change that to something more
-			 ;; conventional.
-			 (string-append "--openssldir=" out
-					"/share/openssl-" ,version)
-
-			 (string-append "--prefix=" out)
-			 ,@(if (%current-target-system)
-			       '((getenv "CONFIGURE_TARGET_ARCH"))
-			       '())))))
-        (delete 'move-extra-documentation)
-        (add-after 'install 'move-man3-pages
-          (lambda* (#:key outputs #:allow-other-keys)
-            ;; Move section 3 man pages to "doc".
-            (let* ((out    (assoc-ref outputs "out"))
-                   (man3   (string-append out "/share/man/man3"))
-                   (doc    (assoc-ref outputs "doc"))
-                   (target (string-append doc "/share/man/man3")))
-              (mkdir-p target)
-              (for-each (lambda (file)
-                          (rename-file file
-                                       (string-append target "/"
-                                                      (basename file))))
-                        (find-files man3))
-              (delete-file-recursively man3)
-              #t)))
-           ;; XXX: Duplicate this phase to make sure 'version' evaluates
-           ;; in the current scope and not the inherited one.
-           (replace 'remove-miscellany
-             (lambda* (#:key outputs #:allow-other-keys)
-               ;; The 'misc' directory contains random undocumented shell and Perl
-               ;; scripts.  Remove them to avoid retaining a reference on Perl.
-               (let ((out (assoc-ref outputs "out")))
-                 (delete-file-recursively (string-append out "/share/openssl-"
-                                                         ,version "/misc"))
-                 #t)))))))))
+     `(#:configure-flags (list "--api=1.0.0")
+       ,@((package-arguments openssl))))))
 
 (define-public libressl
   (package