Saya mengambil risiko hari ini dan memulai pencarian saya untuk membangun build master branch Emacs terbaru - alias Emacs Trunk - untuk MS-Windows.
Saya menemukan sebuah blog lama dan menjalani prosedur, hanya untuk bertemu dengan pesan kesalahan yang memberitahukan saya bahwa metode tertentu tidak lagi didukung. Pesan kesalahan disebut saya baca: .../emacs/nt/INSTALL
. Baiklah, itu bagus dan bagus jika infrastruktur untuk membangun Emacs sudah diinstal / dikonfigurasi.
Tentu akan berguna jika ada langkah 1, 2, 3 yang menjelaskan alat apa yang dibutuhkan dan bagaimana cara menginstal / mengonfigurasinya dengan mata khusus untuk membangun Emacs di MS-Windows.
Jika ada orang yang ingin menyiapkan tulisan terperinci, jangan ragu untuk mengirim jawaban. Jika tidak, saya akan menulis sendiri setelah saya mengetahui cara melakukannya. Saya bertemu dengan penghalang jalan tambahan dan telah mengirimkan laporan bug untuk sementara - saya belum tahu apakah itu saya, atau mungkin bug: https://debbugs.gnu.org/cgi/bugreport.cgi? bug = 21582
Saya pikir lebih banyak orang akan cenderung untuk membangun Emacs mereka sendiri jika ada "cheat-sheet" yang dapat digunakan oleh pemrogram pemula atau penggemar seperti saya (yang bukan pemrogram dengan perdagangan).
sumber
Jawaban:
Disarankan agar pengguna membaca keseluruhan yang
../emacs/nt/INSTALL
terkandung dalam kode sumber Emacs.Mulai Cepat - 5 Langkah Mudah :
Jawaban ini diuji pada WindowsXP - SP3. Jalur instalasi harus disesuaikan berdasarkan preferensi individu pengguna. Dalam contoh ini:
Desktopnya adalah:
C:\Documents and Settings\lawlist\Desktop
The
git
instalasi:C:\git
The
MinGW
instalasi:C:\mingw
Lokasi unduhan git dari cabang utama Emacs adalah:
C:\Documents and Settings\lawlist\Desktop\emacs
Target untuk instalasi Emacs adalah:
C:\Documents and Settings\lawlist\Desktop\trunk
Langkah Nomor 1 : Instal
git
dan pastikan untuk memilih "checkout apa adanya, komit apa adanya" selama instalasi:https://git-scm.com/download/win
Git-2.5.3-32-bit.exe
Jalankan penginstal.
Lanjut
Lanjut
Direktori instalasi standar
C:\Program Files\Git
, tetapi saya memilih sebagai gantinya:c:\git
Pilih komponen: default tidak apa-apa, tetapi saya tidak memilih apa pun.
Pilih folder mulai menu: standarnya oke, sedikit saya memilih untuk tidak membuat folder.
Menyesuaikan lingkungan PATH Anda: default tidak apa-apa: Gunakan Git dari Bash saja.
;; Untuk bagian selanjutnya, perhatikan pengaturan non-default - lihat Emacs bug # 21582.
Konfigurasikan konversi akhir baris: Emacs memerlukan pengaturan non-default "checkout apa adanya, komit apa adanya"
Mengkonfigurasi emulator terminal untuk digunakan dengan Git Bash: default tidak apa-apa: Gunakan MinTTY (terminal default MSys2)
Mengkonfigurasi tweak kinerja eksperimental: Saya memilih TIDAK untuk "Mengaktifkan caching sistem file".
Selesai [lihat catatan rilis jika diinginkan]
CATATAN:
autogen.sh
(dan mungkin beberapa program pihak ketiga) memerlukangit
PATH untuk diatur sehingga executable dapat dipanggil tanpa menggunakan jalur absolut. Penulis jawaban ini memiliki preferensi pribadi untuk menggunakan jalur absolut dan tidak memodifikasi PATH; Namun, kebanyakan orang tampaknya lebih suka memodifikasi PATH untuk sesi saat ini dan masa depan. Pada Windows XP, misalnya, PATH dapat diatur dalam Control Panel / System Properties / tab Advanced / tombol Variabel Lingkungan, dan tampaknya ada dua (2) pandangan / pendapat mengenai apakah pengguna harus mengatur Variabel Pengguna atau Sistem. Variabel - jalur dipisahkan oleh titik koma tanpa spasi. Jawaban ini hanya menetapkan PATH selama durasi sesi menggunakan yangexport
ditetapkan di bawah ini. Emacsautogen.sh
mencarigit
perintah pada PATH dan mengeluh jika tidak dapat ditemukan.Langkah Nomor 2 : Instal
MinGW
http://www.mingw.org/wiki/Getting_Started
mingw-get-setup.exe
Langkah Nomor 3 : Unduh
ezwinports
paket zip berikut dan ekstrak kemingw
direktori root .https://sourceforge.net/projects/ezwinports/files/
;; unzip semua paket ezwinports berikut ke dalam
c:/mingw
, timpa duplikat apa pun.cairo-1.12.16-w32-bin.zip
gdk-pixbuf-2.30.2-w32-bin.zip
giflib-5.1.0-w32-bin.zip
glib-2.38.2-w32-bin.zip
gnutls-3.3.11-w32-bin.zip
jpeg-v9a-w32-bin.zip
libpng-1.6.12-w32-bin.zip
librsvg-2.40.1-2-w32-bin.zip
libtasn1-4.2-w32-bin.zip
libxml2-2.7.8-w32-bin.zip
libXpm-3.5.11-2-w32-bin.zip
nettle-2.7.1-w32-bin.zip
p11-kit-0.9-w32-bin.zip
pixman-0.32.4-w32-bin.zip
pkg-config-0.28-w32-bin.zip
tiff-4.0.3-w32-bin.zip
zlib-1.2.8-2-w32-bin.zip
Langkah Nomor 4 : Unduh file sumber cabang utama Emacs terbaru menggunakan
git-bash
shell.Langkah Nomor 5 : Bangun cabang master Emacs dan salin file .dll setelah selesai.
;; buka Command Prompt generik
Buka ritsleting seluruh konten
gnutls-3.3.11-w32-bin.zip
hinggaC:\Documents and Settings\lawlist\Desktop\trunk
INSTALASI MANUAL - MinGW / MSYS / EZwinports
Bagi mereka yang berjiwa petualang yang tertarik melakukan instalasi manual MinGW / MSYS / EZwinports, berikut ini adalah file yang digunakan oleh penulis ini pada Windows XP untuk membuat build 32-bit yang sukses dengan opsi konfigurasi berikut yang diaktifkan secara default. Pengaturan dan konfigurasi akan bervariasi tergantung pada preferensi pribadi pengguna individu, dan berada di luar cakupan jawaban ini.
EZWINPORTS
MINGW
MSYS
sumber
Saya telah mencoba instruksi di emacs / nt / INSTALL tahun lalu untuk build 32-bit tetapi ada yang salah (saya tidak ingat apa, tepatnya), jadi baru-baru ini saya mencoba instruksi untuk emacsbinw64 - ini bekerja dengan sangat baik, dan itu lebih sederhana untuk mendapatkan perpustakaan yang diperlukan juga. Ia menggunakan MSYS2 dan MinGW-w64 untuk build 64-bit - proyek emacsbinw64 menyediakan binari di https://sourceforge.net/projects/emacsbinw64/files/ .
Jadi saya menulis beberapa instruksi mengikuti garis besar itu, dengan umpan balik dari Eli Zaretski dan penulis Chris Zheng - versi lengkapnya tersedia di http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (hanya menyertakan bangunan dari tarbal rilis juga).
Ini memakan waktu sekitar 90 menit pada Intel i3 dan koneksi internet kecepatan tinggi - YMMV. Perhatikan bahwa sebagian besar pekerjaan untuk membangun di Windows hanya menyiapkan lingkungan build ...
Persyaratan
Total ruang yang diperlukan adalah 3GB: 1.8GB untuk MSYS2 / MinGW-w64 dan 1.2GB untuk Emacs dengan repositori penuh.
Unduh dan instal MinGW-w64 dan MSYS2
Unduh MSYS2 versi x86_64 (yaitu msys2-x86_64-.exe) dari https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Jalankan file ini untuk menginstal MSYS2 di direktori pilihan Anda, misalnya C default: \ msys64 - ini juga akan menginstal MinGW-w64. Perhatikan bahwa nama direktori yang mengandung spasi dapat menyebabkan masalah.
Maka Anda perlu menambahkan direktori berikut ke variabel lingkungan Windows PATH Anda:
Anda dapat melakukan ini melalui Panel Kontrol / Sistem dan Keamanan / Sistem / Pengaturan sistem lanjutan / Variabel Lingkungan / Edit path.
Menambahkan direktori ini ke PATH Anda memberi tahu Emacs tempat untuk menemukan DLL yang perlu dijalankan, dan beberapa perintah opsional seperti grep dan find. Perintah-perintah ini juga akan tersedia di konsol Windows.
Unduh dan instal paket yang diperlukan
Jalankan msys2_shell.bat di direktori MSYS2 Anda dan Anda akan melihat jendela BASH dibuka.
Di BASH prompt, gunakan perintah berikut untuk menginstal paket yang diperlukan (Anda dapat menyalin dan menempelkannya ke shell dengan Shift + Insert):
Anda sekarang memiliki lingkungan build yang lengkap untuk Emacs.
Instal Git (opsional) dan nonaktifkan autocrlf
Jika Anda belum memiliki Git di sistem Anda, Anda dapat menginstalnya di lingkungan MSYS2 Anda dengan:
Fitur autocrlf dari Git dapat mengganggu file configure, jadi yang terbaik adalah menonaktifkan fitur ini dengan menjalankan perintah:
Dapatkan kode sumber Emacs
Untuk mengunduh repositori Git, lakukan sesuatu seperti berikut - ini akan memasukkan sumber Emacs ke C: \ emacs \ emacs-25:
Bangun Emacs
Sekarang Anda siap untuk membangun dan menginstal Emacs dengan autogen, mengkonfigurasi, membuat, dan melakukan instalasi.
Pertama, kita perlu beralih ke lingkungan MinGW-w64. Keluar dari konsol MSYS2 BASH dan jalankan mingw64_shell.bat di folder C: \ msys64, kemudian cd kembali ke direktori sumber Emacs Anda, misalnya:
Jalankan autogen
Jika Anda sedang membangun sumber pengembangan, jalankan autogen untuk menghasilkan skrip configure:
Jalankan configure
Sekarang Anda dapat menjalankan configure, yang akan membangun berbagai Makefiles.
Opsi '--prefix' menentukan lokasi untuk file biner yang dihasilkan, yang akan digunakan oleh 'make install' - dalam contoh ini kita atur ke C: \ emacs \ emacs-25. Jika awalan tidak ditentukan file akan dimasukkan ke dalam direktori Unix standar yang terletak di direktori C: \ msys64 Anda, tetapi ini tidak dianjurkan.
Perhatikan juga bahwa kita perlu menonaktifkan Imagemagick karena Emacs belum mendukungnya di Windows.
Jalankan make
Ini akan mengkompilasi Emacs dan membangun executable, menempatkannya di direktori src:
Untuk mempercepat proses, Anda dapat mencoba menjalankan
di mana N adalah jumlah core dalam sistem Anda - jika MSYS2 Anda mendukung eksekusi paralel, itu akan berjalan secara signifikan lebih cepat.
Jalankan make install
Sekarang Anda dapat menjalankan "make install", yang akan menyalin file yang dapat dieksekusi dan lainnya ke lokasi yang ditentukan dalam langkah configure. Ini akan membuat direktori bin, libexec, share, dan var:
Bisa juga dikatakan
untuk menginstalnya di tempat lain.
Uji Emacs
Untuk mengujinya, jalankan
dan jika semuanya berjalan dengan baik, Anda akan memiliki Emacs versi 64-bit yang baru.
Buat jalan pintas
Untuk membuat pintasan untuk menjalankan Emacs baru, klik kanan pada lokasi di mana Anda ingin meletakkannya, misalnya Desktop, pilih New / Shortcut, lalu pilih runemacs.exe di folder bin dari Emacs baru, dan beri nama .
Anda dapat mengatur opsi baris perintah dengan mengklik kanan pada pintasan yang dihasilkan, pilih Properties, lalu tambahkan opsi ke perintah Target, misalnya --debug-init.
Kredit
Terima kasih kepada Chris Zheng untuk garis besar pembuatan asli seperti yang digunakan oleh proyek emacsbinw64, yang terletak di https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Lisensi
File ini adalah bagian dari GNU Emacs.
GNU Emacs adalah perangkat lunak gratis: Anda dapat mendistribusikannya kembali dan / atau memodifikasinya berdasarkan ketentuan Lisensi Publik Umum GNU yang diterbitkan oleh Free Software Foundation, baik versi 3 dari Lisensi, atau (sesuai pilihan Anda) versi yang lebih baru.
GNU Emacs didistribusikan dengan harapan akan bermanfaat, tetapi TANPA GARANSI APA PUN; bahkan tanpa jaminan tersirat DAGANG atau KECOCOKAN UNTUK TUJUAN TERTENTU. Lihat Lisensi Publik Umum GNU untuk detail lebih lanjut.
Anda seharusnya telah menerima salinan Lisensi Publik Umum GNU bersama dengan GNU Emacs. Jika tidak, lihat http://www.gnu.org/licenses/ .
sumber
cp /c/msys64/mingw64/bin/*.dll bin
. Saya tidak tahu banyak tentang gnutl - apakah ada cara sederhana untuk mengujinya?gnutls-available-p
Saya mengerti alasan kesederhanaan ketika hanya merujuk pada jalur sistem, tetapi kadang-kadang orang mungkin ingin menggunakan Emacs build di komputer yang berbeda dan mereka akan bertanya-tanya mengapa gambar dan barang tidak bekerja di luar kotak. Ada banyak utas dengan orang-orang yang bertanya mengapa file pdf terlihat seperti omong kosong dalam buffer reguler (yaitu, karena kurangnya dukungan png), atau mengapa mereka tidak dapat melakukan doc-view atau preview di AUCTeX (alasan yang sama).gnutls-available-p
mengembalikan t menggunakan hanya pengaturan PATH, jadi saya akan menganggap itu berfungsi untuk saat ini - saya akan mengirimkan tambalan dengan metode alternatif untuk menyalin DLL, dan mungkin exe gnutl, jika itu diperlukan, dan perbarui di sini kemudian.