macOSでのWine(64bit)自力ビルド作業記録

Wineを自力でビルドしてみたので、その作業記録を残しておく。なお、ここで示すのは64bitビルドである。
なお、64bit wineでは、regedit、notepad、wordpadなどは起動できない。

なお、お約束として、Xcode及びCommand Line Tools for Xcodeはインストール済みとする。

Wineをビルドするには、次の依存ライブラリを用意する必要がある。

  1. pkg-config
  2. libjpeg
  3. libpng
  4. lcms
  5. libxml2
  6. libxslt
  7. freetype
  8. ncurses
  9. libtiff
  10. gettext

以下、順に説明する。

ショートカットの登録

ターミナル.appで以下のコマンドを実行する。

            export WORK="$HOME/Desktop/wine_build"
            export SRC="${WORK}/src"
            export CMPL="${WORK}/compile"
            mkdir -p ${SRC}
            mkdir -p ${CMPL}
            export TARGET="$HOME/wine"
            export PATH=${TARGET}/bin:$PATH
            export PKG_CONFIG_PATH="${TARGET}/lib/pkgconfig"
        
pkg-configのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            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 sudo make install
        
libjpegのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO http://www.ijg.org/files/jpegsrc.v9c.tar.gz
            cd ${CMPL}
            tar xf ${SRC}/jpegsrc.v9c.tar.gz
            cd jpeg-9c
            ./configure --prefix=${TARGET}
            make && make install
        
libpngのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO http://prdownloads.sourceforge.net/libpng/libpng-1.6.37.tar.xz
            cd ${CMPL}
            tar xf ${SRC}/libpng-1.6.37.tar.xz
            cd libpng-1.6.37
            ./configure --prefix=${TARGET}
            make && make install
        
lcmsのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO https://sourceforge.net/projects/lcms/files/lcms/2.9/lcms2-2.9.tar.gz
            cd ${CMPL}
            env COPYFILE_DISABLE=1 tar xf ${SRC}/lcms2-2.9.tar.gz --exclude='.DS_Store'
            cd lcms2-2.9
            ./configure --prefix=${TARGET}
            make && make install
        
libxml2のコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO http://xmlsoft.org/sources/libxml2-2.9.8.tar.gz
            cd ${CMPL}
            tar xf ${SRC}/libxml2-2.9.8.tar.gz
            cd libxml2-2.9.8
            ./configure --prefix=${TARGET} \
            --without-python
            make && make install
        
libxsltのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO http://xmlsoft.org/sources/libxslt-1.1.33.tar.gz
            cd ${CMPL}
            tar xf ${SRC}/libxslt-1.1.33.tar.gz
            cd libxslt-1.1.33
            ./configure --prefix=${TARGET}
            make && make install
        
freetypeのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO https://download.savannah.gnu.org/releases/freetype/freetype-2.10.1.tar.xz
            cd ${CMPL}
            tar xf ${SRC}/freetype-2.10.1.tar.bz2
            cd freetype-2.10.1
            ./configure --prefix=${TARGET}
            make && make install
        
ncursesのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.1.tar.gz
            cd ${CMPL}
            tar xf ${SRC}/ncurses-6.1.tar.gz
            cd ncurses-6.1
            ./configure --prefix=${TARGET} \
            --without-cxx --without-cxx-binding --without-ada --without-progs --without-curses-h \
            --with-shared --without-debug \
            --enable-widec --enable-const --enable-ext-colors --enable-sigwinch --enable-wgetch-events
            make && make install
        
libtiffのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            unset CFLAGS
            cd ${SRC}
            curl -LO http://download.osgeo.org/libtiff/tiff-4.0.10.tar.gz
            cd ${CMPL}
            tar xf ${SRC}/tiff-4.0.10.tar.gz
            cd tiff-4.0.10
            ./configure --prefix=${TARGET} \
            --with-jpeg-lib-dir=${TARGET}/lib \
            --with-jpeg-include-dir=${TARGET}/include
            make && make install
        
gettextのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO https://ftp.gnu.org/pub/gnu/gettext/gettext-0.20.1.tar.gz
            cd ${CMPL}
            tar xf ${SRC}/gettext-0.20.1.tar.gz
            cd gettext-0.20.1
            ./configure --prefix=${TARGET}
            make && make install
        

JDK(Java Development Kit)が入っていないと、コンパイル中に次のダイアログが出るが、OKを押して無視する。

JDKインストールリクエストダイアログ

wineのコンパイル&インストール

ターミナル.appで以下のコマンドを実行する。

            cd ${SRC}
            curl -LO https://dl.winehq.org/wine/source/3.x/wine-3.20.tar.xz
            cd ${CMPL}
            tar xf ${SRC}/wine-3.20.tar.xz
            cd wine-3.20
            export CFLAGS="-I/${TARGET}/include -I/${TARGET}/include/freetype2"
            export LDFLAGS=-L/${TARGET}/lib
            ./configure --prefix=${TARGET} --with-cms --with-coreaudio \
            --with-cups --with-curses --with-freetype --with-jpeg \
            --with-openal --with-opencl --with-opengl --with-png \
            --with-pthread --with-tiff --with-xml --with-xslt --with-zlib \
            --without-x --without-capi --without-gphoto --without-gsm \
            --without-oss --without-sane --without-v4l --enable-win64 \
            --libdir=${TARGET}/lib
            make && make install
        

Wine3.21以降現行の4.01までには、文字入力にヘンテコなバグがあるので3.20を用いる

パスを通す
コンパイルに使ったシェル(ターミナルウインドウ)は、$HOME/wine/binへのパスが通っている。このウインドウを閉じて以降もパスを通すために、nanoなどのエディタで、次の内容の.profileを作成する。(すでにある場合は追記)

    export PATH=$PATH:$HOME/wine/bin

上記の有効化

    source .profile

初回起動
確認のためにシェル(ターミナルウインドウ)でwinecfgとタイプしてリターンキーを押す。初回起動では、ホームディレクトリ直下に.wineという名前のディレクトリが作られ、次のダイアログが出る。それぞれOKを押す。

Monoインストールリクエストダイアログ


Monoインストールダイアログ


Geckoインストールリクエストダイアログ


Geckoインストールダイアログ

このままでは入力した日本語が、いわゆるトーフになる。だが、64bit wineでは、regeditは起動しない。
仕方ないので、.wineディレクトリ直下にあるレジストリファイルのうち、user.regを直接編集する。

テキストエディタでuser.regを開き、Software\\Wine\\Fontsを検索する。

[Software\\Wine\\Fonts] 1563706409
#time=1d53fb2882c071c
“Codepages”=”932,932”
“LogPixels”=dword:00000060

上記のような記述があるので、その下に以下のように記述を追加する。

[Software\\Wine\\Fonts\\Replacements] 1563706409
“MS UI Gothic”=”\x30d2\x30e9\x30ae\x30ce\x4e38\x30b4 Pro W4”

これは、MS UI Gothicヒラギノ丸ゴシック Pro W4で置き換える設定である。

以上。

この投稿へのコメント

コメントはありません。

コメントを残す

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

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

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

トラックバック URL