anchor.diff:  (defvar *bindir* (if (getenv "BINDIR")
                        (ensure-directory-pathname (getenv "BINDIR"))
                        (merge-pathnames* "bin/" *prefix*)))
  +(defvar *libdir* (if (getenv "LIBDIR")
  +                     (ensure-directory-pathname (getenv "LIBDIR"))
  +                     (merge-pathnames* "lib/" *prefix*)))
  +(defvar *nyxt-libdir* (merge-pathnames* "nyxt/" *libdir*))
   (defvar *dest-source-dir* (if (getenv "NYXT_SOURCE_PATH")
                                 (ensure-directory-pathname (getenv "NYXT_SOURCE_PATH"))
                                 (merge-pathnames* "nyxt/" *datadir*)))
  
positive.code:                                             (merge-pathnames*
                                               (subpathp file (ensure-directory-pathname source))
                                               (ensure-pathname destination :truenamize t :ensure-directory t))))
                                        (ensure-parent-exists destination-file)
                                        (copy-file file destination-file))))
                                  (directory-files subdirectory))))))
                  (handler-case
                      (progn
                        (format *error-output* "~&;; Copying Git files to ~s.~%" *dest-source-dir*)
                        (dolist (file (cons
                                       ;; Find `libnyxt' file regardless of its extension:
                                       (subpathp (first (delete-if
                                                         (complement (lambda (file)
                                                                       (string-prefix-p "libnyxt" (pathname-name file))))
                                                         (directory-files (system-relative-pathname
                                                                           :nyxt "libraries/web-extensions"))))
                                                 (system-source-directory :nyxt))
                                       (mapcan (lambda (dir)
                                                 (split-string
                                                  (run-program `("git" "-C" ,(native-namestring
                                                                              (system-source-directory :nyxt))
                                                                       "ls-files" ,dir)
                                                               :output '(:string :stripped t))
                                                  :separator '(#\newline #\return #\linefeed)))
                                               '("source" "libraries"))))
                          (let ((dest (merge-pathnames* file *dest-source-dir*)))
                            (ensure-parent-exists dest)
                            (copy-file (system-relative-pathname :nyxt file)
                                       dest))))
                    (condition (c)
                      (format *error-output* "~&;; Git copy error: ~a" c)
                      (format *error-output* "~&;; Fallback to copying whole directories instead.~%")
  
negative.code:                       (copy-directory (system-relative-pathname :nyxt dir)
                                        (merge-pathnames* dir *dest-source-dir*)
                                        :verbose-p t))))
                  (let ((libnyxt-dest (merge-pathnames* "libnyxt.so" *nyxt-libdir*)))
                    (install-file (system-relative-pathname :nyxt "libraries/web-extensions/libnyxt.so")
                                  libnyxt-dest)
                    (make-executable libnyxt-dest))
                  (install-file (system-source-file :nyxt) (merge-pathnames* "nyxt.asd" *dest-source-dir*))))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;; Library subsystems:
  