File: compile_mac.yml

package info (click to toggle)
wxmaxima 24.02.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 32,708 kB
  • sloc: cpp: 77,136; xml: 10,513; ansic: 3,651; lisp: 1,903; sh: 28; makefile: 15
file content (188 lines) | stat: -rw-r--r-- 6,038 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
name: compile_mac

on: [push]

env:
  BUILD_TYPE: Release

permissions:
  contents: read
  
jobs:
  # Commented out, because github has no ARM runners
  #
  # compile_Ninja_ARM:
  #   runs-on: osx-arm64
  #   steps:
  #     - name: Checkout wxMaxima from git
  #       uses: actions/checkout@v4
  #       with:
  #         # We must fetch at least the immediate parents so that if this is
  #         # a pull request then we can checkout the head.
  #         fetch-depth: 15
  #     - name: Install the dependencies
  #       run: |
  #            export PATH=$PATH:/usr/local/opt/gettext/bin
  #            export HOMEBREW_NO_AUTO_UPDATE=1
  #            set -e
  #            brew install gettext ninja pandoc wxwidgets
  #            set +e
  #     - name: Configure wxMaxima
  #       run: |
  #            mkdir ../build-wxm
  #            cmake -S . -B ../build-wxm -G Ninja -DCMAKE_INSTALL_PREFIX=. -DWXM_UNIT_TESTS=YES

  #     - name: Check Info.plist
  #       run: |
  #            ls -l ../build-wxm/src/Info.plist
  #     - name: Compile wxMaxima
  #       run: |
  #            cmake --build ../build-wxm
  #     - name: Install wxMaxima
  #       run: |
  #            cmake --install ../build-wxm
  #     - name: Package wxMaxima
  #       run: |
  #            cd ../build-wxm
  #            cpack -G DragNDrop

  compile_Ninja:
    runs-on: macos-latest

    steps:
      - name: Checkout wxMaxima from git
        uses: actions/checkout@v4
        with:
          # We must fetch at least the immediate parents so that if this is
          # a pull request then we can checkout the head.
          fetch-depth: 15
      - name: Install the dependencies
        run: |
             export PATH=$PATH:/usr/local/opt/gettext/bin
             export HOMEBREW_NO_AUTO_UPDATE=1
             set -e
             brew install gettext ninja pandoc wxwidgets
             set +e
      - name: xcode-select
        run: |
             sudo xcode-select --reset
      - name: Configure wxMaxima
        run: |
             mkdir build-wxm
             cmake -S . -B build-wxm -G Ninja -DCMAKE_INSTALL_PREFIX=. -DWXM_UNIT_TESTS=YES
      - name: Check Info.plist
        run: |
             ls -l build-wxm/src/Info.plist
      - name: Compile wxMaxima
        run: |
             cmake --build build-wxm
      - name: Install wxMaxima
        run: |
             cmake --install build-wxm
      - name: Package wxMaxima
        run: |
             cd build-wxm
             cpack -G DragNDrop
             cd ..
             cp build-wxm/*.dmg wxMaxima.dmg
             cp build-wxm/*.sha512 wxMaxima.dmg.sha512
      - name: install
        run: |
             cmake --install build-wxm
             ls -lh build-wxm/src
             ls -lh build-wxm
      - name: Upload the dmg
        uses: actions/upload-artifact@v4
        with:
          name: wxMaxima_ia64.dmg
          path: wxMaxima.dmg
      - name: Upload the dmg checksum
        uses: actions/upload-artifact@v4
        with:
          name: wxMaxima_ia64.dmg.sha512
          path: wxMaxima.dmg.sha512
          
  compile_Make:
    runs-on: macos-latest

    steps:
      - name: Checkout_git
        uses: actions/checkout@v4
        with:
          # We must fetch at least the immediate parents so that if this is
          # a pull request then we can checkout the head.
          fetch-depth: 15
      - name: Install the Dependencies
        run: |
             export PATH=$PATH:/usr/local/opt/gettext/bin
             export HOMEBREW_NO_AUTO_UPDATE=1
             set -e
             brew install gettext pandoc wxwidgets
             set +e
      - name: configure
        run: |
             mkdir ../build-wxm
             cmake -S . -B ../build-wxm -DCMAKE_INSTALL_PREFIX=.
      - name: compile
        run: |
             cmake --build ../build-wxm
      - name: Install wxMaxima
        run: |
             cmake --install ../build-wxm
      - name: Package wxMaxima
        run: |
             cd ../build-wxm
             cpack -G DragNDrop

  compile_macports:
    runs-on: macos-latest

    steps:
      - name: Make MacPorts cachable
        run: |
             sudo mkdir /opt/local
             sudo chown -R 1001:1001 /opt/local
             sudo chmod a+rwx /opt/local
      - name: Cache MacPorts
        id: cache-macports
        uses: actions/cache@v4
        with:
          path: /opt/local/
          key: ${{ runner.os }}-macports-${{ hashFiles('macos_build.txt') }}
      - name: Checkout wxMaxima from git
        uses: actions/checkout@v4
        with:
          # We must fetch at least the immediate parents so that if this is
          # a pull request then we can checkout the head.
          fetch-depth: 15
      - name: Install macports
        run: |
          if test -e "/opt/local/bin"; then echo Macports already installed; else aria2c https://github.com/macports/macports-base/releases/download/v2.8.1/MacPorts-2.8.1-12-Monterey.pkg && sudo installer -pkg MacPorts-2.8.1-12-Monterey.pkg -target /; fi
          echo "/opt/local/bin" >> $GITHUB_PATH
      - name: Update macports
        run: |
          set
          sudo port selfupdate
      - name: Install dependencies
        run: |
          sudo port install gettext ninja pandoc maxima gnuplot pkgconfig wxWidgets-3.2
          sudo port select wxWidgets wxWidgets-3.2
      - name: Configure wxMaxima
        run: |
             mkdir ../build-wxm
             export CXXFLAGS=-I/opt/local/include
             export LDFLAGS=-I/opt/local/lib
             cmake -S . -B ../build-wxm -G Ninja -DCMAKE_INSTALL_PREFIX=. -DWXM_UNIT_TESTS=YES -DWXM_DISABLE_WEBVIEW=YES
      - name: Compile wxMaxima
        run: |
             cmake --build ../build-wxm
      - name: Install wxMaxima
        run: |
             cmake --install ../build-wxm
      - name: Package wxMaxima
        run: |
             cd ../build-wxm
             cpack -G DragNDrop
      - name: Cleanup
        run: |
             port -f uninstall inactive || echo "No cleanup necessary"