macOSにsvn(Subversion)コマンドをインストールする。

[主題]
macOS Big Sur 11.xで削除されたsvnコマンドをhomebrewを使わずにコンパイルする手順を説明したい。(最終更新日:2023.08.24)

[背景]
svn(Subversion)は、gitなどと同様、プログラムのソースコードなどをバージョン管理する仕組みの一つである。macOSにもCatalinaまでは同梱されていたが、macOS Big Sur 11.xで削除された。
使用頻度は高くないが、使わないわけではないので、コマンドを使用するためのコンパイル作業手順をまとめることにした。

[環境]
参考までに、筆者の環境を記載しておく
MacBook Air 2023 15.3inch(Apple Silicon Mac, M2)
macOS Ventura 13.5
Xcode 14.3.1
CommandLine Tools for Xcode 14.3.1.0.1

MacBook Pro 2018 15.4inch(インテルMac)
macOS Ventura 13.5
Xcode 14.3.1
CommandLine Tools for Xcode 14.3.1.0.1

[コンパイル手順]
svnは、Apache WebServerの依存項目を必要とするので、順次インストールしていく。

  1. pkg-configのコンパイル&インストール

                    cd ${SRC}
                    curl -LO https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
                    cd ${CMPL}
                    tar xf ${SRC}/pkg-config-0.29.2.tar.gz
                    cd pkg-config-0.29.2
                    ./configure --with-internal-glib
                    make && sudo make install
                
  2. python3のインストール(sconsビルドシステムに用いる)

    svnをhttp/httpsサポートにするために必要なライブラリ(serf)は、sconsと呼ばれるビルドシステムを用いている。sconsは、python3によって管理されている。よってpython3.xをインストールする必要がある。

    Python3ダウンロードリンク

    このpythonは、起動ディスク直下のライブラリにpython.frameworkとしてインストールされ、呼び出しはpython3となる。

    インストーラーパッケージの処理が終わった後、Finderで、/Applications/Python 3.11フォルダが開く。ここでフォルダ内のInstall Certificates.commandをダブルクリックして実行すること。

    なお、2023.08.24時点でのバージョンは3.11.4である。

  3. sconsビルドシステムのインストール

    sconsビルドシステムはpip3を用いてインストールする。

                    pip3 install scons
                

    アップデートの確認

                    pip3 list -o
                

    アップデート

                    pip3 install -U scons
                
  4. OpenSSLのコンパイルとインストール

                    curl -LO https://www.openssl.org/source/openssl-1.1.1v.tar.gz
                    tar xf openssl-1.1.1v.tar.gz
                    cd openssl-1.1.1v
                    ./config --openssldir=/usr/local/ssl
                    make && sudo make install
                
  5. APR(Apache Portable Runtime)のコンパイルとインストール

                    curl -LO https://dlcdn.apache.org//apr/apr-1.7.4.tar.bz2
                    tar xf apr-1.7.4.tar.bz2
                    cd apr-1.7.4
                    ./configure
                    make && sudo make install
                
  6. Expat XML Parserのコンパイルとインストール

                    curl -LO https://github.com/libexpat/libexpat/releases/download/R_2_5_0/expat-2.5.0.tar.xz
                    tar xf expat-2.5.0.tar.xz
                    cd expat-2.5.0
                    ./configure
                    make && sudo make install
                
  7. APR-Utilのコンパイルとインストール

                    curl -LO https://dlcdn.apache.org//apr/apr-util-1.6.3.tar.bz2
                    tar xf apr-util-1.6.3.tar.bz2
                    cd apr-util-1.6.3
                    ./configure \
                    --prefix=/usr/local/apr-util \
                    --with-apr=/usr/local/apr \
                    --with-openssl=/usr/local/ssl
                    make && sudo make install
                
  8. zlibのコンパイルとインストール(更新)

                    curl -LO https://www.zlib.net/zlib-1.3.tar.xz
                    tar xf zlib-1.3.tar.xz
                    cd zlib-1.3
                    ./configure
                    make test
                    sudo make install
                
  9. serfのコンパイルとインストール

                    curl -LO https://archive.apache.org/dist/serf/serf-1.3.10.tar.bz2
                    tar xf serf-1.3.10.tar.bz2
                    cd serf-1.3.10
                    scons APR=/usr/local/apr APU=/usr/local/apr-util OPENSSL=/usr/local/ssl
                    sudo scons install
                
  10. svn(Subversion)のコンパイルとインストール

                    curl -LO https://dlcdn.apache.org/subversion/subversion-1.14.2.tar.bz2
                    tar xf subversion-1.14.2.tar.bz2
                    cd subversion-1.14.2
                    ./configure \
                    --with-apr=/usr/local/apr \
                    --with-apr-util=/usr/local/apr-util \
                    --with-lz4=internal \
                    --with-utf8proc=internal \
                    --with-serf
                    make && sudo make install
                

[参考サイト]

以上。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL