├── LICENSE ├── README.md └── .github └── workflows └── build-hamlib.yml /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 SensorsIot 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hamlib Pre-builds 2 | 3 | [![GitHub Actions](https://img.shields.io/badge/Built%20with-GitHub%20Actions-2088FF?logo=github-actions&logoColor=white)](https://github.com/SensorsIot/hamlib-prebuilds/actions) 4 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) 5 | [![Hamlib License: LGPL v2.1](https://img.shields.io/badge/Hamlib-LGPL%20v2.1-blue.svg)](https://www.gnu.org/licenses/lgpl-2.1) 6 | [![Platform](https://img.shields.io/badge/Platform-Windows-0078D6?logo=windows)](https://github.com/SensorsIot/hamlib-prebuilds/releases) 7 | [![Hamlib](https://img.shields.io/badge/Hamlib-4.6.5-green?logo=radio)](https://hamlib.github.io/) 8 | 9 | Pre-built Hamlib libraries for MinGW64/MSYS2, used for building WSJT-X and WSJT-SWISS on Windows. 10 | 11 | ## Downloads 12 | 13 | | Version | Description | 14 | |---------|-------------| 15 | | [hamlib-4.6.5](https://github.com/SensorsIot/hamlib-prebuilds/releases/tag/hamlib-4.6.5) | Latest, includes FlexRadio slice support | 16 | | [hamlib-4.5.5](https://github.com/SensorsIot/hamlib-prebuilds/releases/tag/hamlib-4.5.5) | Previous stable version | 17 | 18 | ## Build Configuration 19 | 20 | Libraries are built with: 21 | - MSYS2 MINGW64 toolchain 22 | - Shared library (DLL) 23 | - No language bindings (Perl, Python, Tcl, Lua) 24 | 25 | ## Building 26 | 27 | Builds are triggered manually via GitHub Actions: 28 | 29 | 1. Go to [Actions](https://github.com/SensorsIot/hamlib-prebuilds/actions) 30 | 2. Select **Build Hamlib** 31 | 3. Click **Run workflow** 32 | 4. Enter the Hamlib version tag (e.g., `4.6.5`) 33 | 5. Click **Run workflow** 34 | 35 | The build will create a release with the zip file automatically. 36 | 37 | ## Usage 38 | 39 | These pre-built libraries are used by [WSJT-SWISS](https://github.com/SensorsIot/wsjtx) Windows builds. 40 | 41 | ## License 42 | 43 | - **This repository** (build scripts, workflows): [MIT License](LICENSE) 44 | - **Hamlib library** (pre-built binaries): [LGPL-2.1](https://www.gnu.org/licenses/lgpl-2.1) / [GPL-2.0](https://www.gnu.org/licenses/old-licenses/gpl-2.0) 45 | 46 | Hamlib is free software released under a dual LGPL/GPL license. See the [Hamlib repository](https://github.com/Hamlib/Hamlib) for full licensing details. 47 | -------------------------------------------------------------------------------- /.github/workflows/build-hamlib.yml: -------------------------------------------------------------------------------- 1 | name: Build Hamlib 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | hamlib_version: 7 | description: 'Hamlib version tag (e.g., 4.6.5)' 8 | required: true 9 | default: '4.6.5' 10 | 11 | permissions: 12 | contents: write 13 | 14 | jobs: 15 | build: 16 | runs-on: windows-latest 17 | 18 | defaults: 19 | run: 20 | shell: msys2 {0} 21 | 22 | steps: 23 | - name: Setup MSYS2 and dependencies 24 | uses: msys2/setup-msys2@v2 25 | with: 26 | msystem: MINGW64 27 | update: true 28 | install: >- 29 | git 30 | make 31 | mingw-w64-x86_64-cmake 32 | mingw-w64-x86_64-toolchain 33 | mingw-w64-x86_64-libusb 34 | autoconf 35 | automake 36 | libtool 37 | pkg-config 38 | 39 | - name: Clone Hamlib 40 | run: | 41 | git clone --depth 1 --branch ${{ github.event.inputs.hamlib_version }} https://github.com/Hamlib/Hamlib.git hamlib-src 42 | 43 | - name: Build Hamlib 44 | run: | 45 | cd hamlib-src 46 | ./bootstrap 47 | ./configure --prefix=/c/hamlib-build \ 48 | --disable-static \ 49 | --enable-shared \ 50 | --without-cxx-binding \ 51 | --without-perl-binding \ 52 | --without-python-binding \ 53 | --without-tcl-binding \ 54 | --without-lua-binding 55 | make -j$(nproc) 56 | make install 57 | 58 | - name: List built files 59 | run: | 60 | ls -R /c/hamlib-build 61 | 62 | - name: Package Hamlib 63 | shell: pwsh 64 | run: | 65 | $version = "${{ github.event.inputs.hamlib_version }}" 66 | Compress-Archive -Path C:\hamlib-build\* -DestinationPath "hamlib-mingw64-$version.zip" 67 | 68 | - name: Upload Hamlib artifact 69 | uses: actions/upload-artifact@v4 70 | with: 71 | name: hamlib-mingw64-${{ github.event.inputs.hamlib_version }} 72 | path: hamlib-mingw64-${{ github.event.inputs.hamlib_version }}.zip 73 | retention-days: 90 74 | 75 | - name: Create Release 76 | uses: softprops/action-gh-release@v1 77 | with: 78 | tag_name: hamlib-${{ github.event.inputs.hamlib_version }} 79 | name: Hamlib ${{ github.event.inputs.hamlib_version }} (MinGW64) 80 | body: | 81 | Pre-built Hamlib ${{ github.event.inputs.hamlib_version }} for MinGW64/MSYS2. 82 | 83 | Built with: 84 | - MSYS2 MINGW64 toolchain 85 | - Shared library (DLL) 86 | - No language bindings 87 | 88 | For use with WSJT-X Windows builds. 89 | files: hamlib-mingw64-${{ github.event.inputs.hamlib_version }}.zip 90 | draft: false 91 | prerelease: false 92 | env: 93 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 94 | --------------------------------------------------------------------------------