├── .gitignore ├── factor.desktop ├── fuel-factor-vm.patch ├── PKGBUILD └── factor.svg /.gitignore: -------------------------------------------------------------------------------- 1 | pkg/ 2 | src/ 3 | *.swp 4 | *.tar.gz 5 | *.tar.bz2 6 | *.tar.xz 7 | *.zip 8 | -------------------------------------------------------------------------------- /factor.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Version=1.0 4 | Name=Factor 5 | Comment=Factor is a general purpose, dynamically typed, stack-based programming language 6 | Categories=Development; 7 | Icon=factor 8 | Exec=factor-vm 9 | -------------------------------------------------------------------------------- /fuel-factor-vm.patch: -------------------------------------------------------------------------------- 1 | --- factor-old/misc/fuel/fuel-listener.el 2014-11-03 06:55:20.312970158 +0100 2 | +++ factor/misc/fuel/fuel-listener.el 2014-11-03 06:58:01.156389907 +0100 3 | @@ -85,7 +85,7 @@ 4 | "factor.com") 5 | ((eq system-type 'darwin) 6 | "Factor.app/Contents/MacOS/factor") 7 | - (t "factor")) 8 | + (t "/usr/bin/factor-vm")) 9 | fuel-factor-root-dir))) 10 | 11 | (defun fuel-listener-factor-image () 12 | -------------------------------------------------------------------------------- /PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Leonidas 2 | pkgname=factor 3 | pkgver=0.97 4 | pkgrel=1 5 | pkgdesc="A general purpose, dynamically typed, stack-based programming language." 6 | arch=(i686 x86_64) 7 | url="http://factorcode.org" 8 | license=(BSD) 9 | provides=(factor) 10 | conflicts=(factor-git) 11 | depends=(gtkglext) 12 | options=(!strip) 13 | source=(http://downloads.factorcode.org/releases/$pkgver/$pkgname-src-$pkgver.zip 14 | factor.desktop 15 | factor.svg 16 | fuel-factor-vm.patch) 17 | sha512sums=('44eed6304e15be26267abcc8f78b576bfc4da979bae61faf48c1ddbd72cad7bad1b61b342c49bd297b12d78d577834242d321a2f6d451cba86273dffbeb4bf85' 18 | '19cf98d0fce2f1f65db4d3416c9577aa5e1f9c5829fab8f722756d37d4683caf3c740669ba895660a66177b6b38e3c7a30153ca70a515e91a455b83c4a55a026' 19 | '4065a22cd10873f74024655aa71aafa2b96c0e391f61a5e71f5f4fac9b49955428528c2666da5e6e5058aa28347b0f9327575f2467baf9e3914739b8fa0b2c26' 20 | '743b7d1332acc9863968686b2182bc9e9fa91822abd8c3b63a7933480b014dce15e86bb69201695186af26a6b267705e0618f131632249b2c3872d85a1973b07') 21 | 22 | build() { 23 | # thanks to qx from #concatenative for the proper SSE settings: 24 | # i686: no SSE, x87 floating point => _sseversion=0 25 | # x86_64: SSE2 => _sseversion=20 26 | _bootimg="boot.unix-x86.32.image" 27 | # unfortunately, factor 0.94 needs SSE2 to run, so this needs to be 28 | # set (temporarily?) to SSE2 29 | _sseversion=20 30 | [ $CARCH = x86_64 ] && _bootimg="boot.unix-x86.64.image" && _sseversion=20 31 | 32 | cd $srcdir/$pkgname 33 | # apply patches 34 | patch -p1 < $srcdir/fuel-factor-vm.patch 35 | 36 | # build the VM 37 | make 38 | # bootstrap factor with the minimum supported SSE 39 | ./factor -i=$_bootimg -sse-version=$_sseversion 40 | } 41 | 42 | package() { 43 | mkdir -p $pkgdir/usr/bin 44 | mkdir -p $pkgdir/usr/lib/factor 45 | mkdir -p $pkgdir/usr/share/licenses/$pkgname/ 46 | 47 | # copy over the stdlib 48 | cd $srcdir/$pkgname 49 | cp -a misc extra core basis factor.image $pkgdir/usr/lib/factor/ 50 | # make folders r+x and files r 51 | chmod -R 0755 $pkgdir/usr/lib/factor 52 | find $pkgdir/usr/lib/factor -type f -exec chmod -x {} \; 53 | 54 | # copy over the actual binary and create a symlink called factor-vm 55 | # (otherwise it conflicts with factor from the GNU coreutils) 56 | cp -a factor $pkgdir/usr/lib/factor/factor 57 | cd $pkgdir/usr/bin 58 | ln -s ../lib/factor/factor factor-vm 59 | cd - 60 | 61 | # copy over the license (as defined in Arch Packaging Standards) 62 | chmod -x license.txt 63 | cp license.txt $pkgdir/usr/share/licenses/$pkgname/COPYING 64 | 65 | # add the desktop entry 66 | install -D "$srcdir/factor.desktop" "$pkgdir/usr/share/applications/factor.desktop" 67 | install -D "$srcdir/factor.svg" "$pkgdir/usr/share/pixmaps/factor.svg" 68 | } 69 | -------------------------------------------------------------------------------- /factor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 26 | 28 | 29 | 31 | 32 | 33 | 34 | 35 | animal 36 | dinosaur 37 | 38 | 39 | 40 | 42 | Open Clip Art Library 43 | 44 | 45 | 46 | 47 | Architetto Francesco Rollandin 48 | 49 | 50 | 51 | 52 | Architetto Francesco Rollandin 53 | 54 | 55 | 56 | image/svg+xml 57 | 59 | 61 | en 62 | 63 | 65 | 67 | 69 | 71 | 72 | 73 | 74 | 76 | 93 | 96 | 101 | 106 | 111 | 116 | 121 | 126 | 131 | 136 | 141 | 146 | 151 | 156 | 161 | 166 | 171 | 176 | 181 | 186 | 191 | 196 | 201 | 206 | 211 | 216 | 221 | 226 | 231 | 236 | 241 | 246 | 251 | 256 | 261 | 266 | 271 | 276 | 281 | 286 | 291 | 296 | 301 | 306 | 311 | 316 | 321 | 326 | 331 | 336 | 341 | 346 | 351 | 356 | 361 | 366 | 371 | 376 | 381 | 386 | 391 | 396 | 401 | 406 | 411 | 416 | 421 | 426 | 431 | 436 | 441 | 446 | 451 | 456 | 461 | 466 | 471 | 476 | 481 | 486 | 491 | 496 | 501 | 506 | 511 | 516 | 521 | 526 | 531 | 536 | 541 | 546 | 551 | 556 | 561 | 566 | 571 | 576 | 581 | 586 | 591 | 596 | 601 | 606 | 611 | 616 | 621 | 626 | 631 | 636 | 641 | 646 | 651 | 656 | 661 | 666 | 671 | 676 | 681 | 686 | 691 | 696 | 701 | 706 | 711 | 716 | 721 | 726 | 731 | 736 | 741 | 746 | 751 | 756 | 761 | 766 | 771 | 776 | 781 | 786 | 791 | 796 | 801 | 806 | 811 | 816 | 821 | 826 | 831 | 836 | 841 | 846 | 851 | 856 | 861 | 866 | 871 | 876 | 881 | 886 | 891 | 896 | 901 | 906 | 911 | 916 | 921 | 926 | 931 | 936 | 941 | 946 | 951 | 956 | 961 | 966 | 971 | 976 | 981 | 986 | 991 | 996 | 1001 | 1006 | 1011 | 1016 | 1021 | 1026 | 1031 | 1036 | 1041 | 1046 | 1051 | 1056 | 1061 | 1066 | 1071 | 1076 | 1081 | 1086 | 1091 | 1096 | 1101 | 1106 | 1111 | 1116 | 1121 | 1126 | 1131 | 1136 | 1141 | 1146 | 1151 | 1156 | 1161 | 1166 | 1171 | 1176 | 1181 | 1186 | 1191 | 1196 | 1201 | 1206 | 1207 | 1208 | --------------------------------------------------------------------------------